无显示

无显示

我已在计算机上安装了不同的环境风格(Unity、Mate、Xfce、KDE……)。我已设置登录时使用 Xfce。但其他环境中有一些应用程序/软件,我希望无需注销/登录到其他桌面即可使用,也无需尝试发现该特定程序的命令是什么,这样我就可以直接从 Xfce 的终端运行它。

我希望以自动的方式将所有这些应用程序列在我的菜单中(因此应该排除“从头开始创建每个快捷方式条目”的答案)。

答案1

.desktop我怀疑关键在于中最常见的文件内容/usr/share/applications。(用户可能还会自动或手动.desktop放置一些文件$HOME/.local/share/applications。)

文件的格式.desktop通常基于规格规定免费桌面网站

这里有两个条目值得关注:

无显示

表示“此应用程序存在,但不在菜单中显示”。这很有用,例如,将此应用程序与 MIME 类型关联,以便从文件管理器(或其他应用程序)启动它,而无需为其设置菜单项(这样做有很多好的理由,例如包括 netscape -remote 或 kfmclient openURL 之类的东西)。

仅显示于、不显示于

标识应该显示/不显示给定桌面条目的桌面环境的字符串列表。

默认情况下,应该显示桌面文件,除非存在 OnlyShowIn 键,在这种情况下,默认不显示该文件。

在我的系统(只有“KDE”)上,我看到:

$ grep -E "NoDisplay"  /usr/share/applications/*.desktop         
/usr/share/applications/display-im6.desktop:NoDisplay=true
/usr/share/applications/display-im6.q16.desktop:NoDisplay=true
/usr/share/applications/geoclue-where-am-i.desktop:NoDisplay=true
/usr/share/applications/hplj1020.desktop:NoDisplay=true
/usr/share/applications/ktelnetservice5.desktop:NoDisplay=true
/usr/share/applications/kwalletmanager5-kwalletd.desktop:NoDisplay=true
/usr/share/applications/libreoffice-math.desktop:NoDisplay=false
/usr/share/applications/libreoffice-startcenter.desktop:NoDisplay=false
/usr/share/applications/libreoffice-xsltfilter.desktop:NoDisplay=true
(plus many more entries)


$ grep -E "OnlyShowIn"  /usr/share/applications/*.desktop
/usr/share/applications/org.kde.kcolorschemeeditor.desktop:OnlyShowIn=KDE;
/usr/share/applications/org.kde.kinfocenter.desktop:OnlyShowIn=KDE;
/usr/share/applications/org.kde.kmenuedit.desktop:OnlyShowIn=KDE;
/usr/share/applications/org.kde.plasmashell.desktop:OnlyShowIn=KDE;
/usr/share/applications/org.kde.polkit-kde-authentication-agent-1.desktop:OnlyShowIn=KDE;
/usr/share/applications/systemsettings.desktop:OnlyShowIn=KDE;
$ 

$ grep -E "NotShowIn"  /usr/share/applications/*.desktop
/usr/share/applications/kdesystemsettings.desktop:NotShowIn=KDE;
/usr/share/applications/libreoffice-math.desktop:NotShowIn=GNOME;
/usr/share/applications/libreoffice-startcenter.desktop:NotShowIn=GNOME;
/usr/share/applications/org.kde.kdeconnect.kcm.desktop:NotShowIn=KDE;
/usr/share/applications/org.kde.kdeconnect.nonplasma.desktop:NotShowIn=KDE;
/usr/share/applications/org.kde.klipper.desktop:NotShowIn=KDE;
/usr/share/applications/system-config-printer.desktop:NotShowIn=KDE;GNOME;
$ 

如果您在系统上运行上述命令,您会发现,某些应用程序未包含在菜单中(无论是原始桌面环境还是其他任何环境)可能是有充分理由的。在某些情况下,您可能认为没有正当理由。

如果你确实想更改某些应用程序的显示状态,我建议你复制将相应的.desktop文件复制到~/.local/share/applications那里并进行更改。在那里所做的更改将

  • 不需要 sudo
  • 仅供您使用,不供其他用户使用
  • 如果/当应用程序更新时,它将保持不变,而.desktop文件/usr/share/applications将被覆盖。

答案2

您可以使用它alacarte来编辑应用程序菜单。它不像从头开始创建每个快捷方式,也不是自动化的......

在某些版本中alacarte,还显示来自其他桌面环境的软件……

相关内容