web-dev-qa-db-ja.com

「.xsession」とは何ですか?

ホームフォルダーの.xsessionファイルの目的は何ですか?そこには何を入れるべきですか?デスクトップ環境はそのファイルを使用せず、ttyからのXスタートアップには.xinitrcがあります。

62

テキストモードでログインした場合、GUIセッションを xinit またはラッパースクリプトstartxで開始すると、xinitは次のことを行います。

  • Xサーバーを起動します(通常、スクリプト/etc/X11/xinit/xserverrcを使用)。
  • 通常、設定に応じて、/etc/X11(通常は/etc/X11/xinit/xinitrc)でいくつかのスクリプトを実行します。
  • 存在する場合、~/.xinitrcを実行します。存在しない場合は、デフォルトのクライアントを実行します(従来はxterm)。
  • ~/.xinitrcが終了したら、Xサーバーを強制終了します。

Xディスプレイマネージャー (xdm、gdm、kdm、wdm、lightdm、…)でグラフィカルモードでログインする場合、従来、ログイン後に実行されるのは、/etc/X11、次に~/.xsessionのスクリプトです。

~/.xsessionには、~/.profile~/.xinitrcを組み合わせた役割があります。セッションの初期起動を実行し(環境変数を定義するなど)、GUIに固有のプログラム(通常は少なくともウィンドウマネージャー)を起動します。

現在、ほとんどのXディスプレイマネージャーでは、セッションを選択できます。特定のセッションを選択すると、特定のデスクトップ環境、セッションマネージャー、ウィンドウマネージャーが起動します。次に実行されるのは、そのDE/SM/WMと、読み取りを選択した構成ファイルに基づいて起動することを選択したプログラムのみです。多くの環境は、従来の~/.xsessionを読み取る「カスタムセッション」を提供します。

最近のXセッションの起動は複雑になる可能性があります。開始するのに適した場所は、スクリプト/etc/X11/Xsessionで、実行方法を確認できます。

私のDebian/Ubuntuシステムでは、スクリプト/etc/X11/Xsessionが変数USERXSESSION=$HOME/.xsessionを設定します。その後、スクリプト/etc/X11/Xsession.d/50x11-common_determine-startupはこのスクリプトを探し、/etc/X11/Xsession.optionsのシステムポリシーで許可されていて、他のセッションがディスプレイマネージャから要求されていない場合は、このスクリプトをプライマリセッションとして使用します。

15
Jim Paris

本を読むことを強くお勧めしますX Windowシステム管理者ガイド:Xバージョン11。第2章では、.xsessionの目的とサンプル設定の構成プロセス全体について説明します。また、x-windowに関連するすべての用語を説明します(そして、不気味にならないことを願っています:))。あなたは本を手に入れることができます

http://archive.org/details/xwindowsystemadm08muimiss

それはかなり古くなっていますが、今日まで変更されなかった根本的な概念の多くの情報を見つけることができ、それは非常に読みやすいです。さらに、当時一流であったものを見てみるのは本当に面白いです。

8
user1146332

.xsessionは、X11環境の従来のstartscriptです。現在、kdmのようなセッションマネージャーを使用することは、それほど多くの用途ではありませんが、従来のセットアップシステムでは使用されています。これは、startxでX11を起動した後に実行されるものです。

7
Nikodemus RIP