From 28a82d58fd6faff1d68ab4decac34c72995283f8 Mon Sep 17 00:00:00 2001
From: whychw <858544502@qq.com>
Date: 星期四, 19 三月 2026 13:44:11 +0800
Subject: [PATCH] UA 脚本调整

---
 dependent_linux/setup_service.sh  |    2 
 setup_service.sh                  |    2 
 dependent_linux/update.sh         |    6 +++
 dependent_linux/create_desktop.sh |   47 +++++++++++++++++++++++
 package.json                      |   11 ++---
 main.js                           |    8 ++--
 build/icons/icon.png              |    0 
 7 files changed, 64 insertions(+), 12 deletions(-)

diff --git a/build/icons/icon.png b/build/icons/icon.png
new file mode 100644
index 0000000..19cbc4d
--- /dev/null
+++ b/build/icons/icon.png
Binary files differ
diff --git a/dependent_linux/create_desktop.sh b/dependent_linux/create_desktop.sh
new file mode 100644
index 0000000..f1d983d
--- /dev/null
+++ b/dependent_linux/create_desktop.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+# 瀹氫箟鍑芥暟 鑾峰彇鐢ㄦ埛瀹剁洰褰� 鏀寔sudo 鎵ц
+get_home_dir() {
+    if [ -n "$SUDO_USER" ]; then
+        #  echo "$(eval echo ~"$SUDO_USER")"
+        USER_HOME=$(getent passwd "$SUDO_USER" | cut -d: -f6)
+    else
+        # echo "$(eval echo ~"$USER")"
+        USER_HOME="$HOME"
+    fi
+    echo "$USER_HOME"
+}
+
+USER_HOME=$(get_home_dir)
+
+SH_DIR=$(cd "$(dirname "$0")" && pwd)
+
+chown root:root $SH_DIR/chrome-sandbox
+chmod 4755 $SH_DIR/chrome-sandbox
+
+# 閰嶇疆鍙傛暟锛堢敤鎴峰彲鏍规嵁闇�瑕佷慨鏀癸級
+APP_NAME="electron-fg"
+EXEC_PATH="$SH_DIR/$APP_NAME"      # 鍙墽琛岀▼搴忚矾寰�
+ICON_PATH="$SH_DIR/resources/build/icons/icon.png"   # 鍥炬爣璺緞
+DESKTOP_FILE="$USER_HOME/.local/share/applications/$APP_NAME.desktop"
+ 
+# 鐢熸垚 .desktop 鏂囦欢
+cat << EOF > "$DESKTOP_FILE"
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=$APP_NAME
+Comment=Launch $APP_NAME
+Exec=$EXEC_PATH
+Icon=$ICON_PATH
+Terminal=false
+Categories=Application;Utility;
+Encoding=UTF-8
+EOF
+ 
+# 娣诲姞鍙墽琛屾潈闄�
+chmod +x "$DESKTOP_FILE"
+ 
+echo "鉁� 妗岄潰蹇嵎鏂瑰紡宸茬敓鎴�: $DESKTOP_FILE"
+echo "璇峰彸閿偣鍑诲浘鏍囷紝閫夋嫨 '鍏佽鍚姩' 鎴� 'Trust and Launch'"
+ 
\ No newline at end of file
diff --git a/dependent_linux/setup_service.sh b/dependent_linux/setup_service.sh
index bc3336c..1a2335a 100644
--- a/dependent_linux/setup_service.sh
+++ b/dependent_linux/setup_service.sh
@@ -4,7 +4,7 @@
 mkdir -p ~/jdk8/ && cp ./jdk-8u271-linux-x64.tar.gz ~/jdk8/
 tar -zxvf ~/jdk8/jdk-8u271-linux-x64.tar.gz -C ~/jdk8/
 
-mkdir -p ~/.config/electron-fg/ && cp ./dependent/fg_v2.0-1.0.jar ~/.config/electron-fg/fgv2.jar
+mkdir -p ~/.config/electron-fg/ && cp ./fg_v2.0-1.0.jar ~/.config/electron-fg/fgv2.jar
 
 mkdir -p ~/.config/systemd/user/ && cp ./fgv2.service ~/.config/systemd/user/fgv2.service
 
