好的,让我们假设您将显示器连接到运行 Linux 的计算机。
显示器将显示一个登录屏幕,要求输入用户和密码。
我通过 SSH 登录到 pts/0
我现在可以在 TTY1 上运行这样的程序
some-program > /dev/tty1 2>&1
但我正在寻找一种可能性,即只将我的控制台显示给 tty1,而无需用户干预。我试过:
screen > /dev/tty1 2>&1
但它在 pts/1 上打开了屏幕,而不是 tty1。我试过了
top > /dev/tty1 2>&1
结果是屏幕变黑,有什么提示吗?
答案1
这openvt
命令,存在于kbd
Debian 上的包,专门处理使用 VT。
例如,您可以top
继续运行/dev/tty8
:
openvt -c 8 -- top
它负责为分叉命令准备正确的分离环境(将 I/O 重定向到 VT、调用 setsid(2)
等)并立即返回。
我避免/dev/tty1
在这个例子中使用,因为通常首先/dev/ttyX
已经用于产生登录提示。
使用chvt
(例如chvt 8
)如果您必须更改要显示的 VT。
您还可以选择不指定 VT 并选择openvt
第一个可用的,然后立即使用切换到它-s
,因此这可以一次性完成:
openvt -s -- top
注意不要让旧实例继续运行......