![在启动器上创建 foobar.desktop 文件和 Wine 应用程序图标](https://linux22.com/image/1082627/%E5%9C%A8%E5%90%AF%E5%8A%A8%E5%99%A8%E4%B8%8A%E5%88%9B%E5%BB%BA%20foobar.desktop%20%E6%96%87%E4%BB%B6%E5%92%8C%20Wine%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%9B%BE%E6%A0%87.png)
这是我上一个问题的说明(什么是 .desktop 文件?) 我想知道如何创建一个 .desktop 文件以便在启动器上为 Wine 应用程序创建一个图标。
我不明白我们要用以下代码做什么:
[Desktop Entry] Name=FooBar Comment=Foo & Bar Exec=sh -c "cd /home/USER/.wine/drive_c/Program\ Files/FOOBAR_FOLDER; wine foobar.exe" Icon=wine Terminal=false Type=Application Categories=Wine; StartupNotify=true
将 USER 和 FOOBAR_FOLDER 替换为适当的值。这样,您就可以通过输入“FooBar”在启动器中找到您的应用程序。
这是对我之前的问题类似的问题给出的最佳答案,您可以在这里看到:如何为 Wine 安装的应用程序创建自定义应用程序启动器?,但我不明白该如何处理我刚刚提供的代码。我尝试在终端上复制并粘贴,但它不起作用。
换句话说,我需要同样的答案,但解释得更全面,更容易理解,因为我不知道该如何处理提供的代码!请注意,我对电脑的技能不多。非常感谢!:)
答案1
桌面文件包含打开应用程序的命令。它只不过是一个文本文件,扩展名为“.desktop”。虽然您可以将这些文件存储在任何地方,并将其作为应用程序的独立链接运行(即:如果您使其可执行),但默认位置是:
`/usr/share/applications`
(全球)或
`~/.local/share/applications`
(本地)。
您需要做的是将帖子中的文本粘贴到一个空的文本文件中(打开 gedit),然后更改以下行:
Exec=sh -c "cd /home/USER/.wine/drive_c/Program\ Files/FOOBAR_FOLDER; wine foobar.exe"
您需要改变什么?
该行各部分的解释:
Exec=
这意味着:如果调用桌面文件,则将执行此操作之后的操作。如果您在终端中运行该应用程序,这实际上会使该应用程序启动。
sh -c "cd /home/USER/.wine/drive_c/Program\ Files/FOOBAR_FOLDER;
这是在告诉 shell 进入应用程序所在的目录(反斜杠是/Program\ Files
为了转义文件夹名称中的空格Program Files
,告诉 shell 不要在空格处停止)。
您应该将 替换USER
为您自己的用户名,将 替换FOOBAR_FOLDER
为应用程序文件夹的名称。如果您不知道,请打开您的主目录,按ctrl+h使.wine
文件夹可见(如果尚未显示),然后浏览目录~/.wine/drive_c/Program Files
以查看您的应用程序文件夹的名称。
wine foobar.exe
这告诉 shellfoobar.exe
使用 Wine 运行。将 foobar.exe 替换为实际的application_name.exe
。
最后,您的Exec=
行应该看起来像这样(例如,如果您的应用程序是 RedNotebook):
Exec=sh -c "cd /home/antortjim/.wine/drive_c/Program\ Files/RedNotebook; wine rednotebook.exe"
然后,将该行更改Name=Foobar
为更合适的名称后,将文件另存为(例如)rednotebook.desktop
如果您想将该文件用作桌面上的启动程序,请将其另存为renotebook.desktop
并使其可执行。如果您想从 Dash 运行它,请将其移至~/.local/share/applications
。注销并重新登录后,它将在 Dash 中可用。然后您可以将其锁定到启动器。
答案2
.desktop 文件是文本文件。您必须打开文本编辑器(如 Gedit)并粘贴内容并保存。