とあるエンジニアの備忘log
2013年5月31日金曜日
vnc で Ubuntu をリモート操作
Ubuntu でデスクトップをリモート操作します。 動作確認は Ubuntu 12.04 LTS と Ubuntu 13.04 でしました。 「お手軽編」と「ちゃんとする編」を紹介します。 ### お手軽編 ### vino(サーバー) と remmina (クライアント) を使います。 どちらも、たぶんデフォルトで入っていると思うので、インストールするパッケージはなし。 #### サーバー側 #### サーバー側で vino の設定をします。 メニューから「システムツール」 -> 「設定」 -> 「デスクトップの共有」を選びます。 (自分は Unity が好きではないので、 `gnome-session-fallback` を入れている。) 端末から起動する場合は $ vino-preferences と入力すると、設定ダイアログが出てくる。 「他のユーザーが自分のデスクトップを表示できる」と「他のユーザーがデスクトップを操作できる」にチェックを入れます。 「このマシンへの接続を毎回確認する」はチェックを外しておいた方がよいでしょう。 これにチェックが入っていると、クライアントから接続するときに、サーバー側に「別のユーザーがお使いのデスクトップを参照しているようです。許可しますか?」というダイアログが出てきます。 わざわざ、サーバー側まで歩いて行って、許可ボタンを押していると、遠隔操作の意味がほとんどなくなってしまいます。 誰でもデスクトップを操作できるのはよろしくないので、「パスワードの入力を要求する」にチェックをいれておくのがよいでしょう。このパスワードは、ログインパスワードとは別のようです。 #### クライアント側 #### それでは、クライアント側から接続してみます。 クライアント側のメニューで「インターネット」 -> 「Remmin リモートデスクトップ・クライアント」 を選びます。 もしくは端末から起動するなら $ remmina と入力します。 ダイアログが開くので、プロトコルから「VNC - 仮想ネットワークコンピューティング」を選びます。 あとは、「サーバー」と「ユーザー名」を入力して、「接続」ボタンを押すと接続できます。 「サーバー」の欄はホスト名かIPアドレスを入れます。「:0」は付けても付けなくてもよい。 #### 問題点 #### 以上で、とりあえずリモート操作はできるのですが、これでは問題もあります。 vino は daemon ではないので、サーバー側でユーザーがログインしてすでにデスクトップを表示していないと、クライアントからは接続できません。 つまり、デスクトップにログインするときはサーバーのところまで歩いていって、直接操作しないといけません。 ディスプレイマネージャーからログインできるようにするには、以下で紹介する方法を取ります。 ### ちゃんとやる編 ### #### サーバー側 #### サーバー側は x11vnc を使います。 $ sudo apt-get install x11vnc xinetd を入れる。 `/etc/xinetd.d/x11vnc` を以下の内容で作成する。 service x11vnc { type = UNLISTED disable = no socket_type = stream protocol = tcp wait = no user = root server = /usr/bin/x11vnc server_args = -inetd -o /var/log/x11vnc.log -display :0 -forever -bg -rfbauth /etc/vncpasswd -shared -enablehttpproxy -forever -nolookup -auth /var/run/lightdm/root/:0 port = 5900 flags = IPv6 } x11vncのパスワード設定 $ sudo x11vnc -storepasswd /etc/vncpasswd Enter VNC password: Verify password: Write password to /etc/vncpasswd? [y]/n y Password written to: /etc/vncpasswd xinetd を再起動 $ sudo service xinetd restart 念のため `netstat` で確認して 5900番をLISTENしていたら、サーバー側の設定はOKです。 $ netstat -a | grep 5900 tcp6 0 0 [::]:5900 [::]:* LISTEN #### クライアント側 #### クライアント側は、「お手軽編」で説明したのと同じで、 remmina で接続できます。 環境によるのでしょうが、たまに接続したと思ったらいきなりウィンドウが閉じて終了していまうことがありました。 remmina の「色数」のところが「256色」になっていると、異常終了することがあったので、最低でも「High color (15bit)」の設定にしました。 Ubuntu 12.04LTS にはないようですが、Ubuntu 13.04 には `vncviewer` というクライアントがあるようです。 $ sudo apt-get install vncviewer でインストールします。 $ sudo vncviewer HOST_NAME だけで使えます。なかなか使いやすいです。
0 件のコメント:
コメントを投稿
次の投稿
前の投稿
ホーム
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