当前位置: 首页 > 科技观察

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

时间:2023-03-18 22:44:49 科技观察

串行端口连接允许用户在没有监视器的情况下控制系统。下面介绍如何在Linux中访问和使用串行控制台。处理嵌入式Linux项目时的基本要素之一是通过串行控制台接口访问您的设备。为此,您在其上开发嵌入式系统的计算机必须具有串行端口。然而,现在很少有电脑有串口,这就是我们使用USB转串口转换器的原因。最后,您将详细了解什么是串行控制台以及它们在Linux上的工作方式。设置USB转串口转换器Linux可以自动识别市场上几乎所有的USB串口转换器。将任何USB加密狗插入您的计算机并使用dmesg命令找出设备的文件名。dmesg在上面的例子中,你可以在制造商部分看到VirtualBox,因为主机是运行在VirtualBox上的Linux发行版。在这里,制造商名称将根据您使用的转换器而改变。您还可以看到您正在使用的串行转换器已连接到系统,名称为ttyUSB0。你可以通过设备文件/dev/ttyUSB0使用系统识别的串口转换器。根据您使用的发行版,设备文件会自动在/dev目录下创建,显示主要、次要和设备类型。对于USB串行转换器,每个SI的命名方案通常是ttyUSB0、ttyUSB1和ttyUSBX。如果您在应用程序正在使用USB串口转换器时移除并重新插入它,系统将向设备发出一个新编号。串口设备访问权限挂载的USB转换器设备文件默认访问权限通常为:ls-l/dev/ttyUSB0#outputcrw-rw----1rootdialout188,46Jul1715:34/dev/ttyUSB0查看上面的输出可以知道:行首的字母c表示这是一个基于字符的设备。文件的拥有者是root用户,这个用户有读写权限。该用户还具有读写权限。其余用户对该文件没有任何读取或写入权限。如果您当前以非拨出组成员的普通用户身份登录,则无法读取和写入USB串行转换器。要解决此问题,您必须使当前用户成为拨出组的成员或编辑系统上的udev规则文件。为方便起见,您可以使用第一种技术。首先,使用id命令确定您的用户属于哪个组:id使用adduser或usermod命令将您的用户添加到组中:#forFedorasudousermod-aGdialoutUSERNAME#forDebiansudoadduserUSERNAMEdialout#forArchsudousermod-a-GuucpUSERNAME组成员资格程序现已完成。但是,组成员信息在图形会话的第一个登录步骤中被检查,然后可供所有正在运行的进程使用。因此,您必须注销当前图形会话,然后重新登录或重新启动计算机才能使更改生效。完成后,您将拥有对串行转换器设备的读/写访问权限。如何在Linux上连接到串行控制台当您需要访问计算机或网络控制台时,您可以参考串行控制台应用程序。通常,您需要SSH访问权限才能执行此操作。但是,从软件和硬件的角度来看,在某些情况下也可以仅使用串口访问控制台。您会在旧计算机上最常见到这些类型的示例。这里有一些最适合您的串行控制台应用程序。使用Minicom,您可以在您的系统上安装Minicom,这是一个旧的但仍在运行的应用程序,如下所示:#在Fedora、CentOS和RHEL上sudoyuminstallminicom#在Debian和Ubuntu上sudoapt-getinstallminicom#sudosnapinstallminicom在ArchLinux上当您第一次启动该应用程序时,它会默认尝试打开一个设备文件,例如/dev/modem。它在找不到文件时终止。为了克服这个问题,您可以使用-s参数直接启动应用程序的设置屏幕:minicom-sA键设置设备名称,E键设置串口速度。然后用Exit退出的时候,就可以使用对应的串口了。从应用程序主屏幕,您可以使用Ctrl+A+O返回配置屏幕,使用Ctrl+A+X退出应用程序,使用Ctrl+A+W激活环绕模式,并使用其他快捷键Ctrl+A+Z获取帮助.使用GTKTermMinicom通常由高级Linux用户使用,因此不建议初学者使用。Linux新手可以安装GTKTerm,这是一个适用于Linux的图形串行终端仿真器。您可以使用以下命令在您的系统上安装应用程序:#在Fedora、CentOS和RHEL上sudodnf-yinstallgtkterm#在Debian和Ubuntu上sudoapt-getinstallgtkterm#在ArchLinux上yay-Sgtkterm启动应用程序,你必须通过Configuration>Port菜单设置设备名称和速度参数,如下所示:将设置保存为默认值以备后用。使用screen如果熟悉多终端管理的screen,就会知道串口访问也可以使用screen。以下是安装它的命令:#在Fedora、CentOS和RHEL上sudodnf-yinstallscreen#在Debian、Ubuntu和LinuxMint上sudoapt-get-yinstallscreen#其他发行版使用Snap安装sudosnapinstallscreen--经典安装完成后,您可以运行以下命令连接到串口控制台:screen/dev/ttyUSB0115500现在您可以在Linux上建立串口连接能够使用串口访问您的Linux系统是非常有用的功能,特别是如果您不想将显示器连接到SBC(会话边界控制器)。由于串行控制台授权是在编译时内置到Linux内核中的,因此您应该至少对Linux内核及其工作原理有一个基本的了解。