在我的服务器上安装 ubuntu-desktop 后,我可以使用 gui 启动一个在我的服务器上运行的程序,并将屏幕转发到我的本地电脑。因此,我使用:
someuser@localhost:~$ ssh -X someuser@somehost
someuser@somehost:~$ gedit
我还可以运行、分离和附加基于命令行的程序,例如通过tmux或screen。但是,如果我想在服务器上长时间运行基于 GUI 的程序,如何将两者结合起来呢?
在这种情况下,我希望首先在我的本地屏幕上显示我的程序的图形输出,启动一些进程,而不是从我的本地屏幕上分离图形输出,从服务器注销,让程序运行,再次登录到服务器并最后再次将图形输出附加到我的本地屏幕。
那可能吗?
运行 GUI 和文本模式应用程序。
如果您想运行多个应用程序,包括 GUI 应用程序和文本模式应用程序,我认为您可以这样做,
在您运行的控制台(连接到服务器的监视器)上
远程运行
ssh -X
和ssh
通过客户端计算机中的单独终端仿真器窗口。
您不能像问题中描述的那样重新连接到带有图形(正在运行的图形)的进程,但您可以在后台运行一个进程,并让它继续。您可以使用以下命令行进行测试。如果您注销,它将继续存在,并且当您再次登录时,您会发现它正在运行。
检查与
安全
最后,如果服务器可以通过 Internet 连接,或者由几个人通过 LAN 连接,请考虑@Panther 提出的 GUI 连接的安全性问题。
不,这实际上是不可能的,因为 X11 的功能方式不允许在正在运行的应用程序中以这种方式断开和重新连接到服务器。
您可以使用 RDP/VNC 之类的东西在服务器上运行完整会话,您可以在其中从客户端连接和断开与 RDP/VNC 服务器的连接,让应用程序打开并在远程服务器上运行,这实际上更像是 tmux /screen 比 ssh -X 的工作方式更有效。