Linux

什麼應用程序管理控制台

  • February 21, 2020

使用Alt+Fn您可以在大多數 Linux 發行版中的虛擬控制台之間切換。什麼應用程序處理控制台的切換以及如何處理?我想它必須在所有其他程序之前讀取鍵盤輸入。還是由設備驅動程序或其他核心模組處理?

Linux核心中內置了一個終端仿真器程序。它不會表現為具有打開文件句柄的正在執行的程序。它位於幀緩衝區和輸入事件子系統之上,它使用內部核心介面進行訪問。它以一系列核心虛擬終端設備的形式呈現給應用程序模式系統,/dev/tty1等等,/sys顯示活動 KVT 編號的偽文件,以及一系列 CGA 樣式的影片緩衝設備/dev/vcsa1等等。

通常,辨識⎇ Alt+鍵和弦的是核心終端仿真器。這一切都完全在核心模式程式碼中完成。(您可以使用核心建構選項建構沒有此程式碼的核心。)F*N*``CONFIG_VT

但是,應用軟體可以禁用此功能。例如,Xorg 伺服器會這樣做。當它在螢幕上處於活動狀態時,它會暫時關閉或斷開大部分核心終端仿真器,辨識自己的鍵和弦 ( ⎈ Control++ ⎇ Alt) ,並使用系統呼叫在程序控制下切換活動的 KVT。實際上,Xorg 伺服器使用 KVT 切換作為協商對幀緩衝區的獨占訪問以及它與核心內置終端仿真器共享的 HID 的一種手段。F*N*``ioctl()

進一步閱讀

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