仅使用终端命令,最好没有 su 权限,有没有办法在 Ubuntu 桌面上创建快捷方式并指定要在新快捷方式的桌面上显示的 icon.png?
对原始问题的编辑如下。
我创建了 register.sh,它创建了 MyGame.desktop 并将其复制到桌面文件夹。这可以正常工作,但我仍然必须按 F5 来更新桌面视图,才能显示正确的图标。是否有终端命令可以像按 F5 一样更新桌面视图?尝试安装 xdotool 以“按 F5”,但这似乎在以下脚本中不起作用。
注册文件
/bin/bash #!/bin/bash
cd /home/jah/MyGame
echo “[桌面条目]”> MyGame.desktop
echo "Name=MyGame" >> MyGame.desktop
echo "Type=Application" >> MyGame.desktop
echo "类别 = 游戏;" >> MyGame.desktop
echo "Terminal=false" >> MyGame.desktop
echo "Exec=/home/jah/MyGame/MyGame" >> MyGame.desktop
echo "Icon=/home/jah/MyGame/MyGame.png" >> MyGame.desktop
cp MyGame.desktop ~/.local/share/applications
chmod 755 ~/.local/share/applications/MyGame.desktop
cp MyGame.desktop ~/桌面
chmod 755 ~/桌面/MyGame.desktop
gio 设置 ~/Desktop/MyGame.desktop "metadata::trusted" 是
gio 信息 ~/Desktop/MyGame.desktop >gioinfo.log
xdotool 键 F5
答案1
当然,可以使用终端命令创建 Ubuntu 桌面快捷方式。此类桌面快捷方式是带有.desktop
扩展名的特殊格式的文本文件。它们用于填充应用程序菜单,并可用作桌面上的启动器。只需将不同的行回显到文件中,例如:
echo [Desktop Entry] > ~/Desktop/myfirefox.desktop
echo Name=Firefox Web Browser >> ~/Desktop/myfirefox.desktop
echo Comment=Browse the World Wide Web >> ~/Desktop/myfirefox.desktop
echo Icon=firefox
...
另一种方法:
cat >> ~/Desktop/myfirefox.desktop << EOF
[Desktop Entry]
Icon=firefox
...
EOF
要指定您自己的图标,请在 后提供图标图形文件的完整路径(通常.png
或.svg
格式)Icon=
。
看这里以及本网站的其他帖子,或者在网上查找或研究.desktop
下面的一些文件示例/usr/share/applications
,了解.desktop
快捷方式文件的格式。
答案2
将“xdotool key F5”替换为“touch ~/Desktop/MyGame.desktop”解决了桌面图标显示问题。
注册文件
/bin/bash #!/bin/bash
cd /home/jah/MyGame
echo “[桌面条目]”> MyGame.desktop
echo "Name=MyGame" >> MyGame.desktop
echo "Type=Application" >> MyGame.desktop
echo "类别 = 游戏;" >> MyGame.desktop
echo "Terminal=false" >> MyGame.desktop
echo "Exec=/home/jah/MyGame/MyGame" >> MyGame.desktop
echo "Icon=/home/jah/MyGame/MyGame.png" >> MyGame.desktop
cp MyGame.desktop ~/.local/share/applications
chmod 755 ~/.local/share/applications/MyGame.desktop
cp MyGame.desktop ~/桌面
chmod 755 ~/桌面/MyGame.desktop
gio 设置 ~/Desktop/MyGame.desktop "metadata::trusted" 是
gio 信息 ~/Desktop/MyGame.desktop >gioinfo.log
睡眠 1
触摸〜/桌面/MyGame.desktop