Linux
什麼是環境變數 XDG_VTNR?
幾乎我發現的每個頁面都將在登錄後自動啟動 Xorg 而沒有解釋,
~/.bash_profile
例如:if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then exec xinit fi
我想
$XDG_VTNR
可能是獲取目前 TTY 號碼的變數,但是,已經有一個名為 的命令tty
,它可以達到相同的目的。我的問題:
- 是什麼
$XDG_VTNR
?它是在何時何地設置的?- 我在哪裡可以找到有關此變數的官方文件?
tty
是 Xorg 提供的內置命令$XDG_VTNR
,為什麼人們選擇使用$XDG_VTNR
而不是 built-intty
?
是什麼
$XDG_VTNR
?它是在何時何地設置的?它由
pam_systemd
PAM 模組設置,並且僅在使用 systemd 的機器上設置,這意味著您不應在腳本中依賴它,除非您想讓它們依賴於 systemd。在使用 systemd 的系統上,
$XDG_VTNR
將在圖形(bylightdm
、gdm
等)和文本模式會話(by/bin/login
)中設置。我在哪裡可以找到有關此變數的官方文件?
在
pam_systemd(8)
手冊頁中。
tty
是 Xorg 提供的內置命令$XDG_VTNR
,為什麼人們選擇使用$XDG_VTNR
而不是 built-intty
?1)
tty
是一個獨立的程序,不是內置的,並且$XDG_VTNR
不是由 Xorg 提供的。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
也不是一個可靠的指標。