如何在 Linux 中连接到串行控制台如何在 Linux 中连接到串行控制台如何在 Linux 中连接到串行控制台如何在 Linux 中连接到串行控制台
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Linux 中连接到串行控制台

发表 admin at 2025年2月28日
类别
  • 未分类
标签

串行端口连接允许用户在没有显示器的情况下控制系统。以下是如何在 Linux 中访问和使用串行控制台。

处理嵌入式 Linux 项目时不可或缺的元素之一是通过串行控制台接口访问您的设备。为此,您正在开发嵌入式系统的计算机必须具有串行端口。然而,如今很少有计算机具有串行端口,这就是我们使用 USB 转串行转换器的原因。

最后,您将详细了解什么是串行控制台以及它们如何在 Linux 上工作。

设置 USB 转串口转换器

Linux 可以自动识别市场上几乎所有 USB 串行转换器。将任何 USB 转换器插入计算机并使用 dmesg 命令查找设备的文件名。

dmesg

在上面的示例中,您可以在制造商部分看到 VirtualBox,因为主机是在 VirtualBox 上运行的 Linux 发行版。此处,制造商名称将根据您使用的转换器而变化。您还可以看到您正在使用的串行转换器已连接到系统,并带有一个名称,例如 ttyUSB0。

您可以通过设备文件/dev/ttyUSB0使用系统识别的串行转换器。根据您使用的发行版,设备文件会自动在 /dev 目录下创建,显示主要、次要和设备类型。对于 USB 串行转换器,每个同步转换的命名方案通常为 ttyUSB0、ttyUSB1 和 ttyUSBX。

如果您在应用程序正在使用 USB 串行转换器时拔下并重新插入该转换器,系统会向该设备发出一个新编号。

串行设备的访问授权

挂载的USB转换器设备文件的默认访问权限通常如下:

ls -l /dev/ttyUSB0

# Output
crw-rw---- 1 root dialout 188, 46 Jul 17 15:34 /dev/ttyUSB0

通过检查上面的输出,您可以看出:

  • 行首的字母 c 表示这是基于字符的设备

  • 文件所有者为root用户,该用户具有读写权限

  • 该文件的组所有者是dialout组,该组中的用户也具有读写权限

  • 其余用户对该文件没有任何读写权限

如果您当前以非拨出组成员的普通用户身份登录,则无法读取和写入 USB 串行转换器。要解决此问题,您必须使当前用户成为 dialout 组的成员,或者编辑系统上的 udev 规则文件。

为了方便起见,您可以使用第一种技术。首先,使用 id 命令确定您的用户属于哪些组:

id

使用 adduser 或 usermod 命令将您的用户添加到组中:

# For Fedora
sudo usermod -aG dialout USERNAME

# For Debian
sudo adduser USERNAME dialout

# For Arch
sudo usermod -a -G uucp USERNAME

团体成员资格程序现已完成。但是,系统会在图形会话中的第一个登录步骤期间检查组成员身份信息,然后将其提供给所有正在运行的进程。

因此,您必须注销当前图形会话,然后重新登录或重新启动计算机才能使修改生效。完成此操作后,您将具有对串行转换器设备的读/写访问权限。

如何连接到 Linux 上的串行控制台

当您需要访问计算机或网络控制台时,可以参考串行控制台应用程序。通常,您需要通过 SSH 进行访问才能执行此操作。不过,从软件和硬件的角度来看,在某些情况下,仅使用串口访问控制台也是可以的。

您最常在较旧的计算机上找到这些类型的示例。以下是一些最适合您的串行控制台应用程序。

使用Minicom

您可以在您的系统上安装 Minicom,这是一个旧的但仍在运行的应用程序,如下所示:

# On Fedora, CentOS, and RHEL
sudo yum install minicom

# On Debian and Ubuntu
sudo apt-get install minicom

# On Arch Linux
sudo snap install minicom

当您第一次启动该应用程序时,它会默认尝试打开一个设备文件,例如/dev/modem。当找不到文件时它终止。要解决这个问题,您可以使用 -s 参数直接启动应用程序的设置屏幕:

minicom -s

您可以通过按A键设置设备名称,通过按E键设置串口速度。然后当你按Exit退出时,就可以使用相应的串口了。

在应用程序主屏幕上,您可以使用 Ctrl + A + O 返回配置屏幕,使用 Ctrl + A + X 退出应用程序,激活换行模式使用Ctrl + A + W,并使用Ctrl + A + Z获取其他快捷键的帮助。

使用 GTK 术语

Minicom 通常由高级 Linux 用户使用,因此不建议初学者使用。 Linux 新手可以安装 GTKTerm,这是一个 Linux 图形串行终端模拟器。您可以使用以下命令在系统上安装该应用程序:

# On Fedora, CentOS, and RHEL
sudo dnf -y install gtkterm

# On Debian and Ubuntu
sudo apt-get install gtkterm

# On Arch Linux
yay -S gtkterm

当您启动应用程序时,您必须通过配置>端口菜单设置设备名称和速度参数,如下所示:

将设置保存为默认值,方便以后使用。

使用屏幕

如果您熟悉用于多终端管理的 screen,您就会知道您也可以使用它来进行串行端口访问。以下是安装它的命令:

# On Fedora, CentOS, and RHEL
sudo dnf -y install screen 

# On Debian, Ubuntu, and Linux Mint
sudo apt-get -y install screen

# Use Snap for other distributions
sudo snap install screen --classic

安装后,您可以运行如下命令来连接到串行控制台:

screen /dev/ttyUSB0 115500

现在您可以在 Linux 上建立串行端口连接

能够使用串行端口访问 Linux 系统是一项非常有用的功能,特别是当您不想将监视器连接到 SBC(会话边界控制器)时。

由于串行控制台授权在编译时已内置于 Linux 内核中,因此您至少应该对 Linux 内核及其工作原理有一个基本的了解。

©2015-2025 Norria support@norria.com