Когда я устанавливаю несколько сессий рядом друг с другом, программы по умолчанию из одной также появляются в другой. Как это предотвратить?
Я говорю о ВСЕХ приложениях по умолчанию. Мне не нужно несколько приложений (Firefox, Chromium, Konqueror ...) для одной и той же задачи, засоряющей меню приложений. Поэтому я хотел бы скрыть приложения по умолчанию от одного DE при использовании другого DE, у которого есть другое приложение по умолчанию.
Если я вас правильно понимаю, вы можете ссылаться на несколько записей для одной и той же программы. Evince
был бы хорошим примером, потому что он является общим для Lubuntu, Ubuntu и Xubuntu.
Что вы можете сделать, это зайти в /usr/share/applications
и найти «общие» файлы .desktop. Sudo
отредактируйте строки «Имя», чтобы они отличались, если хотите, или добавьте NoDisplay=True
в конец любого файла .desktop, который вы не хотите видеть в качестве записи.
Судя по вашему комментарию, кажется, что если вы используете KDE (например, так как вы упомянули Konqueror в комментарии), вы не хотите видеть Firefox или Chromium в меню KDE.
Есть две возможные записи, которые вы можете добавить в соответствующий файл .desktop. Используйте:
NotShowIn=KDE;
, чтобы в этом случае приложение не отображалось в определенной рабочей среде KDE.
Или, вы можете пойти другим путем и добавить
OnlyShowIn=XFCE;
или
OnlyShowIn=Unity;
, чтобы ограничить видимость приложения определенной средой рабочего стола, XFCE или Unity, например ..
В любом случае, обратитесь к http://standards.freedesktop.org/desktop-entry-spec/latest/ за подробной информацией.
Просто чтобы прояснить, я не знаю ни одного способа сделать то, что вы хотите автоматически, без хлопот sudo, редактирующих каждый файл.