#!/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
|
|
# 如果是sudo 执行
|
if [ -n "$SUDO_USER" ]; then
|
chown -R $SUDO_USER:$SUDO_USER $USER_HOME/jdk8/
|
chown -R $SUDO_USER:$SUDO_USER $USER_HOME/.config/electron-fg/
|
chown -R $SUDO_USER:$SUDO_USER $USER_HOME/.config/systemd/
|
fi
|
|
# 配置参数(用户可根据需要修改)
|
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'"
|
|