大号inux 带有三个命令,供开发人员、系统管理员和用户设置应用程序层次结构,通常显示为菜单。 换句话说,这些命令允许第三方软件添加适用于所有桌面的菜单项。 此外,它允许 Linux 系统管理员以影响所有桌面的方式编辑菜单,使用以下命令在 Linux 上安装和编辑桌面文件以创建桌面条目:
- desktop-file-edit 命令是一个用于编辑桌面文件的工具。
- 使用 desktop-file-install 命令安装 .desktop 文件。
- 使用 update-desktop-database 命令更新桌面条目缓存的数据库。
- 使用 desktop-file-validate 命令验证桌面条目文件。
什么是桌面入口?
KDE 和 GNOME 等流行的桌面环境跟随桌面 准入标准. 它定义了有关启动的特定程序及其在菜单中的显示方式的配置文件语法。 例如,假设我编译并安装了一个名为 foo 的应用程序。 然后我可以定义关于它的桌面条目。
.desktop 文件的位置
所有此类配置文件都具有 .desktop 扩展名,您可以在以下位置找到它们:
- 默认的 Linux 发行版特定应用程序 – /usr/share/applications/
- 第三方特定应用程序 – /usr/local/share/applications/
- 用户特定的应用程序 – ~/.local/share/applications/
使用 ls 命令列出这些文件:$ ls -l /usr/share/applications/
# Count ALL .desktop files using the wc command #
$ ls -l /usr/share/applications/ | wc -l
示例 .desktop 文件
这是使用 cat 命令显示的“Startup Disk Creator”应用程序的 .desktop 文件结构示例或 更多命令 在我的 Ubuntu Linux 桌面上:$ cat /usr/share/applications/usb-creator-gtk.desktop
示例输出(为了便于理解,我添加了注释):
[Desktop Entry] ## The name of the application ## Name=Startup Disk Creator GenericName=Startup Disk Creator ## A comment which act as a tooltip ## Comment=Create a startup disk using a CD or disc image ## The executable of the application with optional args ## ## You can state full path too ## Exec=usb-creator-gtk ## State the name of the icon that will be used to display this entry ## Icon=usb-creator-gtk ## Is it a terminal app? For example htop will be set as Terminal=True ## ## Then default terminal app will be used to open the 'htop' ## Terminal=false ## The type as listed ## Type=Application ## States the categories in which this entry should be shown menu ## Categories=System;Settings;GTK;HardwareSettings; X-Ubuntu-Gettext-Domain=usbcreator
在 Linux 上创建桌面文件
出于演示目的,我将使用文本编辑器在名为“$HOME”/desktop-entries 的当前目录中创建一个名为 gpass.desktop 的新文件,如下所示。 这是我使用 cat 命令显示的示例文件:cat ~/desktop-entries/gpass.desktop
示例输出:
[Desktop Entry] # App name Name=gpass in LXD # Comment Comment=Old password manager # Is it terminal or GUI app? Terminal=false # Command to run Exec=/snap/bin/lxc exec gui-1804-gimp -- sudo --login --user vivek /usr/local/bin/gpass # Icon file Icon=/home/vivek/desktop-entries/gpass-icon.png # Categories Categories=Utility;Security; # The type as listed Type=Application
使用桌面文件编辑命令
可以使用 desktop-file-edit 代替文本编辑器来构建条目,如下所示。 首先,使用 touch 命令创建一个名为 gimp-2.8.desktop 的空文件:touch gimp-2.8.desktop
然后,运行桌面文件编辑:
desktop-file-edit --set-name="GIMP on LXD" --set-comment="GIMP 2.8 with custom plugins" --set-icon="/home/vivek/backups/desktop-entries/gimp.png" --add-category="Graphics;2DGraphics;RasterGraphics;GTK;" --set-key="Exec" --set-value="/snap/bin/lxc exec gui-1804-gimp -- sudo --login --user vivek /usr/bin/gimp-2.8 %U" --set-key="Type" --set-value="Application" gimp-2.8.desktop