Answers:
在GNOME和其他与freedesktop.org兼容的桌面环境(例如KDE和Unity)中,应用程序通过桌面项添加到桌面的菜单或桌面外壳中,桌面项在.desktop
扩展名为文本文件(称为桌面文件)中定义。桌面环境从从可用桌面条目中提取的组合信息为用户构造菜单。
桌面文件可以在以下两个位置之一创建:
/usr/share/applications/
用于系统中每个用户可用的桌面条目~/.local/share/applications/
适用于单个用户的桌面条目您可能需要重新启动GNOME才能使新添加的应用程序正常工作。
按照约定,桌面文件的名称中不得包含空格或国际字符。
每个桌面文件都分成几组,每组都从方括号([]
)中的组标题开始。每个部分均包含多个以等号()分隔的key,value对=
。
以下是桌面文件的示例:
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Application Name
Comment=Application description
Icon=/path/to/icon.xpm
Exec=/path/to/application/executable
Terminal=false
Categories=Tags;Describing;Application
说明
[Desktop Entry]
该Desktop Entry
组报头标识文件作为桌面项Type
条目的类型,有效值为Application
,Link
和Directory
Encoding
桌面文件 的字符编码Name
菜单或启动器中可见的应用程序名称Comment
工具提示中使用的应用程序的描述Icon
在菜单或启动器中为应用程序显示的图标Exec
从外壳启动应用程序的命令。Terminal
该应用程序是否应在终端中运行,有效值为true
或false
Categories
以分号(;
)分隔的菜单类别列表,应在其中显示条目Exec
密钥中的命令行参数可以用以下变量表示:
%f
单个文件名。%F
多个文件名。%u
一个URL。%U
多个网址。%d
一个目录。与一起使用%f
以查找文件。%D
多个目录。与一起使用%F
以查找文件。%n
没有路径的单个文件名。%N
没有路径的多个文件名。%k
桌面文件位置的URI或本地文件名。%v
设备条目的名称。请注意,~
或之类的环境变量$HOME
不会在桌面文件内扩展,因此所引用的任何可执行文件都必须在$PATH
或通过其绝对路径进行引用。
启动脚本
如果要启动的应用程序需要在调用之前完成某些步骤,则可以创建一个Shell脚本来启动该应用程序,并将桌面条目指向该Shell脚本。假设需要从某个当前工作目录中运行应用程序。在合适的位置(~/bin/
例如)创建启动脚本。该脚本可能类似于以下内容:
#!/bin/bash
pushd "/path/to/application/directory"
./application "$@"
popd
设置脚本的可执行位:
$ chmod +x ~/bin/launch-application
然后Exec
将桌面条目中的密钥指向启动脚本:
Exec=/home/user/bin/launch-application
<path>/.FTL
将指向一个名为的隐藏文件.FTL
,该文件与./FTL
指向一个FTL
在当前目录中名为的文件不同。您可以尝试在终端中FTL
通过启动/full/path/path/to/FTL
,以查看是否获得任何有意义的错误输出。例如,如果可执行文件在当前工作目录中搜索库,则可能必须执行启动器脚本,该脚本执行一些操作,并将桌面文件中pushd <path>; ./FTL; popd
的Exec
说明符指向启动器脚本。
Thomas Nyman的回答很好。
Gnome带有gui工具,可gnome-desktop-item-edit
帮助创建* .desktop文件。我们需要从命令行使用它,或者为它创建一个桌面文件。
gnome-desktop-item-edit
打开终端窗口,然后键入以下命令:
gnome-desktop-item-edit-创建新的/ home / [您的用户名] /。local / share / applications
Name: Gnome Applicaiton
Command: gnome-desktop-item-edit --create-new /home/[your user name]/.local/share/applications
单击该图标以选择其他图标。
单击确定关闭窗口
关闭终端窗口
Gnome Application
Gnome Application
之前输入的