Linux KDE Plasma Dotfiles Verwaltung mit stow

Linux Betriebssystem

Ambrosius

Rather active member
Themenstarter
Registriert
23 Juni 2022
Beiträge
1.867
Ein kleiner und hoffentlich konziser Guide zum GNU/stow Tool.​

Hintergrund:

Ich hab jüngst wieder ein neues Thinkpad neu aufgesetzt und ein Linux geschmeidig drübergebügt. Faltenfrei. Hab mich für KDE entschieden, wieder einmal, weil mein letzter Ausflug zum Mate-Lager war doch obschon sehr interessant, aber manchmal auch etwas ernüchternd. Hab auch mit Hyprland herumgespielt und obwohl ich seit gefühlt ewig zu einem 'kachelnden' Fenstermanager wechseln möchte, bevorzuge ich es manche Systeme, wie dieses x200 z.b. hier, einfach und simpel zu halten. Und wenn im Zweifel, dann nehme ich immer KDE. Auch unter rollenden Distros läuft es stets stabil und ich muss es einfach auch frei Schnauze sagen: es besitzt für mich den besten 'stacked' Fensterverwalter, den ich mir vorstellen kann. Wo andere ein kompliziertes Geflecht von Einstellungsmöglichkeiten sehen, erkenne ich potenzielle Stellschrauben, die alle einen Sinn und Zweck erfüllen.

Vordergrund:
Ich hab also von meinem letzten KDE System (Plasma 5.27 noch) den Homeordner kopiert und geschaut, was ich davon für mein neues Thinkpad mit Plasma 6.4 ausschlachten kann. Natürlich macht es keinen Sinn alle Konfigurationsdateien im laufenden System zu ersetzen, schon gar nicht wenn man zwischen den Installationen einen so großen Versionssprung hat. Aber ich hatte mir damals eine brauchbare Dokumentation zusammengebastelt mit den wichtigsten Pfaden, wo welche Config Files abgelegt sind. Ich hab diesmal aber gleich von Anfang an mit stow gearbeitet. Dieses Tool ist einfach nur Chefs KISS (im wahrsten Sinne des Wortes). Es macht 'nur' was es soll und es macht es einfach gut. Kein BS. Ich kann jedem nur empfehlen, seine wichtigen Konfigurationsdateien so abzulegen und zu sichern. Ein regelmäßiges Backup des eigens für stow angelegten Ordners ist im Nu gemacht (rSync, Syncthing, etc). Und wenn man lustig ist, kann man ihn auch in einen git-Ordner verwandeln und mit git Befehlen arbeiten (Stichwort Versionskontrolle). Für meinen Anwendungsfall wäre das overkill, aber wenn man git lernen will, ist das die perfekte Gelegenheit. Ich hab mich für den Anfang nur auf KDE Programme fokussiert und das muss man hier auch Plasma zugute halten, die Rückwärtskompatibilität hat wunderbar ootb funktioniert. Kein Programm hat mit den alten Config Files gemeckert.


Ich geb mal grob heruntergebrochen bzw laienhaft das Vorgehen vor. Es gibt sehr gute - fachlich korrekte - Erklärungen und Anleitungen, aber im Prinzip sind dies die wesentlichen Schritte. Wenn man wie ich außerdem noch alte Config Files migriert, sollte man dies vorher extra berücksichtigen. In dem unten geschilderten Szenario, geh ich davon aus, dass man stow in seinem laufenden System impementiert.

