X サーバーの準備ができているかどうかを判断するために使用する単純なアプリケーションがあります。アプリケーションは init プロセスで使用され、すべての 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 アプリケーションを終了するため) を押して新しいアプリケーションを開始すると、画面には何も表示されませんが、エラーは画面に表示されません。
これは予想される動作ですか?最後の X アプリケーションが終了した後、Xorg は動作を停止することになっていますか?