如何创建可执行的[桌面条目]图标?

如何创建可执行的[桌面条目]图标?

我知道这是与其他人类似的问题,但我无法提出任何问题,因为我的声望值不到 50。我尝试关注 终端命令的桌面快捷方式

Ubuntu 20.04.4 LTS 不允许我右键单击桌面来创建新文件(只能新建文件夹)。我从终端运行 sudo gedit,并创建以下内容;

[Desktop Entry]
Name=Jupyter Notebook
Exec=jupyter notebook
Terminal=true
Type=Application
Icon=/usr/share/icons/HighContrast/32x32/devices/pda.png

我将文件保存到桌面,它会显示一个齿轮图标和我的文件名 > jupyter.desktop

然后我将权限从终端更改为可执行文件,chmod +x(稍后更改为 +rwx,因为它不起作用)

如果我尝试单击该文件,它所做的就是在 gedit 中打开它。

如果我进入终端并尝试运行

./jupyter.desktop
./jupyter.desktop: line 1: [Desktop: command not found
./jupyter.desktop: line 2: Notebook: command not found
./jupyter.desktop: line 3: notebook: command not found

注意:我已在第 2 行和第 3 行添加了“引号”(Name='Launcher Name' 和 Exec='exec param'),但仍然出现第 1 行错误,所以我不知道添加引号是否正确!

我一直将其称为快捷方式(是的,我来自 MS),但我认为更正确的说法应该是启动器?出于兴趣,.desktop 是必需的吗,或者我可以不使用扩展名,甚至使用 .lnk?

非常感谢您的帮助。谢谢

>>>> 根据 @vanadium 提供的非常有用的信息进行编辑 >>>

我认为不可能在 XDG_DATA_DIRS 的子目录中创建 .desktop 文件,至少,我在应用程序资源管理器中“获取结果”的尝试失败了。但是请注意,显示的应用程序似乎被缓存了,因为我相信我有过不是即时的经历。此外,.desktop 文件似乎以某种方式得到验证,因为我得到的印象是无效信息将阻止应用程序显示。

您可能已经猜到了我正在尝试创建一个 Jupyter Notebook 快捷方式。这样做的原因是为了指定我的工作目录。在我的旅程中,我发现我的 Notebook 安装似乎实际上在 ~/.local/share/applications 中创建了一个 .desktop。我曾尝试修改 Exec=/home/myhome/my_working_directory/jupyter-notebook %f 但这失败了,让我得出了有关验证的结论。

经过进一步调查,我发现我可以使用--notebook-dir,所以我的最终解决方案是修改~/.local/share/applications/jupyter-notebook.desktop

[Desktop Entry]
Name=Jupyter Notebook
Comment=Run Jupyter Notebook
Exec=jupyter-notebook --notebook-dir="/home/myhome/my_working_directory" %f
Terminal=true
Type=Application
Icon=notebook
StartupNotify=true
MimeType=application/x-ipynb+json;
Categories=Development;Education;
Keywords=python;

希望这个问题和来自 @vanadium 的重要信息将来能够对其他人有所帮助(遗憾的是一些老问题不能被弃用,因为它们可能会将其他人引入歧途......几乎是双关语)

进一步编辑,很好的参考>>>> https://www.howtogeek.com/445303/how-to-create-desktop-shortcuts-on-ubuntu/

https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html

答案1

“如何创建桌面文件”的答案很简单:按照你的方式。使用文本编辑器。现在不再默认安装可以执行此操作的图形工具。但是,你仍然可以安装“Alacarte”或“Menulibre”来编辑菜单项,这实际上会自动.desktop在你的~/.local/share/applications目录中创建一个启动器。

“如何使用桌面文件”是另一个方面。.desktop文件并非设计用于运行。它们的主要目的是填充应用程序菜单,并在从菜单启动时通知桌面如何启动程序、使用哪个图标、是否在终端中打开程序等。

.desktop文件放在~/.local/share/applicationsapplications变量中指定的目录之一下的目录中,XDG_DATA_DIRS以使程序显示在菜单中。当放置在 下时~/.local/share/applications,启动器仅对您(用户)可见。当放置在系统目录中(即 )时/usr/local/share/applications,启动器将对所有用户可见。

标准 Ubuntu 桌面不再完全支持将应用程序放在桌面上。其理念是将最常用的应用程序放在 Dock 上,该 Dock 始终可见。相比之下,您的桌面大部分时间都被覆盖 - 至少在您正在执行某些操作时。

尽管如此,Ubuntu 桌面还是支持它们。然而,在它们按预期工作之前,必须满足两个要求:

  1. 您必须设置“可执行”位,在这种情况下,该位用于指示桌面环境该启动器是“受信任的”。右键单击启动器,选择“属性”,然后在“权限”选项卡上选中“执行”。
  2. 首次尝试启动时,会出现“不受信任的应用程序启动器”对话框。单击“信任并启动”再次确认您信任该启动器。

此后,您的桌面启动器将按您预期的方式工作。

相关内容