我正在使用nohup jupyter lab --no-browser --port 1234 $在我的远程服务器上运行一个朱庇特服务器,并使用X11转发来访问远程服务器上的gui程序。
但是木星服务器的$DISPLAY号是木星服务器发射的当前外壳之一。例如,user通过ssh登录到远程服务器,让我们称之为user_shell1@remote,假设显示号是localhost:10.0。如果相同的 user使用第二个shell登录远程,那么对于user_shell2@remote,显示号是localhost:11.0,这意味着由于$DISPLAY环境的不一致性,第二个shell上的同一个用户不能使用朱庇特服务器运行D9程序。
因为我正在运行一些需要在服务器上运行相当长时间的量子化学程序,所以我不想每次重新启动木星服务器,我想在家里和我的办公室用两台电脑访问木星服务器的GUI。
这是xauth list的输出
(base) [user@node01 ~]$ xauth list
node01/unix:15 MIT-MAGIC-COOKIE-1 849739cabda5e7e974a5ef9dd448f864
node01/unix:10 MIT-MAGIC-COOKIE-1 6016f581849916680257ef82ff73582e
node01/unix:11 MIT-MAGIC-COOKIE-1 35df3ba83b9cc86654ff324964dc89d0
node01/unix:12 MIT-MAGIC-COOKIE-1 4418caa4a79c693da602c37e08202da5实际上,从10到12的“用户”都是相同的帐户,但是可以访问不同本地机器上的远程服务器,是否可以设置所有这些“用户”的$DISPLAY号码,使这些$DISPLAY号码与运行中的木星服务器一致。
或者有没有其他方法来访问GUI功能,而不重新启动不同的本地机器上的木星服务器?
发布于 2021-04-20 09:13:35
正如@meuh建议的那样,我在这里发布了我自己的答案。神奇的木星命令可以重置笔记本的环境变量,而无需重新启动木星服务器。
因此,在这里,我只需使用%set_env DISPLAY localhost:11.0重置与当前登录shell一致的DISPLAY变量,并且我可以在IPython记事本中运行gui程序,而无需重新启动朱庇特服务器。
https://askubuntu.com/questions/1332602
复制相似问题