[software development] 【已解决】关于脚本别写使用有懂shell的大佬吗? Resolved
Tofloor
poster avatar
HZCY
deepin
2025-05-14 10:34
Author

我使用AI为我编写了一个生成桌面快捷方式的脚本

#!/bin/bash

# 定义软件路径和图标路径
APP_PATH="/media/hzcy/inst_16/audiorelay-0.27.5/bin/AudioRelay"
ICON_PATH="/media/hzcy/inst_16/audiorelay-0.27.5/lib/AudioRelay.png"
DESKTOP_FILE="/usr/share/applications/audio-relay.desktop"

# 检查软件和图标是否存在
if [ ! -f "$APP_PATH" ]; then
    echo "错误:AudioRelay 可执行文件未找到!"
    exit 1
fi

if [ ! -f "$ICON_PATH" ]; then
    echo "警告:未找到图标文件,将使用默认图标。"
    ICON_PATH="audio"  # 使用系统默认音频图标
fi

# 创建 .desktop 文件
echo "[Desktop Entry]
Version=1.0
Type=Application
Name=AudioRelay
Comment=AudioRelay Application
Exec=$APP_PATH
Icon=$ICON_PATH
Terminal=false
Categories=Audio;Utility;
StartupWMClass=AudioRelay" | sudo tee $DESKTOP_FILE > /dev/null

# 确保权限正确(全局可读)
sudo chmod 644 $DESKTOP_FILE

# 更新应用数据库(使快捷方式立即生效)
sudo update-desktop-database

echo "AudioRelay 快捷方式已成功部署到所有用户!"

但是生成的快捷方式是位于/usr/share/applications/下的,在开始菜单我是可以正常找到的,但是我想要在脚本在桌面上也创建一个快捷方式显示,用了各种方法都失败了,始终都是只有在开始菜单有一个图标可以操作。

求大佬讲解!!!

Reply Favorite View the author
All Replies
锵锵枪ᯤ
deepin
2025-05-14 10:48
#1

在加一句 在桌面创建一个软连接(快捷图标)就行了啊

最后加一条

sudo cp $DESKTOP_FILE ~/Desktop/

Reply View the author
DebuggerX
deepin
2025-05-14 11:47
#2

AudioRelay?居然除了我还有人用这玩意儿啊

这个不是直接下载官网的deb安装就行了么,然后启动器上右键发送到桌面,写啥脚本呢

Reply View the author
安洛
deepin
2025-05-14 21:30
#3
锵锵枪ᯤ

在加一句 在桌面创建一个软连接(快捷图标)就行了啊

最后加一条

sudo cp $DESKTOP_FILE ~/Desktop/

不要用sudo,不然后面删除也要root权限很麻烦。
直接用

cp "$DESKTOP_FILE" ~/Desktop/

就好。

Reply View the author
HZCY
deepin
2025-05-16 15:47
#4
安洛

不要用sudo,不然后面删除也要root权限很麻烦。
直接用

cp "$DESKTOP_FILE" ~/Desktop/

就好。

原来如此,感谢

Reply View the author
HZCY
deepin
2025-05-16 15:47
#5
DebuggerX

AudioRelay?居然除了我还有人用这玩意儿啊

这个不是直接下载官网的deb安装就行了么,然后启动器上右键发送到桌面,写啥脚本呢

没法噢,这个太好用了,而且我也只是拿这个做一个例子

Reply View the author