vncとrdp

この記事は Ubuntu 10.04 LTS (Gnome 2.x) の時代の話です。Comice(Gnome Shell)での話はxrdp再び

Ubuntu の リモートデスクトップ


Ubuntu は標準構成でネットワークを介して操作することが可能。
サーバ側の設定は、[システム]メニュー→[設定]→[リモート・デスクトップ]を選んで、[リモート・デスクトップの設定]アプレットより、
[他のユーザが自分のデスクトップを表示できる]と、[他のユーザが自分のデスクトップを操作できる]をチェックすると、
Windowsのリモートアシスタンスのような状態になります。

クライアント側は、[アプリケーション]メニュー→[インターネット]→[ターミナル・サーバ・クライアント]を選択し、
コンピュータ名にホスト名またはIPアドレス、プロトコルに VNC を選び、ユーザ名とパスワード(サーバの設定にもよる)を
入力して接続ボタンを押すと、相手先コンピュータにログインし、操作できるようになります。

Windows のリモートデスクトップ


Windowsの種類によって、提供される機能は変わります。
ターミナルサーバエディションの場合、ライセンス数に従って接続することができます。
プロフェッショナルやアルティメッドエディションの場合、1台だけ接続することができます。
ホームエディションの場合、クライアント機能はありますが、サーバー機能はありません。

サーバ側の設定は[コントロールパネル]→[システム]→[システムの詳細設定]を選んで、
[システムの詳細設定]ダイアログの[リモート]ページにある、リモートデスクトップ機能を有効にし、
[ユーザの選択]で接続できるユーザを選択します。
Windowsはそのパソコン(あるいはドメイン)にアカウントを持つユーザがサーバ機能を利用できるようになります。

クライアント側は、[アクセサリ]→[リモートデスクトップ接続]を選択し、[コンピュータ]名を入力します。
ログインダイアログに、ユーザ名とパスワードを入力すると、相手先コンピュータにログインし、操作できるようになります。

Ubuntuがクライアントで、Windowsがサーバー


Ubuntuの「ターミナル・サーバ・クライアント」は、Ubuntuが使用している VNC 接続だけでなく、
Windows が使用する RDP 接続も可能です。
プロトコルに RDP または RDPv5 を選んで接続します。どちらを使うかは、Windowsサーバー
側のセキュリティレベルによって変わります。(多分)

先ほどホーム・エディションにはリモート・デスクトップ・サーバー機能はないと言いましたが、
Ultra VNC というアプリケーションを Windows にインストールすると、Windows パソコンが VNC サーバーと
VNC クライアントになります(片方だけインストールすることも可能です)。
VNC サーバーになれば、Ubuntu のターミナル・サーバ・クライアントから接続できるようになります。

Windowsがクライアントで、Ubuntuがサーバー


これは VNC か RDP どっちを使うのねんって話になります。

先述の Ultra VNC というアプリケーションを Windows にインストールすると、Windows パソコンが
VNC サーバーと VNC クライアントになります。今度は VNC クライアント機能を使って、Ubuntu の
リモートデスクトップに接続することができます。

(私は別に Ultra VNC の回し者ではありません。他にも Windows 用 VNC アプリケーションはいくつか
あるので、好きなものを使ってください。)

Ubuntu に RDP サーバー機能を追加することも可能です。
xrdp をパッケージマネージャからインストールすると、Ubuntu が RDP サーバになり、Windows の
リモートデスクトップ接続を使って接続できました。

xrdp は vnc4server というパッケージを使っていて、Ubuntu標準のリモートデスクトップ(サーバ)機能
の vino とバッティングしてしまうので、どちらかを止めるとか、使うポートを変えるとかしないと
いけませんでしたが。

その他


Ubuntu で Virtual Box を動かして、その中の Windows で リモートデスクトップ サーバを有効に
していました。Virtual Box の中の仮想PCを家庭内ネットワーク上で丸見えにするために、
ブリッジ構成にしていたところ、Virtual Box の中の Windows を立ち上げたら、
Ubuntu の rdp のポートが開いて、中の PC にリダイレクトされていました。
(ちょっと変なんですよね、これ、別の WindowsのNetBIOS名でアクセスできるんだから)
とりあえず、xrdp の設定ファイル、 /etc/xrdp/xrdp.conf ファイルの global セクションにある
ポート番号を 変更して、xrdp を再起動したら、UbuntuのRDPサーバにつなげることはできました。

再起動 sudo service xrdp stop やって、start をする。

サーバ側は下記のポートを空ける必要があります。
ダイアログボックスで設定したら、こっそり空けてくれると思いますが、
手作業で設定する必要があるかもしれません。

rdp の標準ポート tcp 3389
vnc の標準ポート tcp 5900

xubuntu にインストールした VNC/RDP クライアント


xubuntu に自分のフィーリングにあった VNC クライアントやRDPクライアントが欲しかった。
xtightvncviewer と rdesktop ってのが、自分の好みに合致しました。

xtightvncviewer -fullscreen ホスト名orIPアドレス
rdesktop --fullscreen ホスト名orIPアドレス

rdesktop は、CTRL+ALT+ENTER で、ウィンドウ表示に持っていけたが、
xtightvncviewer を、フルスクリーン表示とウィンドウ表示に切り替える方法があるのかないのか。
サーバーのリモートデスクトップ接続アイコンから、接続を切ることで、
フルスクリーン状態から xtightvncviewer を安全に切れることはわかったが、
その前は、CTRL+ALT+1 して、 ps -def | grep vnc して kill してました。

自分のネットに、DNS はないが、Windows マシンやSamba が動いている


winbind ってのをインストールするのが普通なんですが、
smbclient の cui ツールの1つ、nmblookup を使っても面白いかも。

masami@YAMABIKO:~$ nmblookup toki
querying toki on 192.168.11.255
192.168.11.5 toki<00>

Windowsネットワークにブロードキャストメッセージを投げて、IPアドレスをもらう。

#!/bin/bash
#
# Rdesktop.sh
#
A=(`nmblookup $1`)
rdesktop -5 -f ${A[4]}

こんなシェルで、名前を解決してしまうとか。
LANが分かれていて、ブロードキャストメッセージは無理という場合は、

nmblookup -U WINSサーバアドレス '探すコンピュータ名'

という方法でも検索できます。
WINSサーバは、Linux で Samba を使ってそれをWINSサーバにしておけばよいです。



  • 最終更新:2012-06-13 22:18:19

このWIKIを編集するにはパスワード入力が必要です

認証パスワード