SSH-сервер тайм-аут localhost и переназначение прерываний вывода X11

SSH-сервер тайм-аут localhost и переназначение прерываний вывода X11

Я запускаю скрипт python на удаленном сервере через SSH, однако в конце мне нужно сохранить график с помощью pyplot, для чего требуется активный сервер X. Поскольку это работает уже долгое время, я использую команду "screen" и оставляю ее, а затем возобновляю, когда возвращаюсь. Проблема в том, что возобновленный экран пытается вывести данные на любой дисплей X, который SSH использовал при первом подключении (например, localhost:15.0), однако часто к тому времени, как я возвращаюсь, либо локальная машина, либо сервер назначают мне другой (например, localhost:22.0), и поэтому код прерывается, так как не может найти место для вывода.

Есть ли способ остановить этот тайм-аут или указать, какой дисплей я хочу использовать в сеансе SSH? Я пробовал подключаться с помощью -X и -Y, но ничего не изменилось?

Спасибо!

решение1

Для начала вам, вероятно, будет лучше использовать какую-нибудь другую библиотеку построения графиков, например matplotlib, которой не требуется X-фреймбуфер.

Если вам абсолютно необходимо использовать pyplot, попробуйте запустить Xvfb (виртуальный X-сервер) на удаленном конце и указать переменную $DISPLAY на него вместо перенаправленного X-дисплея. Таким образом, он будет работать внутри экрана без проблем.

Связанный контент