Заставляем приложение запускаться автоматически только в конкретной оболочке

По умолчанию, приложения, которые вы добавляете в автозагрузку, автоматически запускаются в любом окружении рабочего стола. А я решил рассказать вам, как сделать так, чтобы приложение запускалось только в строго определённом DE.

Вот, например: Mailnag — оповещатель почты для GNOME Shell, отображающий ужасное диалоговое окно вместо обычных оповещений в Unity, поэтому он полезен только вGNOME Shell. Используя инструкции ниже, вы можете заставить Mailnag автоматически запускаться только когда вы заходите в GNOME.

Заставляем приложение запускаться автоматически только в конкретном DE

Чтобы заставить приложение автоматически запускаться только в GNOME или Unity (или KDE, и так далее), вам потребуется отредактировать его автостарт-файл .desktop — этот файл вы можете найти в папках ~/.config/autostart или в /etc/xdg/autostart. Откройте файл .desktop для приложения, которое вы хотите запускать только в GNOME или Unity с помощью текстового редактора и в конце файла добавьте:

OnlyShowIn=GNOME;

Если вы добавите «OnlyShowIn=GNOME;» это приложение запустится только в GNOME. Если вы хотите запускать автоматически только в Unity, добавьте «Unity» вместо GNOME.

Чтобы добавить несколько окружений, отделите их с помощью «;». В качестве примера: можно запускать приложение только в GNOME и Unity, используя:

OnlyShowIn=GNOME;Unity;

Кстати, вместо «OnlyShowIn» вы можете использовать «NotShowIn», чтобы не запускать приложение в какой-либо оболочке.

Решение для GNOME Shell / Классической сессии GNOME 3 (fallback)

Используя «GNOME» для «OnlyShowIn», приложение будет запускаться как в GNOME Shell, так и в GNOME Classic (Fallback), поэтому вот как можно это исправить: в том же файле .desktop, добавьте это в конце (спасибо Lucas Capalbo Lavezzo):

AutostartCondition=GNOME3 if-session gnome-fallback

Где «gnome-fallback» — классическая (fallback) сессия GNOME. Для GNOME Shell, используйте просто «gnome» вместо «gnome-fallback».

Замечание: это может не работать со всеми приложениями, потому что некоторые приложения модифицируют фай .desktop (такие, как GmailWatcher или Dropbox).