Linuxでのグラフィカルログイン用に任意の環境変数を設定する方法を探しています。ターミナルの起動とターミナル内の環境変数のエクスポートについては触れていません。これらの変数はそのターミナル内にしか存在しないためです。グラフィカルセッションで開始されたすべてのプログラムに適用される環境変数を設定する方法を知りたいです。
言い換えれば、Xorgの~/.bash_login
に相当するものは何ですか?
いつでも.profile
に入れることができるので、どのログインにも適用する必要があります。
ただし、.bash_login
が存在する場合は問題が発生します。その場合、bashは.profile
を読み取りません。
.profile
の変数をbashと他のログインの両方に適用する場合は、.bash_login
を使用しないでください。代わりにbash固有の変数を.bashrc
に入れてください。
または、.profile
の.bash_login
を含めます
私の.profile
は環境変数を設定するだけではないので、環境設定タスクを.setenv
ファイルに分割しました。これはのみ環境を設定します。 DebianでX11の環境を設定するために、自宅に.xsessionrc
を追加しました。
. ~/.setenv
.xsessionrc
のソースとなるファイルは/etc/X11/Xsession.d/40x11-common_xsessionrc
です。
Bashが環境を設定するために使用するファイルを使用しても、私が望むことはできませんでした。確かに、X11でbash Shellを開始した場合、必要な環境が得られます。ただし、デスクトップ環境で必要なソフトウェアを実行できるように、PATHを設定する必要があります。たとえば、通常のパスの外にインストールされたカスタムバージョンのFirefoxをよく使用します。デスクトップ環境で、デフォルトのパスにあるものを使用するのではなく、適切なバージョンを開始する必要があります。これを行うには、デスクトップ環境を開始する前にPATHを設定する必要があります。
Xorg自体にはプログラムが起動しないため、Xorg自体にはありません。使用するディスプレイマネージャー(gdm、xdm、xinit、startxなど)またはセッションマネージャー(gnome-session、KDEなど)を使用します。 、これらはデスクトップセッションプロセスの親であるためです。残念ながら、それらにはさまざまなものがあり、それぞれが異なる起動スクリプト/ドットファイルを持っているため、万能の答えはありません。 (Xのクライアント/サーバーモデルでは、Xサーバーはクライアントと同じマシン上にない場合があり、多くの場合、ユーザーではなくルートとして実行されているため、環境変数などの設定には不適切な場所です。)