У меня есть простое приложение, которое я использую, чтобы определить, когда мой X-сервер готов. Приложение используется в процессе инициализации, и все X-приложения зависят от его завершения. Он продолжает пытаться подключиться, а когда он получает соединение, он просто завершается.
int main(int argc, const char *argv[])
{
Display *dis;
while(1){
dis = XOpenDisplay(NULL);
if(dis != 0)
break;
usleep(1000);
}
if(dis != 0)
XCloseDisplay(dis);
return 0;
}
Моя проблема в том, что после того, как я обновил свой драйвер Nvidia, ни одно из приложений X не смогло ничего отобразить на экране, если они запускались после этого простого теста.
Кроме того, если я запускаю xeyes в качестве первого приложения, то оно работает. Затем, если я нажму Ctrl-c (чтобы закрыть запущенное приложение xeyes), и запусту новое, на экране ничего не отобразится, но на экране не появится никаких ошибок.
Это ожидаемое поведение? Должен ли Xorg перестать работать после выхода из последнего X-приложения?