Gibt es eine Möglichkeit, KDE daran zu hindern, meine anderen WM-Einstellungen zu überschreiben?


8

Was ist das Problem?

  • KDE berücksichtigt keine anderen Fenstermanager- / DE-Einstellungen.

    Gibt es eine Möglichkeit, KDE sicher zusammen mit anderen Fenstermanagern auszuführen, ohne sie jedes Mal nach Abschluss meiner Tests mit KDE neu konfigurieren zu müssen?

Hintergrund

Die Hauptdesktops meines Benutzers sind hauptsächlich xfce (4.6, 4.8, 4.10) und Unity.

  • Ich teste häufig mehrere Fenstermanager (Fluxbox, Erleuchtung, Einheit, Gnom usw.). Nur KDE verursacht mir Probleme bei der Rückkehr zu einem anderen WM, wenn ich mit dem Testen einiger KDE-Funktionen fertig bin.

Was habe ich getan, um das zu beheben?

Wenn ich zu einem anderen WM als KDE zurückkehre, muss ich Konfigurationsdateien (insbesondere * gtk-Dateien) löschen, um meine anderen WMs auf ihre Standardeinstellungen zurückzusetzen.

Welche Antwort suche ich?

  • Gibt es Dateiberechtigungen, die ich festlegen kann, um zu verhindern, dass KDE meine anderen WM-Einstellungen beeinträchtigt?
  • Gibt es eine Möglichkeit festzustellen, welche Dateien in meinem Home-Verzeichnis KDE berührt und ändert? Das könnte mir helfen, mein Problem einzugrenzen.
  • Ich kann ein Anmeldeskript erstellen, um alles zu korrigieren, was KDE kaputt gemacht hat. Für drei Benutzer wäre dies akzeptabel. Dies ist nicht auf 50 Benutzer skalierbar.

Was kann ich tun, um KDE sicher zu testen und zu meinem Standardfenstermanager zurückzukehren, ohne meine Konfiguration kontinuierlich wiederherstellen zu müssen?

Warum ist das wichtig?

Hier ist ein Anwendungsfall, der mir Probleme bereitet:

Ich habe einen Benutzer (denken Sie an C-Level Exec), der gerne zwischen KDE und xfce (unter anderem WMs) hin und her wechselt. Wie kann ich ihr Profil so konfigurieren, dass sie keine KDE-Fensterdekorationen erhalten, wenn sie sich entscheiden, zu xfce zurückzukehren?

Derzeit konnte ich nicht verhindern, dass eine xfce-Sitzung vollständig entstellt wird, nachdem sich ein Benutzer bei einer KDE-Sitzung angemeldet hat.


Wenn nichts anderes, vielleicht in einer VM ausführen?
Geselle Geek

@Journeyman Geek Sicher, aber ich möchte wissen, wie ich KDE dazu bringen kann, mit dem Rest meiner WMs gut zu spielen. Gnome, xfce, Unity, Enlightenment usw. scheinen die Konfigurationen der anderen zu respektieren.
Kevin Bowen

Offensichtlich hat KDE nichts damit zu tun, Konfigurationsdateien anderer Desktops zu ändern. Können Sie eine Liste der Dateien erstellen, die außerhalb berührt .kdeund protokolliert werden? Wenn ja, erwägen Sie , einen Fehler gegen KDE
einzureichen

@phihag Ein Teil meiner Frage war die Frage, wie ich feststellen kann, welche Dateien KDE berührt hat.
Kevin Bowen

1
@ LeoR Wow. Ein 5 Jahre alter Bug. Danke, dass du das ausgegraben hast. Das ist etwas ähnlich, aber anders. Ich suche nach Problemumgehungen für dieses Verhalten. Ich muss später Fehlerberichte untersuchen. Vielen Dank.
Kevin Bowen

Antworten:


5

Hier ist eine Lösung, bei der ich beim Umschalten zwischen KDE und Xfce Probleme mit der Anzeige- / Fensterdekoration festgestellt habe.

