DesignSpark Electrical Logolinkedin
Menu 検索
フォーラムで質問

Raspberry Piを別のPCからリモート操作

Raspberry Piにある程度慣れてくると、普段使用しているPCからRaspberry Piをリモート操作したいと思うようになると思います。そこで登場するのがVNC (Virtual Network Computing) です。 VNCは、ネットワーク上の別のPCにログインしGUI操作できるソフトで、異なるOSやPC以外の端末でも使用することができます。これを応用するとタブレットからRaspberry Piを操作したり出来るようになります。

以下にPCからRaspberry PiをGUI操作する方法をご紹介します。まず、PCとRaspberry Pi、双方がネットワークにつながっていることを確認してください。VNCではサーバ側とクライアント(ビューワー)型の2種類のツールを使用します。Raspberry Pi側にサーバソフト(X11VNC)を、PC側にクライアントソフトを、それぞれセットアップします。方法は以下の通りです。


・Raspberry Pi側での作業

まずX11VNCをRaspberry Piにインストールします。以下のコマンドを入力してください。

% sudo apt-get install x11vnc

いくつかの質問でYes/Noを聞かれるので「y」を選択。インストールが開始されます。少し時間がかかるかもしれません。インストールが完了したら、x11vncを起動する際のパスワードを設定します。以下のコマンドを入力します。

% x11vnc -storepasswd

「Enter VNC password」と出るので、任意のパスワードを入力してください。その後、このパスワードを保存していいか聞かれるので「y」を選択します。パスワードが設定されたら以下のコマンドでvncを起動してみましょう。

% x11vnc -usepw

英語のメッセージが表示された後、

The VNC desktop is:      raspverrypi:0

PORT=5900

と表示されるはずです。これは、Raspberry Piアクセス用のポートを5900番で開いていることを示しています。次にRaspberry Piが使用しているIPアドレスを確認しましょう。Raspberry Piのコマンドプロンプトで

% ifconfig

しましょう。必要なのは「inet」のアドレスです。イーサネットで接続している場合は「eth0」を、無線lanで接続している場合は、「wlan0」を、それぞれ確認してください。「inetアドレス」が記載されています。  192.xxx.xxx.xxx のようなアドレスだと思います。これをどこかにメモしておいてください。


・PC側での操作
VNCクライアントソフトをインストールします。今回は「ultra VNC」というツールを使用します。起動すると以下のような画面がでます。"VNC Server:"に先ほどメモしたIPアドレスとポート番号を、"192.xxx.xxx.xxx:5900"のように入力して、"Connect"をクリックしてください。



Passwordをきかれますので、先ほど設定したパスワードを入力して"Log On"をクリック。



これで接続完了です。PC上からRaspberry Piを操作することができます。


■ 詳細設定

①起動方法
先ほどの起動方法の場合、一度PC側を落とすと、Raspberry pi側のサーバーまでダウンしてしまいます。なので再度接続させたい場合、Raspberry Pi側でもう一度x11vncを起動する必要があります。これは非常に不便ですので、最初に以下のコマンドでサーバを起動することで、PC側で接続を終了させても、サーバを待機状態にしておくことができます。

% x11vnc -usepw -forever

②自動起動
Raspberry Piの起動時に自動でvncサーバーを立ち上げるようにしてみましょう。 「/home/pi/.config/autostart」に「x11vnc.desktop」というファイルを作成してください。ファイルの内容は以下を記載してください。

[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=X11VNC
Comment=
Exec=x11vnc -forever -display :0 -ultrafilexfer
StartupNotify=false
Terminal=false
Hidden=false

またRaspberry Piでxの自動起動をするように設定します。コマンドプロンプトで以下のコードを入力すると、設定画面が出ます。

% sudo raspi-config

"3 Enable Boot to Desktop/Scratch"を選択。

"Desktop Log in as user 'pi' at the graphical desktop"を選択。

これでRaspberry Pi起動時にVNCサーバーが自動で起動します。Raspberry Piにモニターを繋げる必要がなくなるので非常に便利です。

③無線LAN自動接続設定
Raspberry Piは初期設定では無線LANに自動接続しません。毎回接続のためのコマンドを入力する必要があります。でもせっかくVNCサーバーを自動起動するようにしので、無線にも自動接続するようにしましょう。こうすることで、専用モニタやキーボードを用意しなくても、外部PCから直接Raspberry Piを操作できるようになります。

% sudo vi /etc/network/interface

※「vi」の使い方がよくわからないという方は、「vi」の部分を「leafpad」に置き換えてください。leafpadであればメモ帳と同じように扱えるので戸惑うことはないと思います。
以下のように修正してください。

auto lo

iface lo inet loopback
iface eth0 inet dhcp

auto wlan0
allow-hotplug wlan0
#iface wlan0 inet manual
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

設定が完了したら再起動してください。再起動後に"ifconfig"で"wlan0"にIPアドレスが振られていたら成功です。

無線LANアダプタは電力消費が大きいため、動作が安定しないことがあります。セルフパワーUSBハブなどを購入するなどして対策することをおすすめします。

※リモートアクセスした際に画面サイズが小さい場合

% sudo vi /boot/config.txt

で以下の部分の#を外して有効化してください。

#framebuffer_width=1280
#framebuffer_height=720

これで再起動すれば画面サイズが大きくなるはずです。

以上です。

DesignSparkの日本語サイト公式アカウントです。DesignSparkシリーズのソフト、PCB Part library、技術記事などサイト上の全サービスの管理を行っています。

20 Feb 2017, 5:23