fgv2.0 平台 electron 打包桌面应用
whychw
2026-03-19 c3f4ce9d1789c62fead2f4ea1383829574d809f5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/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
 
# 安装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/Desktop/$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'"