Wie finde ich, welche Dateien KDE geändert hat?

Das Auffinden der Dateien, die sich innerhalb eines bestimmten Zeitraums in einem Home-Verzeichnis geändert haben, ist recht einfach.

find ~ -maxdepth 5 -mmin 10 (sucht innerhalb der letzten 10 Minuten nach Änderungen)

Die Ergebnisse sind jedoch mit einer großen Anzahl dynamischer Dateien (z. B. verschiedenen App-Caches) überfüllt. Also musste ich diese von meinen Ergebnissen ausschließen:

find ~/ -maxdepth 5 \( -path ~/.cache -o -path ~/.xchat2 -o -path ~/.local -o -path ~/Downloads -o -path ~/.config/deluge -o -path ~/.config/chromium -o -path ~/docs -o -path ~/.dropbox -o -path ~/Dropbox -o -path ~/.pulse -o -path ~/.dbus \) -prune -o -mmin -5

Dies führt zu einer viel übersichtlicheren Liste zur Identifizierung der von KDE geänderten Dateien (ich bezweifle nicht, dass es eine elegantere Lösung gibt, um dieselben Ergebnisse zu erzielen).

Welche Dateien müssen geändert werden und welche Befehle sollten ausgeführt werden?

Geben Sie vor dem Beenden von KDE ein Terminal ( Ctrl- Alt- t) ein und geben Sie den folgenden Befehl ein:

rm ~/.gtkrc-2.0

Dadurch werden die KDE-Fensterdekorationseinstellungen entfernt und durch das Löschen werden diese Einstellungen nicht auf Xfce angewendet. Sobald Sie jedoch bei Xfce angemeldet sind, muss das WM mit dem folgenden Befehl zurückgesetzt werden:

xfwm4 --replace

Wenn während der Arbeit in KDE Änderungen an Design oder Schriftart vorgenommen wurden, muss vor der Anmeldung bei Xfce eine andere Datei gelöscht werden. Andernfalls wurden die Schriftarten im Webbrowser geändert.

Wieder von der Kommandozeile:

rm ~/.fonts.conf

Wie kann ich das (teilweise) automatisieren?

Ich habe einen Teil davon automatisiert, /etc/lightdm/lightdm.confindem ich die folgenden Zeilen bearbeitet und in die Datei eingefügt habe:

    [SeatDefaults]
    session-cleanup-script = home/<userdir>/clean_up_after_kde.sh 

Das Skript enthält die beiden rmBefehle von oben. Das xfwm --replacekann erst ausgeführt werden, wenn die Desktop-Umgebung bereits gestartet wurde. Daher wird dies weiterhin manuell ausgeführt.

Damit die Änderungen wirksam werden, muss lightdm neu gestartet werden. Führen Sie Folgendes aus:

sudo restart lightdm.

Ihre Sitzung wird sofort nach diesem Befehl neu gestartet und Sie kehren zu einem Anmeldebildschirm zurück. Stellen Sie daher vor dem Neustart sicher, dass Sie alle Arbeiten gespeichert haben.

Diese Befehle werden jetzt im Rahmen des Abmeldevorgangs ausgeführt. Beachten Sie, dass dieses Skript erst ausgeführt wird, nachdem der Benutzer vollständig abgemeldet wurde .

Dies ist zwar immer noch ziemlich kludgey, aber es ist ein kleinerer Schritt, um es weniger zu machen.


Warum erstellen Sie nicht einfach ein Skript, das diese ausführt, wenn KDE nicht ausgeführt wird?
Seth

0

Das Festlegen einer separaten / Home-Partition könnte der richtige Weg sein. Grundsätzlich haben Sie 2 / Home-Partitionen (oder Ordner, einen Dummy) und verwenden den Dummy für KDE.


Können Sie hier die Schritte beschreiben, die erforderlich sind, um dies zu erreichen und auf einfache Weise zwei separate Verzeichnisse / Home-Verzeichnisse zu verwalten?
Kevin Bowen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.