通過串口發送linux控制台
我想要做的是將我的 PC 連接到我的終端 DEC vt320 並能夠將 Linux 控制台輸出到它,並且我能夠在終端中輸入命令並讓它在螢幕上發送回复。我想從 telnet 連接到東西,但我不知道如何通過串列連接。我的串列連接是 /dev/ttyS0
看起來 Mint 19.3 使用
systemd
,所以除非 Mint 修改了systemd
父發行版(Ubuntu 和最終 Debian)的配置,否則以下命令應該可以完成這項工作。要立即啟動串列埠以進行終端式登錄訪問:
sudo systemctl start serial-getty@ttyS0
要使配置在重新啟動後保持不變:
sudo systemctl enable serial-getty@ttyS0
執行這些命令中的第一個後,終端上應出現登錄提示。如果沒有,請在終端上按 Enter 鍵一次或兩次:它有助於檢測終端執行的數據傳輸速度。
(串列埠速度有時也稱為波特率,儘管該術語僅適用於調製解調器連接和涉及數模調製的類似連接,而不適用於普通的數字數據傳輸。)
串列連接終端的預設
systemd
配置包括串列埠速度自動檢測,速度為每秒 115200、38400 和 9600 位。您可以使用命令確認這一點systemctl cat serial-getty@ttyS0
。它將為該串列埠輸出自動生成的單元文件。除其他外,它應該包含啟動將管理終端的實際程序的這一行:ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,38400,9600 %I $TERM
如果自動串列埠速度檢測對您不起作用,或者如果您想指定一個未包含在預設列表中的速度值,您可能需要為此 systemd 服務創建一個覆蓋文件:
sudo systemctl edit serial-getty@ttyS0.service
此命令將創建文件(如有必要)並在編輯器中為您打開它。
例如,要將串列埠速度檢測鎖定為 57600 bps,您可以將以下三行寫入覆蓋文件:
[Service] ExecStart= ExecStart=-/sbin/agetty -o '-p -- \\u' 57600 %I $TERM
第一行指定我們要覆蓋
[Service]
自動生成的服務文件部分中的內容,第二行指定我們要覆蓋其ExecStart
行而不只是添加另一個,第三行是ExecStart
具有所需埠速度的新行和/或agetty
管理終端的程序的其他選項。在 Unix 世界中,此類程序的傳統名稱是.Linux 通常使用它的
getty
增強(替代/ utobauding)版本作為串列埠:.agetty