Как можно проверить, доступен ли сервер X11?
У меня есть программа, которая может отображать данные графически, используя freeglut
, что приятно, но не обязательно. я использую putty
много для редактирования и компиляции моей программы на debian
сервер дома, но когда я пытаюсь запустить бинарный файл изнутри putty
Я получаю это сообщение:
freeglut (./a.out): не удалось открыть дисплей ''
Теперь я знаю, что, потратив немного времени, я мог бы заставить Cygwin каким-то образом туннелировать X-сервер, используя ssh -X
, но я хотел бы просто определить, может ли freeglut отображаться на экране, а если нет, просто не беспокоиться.
Как я могу это сделать? Я попытался запустить трассировку на моей программе в gdb
но нет стека, поэтому я не знаю, есть ли исключение или возвращаемое значение, которое я могу поймать.
1 ответ
glutInit()
:
glutInit инициализирует библиотеку GLUT и согласовывает сеанс с оконной системой.Во время этого процесса glutInit может вызвать завершение программы GLUT с сообщением об ошибке пользователю, если GLUT не может быть должным образом инициализирован.Примеры этой ситуации включают в себя сбой подключения к оконной системе, отсутствие поддержки оконной системы для OpenGL и неверные параметры командной строки.
Так что нет, вы не можете справиться с отсутствующим X-сервером с помощью GLUT. За исключением некоторых неприятных хаков, таких как родительский сторожевой процесс или перехват exit()
как-то.