Tty

訪問更高的 TTY 和 getty 的角色

  • January 1, 2017

在嘗試理解 TTY 時,我有一些黑暗區域。

  • 在我的系統上,我有/dev/tty[1-63]. 是在udev創造這些字元設備嗎?以及如何訪問它們(例如 tty2 可以使用 Ctrl+Alt+F2 訪問)?/dev/tty40例如,我如何訪問?
  • 據我了解,當我訪問/dev/tty1,agetty被呼叫,然後呼叫login. agetty呼叫之外的真正作用是什麼login

這些是虛擬控制台,在 Linux 中稱為虛擬終端(VT)。有一個硬體控制台(一個螢幕和一個鍵盤),但 Linux 假裝有多個(多達 63 個)。在給定的時間點,單個 VT處於活動狀態;鍵盤輸入被路由到該控制台,螢幕顯示該控制台顯示的內容。

您可以使用該命令chvt在 VT 之間切換(您需要直接訪問目前虛擬控制台,如果遠端登錄或在 X 下執行,您將無法訪問該控制台)。您還可以使用由 X 伺服器載入loadkeys或由 X 伺服器載入的鍵映射設置的鍵綁定。預設情況下,在 X 之外,Alt+切換到控制台編號n,++切換到控制台編號n +12 ;+和+切換到上一個/下一個控制台。F*n*``Alt``Shift``F*n*``Alt``Left``Alt``Right

需要分配一個控制台才能切換到它。您可以使用openvt來分配一個控制台(這需要 root)並deallocvt取消分配一個。

getty程序與虛擬控制台沒有直接關係,特別是它與 VT 分配無關。getty 的作用是準備控制台(設置串口參數,可能會黑屏,顯示歡迎資訊等)並呼叫login,然後等待登錄會話終止並重複。簡單來說,getty的作用就是循環呼叫login

您不必執行 getty 即可使用控制台。例如,您可以在控制台上使用openvt. 您可以使用startx.

引用自:https://unix.stackexchange.com/questions/333895