SSH 无需 X 即可访问远程屏幕

SSH 无需 X 即可访问远程屏幕

我需要使用 SSH 访问远程计算机(连接到屏幕) - 问题是我通过 SSH 启动的程序需要显示在远程屏幕上(,,,tail... )htopslurm

远程计算机没有 X,只有一个纯文本终端。

如何在远程计算机屏幕上运行命令?

答案1

据我所知,无法在远程屏幕的控制台上直接在 SSH 中写入。

但是,可以使用 来规避这个问题screen。您只需要对所连接的 PC 进行初始访问。

  1. 在台式电脑上,screen使用以下命令打开会话screen -s sessionName
  2. 然后,SSH您可以使用命令连接此 shellscreen -x sessionName

答案2

通常可以通过 TTY 设备访问 unix 系统的文本模式控制台。在 Linux 上,您通常会访问 /dev/console 或 /dev/ttyN,其中“N”是一个以 1 开头的数字。这一页对代表 Linux 控制台的 TTY 设备进行了相当全面的描述。

TTY 设备与其他文件一样具有所有者和文件权限,这些内容可以限制谁可以访问 TTY 设备。例如,在我的系统上我看到:

$ ls -l /dev/console
crw-------  1 myid  staff    0,   0 Oct 27  2014 /dev/console

目前,我拥有控制台设备,权限设置为 600,这意味着只有我的帐户和 root 可以写入它。控制台的所有权属于目前登录控制台的帐户是正常的。

假设您可以访问相关的 TTY 设备 - 因为您是 root 用户,或者您拥有该设备,或者权限设置为允许您访问它 - 那么您可以像任何其他字符设备一样读取或写入它:

$ tail -f /var/log/messages > /dev/console

例如,此命令将运行tail,并将输出写入控制台设备。

相关内容