关于是否可以实现这一点的文档很少。我的工作流程如下:我通过 SSH 连接到我的远程计算机,然后如果我需要 GUI,则使用以下方式启动 TigerVNC 服务器
/usr/bin/vncserver :4 -geometry 1920x1080 -depth 32 -nolisten tcp -localhost
(方便地保存到 bash 别名)。然后我可以像往常一样使用 Remmina 连接到它。我从来没有费心去修改 Remmina 连接编辑器中的预连接和后连接命令。今天,突然,我注意到了它们,想知道我是否可以通过它们发出我的 VNC 服务器生成命令。所以我将上面的内容复制到预连接框中,并尝试连接。没有运气。然后我使用了我的 bash 别名。没有运气。
最后,我用该命令创建了一个可执行 shell 文件,并在预连接字段中提供了该文件。这类似于维基百科有。现在它只是停留在“连接到主机”对话框中。我不知道我是否离目标越来越近了。不幸的是,Wiki 没有详细说明这一点,或者我太盲目了,无法有效地搜索它。有人能帮忙吗?这可能吗?如果 Remmina 可以通过 SSH 连接,生成 VNC 服务器,然后连接到 GUI,那就太好了,所有这些都是一次性完成的。
显然,我对 的后命令也很感兴趣/usr/bin/vncserver -kill :4
。
答案1
啊!我明白了!该命令在客户端计算机上运行,而不是在服务器上运行。因此,
/usr/bin/ssh user@host '/usr/bin/vncserver :4 -geometry 1920x1080 -depth 32 -nolisten tcp -localhost'
在前置命令中,并且
/usr/bin/ssh user@host '/usr/bin/vncserver -kill :4'
在 post 命令中,它完全符合我的要求!Remmina 太棒了!
答案2
(另一种方法是使用x11vnc服务器)
预命令:
sh -c '( ssh user@host '\''killall x11vnc ; x11vnc -forever -passwd SOMEPASSWORD -display :0'\'' & ) ; sleep 5'
后命令:
ssh user@host 'killall x11vnc'
解释:
pre-command 执行以下操作:
启动后台 ssh 进程(在远程端):
终止所有正在运行的 x11vnc 服务器
启动 x11vnc 服务器
等待 5 秒钟让此后台进程设置 VNC 服务器(以防止 remmina 过早连接)
后命令终止远程端的所有 x11vnc 服务器