Wie wird die Shell-Umgebung geladen, wenn Sie sich grafisch anmelden?

7

Ich habe festgestellt, dass beim grafischen Anmelden der Shell-Ladevorgang anders funktioniert als beim Anmelden über die Konsole. Umgebungsvariablen wie $BASH_VERSIONund $ZSH_VERSIONwerden beim grafischen Anmelden nicht festgelegt, und ein Skript, das speziell für bash und zsh geschrieben wurde und das ich beim Anmelden verwendet habe, führt dazu, dass der Anmeldevorgang neu gestartet wird und ich zur Anmeldeaufforderung zurückkehre (wodurch ich mich nicht mehr anmelden kann) Wenn dieses Skript vorhanden ist, funktioniert das gleiche Setup jedoch einwandfrei, wenn Sie sich über die Konsole anmelden.

In diesem Chruby-Thread auf Github spreche ich über den Fall, in dem das Problem auftritt . Funktioniert der Shell-Ladevorgang ordnungsgemäß, wenn Sie sich grafisch anmelden, und wenn ja, gibt es eine Dokumentation zur Funktionsweise (und wenn ja, wo finde ich ihn)? Wie soll ich das machen?

Kennzeichen
quelle
Robert Ancell öffnete meine Frage erneut auf Launchpad und veröffentlichte eine Antwort auf answers.launchpad.net/lightdm/+question/219654 , die einige davon klarstellt. Ich habe ihn um weitere Informationen gebeten.
Mark

Antworten:

1

Wenn Sie eine X11-Sitzung starten, werden die ~/.profileund ähnliche Dateien nicht bezogen.

Wenn Sie dies erzwingen möchten, erstellen Sie eine Datei /etc/X11/Xsession.d/95-enforce-profilemit dem folgenden Inhalt:

    # This file is sourced by Xsession(5), not executed.
    # source user profile
    if test -e ~/.bash_profile
    then
        . ~/.bash_profile
    else
        [ -e ~/.profile ] && . ~/.profile
    fi
H.-Dirk Schmitt
quelle
Entschuldigung, dass Sie nicht früher geantwortet haben. Ich habe Ihre Benachrichtigung nicht früher gesehen. Ich glaube nicht, dass dies funktionieren würde, da das Skript, das ich habe, nicht mit dash kompatibel ist (das ist die Shell, die diese Skripte auszuführen scheint)
Mark