fgv2.0 平台 electron 打包桌面应用
whychw
2026-03-19 c3f4ce9d1789c62fead2f4ea1383829574d809f5
UA 脚本优化
2 文件已重命名
2个文件已修改
55 ■■■■ 已修改文件
dependent_linux/fgv2.service 补丁 | 查看 | 原始文档 | blame | 历史
dependent_linux/install.sh 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
setup_service.sh 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dependent_linux/fgv2.service
dependent_linux/install.sh
File was renamed from dependent_linux/create_desktop.sh
@@ -19,11 +19,26 @@
chown root:root $SH_DIR/chrome-sandbox
chmod 4755 $SH_DIR/chrome-sandbox
# 安装jdk
mkdir -p $USER_HOME/jdk8/ && cp $SH_DIR/jdk-8u271-linux-x64.tar.gz $USER_HOME/jdk8/
tar -zxvf $USER_HOME/jdk8/jdk-8u271-linux-x64.tar.gz -C $USER_HOME/jdk8/
mkdir -p $USER_HOME/.config/electron-fg/ && cp $SH_DIR/fg_v2.0-1.0.jar $USER_HOME/.config/electron-fg/fgv2.jar
mkdir -p $USER_HOME/.config/systemd/user/ && cp $SH_DIR/fgv2.service $USER_HOME/.config/systemd/user/fgv2.service
systemctl --user daemon-reload
systemctl --user enable fgv2.service
systemctl --user start fgv2.service
# 配置参数(用户可根据需要修改)
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_FILE="$USER_HOME/.local/share/applications/$APP_NAME.desktop"
DESKTOP_FILE="$USER_HOME/Desktop/$APP_NAME.desktop"
 
# 生成 .desktop 文件
cat << EOF > "$DESKTOP_FILE"
main.js
@@ -155,7 +155,10 @@
// 终止java进程 并重启服务 linux平台
function stopForLinux() {
  let dir = path.join(process.cwd(), './stop.sh');
  // 获取应用的真实根目录(ASAR 包外的路径)
  const appPath = app.getAppPath();
  log.info(`appPath: ====${appPath}====`);
  let dir = path.join(appPath, '../../stop.sh');
  let stop = child_process.spawn('bash', [dir]);
  // 监听脚本执行
@@ -178,7 +181,7 @@
      log.info(stde);
      if (err) {
        log.error('重启服务失败:' + err);
        let dir = path.join(process.cwd(), './setup_service.sh');
        let dir = path.join(appPath, '../../setup_service.sh');
        child_process.exec(`bash "${dir}"`, (error, stdout, stderr) => {
          if (error) {
            log.error('执行失败:' + error);
@@ -192,7 +195,7 @@
      }
      if (stde) {
        log.error(`重启服务错误: ${stde}`);
        let dir = path.join(process.cwd(), './setup_service.sh');
        let dir = path.join(appPath, '../../setup_service.sh');
        child_process.exec(`bash "${dir}"`, (error, stdout, stderr) => {
          // log.info('0000000');
          if (error) {
setup_service.sh
@@ -1,13 +1,30 @@
#!/bin/bash
#mkdir -p /opt/electron-fg/ && cp ./dependent/fg_v2.0-1.0.jar /opt/electron-ft/fgv2.jar
mkdir -p ~/jdk8/ && cp ./jdk-8u271-linux-x64.tar.gz ~/jdk8/
tar -zxvf ~/jdk8/jdk-8u271-linux-x64.tar.gz -C ~/jdk8/
# 定义函数 获取用户家目录 支持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"
}
mkdir -p ~/.config/electron-fg/ && cp ../../fg_v2.0-1.0.jar ~/.config/electron-fg/fgv2.jar
USER_HOME=$(get_home_dir)
mkdir -p ~/.config/systemd/user/ && cp ./fgv2.service ~/.config/systemd/user/fgv2.service
SH_DIR=$(cd "$(dirname "$0")" && pwd)
# 安装jdk
mkdir -p $USER_HOME/jdk8/ && cp $SH_DIR/jdk-8u271-linux-x64.tar.gz $USER_HOME/jdk8/
tar -zxvf $USER_HOME/jdk8/jdk-8u271-linux-x64.tar.gz -C $USER_HOME/jdk8/
mkdir -p $USER_HOME/.config/electron-fg/ && cp $SH_DIR/fg_v2.0-1.0.jar $USER_HOME/.config/electron-fg/fgv2.jar
mkdir -p $USER_HOME/.config/systemd/user/ && cp $SH_DIR/fgv2.service $USER_HOME/.config/systemd/user/fgv2.service
systemctl --user daemon-reload
systemctl --user enable fgv2.service
systemctl --user start fgv2.service
systemctl --user start fgv2.service