Як зробити автозапуск програми лише в GNOME


14

Я використовую і GNOME, і KDE SC. У GNOME я використовую Docky, але не використовую його з KDE. Отже, я хотів би, щоб Docky запускався лише тоді, коли я ввійду в GNOME, а не KDE. У KDE є можливість зробити автоматичну автозапуск програми лише в KDE. Але я не можу знайти жодного такого варіанту в GNOME.

Як я можу це зробити?

Заздалегідь спасибі.

Відповіді:


14

Ви можете відредагувати об’єкт запуску ~/.config/autostartі додати це до кінця:

OnlyShowIn=GNOME

Це неправильно названий варіант, але це змусить KDE не запускати додаток.


3

У мене не встановлено kde для підтвердження цього, але я вважаю, що додавання тут програми: Система -> Налаштування -> Сеанси -> Програми запуску - це gnome.

Якщо це не працює, ви завжди можете помістити програму в обгортковий скрипт, який перевіряє значення змінної середовища $ DESKTOP_SESSION. Щось на зразок цього:

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

Сподіваюся, що це відповість на ваше запитання!


Система -> Налаштування -> Сеанси -> Програми запуску не є специфічними для gnome.
рикошет

1

Якщо ви не можете знайти запис, який запускає програму, ви також можете знайти її /etc/xdg/autostart. Я знаю, що вони нарешті виправили Nautilus, автоматично запустившись у KDE, використовуючи налаштування OnlyShownIn. Зміна файлів у цьому каталозі є загальносистемною, тому ви, можливо, захочете скопіювати файл програми, що порушує правопорушення~/.config/autostart/

Замість використання OnlyShownIn ви можете також нам NotShownIn. Це може дозволити вам не щось для одного робочого столу, але показати це для всіх інших. У цьому прикладі ви можете завантажити Docky у всіх менеджерах настільних ПК, крім KDE, використовуючи наступне:

NotShownIn=KDE;

Якщо ви не хочете, щоб він запускався на будь-якому робочому столі, ви можете змінити його на OnlyShownIn=; Lines in .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.


0

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


Те, що сказав Марко, я думаю, це специфічна DM.
інвертувати

Так, але це не обмежується лише GNOME. Програми там також запускаються в KDE.
рикошет

0

Інший спосіб редагування файлу автозапуску - такий рядок:

OnlyShowIn=GNOME;Unity;
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.