From 40809464f25f3fab08b51f11f98b9aa4de4d8f46 Mon Sep 17 00:00:00 2001 From: shenmo Date: Fri, 31 Oct 2025 23:08:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E6=95=B4=E4=B8=AA=E4=B8=BB?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E8=BF=9B=E8=A1=8C=E6=B2=99=E7=AE=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/DEBIAN/control | 2 +- src/usr/bin/amber-pm-gxde-desktop-fix | 26 +++++++++++++++++++++++++- src/var/lib/apm/apm/files/ace-run | 10 ++++++++-- 3 files changed, 34 insertions(+), 4 deletions(-) diff --git a/src/DEBIAN/control b/src/DEBIAN/control index 5014c1f..1eda176 100755 --- a/src/DEBIAN/control +++ b/src/DEBIAN/control @@ -4,7 +4,7 @@ Version: 1.1.2 Architecture: amd64 Maintainer: shenmo 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 Conflicts: ace-host-integration Priority: optional diff --git a/src/usr/bin/amber-pm-gxde-desktop-fix b/src/usr/bin/amber-pm-gxde-desktop-fix index 9b95d05..f7e2f61 100755 --- a/src/usr/bin/amber-pm-gxde-desktop-fix +++ b/src/usr/bin/amber-pm-gxde-desktop-fix @@ -3,7 +3,29 @@ if [[ ! -e "/usr/share/gxde-api" ]] && ! grep -q "Kylin" /etc/os-release; then exit 0 # No needed 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() { local source_dir="$1" @@ -18,6 +40,8 @@ process_directory() { fi } +ensure_dir "/usr/local/share/applications/" +ensue_dir "/usr/local/share/icons/" # 处理 applications 目录 process_directory "/var/lib/apm/apm/files/ace-env/amber-ce-tools/data-dir/applications/" \ "/usr/local/share/applications/" "Applications" diff --git a/src/var/lib/apm/apm/files/ace-run b/src/var/lib/apm/apm/files/ace-run index 3c31924..e37e530 100755 --- a/src/var/lib/apm/apm/files/ace-run +++ b/src/var/lib/apm/apm/files/ace-run @@ -33,7 +33,7 @@ APM_PKG_NAME="${APM_PKG_NAME:-apm-general}" non_root_user=$(who | awk '{print $1}' | head -n 1) 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 if [ "$1" = "" ];then @@ -125,7 +125,13 @@ BIND_DIRS=( "--ro-bind-try /usr/share/fonts /usr/local/share/fonts" "--dev-bind-try /etc/resolv.conf /etc/resolv.conf" "--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=( "--cap-add CAP_SYS_ADMIN"