Terminal
從外部設備打開終端?
我目前正在學習終端、偽終端等,我很好奇 - 今天我們都使用作為 Linux GUI 一部分的 xterm 或 gnome-terminal 等偽終端,而較少使用虛擬控制台是核心的一部分。在這個領域,我幾乎知道事情是如何運作的,什麼時候會發生什麼以及有什麼球員在那裡。如果我想使用模擬舊 TTY(如著名的 VT100)的外部設備登錄我的 Linux 機器怎麼辦。我可以為此使用另一台 linux 機器,或者 Raspberry pi、Arduino 等等。
為了方便起見,我想使用 USB 轉串口轉換器。
這是怎麼做到的?
在主機端,您需要執行一些東西,它會在串列埠上偵聽連接,然後
/bin/login
在協商連接時切換。那東西通常是一個名為 getty 的程序。在螢幕和鍵盤所在的設備上,您需要某種終端仿真器。多年來, Minicom一直是 Linux 上最受歡迎的選擇。
systemd
要允許在現代發行版中使用serial-getty@<device name>.service
.例如,要立即開始接受串列埠中的傳入登錄
/dev/ttyS0
:systemctl start serial-getty@ttyS0.service
要允許在 上持久登錄
/dev/ttyS0
,這樣您就不需要在重新啟動後重新啟用它:systemctl enable serial-getty@ttyS0.service
只要 TTY 設備名稱的名稱保持不變,USB 轉串口轉換器也應如此。
因此,如果您有多個 USB 轉串口轉換器連接到要接受串口登錄的 Linux 系統,您可能需要設置一些 udev 規則以
/dev/ttyUSB*
通過轉換器序列號、USB 指定設備的固定名稱(別名)設備路徑或其他一些持久的唯一標識,並使用這些別名啟動 serial-getty 服務實例。但是,如果您所有的 USB 轉串口轉換器都應該被同等對待,那麼這可能就沒有必要了。