如何在不同的终端中显示命令?

Eup*_*ium 5 shell ssh terminal console raspberry-pi

我有一个带有屏幕的树莓派。它启动到登录提示。我没有键盘,也没有连接鼠标,我想保持这种状态。我继续通过 ssh 从网络登录到它,但想查看我通过 ssh 输入的命令及其在附加屏幕上的输出。这可能吗?

Cel*_*ada 3

我不确定是否存在更“直接”的解决方案,仅涉及重定向输入和输出,但我确实设法使用screen来完成类似的工作。这个想法是在一个会话中完成所有工作screen,并两次附加到该会话,一次来自您的工作 SSH 终端,一次来自附加的显示器。

首先,您需要知道所连接显示器的终端名称。我没有要测试的 rPI,但我假设直接连接的屏幕已映射到常规 Linux 视频控制台,因此它可能会是/dev/tty1.

  1. 确保screen已安装
  2. 使用 SSH 登录
  3. 创建新的屏幕会话

    screen
    
    Run Code Online (Sandbox Code Playgroud)
  4. 从另一个终端附加到同一屏幕会话。

    使用此功能的方式是,您将使用本地键盘登录并键入screen -r -x(用于-r恢复会话和-x多重附加到现有会话),但在这种情况下,您实际上并未登录到从中进行操作的终端。您想要附加到该会话。因此,我们将输入和输出重定向到预期的终端,以“说服”屏幕这是我们想要附加的终端。这很黑客,但对我有用。

    screen -r -x </dev/tty1 >/dev/tty1 2>&1 & disown
    
    Run Code Online (Sandbox Code Playgroud)

如果 rPI 视频控制台的终端名称不是别的名称,您可以通过连接一次键盘并在本地登录并在提示符下/dev/tty1键入来找出它是什么。tty