Raspberry Pi(ラズパイ)にリモートから接続する

Raspberry Pi(以下ラズパイ)のセットアップを行う際にはディスプレイを付けて、USBキーボードやマウスで操作を行うかと思います。しかし一旦セットアップが終わったり、実際に利用する場所に固定してしまうと、そうしたデバイスを接続するのは困難です。

そこで使われるのがリモート接続を行うためのソフトウェアになります。この記事では代表的な方法について紹介します。なお、対象は同じローカルネットワーク内(オフィス、自宅など)とします。

GUIの有無で分かれる

まず基本的なところで、リモート接続はGUIとCUIのどちらになります。Raspbian Liteでセットアップした場合はCUIのみになるでしょう。GUIの場合、WindowsやmacOSのようにグラフィカルなインタフェースがあるので初心者でも分かりやすい一方、設置後は殆ど使うことがありませんので、余計な負荷がかからないように無効になっているかも知れません。

CUIの場合

グラフィカルなインタフェースがない場合、つまりCUIでの接続はSSHまたはTelnetになります。昨今ではTelnet接続することは殆どなく、SSH接続になるでしょう。SSH接続はターミナルと呼ばれるアプリケーションを使い、いわゆる黒い画面と呼ばれるものを操作します。マウスは用いず、キーボード操作になります。

Raspbianの場合、raspi-configというコマンドを使ってSSH接続を有効にしておく必要があります。具体的には次のような手順になります。

  1. sudo raspi-config と入力してエンターキー
  2. Interfacing Options を選択
  3. SSH を選択
  4. Yes を選択
  5. Ok を選択
  6. Finish を選択

または次のコマンドを入力してもOKです。

sudo systemctl enable ssh
sudo systemctl start ssh

利用できるコマンドはLinuxの入門書などが参考になります。最初は不慣れで分かりづらいかも知れませんが、覚えてしまうとCUIのようなきびきびと操作できて簡単になるでしょう。

GUIの場合

GUIの場合はいくつかの方法があります。結果は同じですが、通信手段(プロトコル)が異なります。

VNC

VNCはVirtual Network Computingの略です。Raspbianには元々RealVNCというVNCサーバがインストールされています。これは次の手順で有効化できます。

  1. sudo raspi-config と入力してエンターキー
  2. Interfacing Options を選択
  3. VNC を選択
  4. Yes を選択(ソフトウェアのインストールがはじまります)
  5. Ok を選択
  6. 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接続が軽快で操作しやすいでしょう。こうしたリモート接続する環境は、ラズパイ本体をどこかに設置する前に整えておくのがお勧めです。目的に合わせて最適なリモート接続環境を準備してください。

]]>

上部へスクロール