0. Alles in Linux ist eine Datei. Wenn man das Prinzip verstanden hat, ist alles damit machbar.
1. Man legt einen neuen Ordner in seinem Homeordner an. -> hier: ".dotfiles" (ich will ihn mal stow Ordner nennen)
2. Man lokalisiert die Konfigrationsdateien der Programme und deren Pfade, die man sichern möchte
3. Es ist Best Practice die Originaldateien nochmal zu duplizieren z.b. mit
Code:
cp -a dolphinrc dolphinrc.old
4. Hier kommt es nun auf Präzision an. Man erstellt sogenannte nested folder. Will heissen, man muss den kompletten Pfad nachbauen, so dass stow automatische Symlinks zu den Ursprungspfaden erzeugen kann. Dort sucht nämlich das Programm, hier Dolphin, dann auch nach der Config File, wenn es gestartet wird. Ein Beispiel:
Wenn Dolphin die Datei im Pfad
/home/thinkagain/.local/share/kxmlgui5/dolphin
ablegt, dann muss ein neuer Pfad exakt so im stow-Ordner repliziert werden, was im Ergebnis dann so aussieht:
/home/thinkagain/.dotfiles/.local/share/kxmlgui5/dolphin
Dann verschiebt man die Datei (non-old natürlich, siehe Schritt 3.) in seinen eigenen Dotfile Ordner mit mv
5. Das Programm sollte in dem Moment geschlossen sein, sonst erstellt Dolphin evtl eine neue Config Datei aus nem Template, das man sonst wieder löschen muss.
6. Schließlich navigiert man zu seinem stow Ordner und führt den Befehl aus, mit dem stow final angewiesen wird die Datei zurück zu verlinken.
Code:
$ cd ~/.dotfiles
$ stow .
7. Das wars auch schon. Das Prozedere kann man beliebig oft wiederholen. No Proplemo.


Warum man lediglich 'stow .' aufrufen muss, liegt an den guten default werten, die stow mitbringt, so dass man dir und target nicht mehr zusätzlich definieren muss. Die man Page ist sehr kurz und aufschlussreich, und auch stow -h erklärt es wunderbar:
OPTIONS:

-d DIR, --dir=DIR Set stow dir to DIR (default is current dir)
-t DIR, --target=DIR Set target to DIR (default is parent of stow dir)
Ergo reicht wenn man sich innerhalb seines Stow Ordners befindet ein simples
Code:
stow .
statt dem ansonsten verbosen:
Code:
stow --dir=~/.dotfiles --target=~/


Bei mir sieht es daher nun so aus:

Bash:
[thinkagain@brainwave .dotfiles]$ tree -a
.
├── .bashrc
├── .config
│   ├── dolphinrc
│   └── katerc
└── .local
    └── share
        └── kxmlgui5
            ├── dolphin
            │   └── dolphinui.rc
            ├── kate
            │   └── kateui.rc
            ├── katepart
            │   └── katepart5ui.rc
            └── okular
                ├── part.rc
                └── shell.rc

Der Anfang ist erstmal gemacht und wenn das Einfache gut funktioniert, kann man darauf aufbauen und es auf andere Dateien ausweiten, die einem wichtig sind.


Fazit:
Es skaliert längst nicht so gut wie ein NixOS System, das man als Ganzes wenn erst einmal richtig aufgesetzt und eingerichtet, beliebig oft replizieren kann, aber es ist besser, als alles händisch zu machen. Ich mein, ich hab trotzdem einen ganzen Tag dafür aufgewendet Plasma zu ricen, aber das ist Pain und Pleasure zu gleichen Teilen. Das bleibt auch deswegen nicht aus, da ich versuche Plasma so gut es geht an die Hardware zu optimieren, in diesem Fall eine GPU der Reihe Intel® GM45 Express Chipset der letzten Core2Duo Plattform. Und es läuft wie geschnitten Brot, bissl Eye Candy darf nicht fehlen, aber ich habs nicht übertrieben. Die Beispieldaten oben beeinhalten in erster Linie die Werkzeugleisten der entsprechenden Programme und ich hab keine Lust auf jedem neuen System ins Klicki-Klicki-Land zu reisen. So geht es das nächste Mal noch schneller, denn ich muss nicht mehr meinen ganzen Home Ordner kopieren, sondern nur noch den stow Ordner und gut ist. Meine Werkzeugleisten sind durchgängig gleich und konsistent.

Ich fänd es sehr hilfreich, wenn die Plasma User hier im Forum ihre Erfahrungen mit Config Files in Bezug auf Backups teilen könnten, welche sich z.b. nicht gut eignen für ein Restore. Stow macht nur Sinn, wenn man die Config Files in einer anderen Instanz nachstellen möchte. Das muss nicht zwingend Plasma sein. Jedes Linux System ist damit verwaltbar.

Eine gute Tabelle mit den wichtigsten KDE Config Files, ihrer Beschreiung und Pfaden hat shalva97 super übersichtlich in seinem Github dokumentiert.


Alles in allem, hoffe ich die Linuxianer unter uns inspiriert haben zu können. GNUstow, Ladies and Gentleman.
 
Zuletzt bearbeitet:
  • ok1.de
  • IT Refresh - IT Teile & mehr
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben