.xinitrc、.xsession、および.xsessionrcの違い


55

3つの構成ファイルが見つかりました。

  1. .xinitrc
  2. .xsession
  3. .xsessionrc

私は、最初のものは使用するためのものでstartxあり、2番目と3番目はディスプレイマネージャを使用するときに使用されることを知っています。しかし、最後の2つの違いは何ですか?

回答:


64

~/.xinitrcによって実行されxinit、通常はを介して呼び出されますstartx。このプログラムはログイン後に実行されます。最初にテキストコンソールにログインし、次にでGUIを起動しstartxます。の役割は.xinitrc、通常、キーバインディング(with xmodmapまたはxkbcomp)、Xリソース(with xrdb)などのGUI関連設定を設定することにより、セッションのGUI部分を開始し、セッションマネージャーまたはウィンドウマネージャーを起動することです(おそらくデスクトップ環境の一部として)。

~/.xsessionグラフィカルモード(ディスプレイマネージャ上)でログインし、ディスプレイマネージャが「カスタム」セッションタイプを呼び出したときに実行されます。(xdmヒストリカルディスプレイマネージャーで.xsessionは常に実行されますが、ユーザーにセッションタイプの選択を提供する最新のディスプレイマネージャーでは、通常「カスタム」を選択し.xsessionて実行する必要があります。)その役割は、ログイン時パラメーターを設定することです。 (環境変数など)およびGUIセッションを開始します。典型的なの.xsession

#!/bin/sh
. ~/.profile
. ~/.xinitrc

~/.xsessionrcDebian(およびUbuntu、Linux Mintなどの派生物)で、GUIログインのX起動スクリプトによって、すべてのセッションタイプおよびすべてのディスプレイマネージャーから実行されます。startxユーザーがを持たない場合も実行されます。.xinitrcその場合startx、GUIログインに使用される同じセッションスタートアップスクリプトにフォールバックするためです。リソースをロードした後、キーエージェント、D-Busデーモンなどのプログラムを起動する前に、比較的早期に実行されます。通常、後の起動スクリプトで使用できる変数を設定します。私が知っている公式のドキュメントはありません。ソースを掘り下げて、何が機能するかを確認する必要があります。

.xinitrcおよび.xsessionは、X11 Windowシステムの歴史的な機能であるため、すべてのUnixシステムで利用可能であり、同様の動作をする必要があります。一方、.xsessionrcDebianの機能であり、Debianに基づいていないディストリビューションは、同様のものを実装していない限り、Debianにはありません。

.xprofileはに非常に似て.xsessionrcいますが、GDM(GNOMEディスプレイマネージャ)のセッションスタートアップスクリプトの一部であるため、GDMでログインした場合にのみ読み取られます。


5

別の議論によると、startx +〜/ .xsessionがあり、〜/ .xinitrcがない場合、機能が低下します(xfce4、sid)

まず.xsessionrcグローバル環境変数を保持するためのものです。重点は私のものです。

第二に:40x11-common_xsessionrcin /etc/X11/Xsession.dはの前に取得され50x11-common_determine-startupます。その.xsessionrcため、前に読み取られ .xsession、環境変数セットはのコマンドで実行されるアプリケーションで使用可能になります.xsession

参考文献:

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.