Verschwinden diese lästigen .x * -Konfigurationsdateien

722
So8res

Ich versuche, so viele meiner Punktedateien wie möglich zu zwingen, $XDG_CONFIG_HOME(und Freunde) zu ehren, anstatt in meinem Heimatverzeichnis zu scheißen. Dies beinhaltet einige kleinere Änderungen an einigen gängigen Apps, aber nichts zu kompliziert. Ich habe jedoch Probleme, alle XKonfigurationsdateien in ein ~/.config/XVerzeichnis zu schreiben oder wohin ich will. Die Konfigurationsdateien für Ornery sind:

.Xauthority .Xdefaults .xdvirc .xinitrc .xlog .Xresources .xscreensaver .xsession-errors 

Ich weiß, dass es ziemlich schwierig sein wird, einige, die sich in meinem Heimatverzeichnis aufhalten, zu vermeiden ( xinitrcHusten, Husten), aber es scheint, dass alle anderen ziemlich mobil sein sollten. Tatsächlich glauben viele von ihnen ( xlog, xsession-errors), dass sie mit einer oder zwei Umgebungsvariablen verschiebbar sein sollten - wenn meine zshrczuvor geladen xinitrcwurden.

Kennt jemand eine einfache Möglichkeit, die Mehrheit dieser Akten zu zwingen, zu gehorchen XDGund ihren rechtmäßigen Platz einzunehmen ~/.config? Die Sauberkeit meines Heimatverzeichnisses würde mich über Tipps freuen.

2
Mit welcher Methode starten Sie X11 - `xinit` /` startx` oder einen Display-Manager? grawity vor 12 Jahren 0
aktuell startx. Keine Pläne zu wechseln. So8res vor 12 Jahren 0

1 Antwort auf die Frage

5
grawity
  • ~/.Xauthorityist keine Konfigurationsdatei und enthält nur temporäre Authentifizierungs-Token. Sie sollte also zu $XDG_RUNTIME_DIRoder $XDG_CACHE_HOMEstattdessen gehen.

    Wenn Sie X11 verwenden xinitoder startxstarten, können Sie die Xauthority-Datei verschieben, indem Sie auf eine $XAUTHORITYandere Stelle in Ihrem zeigen xinitrcund das Argument dann zu Xorg in Ihrem hinzufügen .-auth newpathxserverrc

    #!/bin/sh exec /usr/bin/Xorg "$@" -nolisten tcp -auth "$XDG_RUNTIME_DIR/Xauthority" 

    GDM speichert die Xauthority-Dateien tief im Inneren /var/run/gdm.

  • ~/.Xdefaultsist veraltet und sollte nicht verwendet werden. Sein Ersatz ist ~/.Xresources.

  • ~/.xdvirc ist mir unbekannt.

  • ~/.xinitrckann verschoben werden, indem der neue Pfad angegeben wird xinit:

    startx ~/.config/X11/xinitrc 
  • ~/.xlog ist mir unbekannt.

  • ~/.Xresourceswird nur von gelesen xrdbund kann verschoben werden, indem Sie xrdbeine andere Datei in Ihrem .xinitrcoder zusammenführen .xprofile:

    xrdb -merge ~/.config/X11/Xresources 
  • ~/.xscreensaver muss wohl bleiben.

  • ~/.xsession-errorswird nur vom GDM-Anzeigemanager erstellt. Die neueste Git-Version von GDM bringt es mit $XDG_RUNTIME_DIR; ansonsten kann es von innen entfernt werden .xprofile. Bei Verwendung xinitwird die Datei xsession-errors überhaupt nicht erstellt.

"~ / .Xauthority" gehört zu "$ XDG_RUNTIME_DIR", nicht zu "$ XDG_CACHE_HOME". Ersteres befindet sich garantiert in einem lokalen Dateisystem (normalerweise unter `/ run / user / $ UID /`). `~ / .Xauthority` unter` $ HOME` zu halten, was ein vernetztes Dateisystem sein kann, ist ein Anachronismus aus den Tagen, bevor alle ssh zum Starten von X11-Clients verwendet haben. Dies verursacht zwei Probleme. Erstens scheitert "sudo xterm" an Wurzelkürbis. Zweitens: Wenn sich $ HOME auf einem kerberisierten NFS-Mount mit abgelaufenem Kerberos-Ticket befindet, kann Ihr Bildschirmsperre Ihren X-Server nicht mehr kontaktieren, um Sie nach Ihrem Kennwort zu fragen, wodurch Sie gesperrt werden. Markus Kuhn vor 7 Jahren 0