Как сделать автозапуск программы только в GNOME

Я использую как GNOME, так и KDE SC. В GNOME я использую Docky, но я не использую его с KDE. Итак, я бы хотел, чтобы Docky запускался только при входе в GNOME, а не KDE В KDE есть возможность сделать автозапуск программы только в KDE. Но я не могу найти такой вариант в GNOME.

Как я могу это сделать?

Спасибо заранее.

15
задан 2 September 2013 в 11:14

5 ответов

Вы можете отредактировать объект запуска в ~/.config/autostart и добавить это в конец:

OnlyShowIn=GNOME

Это плохо названная опция, но это заставит KDE не запускать приложение.

14
ответ дан 2 September 2013 в 11:14

Я не установил kde, чтобы проверить это, но я думаю, что добавил приложение сюда: System -> Preferences -> Sessions -> Startup Programs специфично для гномов.

Если это не сработает, вы всегда можете поместить программу в оберточный скрипт, который проверяет значение переменной окружения $DESKTOP_SESSION. Что-то вроде этого:

#!/bin/bash
if [ $DESKTOP_SESSION == "GNOME" ];then
        myApplication
fi

Надеюсь, это ответ на Ваш вопрос!

3
ответ дан 2 September 2013 в 11:14

System > Preferences > Startup Applications Это альтернатива Gnome для менеджера запуска KDE.

0
ответ дан 2 September 2013 в 11:14

Если вы не можете найти запись, запускающую программу, вы также можете найти ее в / etc / xdg / autostart . Я знаю, что они наконец-то исправили автоматический запуск Nautilus в KDE с использованием параметра OnlyShownIn. Изменение файлов в этом каталоге распространяется на всю систему, поэтому вы можете скопировать файл приложения-нарушителя в ~ / .config / autostart /

Вместо использования OnlyShownIn вы также можете использовать NotShownIn. Это может позволить вам не отображать что-то для одного рабочего стола, а показать это для всех остальных. В этом примере вы можете загрузить Docky во все диспетчеры рабочего стола, кроме KDE, используя следующее:

NotShownIn = KDE;

Если вы не хотите, чтобы он запускался на любом рабочем столе, вы можете изменить его на OnlyShownIn =; Строки в файлах .desktop должны заканчиваться точкой с запятой. Точка с запятой также используется для разделения значений для настроек, которые принимают более одного значения одновременно.

Этот трюк будет означать, что вы должны перечислить каждую используемую оболочку рабочего стола, чтобы что-то вообще не работало. Таким образом, использование NotShownIn = Unity будет приемлемым, если у вас установлен только Unity, но он все равно будет запускаться, если вы позже установили KDE или Gnome.

Если файл рабочего стола в папке автозапуска пользователя не останавливает При запуске приложения вам нужно будет иметь дело с файлом рабочего стола в каталоге xdg. Для этого я бы сделал резервную копию файла. Вместо того, чтобы копировать его с расширением bak или чем-то стандартным, которое позже может быть перезаписано, сделайте это для воображаемого приложения под названием badapp для этого примера.

sudo cp /etc/xdg/autostart/badapp.desktop / etc / xdg / autostart /badapp.desktop.stop

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

sudo cp /etc/xdg/autostart/badapp.desktop.stop / etc / xdg / autostart / badapp .desktop

Кроме того, пользовательская папка автозапуска по умолчанию для KDE - ~ / .kde / Autostart / , потому что KDE работает так же, как KDE.

1
ответ дан 2 September 2013 в 11:14

Другой способ отредактировать файл автозапуска - это строка вида:

OnlyShowIn=GNOME;Unity;
0
ответ дан 2 September 2013 в 11:14

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

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