Ubuntuをインストールした環境へ、VNCを使ってリモートアクセスする方法をまとめてみます。基本的には、UbuntuにVNCサーバをインストールし、各種設定を行うだけなのですが、VNCサーバの設定ファイル作成が難しかったのでまとめておきます。
VNCサーバのインストール
vnc4serverパッケージをインストールします。あとは、ログインするユーザでVNCサーバを起動します。初回のみパスワードを尋ねられるので設定しVNCクライアントからログインします
user01@ubuntu:~$ vncserver You will require a password to access your desktops. Password: Verify: xauth: creating new authority file /home/user01/.Xauthority New 'ubuntu:1 (user01)' desktop is ubuntu:1 Creating default startup script /home/user01/.vnc/xstartup Starting applications specified in /home/user01/.vnc/xstartup Log file is /home/user01/.vnc/ubuntu:1.log
VNCクライアントでログインする時にIPアドレスとディスプレイ番号を指定する必要があるのですが、上記の起動結果からディスプレイ番号を確認しVNCクライアントに設定する。(上記結果では、番号1となるので、192.168.0.1:1と指定する。)また、VNCサーバの停止には、次のコマンドを実行する。
user01@ubuntu:~$ vncserver -kill ubuntu:1
最後にスタート用のシェルのリンクを作成します。このファイルは、上記手順でVNCサーバを起動した時に自動作成されますが、うまく動かないようようです。VNCでクライアントからログインした後、画面が表示されないなどのトラブルがあるようです。そのため、次のコマンドでリンクを作成します。
user01@ubuntu:~$ cd .vnc/ user01@ubuntu:~/.vnc$ rm xstartup user01@ubuntu:~/.vnc$ ln -s /etc/X11/Xsession xstartup
VNCクライアントから直接ログインする設定
このままだと、VNCで画面を表示するまでに一度、ubuntuにターミナルなどでログインしてから、VNCサーバを起動したあとVNCクライアントでubuntuにアクセスしなければなりません。VNCクライアントで直接ログインするためには、xinetdを使用する必要があります。また、使用するポートの設定を行うため、「/etc/services」ファイルの設定も行います。
パッケージ「xinetd」をインストールします。インストール完了後、設定ファイルを作成します。「/etc/xinetd.d/xvnc」を新規作成し、次の内容を記載します。
service xvnc
{
disable = no
socket_type = stream
wait = no
user = nobody
group = tty
server = /usr/bin/Xvnc
server_args = -inetd -geometry 1280x1024 -depth 24 -query localhost -once PasswordFile=/etc/passwd_vnc -extension XFIXES
}
次にvncクライアントからvncサーバにアクセスするときに使用するパスワード設定ファイルを作成します。作成するファイルは、「/etc/xinetd.d/xvnc」ファイルで設定した「/etc/passwd_vnc」ファイルです。作成方法は、次のとおり。
root@ubuntu:~# vncpasswd /etc/passwd_vnc Password: Verify: root@ubuntu:~# chown nobody.tty /etc/passwd_vnc
使用するポートを設定するために「/etc/services」を編集します。ファイルの最後に次の1行を足します。
xvnc 5900/tcp # VNC Server
あとは、次のコマンドでxinetdを再起起動します。
root@ubuntu:~# /etc/init.d/xinetd restart
gdmの設定を行うために、「/etc/gdm/gdm.conf-custom」を編集します。[xdmcp]の下に「Enable=true」を設定しgdmを再起動します。
root@ubuntu:~# /etc/init.d/gdm restart
VNCクライアントからログインするのですが、今度は起動時にディスプレイ番号を指定する必要がありません。IPアドレスのみ指定しVNCクライアントを起動します。
- 新しい記事: Debian-etchへバージョンアップ
- 古い記事: edコマンドの使い方