web-dev-qa-db-ja.com

Linuxでグラフィカルログインの環境変数を設定するにはどうすればよいですか?

Linuxでのグラフィカルログイン用に任意の環境変数を設定する方法を探しています。ターミナルの起動とターミナル内の環境変数のエクスポートについては触れていません。これらの変数はそのターミナル内にしか存在しないためです。グラフィカルセッションで開始されたすべてのプログラムに適用される環境変数を設定する方法を知りたいです。

言い換えれば、Xorgの~/.bash_loginに相当するものは何ですか?

15

いつでも.profileに入れることができるので、どのログインにも適用する必要があります。

ただし、.bash_loginが存在する場合は問題が発生します。その場合、bashは.profileを読み取りません。

.profileの変数をbashと他のログインの両方に適用する場合は、.bash_loginを使用しないでください。代わりにbash固有の変数を.bashrcに入れてください。

または、.profile.bash_loginを含めます

10
Chris Lercher

私の.profileは環境変数を設定するだけではないので、環境設定タスクを.setenvファイルに分割しました。これはのみ環境を設定します。 DebianでX11の環境を設定するために、自宅に.xsessionrcを追加しました。

. ~/.setenv

.xsessionrcのソースとなるファイルは/etc/X11/Xsession.d/40x11-common_xsessionrcです。

Bashが環境を設定するために使用するファイルを使用しても、私が望むことはできませんでした。確かに、X11でbash Shellを開始した場合、必要な環境が得られます。ただし、デスクトップ環境で必要なソフトウェアを実行できるように、PATHを設定する必要があります。たとえば、通常のパスの外にインストールされたカスタムバージョンのFirefoxをよく使用します。デスクトップ環境で、デフォルトのパスにあるものを使用するのではなく、適切なバージョンを開始する必要があります。これを行うには、デスクトップ環境を開始する前にPATHを設定する必要があります。

4
Louis

Xorg自体にはプログラムが起動しないため、Xorg自体にはありません。使用するディスプレイマネージャー(gdm、xdm、xinit、startxなど)またはセッションマネージャー(gnome-session、KDEなど)を使用します。 、これらはデスクトップセッションプロセスの親であるためです。残念ながら、それらにはさまざまなものがあり、それぞれが異なる起動スクリプト/ドットファイルを持っているため、万能の答えはありません。 (Xのクライアント/サーバーモデルでは、Xサーバーはクライアントと同じマシン上にない場合があり、多くの場合、ユーザーではなくルートとして実行されているため、環境変数などの設定には不適切な場所です。)

0
alanc