[Share Experiences] 分享一个创建Clash快捷方式的脚本
Tofloor
poster avatar
满阶砌
deepin
2023-07-09 03:21
Author

把压缩包、图标和脚本放在一起

#!/bin/bash

SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")"
APP_DIR="$HOME/.app"
CLASH_DIR_NAME="clash"

# 检查目标文件夹是否存在,如果不存在则创建
if [ ! -d "$APP_DIR" ]; then
  mkdir "$APP_DIR"
else
  # 判断$APP_DIR/$CLASH_DIR_NAME文件夹是否存在,如果存在则删除
  if [ -d "$APP_DIR/$CLASH_DIR_NAME" ]; then
    echo "正在删除旧版本..."
    rm -rf "$APP_DIR/$CLASH_DIR_NAME"
  fi
fi

# 检查参数是否提供了压缩文件的名称和logo文件的名称
if [ -z "$1" ] || [ -z "$2" ]; then
  echo "请提供压缩文件名称和logo文件名称作为参数。"
  exit 1
fi

# 提取压缩文件名和路径
TAR_FILE_PATH="$SCRIPT_DIR/$1"

# 解压压缩包到目标文件夹
tar -zxvf "$TAR_FILE_PATH" -C "$APP_DIR"

# 获取解压生成的文件夹名称
UNPACKED_DIR=$(tar -tf "$TAR_FILE_PATH" | head -n 1 | sed -e 's@/.*@@')

# 重命名解压后的文件夹
mv "$APP_DIR/$UNPACKED_DIR" "$APP_DIR/$CLASH_DIR_NAME"

# 复制logo文件到clash文件夹
cp "$SCRIPT_DIR/$2" "$APP_DIR/$CLASH_DIR_NAME/$2"

# 创建启动器快捷方式
DESKTOP_FILE="$HOME/.local/share/applications/clash.desktop"
echo "[Desktop Entry]
Name=Clash
Comment=Clash
Exec=$APP_DIR/$CLASH_DIR_NAME/cfw
Icon=$APP_DIR/$CLASH_DIR_NAME/$2
Type=Application
Categories=Development;
StartupNotify=true
NoDisplay=false" > "$DESKTOP_FILE"

# 赋予启动器快捷方式执行权限
chmod +x "$DESKTOP_FILE"

echo "脚本执行完成。"

./install_clash.sh Clash.for.Windows-0.20.28-x64-linux.tar.gz cfw.png
Reply Favorite View the author
All Replies
阿尼樱奈奈
Moderator
2023-07-09 03:35
#1

like

Reply View the author
晚秋(lateautumn)
Moderator
2023-07-09 07:15
#2

谢谢分享applaud

Reply View the author
吉吉如律令
deepin
2023-07-09 16:53
#3

😃 可以在脚本里加入下载clash压缩包和图标的内容,这样就变成一键部署脚本了

Reply View the author
满阶砌
deepin
2023-07-09 18:22
#4
吉吉如律令

😃 可以在脚本里加入下载clash压缩包和图标的内容,这样就变成一键部署脚本了

有鸡和蛋的问题

Reply View the author
xuqi
deepin testing team
2023-07-10 18:10
#5
  • 感谢分享~
Reply View the author
tomcat_888
deepin
2023-07-11 21:32
#6

为什么我自己解压创建快捷方式 不行?关键是哪一步?

image.png

Reply View the author
满阶砌
deepin
2023-07-12 01:18
#7
tomcat_888

为什么我自己解压创建快捷方式 不行?关键是哪一步?

image.png

赋予启动器快捷方式执行权限

chmod +x "$DESKTOP_FILE"

Reply View the author
tomcat_888
deepin
2023-07-12 02:31
#8
满阶砌

赋予启动器快捷方式执行权限

chmod +x "$DESKTOP_FILE"

没用,实在想不通

Reply View the author
满阶砌
deepin
2023-07-13 04:02
#9
tomcat_888

没用,实在想不通

你这个没用是什么意思,启动器里有图标了吗,这个赋权文件名要改一下,还有我看你desktop文件里面有些内容没写,不知道会不会有影响

Reply View the author
tomcat_888
deepin
2023-07-13 05:37
#10
满阶砌

你这个没用是什么意思,启动器里有图标了吗,这个赋权文件名要改一下,还有我看你desktop文件里面有些内容没写,不知道会不会有影响

执行了 chmod +x "$DESKTOP_FILE" 依然不行

Reply View the author
满阶砌
deepin
2023-07-13 06:10
#11
tomcat_888

执行了 chmod +x "$DESKTOP_FILE" 依然不行

额,你还是图形操作,先在图标所在目录右键用管理员权限打开,然后图标右键,最下面勾选运行权限

Reply View the author
tomcat_888
deepin
2023-07-13 17:44
#12
满阶砌

赋予启动器快捷方式执行权限

chmod +x "$DESKTOP_FILE"

我知道问题了,我少写了一行配置

Type=Application

tail

Reply View the author