環境変数XDG_VTNRとは何ですか?

環境変数XDG_VTNRとは何ですか?

私が見つけたほとんどすべてのページは説明なしでログインした後、Xorgを自動的に起動します。たとえば、次のようになります~/.bash_profile

if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
  exec xinit
fi

$XDG_VTNR現在、TTY番号を取得する変数であると考えましたが、tty同じ目的を果たすコマンドがすでに呼び出されています。

私の質問:

  1. 何ですか$XDG_VTNR?いつ、どこで設定しますか?
  2. この変数の公式文書はどこにありますか?
  3. tty組み込みコマンドであり、$XDG_VTNRXorgが提供するのに、なぜ人々は組み込み$XDG_VTNRコマンドの代わりにそれを使用することを選択しますかtty

ベストアンサー1

何ですか$XDG_VTNR?いつ、どこで設定しますか?

これはPAMモジュールによって設定され、pam_systemdsystemdを使用するマシンにのみ設定されます。いいえsystemdに依存したくない場合は、スクリプトでそれに依存してください。

systemdを使用するシステムでは、$XDG_VTNRグラフィックモード(経由など)とテキストモードセッション(経由)で設定が行われます。lightdmgdm/bin/login

この変数の公式文書はどこにありますか?

内部にpam_systemd(8)マンページ。

tty組み込みコマンドであり、$XDG_VTNRXorgが提供するのに、なぜ人々は組み込み$XDG_VTNRコマンドの代わりにそれを使用することを選択しますかtty

1)tty組み込みプログラムではなくスタンドアロンプ​​ログラムであり、$XDG_VTNRXorgでは提供していません。

2)それらはまったく異なるものであるからです。マニュアルページにはっきりと示されているように、tty(1)GUIセッションの名前や実行中の仮想端末の名前ではなく、標準入力に接続されている端末の名前が表示されます[1]。考えてみてください:

$ script -q /dev/null
$ tty
/dev/pts/5
$ script -q /dev/null
$ tty
/dev/pts/6
$ tty </dev/zero
not a tty

[1] これXDG_VTNRも信頼できる指標ではありません。

おすすめ記事