0

Solaris 11 で次のプログラムを実行中に問題が発生しました。XOpenDisplay 関数は常に NULL を返します。同じプログラムが Solaris 10 上で正常に動作します。

#include <stdio.h>
#include <X11/Xlib.h>

int main(int argc, char** argv) {
    Display *ptr = 0;


    ptr = XOpenDisplay("machine_name:0.0");

    if (0 == ptr)
    {
        printf("NULL received\n");
    }
    else
    {
        printf("Valid pointer received\n");
    }

    return 0;
}

調査中に、Solaris 11 が TCP プロトコルを使用した直接の X11 接続を受け入れないことがわかりました。次のコマンドを使用して、X11 サーバーの TCP を有効にしました。

svccfg -s x11-server setprop options/tcp_listen=true

しかし、関数の呼び出し中に XOpenDisplay はまだ NULL を返し、「プロトコルが指定されていません」というエラーが表示されます。

4

1 に答える 1