/ etc / X11 / Xsession & LightDM

8

Ich verwende Lubuntu 14.10. Es scheint, dass LighDM /etc/X11/Xsessionnur aufruft , wenn der Benutzer dies anweist . Tatsächlich gibt es im lightdm-sessionWrapper keinen Schatten davon .

  • startxBefehlszeile (Wrapper um xinit für angemessene Standardeinstellungen) verwendet, ~/.xinitrcfalls vorhanden, andernfalls verwendet /etc/X11/xinit/xinitrc.
  • /etc/X11/xinit/xinitrcQuellen /etc/X11/Xsession, die die Ausgabe an umleiten .xsession-errors.
  • /etc/X11/XsessionQuellen, ~/.xsessionrcfalls vorhanden, dann ausgeführt, ~/.xsessionwenn ausführbar, Quellen, wenn nicht.

Was passiert bei Verwendung von lightdm? Wenn es keine Quelle gibt /etc/X11/Xsession, wie könnte es möglicherweise Fehler in die Fehlerdatei umleiten ~/.xsession-errors(ich konnte keine Informationen zu anderen Skripten in finden /etc/X11/Xsession.d/)?

Die Manpage für Xsession-Dokumente ~/.xsessionrcund ~/.xsession. Es heißt, dass dies ~/.xsessionrcnur zum Festlegen von Variablen und ~/.xsessionzum Ausführen von Befehlen dient, aber ~/.xsessionnur dann bezogen wird, wenn ich eine benutzerdefinierte *.desktopDatei dafür erstelle /usr/share/xsessions/. Soll ich eine benutzerdefinierte /etc/X11/Xsession.d/Datei erstellen (wie 40x11-common_xsessionrcfunktioniert ~/.xsessionrc) oder nur ~/.xsessionrczum Hinzufügen von Skripten verwenden?

Außerdem möchte ich wissen, wie x-window-manager und x-session-manager über Alternativen arbeiten. Mir ist aufgefallen, dass sie zu funktionieren scheinen, wenn nein ~/.xinitrcund ~/.xsessionexistieren, und anscheinend funktionieren sie nur, wenn startx ausgeführt wird.

Vielen Dank im Voraus für alle Antworten.

Giuseppe Di Chiacchio
quelle
Ich hätte übrigens noch eine Frage. Ubuntus Mann schlägt vor, eine benutzerdefinierte * .desktop-Datei in / usr / share / xsessions mit der Zeile Exec = / etc / X11 / Xsession zu erstellen, um benutzerdefinierte Einstellungen in ~ / .xsession festzulegen. Das bedeutet, dass nach / usr / sbin / lightdm-session ein weiterer Wrapper ausgeführt wird. In diesem Fall wäre dies / etc / X11 / Xsession. Dies führt dazu, dass alles unter /etc/X11/Xsession.d/ zweimal angewendet wird. Wäre es nicht besser, ein Skript in /etc/X11/Xsession.d/ zu erstellen, um ~ / .xsession zu quellen? Jede Hilfe geschätzt.
Giuseppe Di Chiacchio
Um ~ / .xsession über / usr / sbin / lightdm-session zu verwenden, war es für mich hilfreich, ein neues Skript in /etc/X11/Xsession.d zu erstellen, das ich 45x11-common_xsession nannte. Da alle Variablen im Wrapper gut definiert sind, habe ich nur die folgenden Zeilen hinzugefügt: if [-r "$ USERXSESSION"]; dann . "$ USERXSESSION" fi Auf diese Weise erstellt der Wrapper auch die Datei ~ / .xsession, nachdem er ~ / .xsessionrc bezogen hat. Hoffe das könnte nützlich sein.
Giuseppe Di Chiacchio
Wenn Sie einen Teil Ihrer Frage beantworten können, erstellen Sie einfach selbst eine Antwort, das ist völlig normal. Die Kommentare sind nur vorübergehend und können verloren gehen.
Volker Siegel

Antworten:

0

Dieser Fehler

Fehler # 1001035 "lightdm verwendet einen fest codierten Pfad zu .xsession-Fehlern, ...": Fehler: lightdm-Paket: Ubuntu

gibt an, dass LightDM den Pfad für $HOME/.xsession-errorsfest codiert in seiner Quelle hat. Und das sollte wirklich konfigurierbar sein.

Leider scheinen sich „moderne“ Display-Manager oft nicht /etc/X11mehr um viel zu kümmern und das Rad neu zu erfinden… schlecht.
Wahrscheinlich, weil es ziemlich schwer ist herauszufinden, warum die Dinge so sind, wie sie sind. (Ich habe es versucht. Ich weiß immer noch nicht, warum es so viele Dateien / Skripte gibt und was all ihre Zwecke sind.)

.xsession-errorsZum Beispiel wird SDDM überhaupt nicht verwendet und protokolliert, wenn überhaupt, an einem anderen seltsamen Ort.


Nachtrag

Die zweite Frage sollte wirklich getrennt sein.
Da ich immer noch nicht alles darüber weiß, kann ich nicht anders.
Aber ich denke, ich kann sagen, dass Sie wahrscheinlich keine weitere benutzerdefinierte Sitzungsdatei erstellen sollten.
Vielleicht hilft Ihnen die LightDM-Dokumentation dort ...

Zur dritten Frage: Die Manpage für xinitund die zugehörigen Manpages (aus demselben Softwarepaket) erklären dies. Es gibt eine Liste von Alternativen, einige in $HOME, einige in /etc, einige sogar in /usr/share/…Unterverzeichnissen. Aber ich denke, wenn es keine gibt, wird auch ein Standard angenommen.
Entschuldigung, dies sollte wahrscheinlich auch separat sein. Ich poste nur was ich weiß.

Evi1M4chine
quelle