diff --git a/dependent_linux/update.sh b/dependent_linux/update.sh
new file mode 100644
index 0000000..6eab6c1
--- /dev/null
+++ b/dependent_linux/update.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+systemctl --user stop fgv2.service
+cp ./fg_v2.0-1.0.jar ~/.config/electron-fg/fgv2.jar
+
+systemctl --user start fgv2.service
\ No newline at end of file
diff --git a/main.js b/main.js
index 77ab641..17618f9 100644
--- a/main.js
+++ b/main.js
@@ -155,7 +155,7 @@
 
 // 缁堟java杩涚▼ 骞堕噸鍚湇鍔� linux骞冲彴
 function stopForLinux() {
-  let dir = path.join(__dirname, './stop.sh');
+  let dir = path.join(process.cwd(), './stop.sh');
   let stop = child_process.spawn('bash', [dir]);
 
   // 鐩戝惉鑴氭湰鎵ц
@@ -178,7 +178,7 @@
       log.info(stde);
       if (err) {
         log.error('閲嶅惎鏈嶅姟澶辫触锛�' + err);
-        let dir = path.join(__dirname, './setup_service.sh');
+        let dir = path.join(process.cwd(), './setup_service.sh');
         child_process.exec(`bash "${dir}"`, (error, stdout, stderr) => {
           if (error) {
             log.error('鎵ц澶辫触锛�' + error);
@@ -192,9 +192,9 @@
       }
       if (stde) {
         log.error(`閲嶅惎鏈嶅姟閿欒锛� ${stde}`);
-        let dir = path.join(__dirname, './setup_service.sh');
+        let dir = path.join(process.cwd(), './setup_service.sh');
         child_process.exec(`bash "${dir}"`, (error, stdout, stderr) => {
-          log.info('0000000');
+          // log.info('0000000');
           if (error) {
             log.error('鎵ц澶辫触锛�' + error);
           }
diff --git a/package.json b/package.json
index 4687efe..3f59367 100644
--- a/package.json
+++ b/package.json
@@ -17,6 +17,7 @@
     "asar": true,
     "files": [
       "!dependent/**",
+      "!dependent_linux/**",
       "getConfig.js",
       "config.json",
       "main.js",
@@ -40,11 +41,9 @@
       "shortcutName": "electronFg"
     },
     "linux": {
-      "icon": "build/icons/512x512.png",
+      "icon": "./build/icons",
       "artifactName": "${productName}-${version}-linux.${ext}",
-      "target": {
-        "target": "dir"
-      }
+      "target": ["dir", "tar.gz"]
     },
     "extraResources": [
       {
@@ -52,8 +51,8 @@
         "to": "../"
       },
       {
-        "from": "./dependent/elevate.exe",
-        "to": "../resources/elevate.exe"
+        "from": "./build/",
+        "to": "build"
       }
     ]
   },
diff --git a/setup_service.sh b/setup_service.sh
index bc3336c..eff4aad 100644
--- a/setup_service.sh
+++ b/setup_service.sh
@@ -4,7 +4,7 @@
 mkdir -p ~/jdk8/ && cp ./jdk-8u271-linux-x64.tar.gz ~/jdk8/
 tar -zxvf ~/jdk8/jdk-8u271-linux-x64.tar.gz -C ~/jdk8/
 
-mkdir -p ~/.config/electron-fg/ && cp ./dependent/fg_v2.0-1.0.jar ~/.config/electron-fg/fgv2.jar
+mkdir -p ~/.config/electron-fg/ && cp ../../fg_v2.0-1.0.jar ~/.config/electron-fg/fgv2.jar
 
 mkdir -p ~/.config/systemd/user/ && cp ./fgv2.service ~/.config/systemd/user/fgv2.service
 

--
Gitblit v1.9.1