我目前正在学习终端、伪终端等,我很好奇 - 今天我们都使用作为 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
:要允许在 上持久登录
/dev/ttyS0
,这样您就不需要在重新启动后重新启用它:只要 TTY 设备名称的名称保持不变,USB 转串口转换器也应如此。
因此,如果您有多个 USB 转串口转换器连接到要接受串口登录的 Linux 系统,您可能需要设置一些 udev 规则以
/dev/ttyUSB*
通过转换器序列号、USB 指定设备的固定名称(别名)设备路径或其他一些持久的唯一标识,并使用这些别名启动 serial-getty 服务实例。但是,如果您所有的 USB 转串口转换器都应该被同等对待,那么这可能就没有必要了。