Gnome 3.22 verwendet standardmäßig Wayland. Gnome auf Wayland liest nicht ~/.profile(oder ~/.bash_profileoder /etc/profile). Siehe https://bugzilla.gnome.org/show_bug.cgi?id=736660 .
Ich habe meine Initialisierungsdateien wie folgt eingerichtet:
.bash_profiletut nichts anderes als quelle.profileund.bashrc.profileSetzt nur Umgebungsvariablen wiePATHundLC_MESSAGES.bashrcLegt einige bash-spezifische Einstellungen sowie Aliase und Umgebungsvariablen für Anwendungen wielessund festgrep.
Der Effekt (vor Wayland) war folgender:
- beim einloggen wurde grafisch
.profilegelesen und umgebungsvariablen wiePATHundLC_MESSAGESgesetzt. wenn ich bash in einem terminalemulator öffne wurde dann.bashrcgelesen. - wenn ich mich unter einem virtuellen terminal anmelde
.bash_profilewurde dann gelesen was wiederum liest.profileund.bashrc. - Wenn ich mich mit ssh anmelde, ähnelt das Verhalten dem des virtuellen Terminals.
In allen Fällen .profileund .bashrcwurden gelesen und meine Umgebung eingerichtet.
Also benutzt Gnome 3.22 Wayland und Wayland liest nicht .profile. Wie kann ich meine Initialisierungsdateien so einrichten, dass ich wieder die oben beschriebenen Auswirkungen habe?
Beachten Sie, dass ich nicht darauf bestehe, dass bestimmte Dateien (wie .profile) gelesen werden. Ich möchte, dass meine Umgebung auf vernünftige Weise eingerichtet wird. Das heißt, ich möchte die bash-spezifischen Einstellungen für die bash-Initialisierungsdateien und andere Einstellungen für andere Initialisierungsdateien beibehalten. Auch möchte ich die Einstellungen nicht über verschiedene Dateien kopieren.
Ich benutze Arch Linux. Antworten für alle Distributionen sind willkommen. Wenn Sie eine Problemumgehung vorschlagen, beschreiben Sie bitte auch die Nebenwirkungen sowie die Vor- und Nachteile.
Update November 2017: Soweit ich weiß, haben die Gnome-Entwickler bestätigt, dass die Benutzer erwarten, dass ihre Login-Shell-Konfigurationsdateien ( .profileund .bash_profileim Falle von Bash) nach dem Login bezogen werden. unabhängig von Text oder grafischer Anmeldung. Mein oben beschriebener Anwendungsfall funktioniert also wieder.
Trotzdem möchten die Gnome-Entwickler nicht mehr eine Login-Shell starten. Es scheint, dass die Richtung, in die sie gehen, darin besteht, environmentd von systemd zu verwenden:
https://in.waw.pl/~zbyszek/blog/environmentd.html
Es scheint, dass es eine Weile dauern wird, bis alle Anmeldemethoden an environmentd angepasst sind.