プロが教える店舗&オフィスのセキュリティ対策術

VNC関連の過去ログは多かったのですが該当する質問が
見つけられなかったため投稿させていただきます。

RedHat9のマシンにtightvncサーバをインストールし
別マシンからviewerを利用するとサーバのマシンと
クライアントのマシンで描画されてるデスクトップが
異なります。

私の認識ではXサーバの画像を見る事ができるのがVNCで、
クライアントはXを立ち上げるわけではないと思っていました。

以前は別環境でVineにインストールし、Windows2000から
Linuxのデスクトップを見る事ができ、winからLinuxの
デスクトップ操作ができました。

要点としましては
VNCのサーバとクライアントでディスプレイの同期、マウス、キーボードの同期ができていない
ということです。

なにか原因が考えられるようでしたら教えてください。

サーバ:Redhat9
クライアント:VineLinux2.5,Windows2000(両方試した)
ソフト:tightvnc-server-1.2.8-1

また、投稿のカテゴリーがかなりあやふやなため
もしカテゴリーを変えるべきでしたらご指摘お願いします。

A 回答 (3件)

Xサーバとディスプレイ番号の関係はこちらが参考になるでしょうか。


http://www.atmarkit.co.jp/flinux/special/vnc01/v …
http://www.geocities.co.jp/Hollywood-Kouen/5738/ …
http://www.amy.hi-ho.ne.jp/masuda/pc/vnc/xvnc.html

UNIX用のVNCはXサーバの特性を引き継いでいて、複数の仮想デスクトップを同時に扱うことができるので、その影響で実機のデスクトップが見えなくなっているのでしょう。
たとえば、
vncserver :1
vncserver :2
とすることで同時に2つのvncserverを起動することができるので、1、2番でまったく別のデスクトップを表示することができますし、2人が別々の端末から同時に同じホストを操作することもできます。
もちろん、2人が同じ番号で接続すれば同じデスクトップが見えるはずです。
これはX用VNCに特有なものでWin用ではXサーバが元になっているわけではないので、同時に操作するということはできません。
常にデスクトップは一つしか存在しませんし、まともに操作できるのは同時に一人だけです。
WinXP SP2からはリモートデスクトップでできるようになるらしいですけど。
http://pcweb.mycom.co.jp/news/2003/05/12/21.html

やったことはないのでまったく自身はないですが、
vncserver :0
としてやれば、実機のデスクトップを操作できるようになるかもしれません。

この回答への補足

ご回答ありがとうございます。
つまりVNCサーバを立ち上げた時点でXを立ち上げていて
そのデスクトップ番号を入れれば同じ画面になるという
認識でよろしいでしょうか。

vncserver :1
vncviewer hogehoge :1
でやればどのVNCviewerでも同一画面を利用可能と言う
ことですよね。

今試してみたところその通りのようです。
具体的なタイミングはわかりませんが
1.VNCサーバを立ち上げる(:1)
2.VNCViewerを立ち上げる(:1)
3.Xが立ち上がる
4.VNCViewerに画面を送る
以下VNCViewerで:1を見ると3.の画面を描画といった
感じを受けました。

今回私が失敗したのは別に原因があるようで
1.winマシンよりsshでRedHatにログイン
2.VNCサーバ起動させる
3.winのviewerを起動
とやっていたのですがこの場合、上述のように実機とは
別にXをたちあげているようでした。

そこで試しに実機で実際に(グラフィカル)ログインし
VNCサーバを立て、winからViewerで見るという方法に
しました。

その結果同じ結果(別途にXが立ってしまう現象)になると
思われましたがViewerは全体がグレーになって
描画されませんでした。
failed connect serverとでないためサーバに接続
できているようなのですが描画されていませんでした。

今思えば以前実機のディスプレイが共有できていたときは
実際に実機でログインしてその上でコンソールを開き
サーバをたてていたような気がするので、これで
Viewer側での表示ができるようになれば実機と画面を
共有できる気がしました。

最初の質問と若干のずれはありますがお願いいたします。

長文になってしまいましたがわからない点があれば
是非ご質問ください。

ちなみに
vnserver :0は
A VNC server is already running as :0
でvncviewerでhogehoge :0はfailed connect server
でした。

