如何在 FreeBSD 服务器上使用串行终端?

如何在 FreeBSD 服务器上使用串行终端?

我一直在尝试使用 RS-232 零调制解调器电缆,并且很想知道如何允许 FreeBSD 使用串行端口作为终端,就像在 PDP-11 时代,所有用户都有连接到计算机的哑终端通过串行连接。我希望对一台无头 FreeBSD 机器执行同样的操作,该机器通过串行电缆运行到我的主 PC,该 PC 使用 PuTTY 通过串行端口进行通信。在你问为什么我不使用 SSH 来达到同样的目的之前,我更喜欢这种类型的连接,因为如果网络出现故障,我仍然能够登录到服务器并查看究竟发生了什么,而如果网络出现故障,我仍然可以登录服务器并查看到底发生了什么,而如果SSH 发生的情况我会很不走运,如果这有任何意义的话。我见过其他类似的问题,其答案指向screen和 ,minicom但这些似乎是为了履行 PuTTY 在 BSD 方面的角色,这不是我想要的。我想要的是一个以特定波特率配置并getty在其上运行的串行端口,等等,就像它是一个实际的终端一样。

为了回答我正在运行什么版本的问题init,我使用的是 FreeBSD 10.3,并且我没有在系统级别进行任何更改,因此它运行init使用 rc 脚本的默认 BSD 风格。

答案1

查看 /etc/ttys 文件。它有点像 Linux 中的 gettytab。每条...终端线都有一根线。 “ttyuX”用于串行端口(不同的驱动程序有不同的设备名称,请参阅手册页,例如 man uart 对于物理串行端口。

要启用它们,您需要做的是将“off”(或“onifconsole”)更改为“on”,并通过以 root 身份运行“init q”来通知 init。

请记住,与 SSH 或 TELNET 等协议不同,串行端口没有协商终端类型和大小的协议。因此,至少运行 resizewin(1) (http://man.freebsd.org/resizewin) 来自 shell 初始化脚本。否则,默认终端大小(如“stty -a”中所示)将为零,这将导致 shell 行编辑、less(1) 或 vi(1) 输出等内容严重混乱。

相关内容