Как показать в приложениях меню различных настольных сред?

Я установил различные ароматы среды (Единица, Помощник, Xfce, KDE...) на моей машине. Я установил на входе в систему для использования Xfce. Но существуют некоторые приложения/программное обеспечение в других средах, которые я хотел бы использовать, не делая выхода из системы/входа в систему на тот другой рабочий стол и не пытаясь обнаружить то, что команда той конкретной программы так, я могу выполнить его от терминала прямо от Xfce.

Я хотел бы иметь все те приложения, перечисленные в моем меню автоматизированным способом (Таким образом, "создают каждую запись ярлыка с нуля" ответы, должен быть исключен).

5
задан 29 September 2018 в 13:33

2 ответа

Вы можете использовать alacarte для редактирования меню приложения. Это не то же самое, что создавать каждый ярлык с нуля, и при этом оно не автоматизировано ... В некоторых версиях программного обеспечения alacarte из других сред рабочего стола также показаны.

3
ответ дан 23 November 2019 в 09:11

Я подозреваю, что ключ находится в содержании .desktop файлы, обычно найденные в /usr/share/applications. (У пользователя могут также быть некоторые .desktop файлы, помещенные в $HOME/.local/share/applications автоматически или вручную.)

Формат .desktop файлы обычно основаны на спецификациях, установленных freedesktop.org.

Из интереса здесь, две записи:

NoDisplay

означает, что "это приложение существует, но не отображайте его в меню". Это может быть полезно для, например, связать это приложение с типами MIME, так, чтобы оно было запущено из файлового менеджера (или другие приложения), не имея записи меню для него (существуют тонны серьезных оснований для этого, включая, например, netscape - удаленные, или вид kfmclient openURL материала).

OnlyShowIn, NotShowIn

Список строк, определяющих настольные среды, которые должны отобразиться/не, отображает данную настольную запись.

По умолчанию файл на рабочем столе нужно показать, если ключ 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 будет перезаписан.
4
ответ дан 23 November 2019 в 09:11

Другие вопросы по тегам:

Похожие вопросы: