Можно ли сохранить в разных оболочках входа ssh один и тот же номер $ DISPLAY?

Я запускаю сервер Jupyter на своем удаленном сервере с nohup jupyter lab --no-browser --port 1234 $ и использую пересылку X11 для доступа к программам графического интерфейса на удаленном сервере .

Но номер $ DISPLAY Jupyter Server - это та самая текущая оболочка, в которой был запущен Jupyter Server. Например, пользователь входит на удаленный сервер через ssh , назовем его user_shell1 @ remote , предположим, что номер ДИСПЛЕЯ localhost: 10.0 . Если тот же пользователь использует вторую оболочку для входа на удаленный компьютер, то для user_shell2 @ remote номер ДИСПЛЕЯ будет localhost: 11.0 , что означает тот же пользователь во второй оболочке не может использовать Jupyter Server для запуска программ с графическим интерфейсом пользователя из-за несогласованности среды $ DISPLAY .

Поскольку я запускаю некоторые программы квантовой химии, которые должны работать на сервере в течение длительного периода времени, я не хочу каждый раз перезапускать Jupyter Server, и я хочу получить доступ к графическому интерфейсу Jupyter Server как дома, так и в моем офисе с двумя ПК.

Вот результат 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 совпадали с номерами запущенного Jupyter Server.

Или есть какой-либо другой способ получить доступ к графическому интерфейсу без перезапуска сервера Jupyter на разных локальных машинах?

0
задан 20 April 2021 в 12:18

1 ответ

Как предложил @meuh, я публикую здесь свой ответ. Магические команды Jupyter могут сбрасывать переменные среды ноутбука без перезапуска сервера Jupyter .

Итак, здесь я просто использую % set_env DISPLAY localhost: 11.0 для сброса переменной DISPLAY env в соответствии с текущей оболочкой входа в систему, и я могу запускать программы с графическим интерфейсом пользователя в ipython notebook без перезапуска Jupyter Server.

1
ответ дан 23 April 2021 в 23:21

Другие вопросы по тегам:

Похожие вопросы: