質問: waylandでgnomeの環境変数を設定し、仮想端末(またはssh)でbashを設定する gnome 3.22はデフォルトでウェイランドを使用します。ウェイランドのgnomeは~/.profile(または~/.bash_profileまたは/etc/profile)を読み取りません。 https://bugzilla.gnome.org/show_bug.cgi?id=73666 を参照してください。初期化ファイルを次のように設定しています。 .bash_profileは、ソース.profileおよび.bashrcのみを実行します .profileは、pathやlc_messagesのような環境変数のみを設定します .bashrcは、lessやgrepなどのアプリケーションに対して、bash固有の設定とエイリアス、および環境変数を設定します。 効果(ウェイランドの前)は次のとおりです。 グラフィカルにログインすると、.profileが読み取られ、pathやlc_messagesなどの環境変数が設定されました。端末エミュレーター内でbashを開くと、.bashrcが読み取られました。 仮想端末でログインすると、.bash_profileが読み取られ、.profileと.bashrcが読み取られます。 sshを使用してログインしたときの動作は、仮想端末に似ています。 すべての場合において、.profileおよび.bashrcが読み取られ、環境がセットアップされました。そのため、gnome 3.22はwaylandを使用し、waylandは.profileを読み取りません。上記のような効果が得られるように、初期化ファイルを設定するにはどうすればよいですか?特定のファイル(.profileなど)が読み取られることを要求しないことに注意してください。私が望むのは、自分の環境を賢明な方法で設定してもらうことです。つまり、bash固有の設定をbash初期化ファイルに、その他の設定を他の初期化ファイルに保持したいということです。また、設定を別のファイルにコピーしないようにします。arch linuxを使用しています。すべてのディストリビューションの回答を歓迎します。回避策を提案するときは、副作用とその長所と短所も説明してください。2017年11月の更新:私が理解している限り、gnome開発者は、ログイン後にシェルの構成ファイル(.profileおよび.bash_profile)がログイン後に提供されることを期待していることを認めています。テキストまたはグラフィカルログインに関係なく。上記で概説した私のユースケースは再び機能します。それでも、gnome開発者はログインシェルの開始から離れたいと考えています。 systemdからenvironmentdを使用する方向に進んでいるようです: https://in.waw.pl/~zbyszek/blog/environmentd.html すべてのログイン方法が環境に適応するまでには時間がかかるようです。
回答: systemdバージョン233(2017年3月)は、~/.config/environment.d/*.confに環境変数を設定するためのサポートを追加しました。 the environment.d man page および この予備的なpr および この最後のpr の機能につながった議論を参照してください。