Linux

TTY = ?, 如何讀取輸入

  • December 8, 2020

當列出正在執行的程序時,我可以看到“chrome”、“notepad”、“intellij”、“sublime editor”等幾個程序都有“tty =?”

  1. 那麼他們如何能夠從鍵盤讀取輸入呢?
  2. TTY 是否總是與終端/cli 相關?

XWindows 應用程序從 X Server 接收鍵盤和滑鼠輸入,並通過 X Server 顯示內容。這些應用程序具有控制終端(tty 列)是不常見的,除非它們是從具有控制終端的命令行啟動的。

實際上只有少數 XWindows 應用程序需要控制終端或輸入或輸出重定向。其中有xclip, xev, xprop, xwininfo, xkill, xlsfonts,xlsclientsxlsatoms。其中,只有一個顯示視窗,三個可以臨時更改游標。

實際上,XWindows 應用程序託管 tty 更為常見。 xterm並且每個其他終端應用程序都為 shell 或在其“內部”執行的其他程序提供 tty。

最後,請注意 X 伺服器本身通常(至少在 Linux 中)有一個與之關聯的終端。這更多是為了讓它更適合虛擬控制台而不是其他任何東西,但它確實允許鍵盤和滑鼠在 X 伺服器和其他虛擬控制台之間切換。

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