GTK-ПРЕДУПРЕЖДЕНИЕ **: не может открыть дисплей при запущении единственного командной строкой скрипта

Я пытаюсь работать, несколько вычисляют интенсивные сценарии Python на сервере (Ubuntu 14.04.5 LTS) через ssh-Y и tmux. Это хорошо работает, пока я не закрываю соединение SSH. Если я действительно закрою соединение, то в настоящее время запускающий скрипт закончится правильно, но все сценарии, запускающиеся впоследствии, получат ошибку

GTK-ПРЕДУПРЕЖДЕНИЕ **: не может открыть дисплей: localhost:10.0

Сценарии являются единственными командной строкой, но возможно библиотеке, пользовавшейся по некоторым причинам, нужен дисплей. Если я разъединяюсь, дисплея не стало (мое предположение). Существует ли способ зафиксировать это (предпочтительно без корневого доступа), возможно, способ одурачить человечность в размышление, что существует дисплей, в то время как нет ни одного?

Править:

  • Я сначала соединяюсь с vpn и затем ssh в сервер (с флагом-Y)
  • Я пытаюсь запустить этот скрипт в цикле с различными параметрами каждый раз. Это использует matplotlib.use('Agg') таким образом, matplotlib не должен быть проблемой (?), я не могу думать ни о чем больше.
  • echo $DISPLAY возвраты localhost:10.0 перед ошибкой. Если я соединяюсь от другого компьютера, он возвращается localhost:13.0. Если я оставил терминал на исходном компьютере открытым, он все еще возвратится localhost:10.0 однако, если я открою новый, то он теперь также возвратится localhost:13.0
  • X11-передавая работы обычно, я могу запустить любое настольное приложение, которое я попробовал до сих пор. Проблемой являются сценарии, которые запускаются после того, как я разъединяю/выхожу из системы.
3
задан 4 February 2018 в 16:40

1 ответ

Попытайтесь установить переменную ДИСПЛЕЯ:

export DISPLAY=localhost:10.0

И затем выполните свои команды.

0
ответ дан 1 December 2019 в 20:35

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

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