![SSH 无需 X 即可访问远程屏幕](https://linux22.com/image/1450966/SSH%20%E6%97%A0%E9%9C%80%20X%20%E5%8D%B3%E5%8F%AF%E8%AE%BF%E9%97%AE%E8%BF%9C%E7%A8%8B%E5%B1%8F%E5%B9%95.png)
我需要使用 SSH 访问远程计算机(连接到屏幕) - 问题是我通过 SSH 启动的程序需要显示在远程屏幕上(,,,tail
... )htop
slurm
远程计算机没有 X,只有一个纯文本终端。
如何在远程计算机屏幕上运行命令?
答案1
据我所知,无法在远程屏幕的控制台上直接在 SSH 中写入。
但是,可以使用 来规避这个问题screen
。您只需要对所连接的 PC 进行初始访问。
- 在台式电脑上,
screen
使用以下命令打开会话screen -s sessionName
- 然后,
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
,并将输出写入控制台设备。