mirror of
https://gitee.com/amber-ce/amber-pm
synced 2025-12-18 19:31:37 +08:00
尝试整个主目录进行沙箱
This commit is contained in:
@@ -4,7 +4,7 @@ Version: 1.1.2
|
|||||||
Architecture: amd64
|
Architecture: amd64
|
||||||
Maintainer: shenmo <shenmo@spark-app.store>
|
Maintainer: shenmo <shenmo@spark-app.store>
|
||||||
Installed-Size: 48724
|
Installed-Size: 48724
|
||||||
Depends: bubblewrap, flatpak, policykit-1 | pkexec | polkit-1 | polkit, systemd, procps,coreutils,fuse-overlayfs,xz-utils,libnotify-bin,curl
|
Depends: bubblewrap, flatpak, policykit-1 | pkexec | polkit-1 | polkit, systemd, procps,coreutils,fuse-overlayfs,xz-utils,libnotify-bin,curl,xdg-user-dirs
|
||||||
Section: misc
|
Section: misc
|
||||||
Conflicts: ace-host-integration
|
Conflicts: ace-host-integration
|
||||||
Priority: optional
|
Priority: optional
|
||||||
|
|||||||
@@ -3,7 +3,29 @@
|
|||||||
if [[ ! -e "/usr/share/gxde-api" ]] && ! grep -q "Kylin" /etc/os-release; then
|
if [[ ! -e "/usr/share/gxde-api" ]] && ! grep -q "Kylin" /etc/os-release; then
|
||||||
exit 0 # No needed
|
exit 0 # No needed
|
||||||
fi
|
fi
|
||||||
|
function ensure_dir() {
|
||||||
|
local dir="$1"
|
||||||
|
|
||||||
|
# 检查目录是否为空
|
||||||
|
if [ -z "$dir" ]; then
|
||||||
|
echo "错误: 目录路径不能为空"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 检查目录是否存在
|
||||||
|
if [ ! -d "$dir" ]; then
|
||||||
|
echo "目录 '$dir' 不存在,正在创建..."
|
||||||
|
if mkdir -p "$dir"; then
|
||||||
|
echo "成功创建目录 '$dir'"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
echo "错误: 无法创建目录 '$dir'"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
# 函数:检查目录并创建符号链接
|
# 函数:检查目录并创建符号链接
|
||||||
process_directory() {
|
process_directory() {
|
||||||
local source_dir="$1"
|
local source_dir="$1"
|
||||||
@@ -18,6 +40,8 @@ process_directory() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ensure_dir "/usr/local/share/applications/"
|
||||||
|
ensue_dir "/usr/local/share/icons/"
|
||||||
# 处理 applications 目录
|
# 处理 applications 目录
|
||||||
process_directory "/var/lib/apm/apm/files/ace-env/amber-ce-tools/data-dir/applications/" \
|
process_directory "/var/lib/apm/apm/files/ace-env/amber-ce-tools/data-dir/applications/" \
|
||||||
"/usr/local/share/applications/" "Applications"
|
"/usr/local/share/applications/" "Applications"
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ APM_PKG_NAME="${APM_PKG_NAME:-apm-general}"
|
|||||||
|
|
||||||
non_root_user=$(who | awk '{print $1}' | head -n 1)
|
non_root_user=$(who | awk '{print $1}' | head -n 1)
|
||||||
uid=$(id -u $non_root_user)
|
uid=$(id -u $non_root_user)
|
||||||
ensure_dir $HOME/.apm/${APM_PKG_NAME}/.deepinwine
|
ensure_dir $HOME/.apm/${APM_PKG_NAME}/
|
||||||
|
|
||||||
#### This part is for args pharm
|
#### This part is for args pharm
|
||||||
if [ "$1" = "" ];then
|
if [ "$1" = "" ];then
|
||||||
@@ -125,7 +125,13 @@ BIND_DIRS=(
|
|||||||
"--ro-bind-try /usr/share/fonts /usr/local/share/fonts"
|
"--ro-bind-try /usr/share/fonts /usr/local/share/fonts"
|
||||||
"--dev-bind-try /etc/resolv.conf /etc/resolv.conf"
|
"--dev-bind-try /etc/resolv.conf /etc/resolv.conf"
|
||||||
"--dev-bind-try /home /home"
|
"--dev-bind-try /home /home"
|
||||||
"--dev-bind-try $HOME/.apm/${APM_PKG_NAME}/.deepinwine $HOME/.deepinwine"
|
"--dev-bind-try $HOME/.apm/${APM_PKG_NAME}/ $HOME/"
|
||||||
|
"--dev-bind-try $HOME/.apm/${APM_PKG_NAME}/$(basename $(xdg-user-dir DESKTOP)) $(xdg-user-dir DESKTOP)"
|
||||||
|
"--dev-bind-try $HOME/.apm/${APM_PKG_NAME}/$(basename $(xdg-user-dir DOCUMENTS)) $(xdg-user-dir DOCUMENTS)"
|
||||||
|
"--dev-bind-try $HOME/.apm/${APM_PKG_NAME}/$(basename $(xdg-user-dir PICTURES)) $(xdg-user-dir PICTURES)"
|
||||||
|
"--dev-bind-try $HOME/.apm/${APM_PKG_NAME}/$(basename $(xdg-user-dir DOWNLOAD)) $(xdg-user-dir DOWNLOAD)"
|
||||||
|
"--dev-bind-try $HOME/.apm/${APM_PKG_NAME}/$(basename $(xdg-user-dir VIDEOS)) $(xdg-user-dir VIDEOS)"
|
||||||
|
"--dev-bind-try $HOME/.apm/${APM_PKG_NAME}/$(basename $(xdg-user-dir MUSIC)) $(xdg-user-dir MUSIC)"
|
||||||
)
|
)
|
||||||
EXTRA_ARGS=(
|
EXTRA_ARGS=(
|
||||||
"--cap-add CAP_SYS_ADMIN"
|
"--cap-add CAP_SYS_ADMIN"
|
||||||
|
|||||||
Reference in New Issue
Block a user