Я использую как GNOME, так и KDE SC. В GNOME я использую Docky, но я не использую его с KDE. Итак, я бы хотел, чтобы Docky запускался только при входе в GNOME, а не KDE В KDE есть возможность сделать автозапуск программы только в KDE. Но я не могу найти такой вариант в GNOME.
Как я могу это сделать?
Спасибо заранее.
Вы можете отредактировать объект запуска в ~/.config/autostart
и добавить это в конец:
OnlyShowIn=GNOME
Это плохо названная опция, но это заставит KDE не запускать приложение.
Я не установил kde, чтобы проверить это, но я думаю, что добавил приложение сюда: System -> Preferences -> Sessions -> Startup Programs специфично для гномов.
Если это не сработает, вы всегда можете поместить программу в оберточный скрипт, который проверяет значение переменной окружения $DESKTOP_SESSION. Что-то вроде этого:
#!/bin/bash
if [ $DESKTOP_SESSION == "GNOME" ];then
myApplication
fi
Надеюсь, это ответ на Ваш вопрос!
System > Preferences > Startup Applications
Это альтернатива Gnome для менеджера запуска KDE.
Если вы не можете найти запись, запускающую программу, вы также можете найти ее в / 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.
Другой способ отредактировать файл автозапуска - это строка вида:
OnlyShowIn=GNOME;Unity;