見出し画像

Raspbianのセットアップ5 〜リモートデスクトップの設定

はじめに

あらかた設定も終わり、いよいよリモートデスクトップ接続の設定をしていきます。
TightVNCとxrdp入れてMicrosoftのリモートデスクトップができるように...と思ったのですが、Windowsタブレットを使っていたときとは使い方も違っているので、単純に手間だけを考えてTightVNCだけ入れることにしました。

iPadで接続したくなったらxrdp入れて、その時考えればいいやということで。

TightVNCのインストール

RaspbianにTightVNCをインストールします。

pi@raspberrypi:~ $ sudo apt-get install tightvncserver

起動します。初回起動なのでパスワード設定を求められるので入力します。

pi@raspberrypi:~ $ tightvncserver

You will require a password to access your desktops.

Password: 
Verify:   
Would you like to enter a view-only password (y/n)? y
Password: 
Verify:   

New 'X' desktop is raspberrypi:1

Creating default startup script /home/pi/.vnc/xstartup
Starting applications specified in /home/pi/.vnc/xstartup
Log file is /home/pi/.vnc/raspberrypi:1.log

起動できたか、ログファイルとポートの状態を確認します。

pi@raspberrypi:~ $ cat /home/pi/.vnc/raspberrypi\:1.log 
16/11/18 20:12:09 Xvnc version TightVNC-1.3.9
16/11/18 20:12:09 Copyright (C) 2000-2007 TightVNC Group
16/11/18 20:12:09 Copyright (C) 1999 AT&T Laboratories Cambridge
16/11/18 20:12:09 All Rights Reserved.
16/11/18 20:12:09 See http://www.tightvnc.com/ for information on TightVNC
16/11/18 20:12:09 Desktop name 'X' (raspberrypi:1)
16/11/18 20:12:09 Protocol versions supported: 3.3, 3.7, 3.8, 3.7t, 3.8t
16/11/18 20:12:09 Listening for VNC connections on TCP port 5901
Font directory '/usr/share/fonts/X11/Type1/' not found - ignoring
Font directory '/usr/share/fonts/X11/75dpi/' not found - ignoring
Font directory '/usr/share/fonts/X11/100dpi/' not found - ignoring
xrdb: No such file or directory
xrdb: can't open file '/home/pi/.Xresources'
AUDIT: Fri Nov 16 20:12:11 2018: 10734 Xtightvnc: client 7 rejected from local host
pi@raspberrypi:~ $ netstat -nlt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:6001            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
pi@raspberrypi:~ $ 

これだけでOKです。
ここまでの苦労を考えると拍子抜けします。
MacからVNCで接続してみます。
Cmd+Kでサーバ接続画面を出して"vnc://192.168.1.10:5901"と入力します。
ポート番号5901は"netstat -nlt"でLISTENになっていたもので、ポート番号5900の画面1という意味があるそうです。ポート番号5900はVNC用に予約されています。→TCPやUDPにおけるポート番号の一覧(wiki)

画像1

パスワードを求められるので入力します。

画像2

画像3

できました。

自動起動設定

ラズパイ起動時にTightVNCが自動で起動するようにします。
/etc/init.d/vncbootというファイルを作ります。
画面サイズは1440x900、色は24に設定することにします。
(ただ1440x900だとブラウザのスクロールなどでレスポンスが悪くカクカクする場合があります。VNCで使うバッファーサイズ等を見直すといいのかもしれませんが、今はおとなしく1280x720の画面サイズにしています。これが一番手っ取り早い。)

pi@raspberrypi:~ $ sudo nano /etc/init.d/vncboot
pi@raspberrypi:~ $ sudo cat /etc/init.d/vncboot
#! /bin/sh    

### BEGIN INIT INFO
# Provides: vncboot
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start VNC Server at boot time
# Description: Start VNC Server at boot time.
### END INIT INFO

# /etc/init.d/vncboot

USER=pi
HOME=/home/pi

export USER HOME

case "$1" in
   start)
       echo "Starting VNC Server"
       #Insert your favoured settings for a VNC session
       su $USER -c '/usr/bin/vncserver :1 -geometry 1440x900 -depth 24'
       ;;

   stop)
       echo "Stopping VNC Server"
       su $USER -c '/usr/bin/vncserver -kill :1'
       ;;
   *)
       echo "Usage: /etc/init.d/vncboot {start|stop}"
       exit 1
       ;;
esac

exit 0
pi@raspberrypi:~ $

パーミッションが644で実行権限"x"がないので755に変更します。

pi@raspberrypi:~ $ sudo ls -l /etc/init.d/vncboot
-rw-r--r-- 1 root root 765 Nov 16 20:38 /etc/init.d/vncboot
pi@raspberrypi:~ $ sudo chmod 755 /etc/init.d/vncboot

自動起動に登録します。認証をpiで行くかrootでいくか尋ねられます。2のrootだとパスワードを入れても失敗したので1でパスワードを入力しました。

pi@raspberrypi:~ $ update-rc.d vncboot defaults
==== AUTHENTICATING FOR org.freedesktop.systemd1.reload-daemon ===
Authentication is required to reload the systemd state.
Multiple identities can be used for authentication:
1.  ,,, (pi)
2.  root
Choose identity to authenticate as (1-2): 1
Password: 
==== AUTHENTICATION COMPLETE ===
pi@raspberrypi:~ $

パーミッションを確認すると755で実行権限がついていました。
さてリブートしてまた確認します。

pi@raspberrypi:~ $ sudo ls -l /etc/init.d/vncboot
-rwxr-xr-x 1 root root 765 Nov 16 20:38 /etc/init.d/vncboot
pi@raspberrypi:~ $ sudo reboot

SSHで接続してポートが開いているか確認します。

pi@raspberrypi:~ $ netstat -nlt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
pi@raspberrypi:~ $ 

あれ?5901が開いていない。どうも自動起動に失敗したようです。
しょうがないのでもう一度updateをしてみます。

pi@raspberrypi:~ $ sudo update-rc.d vncboot defaults
pi@raspberrypi:~ $ 

前回みたく認証のことを尋ねられることもなく完了...リブートしてもう一度確認します。何だったんだろう?

pi@raspberrypi:~ $ netstat -nlt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:6001            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
pi@raspberrypi:~ $ 

うまくいきました。
ポート6001が開いているけれどなんだろう?あとで調べてみます。
リモートデスクトップ接続します。

画像4

ウィンドウサイズも大きくなって成功です。

TightVNCでラズパイを操作した感想

文字入力とかマウスクリックはまぁ使えますが、
ブラウザなどのスクロールはカクカクする!
Youtube?なに寝言言ってるの?
って感じでした。

他にいいリモートデスクトップアプリはあるのか?

anydeskをインストールして見ましたが、Raspberry Pi 3B+には重荷なようで、マウス操作が反映されるまで20秒くらいかかり、そっとアンインストール...

いいなと思ったら応援しよう!