答案1
不要直接链接到.sh 文件,而是创建一个应用程序启动器,如下所示:
- 右键单击桌面
- 选择“创建启动器...”
- 在下拉框中将“应用程序”更改为“终端中的应用程序”。
- 给它起一个名字,例如“想法”
- 输入如下命令
/path/to/script/idea.sh
- 如果愿意,可以添加一条评论,如果您将启动器移动到菜单栏,当鼠标悬停在评论上时,评论就会显示出来。
然后,当您单击启动器时,将打开一个终端窗口并且命令将在那里运行。
如果您不想打开终端查看任何输出,只需使用“应用程序”而不是“终端中的应用程序”。
您可能需要使用 gedit 之类的工具编辑桌面文件以添加脚本的“路径”。如下所示:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_US]=/home/kurt/Games/dontstarve/dontstarve.xpm
Exec=/usr/games/dontstarve/bin/dontstarve.sh
Path=/usr/games/dontstarve/bin
Name[en_US]=Dont Starve
Name=Dont Starve
Icon=gnome-panel-launcher
答案2
为什么不直接将 Nautilus 配置为默认执行?
在 Nautilus 下,转到编辑 (Edit)->首选项 (Preferences)->行为 (Behavior),然后单击:
“打开可执行文本文件时运行它们”
答案3
Richard 的解决方案不适用于 Unity Desktop,而最近的 Ubuntu 版本默认使用该桌面。要轻松在 Unity 中创建快捷方式,您可以使用“主菜单”又名 alacarte 应用程序,它允许您编辑程序。只需单击相应的类别,然后单击“创建项目”。
答案4
我想让我的孩子更容易启动“饥荒”。我在/usr/games/dontstarve/bin/dontstarve.sh
终端中启动了该程序,但希望它在应用程序菜单中。
我用 Alacarte 添加了菜单项,但它不起作用,因为它是一个 .sh 文件。
经过多次搜索,我发现我需要指定脚本的路径。
添加路径,如中所述桌面变量
alacarte-made-51cc077a-58af-11e3-a764-00252267190b.desktop
我找到了 启动器~/.local/share/applications/
并通过添加路径线对其进行了修改。
现在启动器文件如下所示:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_US]=/home/kurt/Games/dontstarve/dontstarve.xpm
Exec=/usr/games/dontstarve/bin/dontstarve.sh
Path=/usr/games/dontstarve/bin
Name[en_US]=Dont Starve
Name=Dont Starve
Icon=gnome-panel-launcher
效果非常好。希望这对其他人有帮助。(我实际上运行的是基于 Ubuntu Raring 的 Mint 15 Olivia)