そこで使われるのがリモート接続を行うためのソフトウェアになります。この記事では代表的な方法について紹介します。なお、対象は同じローカルネットワーク内(オフィス、自宅など)とします。
GUIの有無で分かれる
まず基本的なところで、リモート接続はGUIとCUIのどちらになります。Raspbian Liteでセットアップした場合はCUIのみになるでしょう。GUIの場合、WindowsやmacOSのようにグラフィカルなインタフェースがあるので初心者でも分かりやすい一方、設置後は殆ど使うことがありませんので、余計な負荷がかからないように無効になっているかも知れません。
CUIの場合
グラフィカルなインタフェースがない場合、つまりCUIでの接続はSSHまたはTelnetになります。昨今ではTelnet接続することは殆どなく、SSH接続になるでしょう。SSH接続はターミナルと呼ばれるアプリケーションを使い、いわゆる黒い画面と呼ばれるものを操作します。マウスは用いず、キーボード操作になります。
Raspbianの場合、raspi-configというコマンドを使ってSSH接続を有効にしておく必要があります。具体的には次のような手順になります。
sudo raspi-config
と入力してエンターキー- Interfacing Options を選択
- SSH を選択
- Yes を選択
- Ok を選択
- Finish を選択
または次のコマンドを入力してもOKです。
sudo systemctl enable ssh sudo systemctl start ssh
利用できるコマンドはLinuxの入門書などが参考になります。最初は不慣れで分かりづらいかも知れませんが、覚えてしまうとCUIのようなきびきびと操作できて簡単になるでしょう。
GUIの場合
GUIの場合はいくつかの方法があります。結果は同じですが、通信手段(プロトコル)が異なります。
VNC
VNCはVirtual Network Computingの略です。Raspbianには元々RealVNCというVNCサーバがインストールされています。これは次の手順で有効化できます。
sudo raspi-config
と入力してエンターキー- Interfacing Options を選択
- VNC を選択
- Yes を選択(ソフトウェアのインストールがはじまります)
- Ok を選択
- Finish を選択
WindowsやmacOSから接続する際にはVNC Viewerが便利です。ダウンロードしたら起動して、パズパイのIPアドレスを入力すれば接続できます(IDとパスワードが必要です)。Raspbianのデスクトップが表示されれば問題ありません。
後はラズパイを再起動した後、vncserverコマンドでVNCサーバを起動します。
$ vncserver VNC(R) Server 6.7.2 (r42622) ARMv6 (May 13 2020 19:34:20) : Log file is /home/pi/.vnc/raspberrypi:1.log New desktop is raspberrypi:1 (192.168.0.31:1)
この場合ディスプレイ1で起動したので、VNC Viewerからも 192.168.0.31:1 として接続すれば画面が表示されます。
RDP
RDPはRemote Desktop Protocolの略になります。これはインストールされていませんので、ラズパイ側でソフトウェアのインストールが必要です。
sudo apt-get install xrdp sudo service xrdp restart
これでインストールされます。
Windowsでは標準でリモートデスクトップクライアントがインストールされています。Windowsのスタートメニューから「リモートデスクトップ接続」を探してください。起動したら、ラズパイのIPアドレスを入力してID、パスワードを入力すれば接続できます。
macOSはMicrosoft Remote Desktopを使うのがお勧めです。こちらも起動したらラズパイのIPアドレスを入力して接続します。
X Window System
X Window SystemはLinuxで昔から利用されているGUIを表示する仕組みになります。RaspbianでGUIを表示する仕組み自体がX Window Systemに則っています。
この場合、まずWindowsやmacOS側でX11サーバを立てます。Windowsの場合はVcXsrv、macOSの場合はXQuartzがオープンソース・ソフトウェアなので無償で利用できます。ラズパイ側の設定としては、 /etc/ssh/sshd_config
にてX11関連の設定が次のようになっているのを確認します。
X11Forwarding yes X11DisplayOffset 10
次に ssh -X
と Xオプションを付けてラズパイに接続します。後はラズパイ上でGUIのアプリケーションを起動すると、そのウィンドウをWindowsやmacOS側に送信してくれるようになります。
lxsession&
を使えばデスクトップデスクトップ環境も送れますが、簡易的なデスクトップ環境なので使い勝手がよくないかも知れません。Xオプションを使った方法の場合、アプリケーションの画面だけを送ってくれるので、最低限必要な情報(デスクトップ全体ではなく)だけを送ってくれるので軽量です。
まとめ
最近ではGUIを扱うとなるとVNCまたはRDPを利用することが多いようです。逆にデスクトップが不要な場合にはSSH接続が軽快で操作しやすいでしょう。こうしたリモート接続する環境は、ラズパイ本体をどこかに設置する前に整えておくのがお勧めです。目的に合わせて最適なリモート接続環境を準備してください。
]]>