0

每个人 :

我需要 ssh 来连接远程 linux,我已经知道如何在远程 linux 中运行和显示 GUI 程序。可以通过以下方式完成:

ssh username@ip
export DISPLAY=:0.0
firefox &

但是,我的目标 linux 没有 X Window 系统,我需要在远程 linux 的屏幕上显示执行结果,例如:

我的电脑是A,远程电脑是B

A 使用 ssh 访问 B ,连接到 B 后,我在 A 中输入 ls 然后回车

执行结果应该显示在 B 的屏幕上(tty 什么的,我不知道应该叫什么)

任何的想法?谢谢你的帮助。

4

1 回答 1

2

基本思路:

a$ ssh user@b
b$ run-program >/dev/console

(我使用a$b$分别表示 A 和 B 上的 shell 提示。)

这个问题:

b$ ls -l /dev/console
crw------- 1 root root 5, 1 Mar 19 09:10 /dev/console

只有 root 可以写入/dev/console.

可能的解决方法:

$b run-program | sudo tee /dev/console >/dev/null

(重定向到/dev/null此处也可以防止输出显示在您的屏幕上。)

这确实取决于user@b是否允许运行sudo tee /dev/console

如果您是 B 的系统管理员并且user@b不允许运行sudo tee /dev/console,请阅读man 5 sudoersman 8 visudo了解如何授予user@b此权限。

如果您不是B 的系统管理员并且user@b不允许运行sudo tee /dev/console,则必须要求 B 的系统管理员为您设置。

于 2013-03-21T19:11:53.580 回答