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)
パスワードを求められるので入力します。
↓
できました。
自動起動設定
ラズパイ起動時に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が開いているけれどなんだろう?あとで調べてみます。
リモートデスクトップ接続します。
ウィンドウサイズも大きくなって成功です。
TightVNCでラズパイを操作した感想
文字入力とかマウスクリックはまぁ使えますが、
ブラウザなどのスクロールはカクカクする!
Youtube?なに寝言言ってるの?
って感じでした。
他にいいリモートデスクトップアプリはあるのか?
anydeskをインストールして見ましたが、Raspberry Pi 3B+には重荷なようで、マウス操作が反映されるまで20秒くらいかかり、そっとアンインストール...