ログイン時に X を起動

提供: ArchWiki
2014年2月12日 (水) 17:10時点におけるKusakata (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

関連記事

この記事では仮想端末にログインした後、自動的に X サーバーを起動させる方法を説明しています。startx コマンドを実行することでこれを行い、startx の挙動は xinitrc の記事に書かれているようにしてカスタマイズできます。例えば、起動するウィンドウマネージャを選ぶことができます。また、ディスプレイマネージャを使って自動的に X を起動し、グラフィカルなログイン画面を表示することも可能です。

シェルプロファイル

ノート: ログインセッションを管理するために、ここでは X を login に使われるのと同じ tty で実行します。
  • Bash では、以下を ~/.bash_profile の最後に加えます。ファイルが存在しない場合、/etc/skel/.bash_profile から空の設定をコピーしてください。
  • Zsh では、以下を ~/.zprofile に加えます。
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
ノート:
  • 複数の仮想端末からグラフィカルログインをしたい場合は -eq 1-le 3 (for vt1 to vt3) などに置き換えることができます。
  • X はログインと同じ tty 上で実行しなくてはなりません、logind セッションを維持するためです。これはデフォルトの /etc/X11/xinit/xserverrc の挙動です。
  • Fish では、以下を ~/.config/fish/config.fish の最後に加えます。
# start X at login
if status --is-login
    if test -z "$DISPLAY" -a $XDG_VTNR = 1
        exec startx
    end
end

Tips and tricks

  • このメソッドは仮想コンソールの自動ログインと一緒に使うことができます。その時は、~/.xinitrc が読み込まれて pulseaudio が実行される前に dbus が起動するように自動ログインの systemd サービスに適切な依存を設定する必要があります (参照: BBS#155416)。
  • X セッションが終了してもログイン状態を維持したい場合、exec を削除してください。
  • X セッションの出力をファイルに書き込むには alias を使って下さい:
alias startx='startx &> ~/.xlog'