Это что-то среднее между программированием и администратором сервера, но в конечном итоге это кажется наиболее подходящим местом для этого.
Я ищу способ определить, является ли переменная ' $DISPLAY
' рекламирующим XServer, к которому мы можем фактически подключиться, то есть, если вся аутентификация и еще много чего есть для выполнения дальнейших действий.
В идеале я ищу какой-то инструмент оболочки, который возвращает true / false, который можно использовать в скрипте сборки, чтобы определить, должны ли выполняться другие тесты в нем (которые я не контролирую) или нет.
В настоящее время тесты просто проверяют env
переменную " $DISPLAY
", и, если она есть, будут пытаться соединиться, и, когда соединение не работает, тесты предполагают неудачу теста, а не просто дисплей не подключается.
Мне просто нужно уметь
if [[ ! can_connect_to_X ]] ; then
unset DISPLAY
fi
Для того, чтобы остановить эти тесты, имеющие серьезные проблемы с психикой
В идеальной ситуации инструмент, необходимый для этого, должен поставляться с самими библиотеками X Client, чтобы не вызывать особых зависимостей, и чтобы можно было предположить, что если утилиты нет, мы не можем подключиться ни к какому дисплею.
Я предполагаю, что есть лучшее решение. Но вы всегда можете просто использовать небольшой инструмент, такой как xclock, и проверить состояние выхода.
Но человек, что это некрасиво :-)
Менее хаки, поместите в checkX.c следующее:
Затем:
И, наконец:
источник
Вот возможный WayToDoIt, хотя я не уверен, насколько он хорош.
Это кажется , работает.
источник