.xinitrc、.xsession、.xsessionrcの違い

.xinitrc、.xsession、.xsessionrcの違い

3つの設定ファイルが見つかりました。

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

最初のものは使用するためのものであり、startx2番目と3番目のものはディスプレイマネージャを使用するときに使用することです。しかし、結局のところ、2つの違いは何ですか?

答え1

~/.xinitrc執行者xinit、通常電話でstartx。プログラムはログイン後に実行されます。まず、テキストコンソールで実行し、次に実行GUIを使用しますstartx。の役割は通常、キーバインディング.xinitrcなどの一部のGUI関連設定を設定することによってセッションのGUI部分を開始することを使用しますxmodmapxkbcompxrdb

~/.xsessionグラフィックモード(in)でログインすると実行されます。ディスプレイマネージャ)とディスプレイマネージャは「カスタム」セッションタイプを呼び出します。 (記録ディスプレイマネージャxdmの場合、.xsessionこれは常に実行されますが、ユーザーにセッションタイプの選択を提供する最新のディスプレイマネージャの場合は、通常実行するには.xsession「custom」を選択する必要があります。)これは、ログイン時にパラメータを設定することです。 (環境変数など)GUIセッションを開始します。.xsession一般的に

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

~/.xsessionrcGUIログイン時にX起動スクリプトによって実行されるDebian(およびUbuntu、Linux Mintなどの派生製品)は、すべてのセッションタイプとすべてのディスプレイマネージャで動作します。startxユーザーにセッションがない場合でも実行されます。.xinitrcこれは、startxGUIログインに使用されるのと同じセッション開始スクリプトが使用されるためです。リソースがロードされた後、プログラム(コアエージェント、D-Busデーモンなど)が起動する前に比較的早く実行されます。通常、以降の起動スクリプトで使用できる変数を設定します。私が知っている限り、正式な文書はなく、何が機能しているかを確認するには、ソースコードを詳しく調べる必要があります。

.xinitrcX11 Windowsシステムの歴史的な機能なので、.xsessionすべてのUnixシステムで同様に機能し、使用できます。一方、.xsessionrcこれはDebianの機能であり、Debianベースではないディストリビューションには同様の機能を実装しない限り、この機能はありません。

.xprofileと非常に似ています.xsessionrc一部のディスプレイマネージャ用のセッション起動スクリプトGDM(GNOME Display Manager)とlightdmが含まれていますが、xdmやkdmなどの他のエントリは含まれていません。

答え2

別の議論によると、~/.xinitrcなしでstartx + ~/.xsessionを使用すると、機能が低下します(xfce4、sid)。

最初:.xsessionrc保有用地球環境変わりやすい。ポイントは私のものです。

第二:40x11-common_xsessionrcin/etc/X11/Xsession.d50x11-common_determine-startup。したがって、.xsessionrc以前に読んだように、.xsessionすべての環境変数セットは、NETのコマンドで実行されているアプリケーションで使用できます.xsession

追加資料:

関連情報