From 6e8f5cd381e5d78417c753fbf94f1ec7fec8ffc5 Mon Sep 17 00:00:00 2001 From: shenmo Date: Sun, 19 Apr 2026 18:11:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8GNOME=E5=92=8CGXDE=E4=B8=8A=E4=B9=9F?= =?UTF-8?q?=E4=B8=8D=E4=BD=BF=E7=94=A8/usr/local/share/applications/apm/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/usr/bin/amber-pm-desktop-fix | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/usr/bin/amber-pm-desktop-fix b/src/usr/bin/amber-pm-desktop-fix index 74a3622..6bbf8a2 100755 --- a/src/usr/bin/amber-pm-desktop-fix +++ b/src/usr/bin/amber-pm-desktop-fix @@ -1,8 +1,8 @@ #!/bin/bash -# 检测是否安装了 XFCE 或 DDE 桌面环境 +# 检测是否安装了 XFCE、DDE 或 GNOME 桌面环境 # 通过检查系统中是否存在相关的 desktop 文件或关键程序 -is_xfce_or_dde() { +is_xfce_or_dde_or_gnome() { # 检查 XFCE if [ -f /usr/share/xsessions/xfce.desktop ] || \ [ -f /usr/local/share/xsessions/xfce.desktop ] || \ @@ -16,10 +16,17 @@ is_xfce_or_dde() { [ -f /usr/local/share/xsessions/dde.desktop ] || \ command -v dde-session >/dev/null 2>&1 || \ command -v startdde >/dev/null 2>&1; then - # 特例:GXDE OS 虽然基于 DDE,但使用 /apm/ 子目录 - if [ -d /usr/share/gxde-api ]; then - return 1 - fi + return 0 + fi + # 检查 GNOME + if [ -f /usr/share/xsessions/gnome.desktop ] || \ + [ -f /usr/share/xsessions/gnome-xorg.desktop ] || \ + [ -f /usr/share/xsessions/gnome-wayland.desktop ] || \ + [ -f /usr/local/share/xsessions/gnome.desktop ] || \ + [ -f /usr/local/share/xsessions/gnome-xorg.desktop ] || \ + [ -f /usr/local/share/xsessions/gnome-wayland.desktop ] || \ + command -v gnome-session >/dev/null 2>&1 || \ + command -v gnome-shell >/dev/null 2>&1; then return 0 fi return 1 @@ -32,10 +39,10 @@ if grep -q "Kylin" /etc/os-release; then echo "检测到麒麟系统,使用目标目录: $TARGET_BASE" else TARGET_BASE="/usr/local/share" - # 检测是否为 XFCE 或 DDE 桌面环境 - if is_xfce_or_dde; then + # 检测是否为 XFCE、DDE 或 GNOME 桌面环境 + if is_xfce_or_dde_or_gnome; then APP_TARGET_DIR="$TARGET_BASE/applications" - echo "检测到 XFCE/DDE 桌面环境,使用目标目录: $APP_TARGET_DIR" + echo "检测到 XFCE/DDE/GNOME 桌面环境,使用目标目录: $APP_TARGET_DIR" else APP_TARGET_DIR="$TARGET_BASE/applications/apm" echo "使用目标目录: $APP_TARGET_DIR"