【树莓派】串口链接树莓派打开多个终端

你好,你在串口连接树莓派时遇到无法打开多个终端的问题,这非常常见。问题的核心在于串口连接本身是独占式的,一个物理串口在同一时刻只能被一个进程访问

这与使用 SSH 或图形界面打开多个标签/窗口有本质区别。SSH 连接的是网络端口,可以支持多个并发会话。

为什么会出现这个问题?

当你通过串口(如 USB 转 TTL 模块)连接到树莓派时,你电脑上的串口终端软件(如 minicomscreenputty)会独占这个 COM 端口(如 /dev/ttyUSB0 或 COM3)。只要这个软件不释放,其他软件就无法再打开同一个串口。

解决方案:从串口登录后,切换到“虚拟终端”或使用多路复用器

思路是:先用串口登录一次,然后在这个唯一的连接里,创建出可以“分屏”或“多标签”的会话环境。

以下是几种最有效的方法,推荐 方法一 和 方法二


方法一:使用 screen 或 tmux(最推荐、最强大)

这两个是 终端多路复用器,可以在一个终端连接内创建多个“虚拟窗口”。

  1. 首先,用串口正常登录树莓派

  2. 安装多路复用器(如果系统没有预装):

    bash
    sudo apt update
    sudo apt install screen   # 或者 sudo apt install tmux
  3. 启动 screen 或 tmux

    bash
    screen   # 或输入 tmux

    这时你会进入一个新的会话,看起来和普通终端一样。

  4. 使用快捷键来管理多个窗口

    • 对于 screen

      • Ctrl + a 然后按 c :创建一个新窗口

      • Ctrl + a 然后按 n :切换到下一个窗口。

      • Ctrl + a 然后按 p :切换到上一个窗口。

      • Ctrl + a 然后按 " :列出所有窗口,供你选择。

      • Ctrl + a 然后按 d :脱离当前会话(会话在后台继续运行)。

      • 重新连接脱离的会话:screen -r

    • 对于 tmux

      • 前缀键默认是 Ctrl + b

      • Ctrl + b 然后按 c :创建新窗口。

      • Ctrl + b 然后按 n / p :切换窗口。

      • Ctrl + b 然后按 w :从列表选择窗口。

      • Ctrl + b 然后按 d :脱离会话。

      • 重新连接:tmux attach

优点:功能强大,可以保存会话,即使断开串口连接,重新登录后还能恢复工作现场。


方法二:使用 Linux 的虚拟终端(Ctrl+Alt+F1~F6)

如果你的树莓派系统是带桌面环境的(如 Raspberry Pi OS with Desktop),并且连接了显示屏,这个方法很直观。但通过串口,你其实也可以“切换”到这些虚拟终端。

  1. 用串口登录后,你默认处于第一个虚拟终端(比如 tty1)。

  2. 按下 Ctrl + Alt + F2 组合键(在串口终端里,通常需要按 Ctrl + Alt 后再按 F2,或者尝试 Alt + F2)。这会切换到第二个虚拟终端。

  3. 你会看到一个新的登录提示符。输入你的用户名和密码,就打开了第二个独立的登录会话

  4. 要切换回第一个终端,按 Ctrl + Alt + F1。F1 到 F6 通常对应着 tty1 到 tty6

注意:在串口连接下,按键映射有时会有点奇怪,可以多尝试 Alt+F2 或者 Esc+F2 等组合。


方法三:通过串口登录后,再开启 SSH 服务(一劳永逸)

这是最佳长期方案,一旦启用,你就可以放弃串口终端,用更强大的 SSH 客户端(如 MobaXterm, Termius, Tabby)进行多标签连接了。

  1. 通过串口登录树莓派。

  2. 确保 SSH 服务已开启:

    bash
    sudo systemctl enable ssh
    sudo systemctl start ssh
  3. 获取树莓派的 IP 地址:

    bash
    hostname -I
  4. 在你的电脑上,使用任何 SSH 客户端,用树莓派的 IP 地址、用户名和密码进行连接。这样你就可以轻松打开多个终端标签或窗口了。

前提:树莓派必须连接到和你的电脑在同一个局域网上(通过 Wi-Fi 或网线)。


方法四:不切实际的方案(了解即可)

  • 使用 agetty 或 mgetty 配置多个串口登录实例:这需要修改系统配置,让一个物理串口响应多个虚拟登录。配置复杂,且容易出错,不推荐新手尝试。

  • 物理上使用多个串口:给树莓派再接一个 USB 转 TTL 模块,并使用额外的 GPIO 引脚。硬件和软件配置都很麻烦,仅用于特殊调试场景。

总结与直接建议

  1. 首选 screen 或 tmux:这是解决你问题最快、最专业的方法。学会基本操作(创建窗口、切换、脱离)就能极大提升效率。

  2. 如果只是临时需要两个终端:尝试使用 Ctrl + Alt + F1 / F2 切换虚拟终端。

  3. 如果条件允许立即启用 SSH。串口最适合用于初始设置或网络出问题时的“救命通道”,日常开发和使用 SSH 是绝对主流,体验好太多。

操作步骤示例(用 screen

  1. 串口连接,登录树莓派。

  2. 输入 screen 并回车。

  3. 现在,按 Ctrl + a 然后按 c,你就创建了第二个终端窗口。

  4. 按 Ctrl + a 然后按 n 在两个窗口间切换。

  5. 想暂时退出(让程序在后台运行),按 Ctrl + a 然后按 d

  6. 下次登录后,输入 screen -r 恢复之前的会话。

希望这些方法能彻底解决你的问题!

posted @ 2026-01-12 22:40  FBshark  阅读(1)  评论(0)    收藏  举报