かわべです. At Wed, 30 Jul 2003 22:57:42 +0900 (JST), Miya <miyam@xxxxxxxxxxxxxxxxx> wrote: | > > $ echo $DISPLAY | > > miyaBox.miya.org:0.0 | > > ホスト名が設定されています。 | > > 試しに別のユーザーでも DISPLAY 環境変数の内容を確認しましたがホスト名 | > > が設定されています。 | > | > これは、miyaBox.miya.org(ノート PC) で X を立ち上げて、そこから | > telnet でサーバに login しているのでしょうか? | > そうであれば、正常かと。なぜなら、X サーバは、ノート PC のもの | > ですから。 | | 正常なことは正常なのですね。 | | 頭がこんがらがってます。。。 | DISPLYA 環境変数は X サーバー側のものなのですかね・・・ おおさとさんの質問の telnet でサーバに login したかしていな いのかどちらでしょうか? | > では実習問題: | > 表示されている DISPLAY 環境変数は誰のものでしょう。 | > ノートPC で、X を使わずにコンソールから telnet して、 | > echo $DISPLAY したら何かが変わるでしょうか? | | 試してみました。 | DISPLAY 環境変数の中身は空っぽでした。 | 仕組がいまいち理解できていません。 | もしよろしかったら、分かりやすい情報の在処など教えてもらえますと助かり | ます。 もし,telnet でサーバに login したのであれば, % man telnet environ 辺りを読むといいかも 実際確かめるなら. ------------------------------------ % telnet telnet> environ list ...... * DISPLAY hoge:0.0 .... ------------------------------------ となっていると思います. 今 IPv6 の USAGI Project のソースしかないので Vine ではどう か確信ないのですが,netkit の telnet/environ.cc にこう書いて います. --------------------------------------------------------- /* * Special case for DISPLAY variable. If it is ":0.0" or * "unix:0.0", we have to get rid of "unix" and insert our * hostname. */ static void env_fix_display(void) { enviro *ep = env_find("DISPLAY"); if (!ep) return; ep->setexport(1); if (strncmp(ep->getval(), ":", 1) && strncmp(ep->getval(), "unix:", 5)) { return; } char hbuf[256]; const char *cp2 = strrchr(ep->getval(), ':'); int maxlen = sizeof(hbuf)-strlen(cp2)-1; gethostname(hbuf, maxlen); hbuf[maxlen] = 0; /* ensure null termination */ /* * dholland 7/30/96 if not a FQDN ask DNS */ if (!strchr(hbuf, '.')) { struct hostent *h = gethostbyname(hbuf); if (h) { strncpy(hbuf, h->h_name, maxlen); hbuf[maxlen] = 0; /* ensure null termination */ } } strcat(hbuf, cp2); ep->define("DISPLAY", hbuf); } ---------------------------------------------------- -- KAWABE, Tsuyoshi