web-dev-qa-db-ja.com

LANのみのVNCセットアップ

目標:

LAN環境に2台のコンピューター([コンピューターA]と[コンピューターB]と呼びます)があり、[コンピューターA]から[コンピューターB]にログインしたいと思います。

[コンピューターA] Remote Desktop ViewerにVNCクライアントがあり、[コンピューターB]にDesktop Sharing Preferencesをセットアップしています。以下のスクリーンショットを参照してください。 [コンピューターA]のLANIPアドレスは192.168.0.1で、[コンピューターB]のLANIPアドレスは192.168.0.2です。

両方のコンピューターは互いにpingを実行しても問題ありません。


質問:

私の質問は、[コンピューターA]から[コンピューターB]に接続するにはどうすればよいですか?


エラーメッセージ:

接続しようとすると、現在次のエラーメッセージが表示されます。

connection to 192.168.0.2 was closed

192.168.0.2は[コンピューターB]のIPアドレスです。


ポート/ファイアウォール:

Sudo lsof -i -P | grep -i listenを実行すると、ポート5900が表示されません。ファイアウォールもインストールしていません。 [コンピューターA]と[コンピューターB]の両方にGufwをインストールしました。設定方法がわかりません。 [コンピューターB]でvncの着信接続を許可し、[コンピューターA]でvncの発信接続を許可するように設定しますか?


その他の情報:

Computer A = 192.168.0.1 = Ubuntu 12.04
Computer B = 192.168.0.2 = Debian Stable

両方とも完全に更新されています


IPTABLES(サーバーとクライアントで同じ):

Chain INPUT (policy ACCEPT)
target - prot opt source - destination

Chain FORWARD (policy ACCEPT)
target - prot opt source - destination

Chain OUTPUT (policy ACCEPT)
target - prot opt source - destination

リスニングポート

Sudo lsof -i -P | grep -i listen
rpcbind   1853        root    8u  IPv4   5755      0t0  TCP *:111 (LISTEN)
rpcbind   1853        root   11u  IPv6   5762      0t0  TCP *:111 (LISTEN)
rpc.statd 1884       statd    8u  IPv4   5818      0t0  TCP *:56428 (LISTEN)
rpc.statd 1884       statd   10u  IPv6   5826      0t0  TCP *:39576 (LISTEN)
cupsd     2615        root    6u  IPv6  17952      0t0  TCP localhost:631 (LISTEN)
cupsd     2615        root    8u  IPv4  17953      0t0  TCP localhost:631 (LISTEN)
mysqld    3042       mysql   10u  IPv4   7466      0t0  TCP localhost:3306 (LISTEN)
exim4     3855 Debian-exim    3u  IPv4   8075      0t0  TCP localhost:25 (LISTEN)

スクリーンショット:

これは私が[コンピューターA]に持っているクライアントソフトウェアです: enter image description here

これは私が[コンピューターB]に持っているソフトウェア(私が推測するサーバーソフトウェア)です: enter image description here

3
oshirowanen

方法#1-ComputerAからのVNC-> B

ユーザーがすでにBにログインしている場合

使用しているVNCクライアントを指定しませんが、最も人気のあるクライアントの1つはVinagreです。これは通常、GNOMEデスクトップベースのディストリビューションに含まれており、大規模なディストリビューションのほとんどをカバーする必要があります。

Installation

まず、GNOMEのVNCクライアントであるvinagreとVNCサーバーであるvinoがインストールされていることを確認する必要があります。

私のFedora19システムでは、これらのパッケージをインストールする必要がありました。

$ Sudo yum install vinagre vino

Ubuntuでは、aptを使用して同じパッケージをインストールします。

$ Sudo apt-get install vinagre vino

サーバーのセットアップ

インストールしたら、VNCサーバーがコンピューターBで実行されていることを確認する必要があります。これを行うには、設定->共有をナビゲートします。 「画面共有」を有効にするために選択できるメニュー。

Fedora

ss of vino

Ubuntu

ss of ubuntu prefs

注:次のようにコマンドラインからvinoの設定を呼び出すことができます。

 $ vino-preferences

クライアントのセットアップ

VNCサーバーがコンピューターBにセットアップされると、VNCクライアントであるvinagreを使用して、コンピューターAからサーバーに接続できるようになります。これは、次のようにコマンドラインから実行できます。

$ vinagre vnc://greeneggs.bubba.net

ここで、vnc://...は、上のスクリーンショットのように、vinoによって提供されるサーバー文字列です。

その他の注意事項

  • コマンドラインから直接VNCサーバーのダイアログを呼び出す必要がある場合は、vino-preferencesと呼ばれます。
  • vinagreは、ベアで起動できるGUIでもあり、頻繁に使用するVNCサーバーのブックマークを維持できます。起動するには、コマンドvinagreを使用します。

ss of vinagre

方法#2-ComputerAからのVNC-> B

ユーザーがまだBにログインしていない場合

サーバーのセットアップ

Ubuntu

  1. インストールx11vnc

    $ Sudo apt-get install x11vnc
    
  2. /etc/init/x11vnc.confファイルを作成します。

    start on login-session-start
    script
    x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth /var/run/lightdm/root/:0 -forever -bg -o /var/log/x11vnc.log
    end script
    
  3. 再起動(再起動)後、x11vncは標準のVNCポート5900でリッスンしているはずです。

  4. 確認できます

    $ Sudo netstat -tapn | grep 5900
    tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN      2379/x11vnc     
    tcp6       0      0 :::5900                 :::*                    LISTEN      2379/x11vnc     
    

注:スクリプトは、Lightdmがlogin-session-startイベントを発行し、x11vncが開始される起動イベントメカニズムに基づいています。

参考文献

2
slm

VNCサーバーの構成を確認し、指定するポート番号が5900+指定ユーザーのシーションの数であることを確認します。この番号はVNCサーバーの構成ページで指定します。番号を2として指定した場合は、5902を定義する必要があるポート番号。

これを試して。それはほとんど役に立たないかもしれません。

0
Siva

基本的に、VNCクライアントの構成によって異なります。ほとんどすべてのVNCクライアントは同様に機能しますが、VNCサーバーで使用されるIP /ホスト名とポート(デフォルトでは5900など)を指定する必要があります。

0
Erick

ファイアウォールの問題が疑われます。 [コンピュータB]で、を実行します

Sudo lsof -i -P | grep -i listen

ポート5900がVNC用に開いているかどうかを確認します。

0
Ben Lin