- 追加された行はこの色です。
- 削除された行はこの色です。
#freeze
vnc は リモートで他のコンピュータのデスクトップを操作できるソフト。&br;
サーバ、クライアント共にフリーソフト。Linux、Windows などに対応。
ここは Linux(Fedora 12)をサーバ、Windows をクライアントとしたときの設定手順をメモ。
#contents
** GNOME の機能を使用する方法 [#yba314c2]
GNOME にはデフォルトで vino という VNC の機能がある。これを利用する。
*** サーバ側の設定 (Fedora) [#a5cd8d70]
+ リモート接続して操作するユーザでログインする。
+ 「システム」→「管理」→「ファイアウォール」を開く。
+ 画面左ペインで「その他のポート」を選択。
+ 画面右ペインで「追加」を押して 5900 番(vnc-server)を選択して「OK」。&br;
一応、TCP と UDP の両方を追加しておく。
+ 「適用」を押してからファイアウォールの設定画面を閉じる。
+ 「システム」→「設定」→「リモートデスクトップ」を開く。
+ 「共有」の設定で「他のユーザが自分のデスクトップを表示できる」と「他のユーザがデスクトップを操作できる」にチェックを入れる。&br;
&ref(vnc_001.png);&br;
+ 「セキュリティ」の設定を以下のようにする。
-- 「このマシンへの接続を毎回確認する」は、リモート接続する度に確認ウィンドウが表示され、そこで許可して初めてリモート操作できるようになる。リモート操作したいのだから、大抵サーバ側は直接操作しないわけで、ここのチェックはOFFで。
-- 「パスワードの入力を要求する」は、セキュリティをかけたければ設定する。
-- 「他から接続できるように自動的にネットワークを設定する」はよくわからないのでOFFで。
+ 「通知スペース」の設定は、サーバ側の画面の表示の設定なので、お好みで。
+ 「閉じる」で設定完了。
*** クライアント側の設定 (Windows) [#ra4c614e]
+ クライアントソフトを入手。&br;
--[[UltraVNC:http://www.uvnc.com/]]
--- [[ダウンロード:http://www.uvnc.com/download/index.html]]&br;
Windows 側をサーバにするつもりがなければ Viewer のみで OK。
+ セットアップのウィザードに従ってインストール。&br;
大抵全てデフォルトのままで OK。
+ VNC Viewer を起動。&br;
&ref(vnc_002.png);&br;
+ 「VNC Server」に接続先の IP アドレスかホスト名を入力して「Connect」。&br;
オプションは全てデフォルトでいけるはず。
これで操作できるはず。
*** 備考 [#hea312d7]
- この機能では、あらかじめサーバ側にユーザがログインしている必要がある。
** VNC を直接使用する方法 [#x7cc0ac8]
vino の方法だと、あらかじめログインしている必要があるが、直接 VNC を設定すれば、ログインしてなくてもリモート接続できる。
*** サーバ側の設定 (Fedora) [#q005996d]
+ スーパーユーザになる。
$ su -
+ vnc-server をインストール。&br;
# yum install vnc-server
+ パスワードを設定。
# vncpasswd
# Password:
# Verify:
確認のため、2回入力。これで /root/.vnc の下に passwd が作成される。&br;
+ 「システム」→「管理」→「ファイアウォール」を開く。
+ 画面左ペインで「その他のポート」を選択。
+ 画面右ペインで「追加」を押して、ユーザ定義で 5901 番以降のポートを追加する。&br;
-- VNC は 画面ごとに 5900 + 画面番号 のポートを開くので、画面番号に対応するポート番号を解放しておく必要がある。
-- 例えば 画面番号「:1」の場合、ポート 5901 が使用される。
-- ここはとりあえず 5901 を追加しておく。
+ 「適用」を押してからファイアウォールの設定画面を閉じる。
+ vncserver を起動する。&br;
# vncserver -geometry 800x600
geometry はクライアントでの画面サイズのオプション指定。特に指定しなくても OK。
これで次のようなログが表示される。
New 'fedora12.local:1 (root)' desktop is fedora12.local:1
Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/fedora12.local:1.log
"fedora12.local" というのは私のマシン名で、その後「:1」というのが画面番号。クライアント側ではこの名称を指定する。
VNC サーバを終了するときは
# vncserver -kill :1
で。最後の「:1」は、起動時に表示される画面番号。
*** クライアント側の設定 (Windows) [#va1569d3]
+ インストールまでは GNOME(vino)の手順と同じ。
+ VNC Viewer を起動。
+ 「VNC Server」に「(接続先の IP アドレス or ホスト名):(画面番号)」の形式で入力。
-- 例えば「192.168.2.18:1」など。
+ 「Connect」を押す。
+ パスワード入力画面が表示されるので、サーバで設定したパスワードを入力。
これでいけるはず。
*** 備考 [#y9e1450c]
- 上記は root でのログインとなるので、ユーザでログインする場合は、各ユーザ権限で上記と同じ設定をすれば OK。その場合は「/home/(ユーザ名)/.vnc」の下にパスワードなどの設定が保存される。
- vino の場合は、今開いている画面を直接操作する(サーバ側の画面を見ると、マウスカーソルが勝手に動いてるようにみえる)のに対し、こちらの VNC 直接の場合、今開いている画面に関係なく、別途リモート用の画面をクライアント側に転送している感じになる(サーバの画面からクライアント側の操作は見えない)。
- Fedora 12 ならデフォルトで GNOME が起動したが、以前のバージョンだと twm などが起動する模様。それを GNOME など他の WM に変更する場合は、「/root/.vnc」または「/home/(ユーザ名)/.vnc」の下につくられている「xstartup」というスクリプトファイルを編集してやる必要がある。GNOME の場合の例は以下。&br;&br;
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#↓ここをコメントアウト
#twm &
#↓これを追加
exec gnome-session &
** xinetd を使用する方法 [#bcf759c6]
上記の方法では、サーバ側で vnc-server を手動で起動する必要がある。
特にリモートの場合 telnet でログインして vnc-server を起動後にデスクトップを起動するという二度手間になる。これを OS を起動するだけで VNC が使用できるようにできたら、尚便利なはず。
*** サーバ側の設定 (Fedora) [#q005996d]
+ スーパーユーザになる。
$ su -
+ vnc-server をインストール。&br;
# yum install vnc-server
+ xinitd をインストール。&br;
# yum install xinitd
+ VNC サービスの設定ファイルをつくる。
-- /etc/xinetd.d の下に vnc-server というファイル(ファイル名は何でも良い)をつくって以下のように書く。&br;
service vnc-server
{
disable = no
nice = 10
flags = REUSE
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 1024x768 -depth 16 --securitytypes=none
log_on_success += DURATION
log_on_failure += HOST
}
service の名称は何でも良いが、後述の /etc/services の内容に合わせること。&br;
※各パラメータは [[VNC Serverをxinetd経由で立てる方法:http://mo.kerosoft.com/0123]] を参考にさせてもらいました。
+ サービスの設定を追加する。
-- /etc/services を開いて、次の設定を追加する。&br;
vnc-server 5900/tcp # VNC Server
この名前は 4 の service の名称に合わせること。
+ ファイアウォールの 5900 番を開放する。&br;
やり方は上記を参考に。
+ /etc/gdm/custom.conf を開いて、次のように書く。(Fedora 12 だと、デフォルトで内容が全部空っぽ)&br;
# GDM configuration storage
[xdmcp]
Enable=true
[chooser]
[security]
DisallowTCP=false
AllowRemoteRoot=false
[greeter]
IncludeAll=false
[debug]
+ これでシステムを再起動すれば、xinetd で VNC が起動する。
*** クライアント側の設定 (Windows) [#va1569d3]
+ インストールまでは GNOME(vino)の手順と同じ。
+ VNC Viewer を起動。
+ 「VNC Server」に接続先の IP アドレス or ホスト名を入力。&br;
※この場合、画面番号の指定は不要。
+ 「Connect」を押す。
+ ログイン画面(ユーザ選択画面)が表示されるので、任意のユーザでログイン。
多分、この方法が一番スマート。
** 参考 [#o65cdadd]
- [[FedoraにVNCサーバを設定する - adsaria mood:http://d.hatena.ne.jp/adsaria/20080521/1211352828]]
- [[リモートデスクトップ接続(VNC)(はじめての自宅サーバ構築):http://kajuhome.com/vnc.shtml]]
- [[VNC Serverをxinetd経由で立てる方法:http://mo.kerosoft.com/0123]]
-----
[[リモートデスクトップ メモ]]