我有一个通过 hdmi 连接到我的电视的 pi。它设置为在启动时自动登录到控制台(不是 x-windows)。为了在我的电视上控制屏幕的输出,我必须使用连接到我的 pi 的键盘。

我希望能够通过 ssh 登录到 pi,然后劫持 tty1 stdin 流,但仍然允许 stdout 作为 hdmi 接口(interface)。我怎样才能做到这一点?

我查看了“屏幕”,但看起来它同时接管了标准输入和标准输出,而无法仅选择标准输入。

root@nana ~ # uname -a
Linux nana 3.4.104+ #1 SMP PREEMPT Thu Jan 8 15:40:40 CET 2015 armv7l GNU/Linux

最佳答案

这里最简单的方法是打开另一个 shell 并将其输出重定向到您的 tty1 stdout 流中。
script 是一个优秀的程序,用于将程序的输出捕获到文件中。例如,你可以这样做:

script -t0 /dev/tty1 bash
-t 参数使 script 在每次按下字符时将其缓冲区刷新到 /dev/tty1,而不是每次换行。

请注意,这不会控制 tty1 shell。相反,它只是将新 shell 的输出插入其中。

如果你想在 tty1 和 ssh 之间共享一个单一的、持久的 shell,你可以使用 screen/tmux 。在您的 tty1 上,打开一个 session (手动或登录时)。然后你可以简单地 ssh 并附加到它。 tty1 和 ssh 将同时控制完全相同的 session 。

关于linux - 如何在ssh session 中劫持tty1的输入流?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28930614/

10-09 09:34