
Строить: Сервер с Ubuntu 18.04 в центре обработки данных с интерфейсом Ubuntu Mate Desktop.
As I understand, any GUI app needs a display in which to function. I connect to the server via ssh with x2go to display the ubuntu mate interface. Once connected, I have a scheduled cron job that launches a terminal, a GUI and some commands.
Все работает отлично, так как я заранее определил, какой дисплей я использую как пользователь, и указал его для запуска терминала и команд.
Проблема: если я не подключен через клиент x2go к серверу и не предоставляю этот дисплей, то сегодня я заметил, что задание cron не запустилось в определенное время (08:50), которое предшествовало моему подключению клиента x2go (09:23); оно просто запустилось, когда я вручную установил подключение клиента x2go со своего рабочего стола — насколько я понимаю, оно не запустилось из-за отсутствия доступного дисплея.
Я недостаточно технически подкован, чтобы глубже разобраться в этой проблеме.
Можно ли как-то заставить скрипт cron функционировать (то есть запустить терминал и графический интерфейс) без необходимости вручную заходить на рабочий стол и запускать клиент удаленного рабочего стола (x2go)?
Я предлагаю создать в этом центре обработки данных еще одну минимальную установку или другую, которая использует преимущества наличия физического монитора для отображения информации, постоянно подключенного к главному серверу, ИЛИ просто вручную входить на сервер через x2go каждый день.
РЕДАКТИРОВАТЬ: Когда я отключаю сеанс клиента x2go от сервера, запущенный графический интерфейс и т. д. прекрасно сохраняются, не исчезая из-за того, что «я завершил сеанс и удалил отображение»
решение1
Наконец, мне удалось заставить его работать с большой помощью одного из x2go
основателей (Александра Шнейдера), после того как я понял, как x2go
обрабатывать сессии и X server
.
Сеансы могут быть приостановлены/переведены в спящий режим, отключены и завершены.
Приостановлено/в спящем режиме:когда «вручную» или автоматически x2go
серверная часть приостанавливается для экономии ресурсов.
Отключено:когда вы выходите из окна сеанса и x2go
клиента на вашем настольном компьютере/ноутбуке.
Прекращено:когда вы выходите из среды DE или вводите x2goterminate-session
команду в терминале внутри сеанса.
Мое x2go
приложение каким-то образом входило в режим ожидания на сервере, в результате чего дисплей (50 в моем случае), на котором нужно было запустить запланированное cronjob и запустить GUI, «не просыпался», пока я не вошел в сеанс через приложение. В этот момент cronjob начал выполняться.
Чтобы x2go
сервер не переходил в спящий режим, мне нужно было изменить X2GO_NXOPTIONS
значение /etc/x2go/x2goagent.options
наX2GO_NXOPTIONS="sleep=0"
После этого на сервере все работает отлично.
Надеюсь, это поможет другим.