Ich benutze sowohl GNOME als auch KDE SC. In GNOME verwende ich Docky, aber ich verwende es nicht mit KDE. Daher möchte ich, dass Docky nur gestartet wird, wenn ich mich bei GNOME und nicht bei KDE anmelde. In KDE gibt es die Möglichkeit, ein Programm nur in KDE automatisch zu starten. Aber ich kann keine solche Option in GNOME finden.
Wie kann ich das machen?
Danke im Voraus.
Sie können das Startobjekt in ~/.config/autostart
bearbeiten und am Ende hinzufügen:
OnlyShowIn=GNOME
Es ist eine schlecht benannte Option, die jedoch dazu führt, dass KDE die Anwendung nicht startet.
Ich habe kde nicht installiert, um dies zu überprüfen, aber ich glaube, das Hinzufügen der Anwendung hier: System -> Einstellungen -> Sitzungen -> Startprogramme ist gnomespezifisch.
Wenn das nicht funktioniert, können Sie das Programm immer in ein Wrapper-Skript einfügen, das den Wert der Umgebungsvariablen $ DESKTOP_SESSION überprüft. Etwas wie das:
#!/bin/bash
if [ $DESKTOP_SESSION == "GNOME" ];then
myApplication
fi
Hoffe das beantwortet deine Frage!
Wenn Sie den Eintrag, der ein Programm startet, nicht finden können, finden Sie ihn möglicherweise auch in /etc/xdg/autostart
. Ich weiß, dass sie Nautilus mit der Einstellung OnlyShownIn endlich automatisch in KDE gestartet haben. Das Ändern von Dateien in diesem Verzeichnis ist systemweit, daher möchten Sie möglicherweise die Datei der betreffenden Anwendung nach ~/.config/autostart/
kopieren.
Anstelle von OnlyShownIn können Sie auch NotShownIn verwenden. Auf diese Weise können Sie nicht nur etwas für den einen Desktop anzeigen, sondern für alle anderen. In diesem Beispiel können Sie Docky in allen Desktop-Managern mit Ausnahme von KDE wie folgt laden:
NotShownIn=KDE;
Wenn Sie nicht möchten, dass es auf einem Desktop gestartet wird, können Sie es in OnlyShownIn=;
ändern. Zeilen in Desktop-Dateien sollen mit einem Semikolon enden. Das Semikolon wird auch verwendet, um Werte für Einstellungen zu trennen, die mehr als einen Wert gleichzeitig annehmen.
Dieser Trick würde bedeuten, dass Sie jede Desktop-Shell auflisten müssen, die Sie verwenden, um zu verhindern, dass etwas ausgeführt wird. Daher wäre die Verwendung von NotShownIn=Unity
in Ordnung, wenn Sie nur Unity installiert hätten, aber es würde trotzdem starten, wenn Sie später KDE oder Gnome installieren würden.
Wenn die Desktop-Datei in Ihrem Benutzer-Autostart-Ordner den Start einer Anwendung nicht stoppt, müssen Sie sich mit der Desktop-Datei im Verzeichnis xdg befassen. Dafür würde ich eine Sicherungskopie der Datei erstellen. Anstatt es mit einer bak-Erweiterung oder einem Standard zu kopieren, der später möglicherweise überschrieben wird, tun Sie dies für die imaginäre Anwendung, die in diesem Beispiel badapp genannt wird.
Sudo cp /etc/xdg/autostart/badapp.desktop /etc/xdg/autostart/badapp.desktop.stop
Sie können dann die ursprüngliche Desktop-Datei bearbeiten. Wenn etwas kaputt geht und Sie in einem Text-Boot enden, können Sie die Datei wieder in den ursprünglichen Namen umbenennen.
Sudo cp /etc/xdg/autostart/badapp.desktop.stop /etc/xdg/autostart/badapp.desktop
Der standardmäßige Autostart-Benutzerordner für KDE ist ~/.kde/Autostart/
, da KDE die Dinge auf die KDE-Art und Weise ausführt.
System > Preferences > Startup Applications
Dies ist die Gnome-Alternative zum KDE-Start-Manager.
Die andere Möglichkeit, die Autostart-Datei zu bearbeiten, besteht in einer Zeile wie:
OnlyShowIn=GNOME;Unity;