補足日時:2003/05/16 21:42
    • good
    • 0
この回答へのお礼

投稿直後の回答ありがとうございました。
多くの有益なURLを教えていただき参考になりました。

お礼日時:2003/05/18 11:38

結構古い掲示板なので、今の環境にどこまで当てはまるかわかりませんが、ここでは無理ということになってますね。


http://www.realvnc.com/pipermail/vnc-list/1999-F …

最後でXサーバそのものがVNCを想定して作られるようにならないとできない、と結論づけられてました。

vncserver :0
では本来、
New 'X' desktop is localhost:0
と表示されて欲しいところで、
A VNC server is already running as :0
となってしまうそうです。
すでにXサーバが繋がっている番号(実機のディスプレイに表示されている画面)には、vncserverは割り込めないとのことでした。

参考URL:http://www.realvnc.com/pipermail/vnc-list/1999-F …

この回答への補足

#1の補足入力中に回答いただいたようです。
ありがとうございます。

私の質問と同じことを質問している方がいらっしゃった
ようですね。検索不足で大変申し訳ございません。

英語は得意でないので英語のサイトを探しておりません
でした。参考URLの質問文しかまだ読んでおりませんが
私の質問と一致していると思われます。

一個前の補足にも記述したのですがサーバを立てるマシン
にログインし、VNCサーバをたてた場合Viewerで描画され
ないのでそれができる方法を先に探したいと思います。

本筋からそれてきてしまいましたがご回答いただければ
幸いです。

補足日時:2003/05/16 22:21
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

VNC用にXが立ち上がってしまうということが
結論のようですね。

また質問の際にはよろしくお願いいたします。

お礼日時:2003/05/18 11:39

ちょっとVNC入れて試してみました。


が、
やればやるほどできないような気がしてきました。
やはり同じ番号のXサーバを同時に立てるというのは無理そうです。
「/tmp/.X?-lock」というファイルの存在の有無で?番のサーバが立ちあがっているかどうかを識別し、同じ番号のサーバが起動しないようにしているようなので、無理やりこのファイルを改名してみたのですが、識別そのものは無効にできたものの、サーバ-クライアント間の接続を奪い取るというのはできないようです。
結局、
1. 実機でGUI画面を表示するためにはXサーバを起動することが必要
2. vncserverを起動するさいには、新しいXサーバが起動する
3. 同じ番号のXサーバを多重起動することはできない
4. 同時に2つの別の番号のXサーバに同じ画面を表示するような機能は(おそらく)無い
ことから、無理なような気がします。
仮想コンソール(X上のコンソール)で起動したところで、コンソール上のソフトとして動くわけでもないので同じ番号のXサーバは存在できないですし。

で、このままではさびしいので代案。
vncviewer 127.0.0.1:1 -fullscreen -passwd ~/.vnc/passwd
とすることで、vncviewerをあたかもウインドウマネージャーの代わりのように振舞わせることができます。
要は実機の表示もvncviewerでやってしまおう(Xサーバ本体は裏で動いているだけ)ということです。
VNCサーバを挟むことで上記4の問題をカバーできるようになります。
このままGNOME上で起動することも可能ですし、(X起動周辺はあまりよく知りませんが)xdmやstartx周りをうまく設定してやれば多分自動化させる(ログイン時にvncserverを起動し、さらにvncviewerをフルスクリーンで立ち上げる)ことも可能だと思います。
GNOME上で起動した場合は、vncserverでもGNOMEを起動しているとGNOMEが2つも起動していることになるので、そこそこのスペックのものでないと苦しくなってくると思います。

イメージとしてはこんな感じですね。

GNOME   |
Xserver   | VNCviewer
VNCserver | Xserver
L   i   n   u   x
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
1. 実機でGUI画面を表示するためにはXサーバを起動することが必要
2. vncserverを起動するさいには、新しいXサーバが起動する
3. 同じ番号のXサーバを多重起動することはできない
4. 同時に2つの別の番号のXサーバに同じ画面を表示するような機能は(おそらく)無い
という4つが確認していただけたので通常では不可という
認識で質問を閉めたいと思います。

実験までしていただき大変助かりました。
ご丁寧にありがとうございました。

お礼日時:2003/05/18 11:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!