cayman-5’s TechStudio

テクノロジーを源泉に世の中に本質的な価値のあるものを作り、浸透させたい。サービスの企画・開発からグロースまで一貫したプロダクトマネジメントが強み。価値を宿すプロダクト作りを信条に。グロースハック/プロダクトマネジメント/RaspberryPi/フィジカルコンピューティング/IoT/Rails/PHP/Python/Google Analytics/Google Tag Manager/Google Optimize エンジニアリングバックグラウンドで今はとあるIT企業で事業部長兼プロダクトマネージャ。個人

はじめてのRaspberryPi(Debian Jessie)-(2)-リモートアクセス・GUIでの遠隔操作-

cayman-5-tech.hatenablog.com

今回は上記前回の記事で初期設定をしたRaspberryPi2にリモートからアクセスしGUIで遠隔操作できる状態にまでカスタマイズしていこうと思います。

Raspberry Piには色んな使い方があります。普通のデスクトップPCみたいにディスプレイやマウス、キーボードを用意して使う場合もありますが様々な制約の中でそれらのデバイスを利用することができない環境もあると思います。

そもそもRaspberry Piをいじるためにわざわざディスプレイやマウスをつなぐのが面倒くさいと思いませんか?

今回紹介する方法を使えばネットワークに繋がってさえいればほかのPCからRaspberry Piにネットワーク越しにアクセスして遠隔操作が可能になります!!!

そうすればRaspberry PiにはLANケーブルと電源アダプタさえつなげば操作が可能になりますね!すごく楽です!

ちなみにオススメとしては無線LANアダプタを設定して無線でネットワークに繋げる状態にしておくことです(無線設定は後日ブログで紹介します)RaspberryPiから出るケーブルは電源ケーブルだけになるので見た目もすっきりします!!

今回紹介する方法でラズベリーパイの遠隔操作に挑戦してみましょう!

今回大まかにやることは - LanScan or NetEnumのインストール - SSHでのリモートログイン - tightvncserverを用いたGUIでの遠隔操作 - chkconfigによるサービスの自動起動

の4つです!

設定の前にRaspberry PiはLANケーブルをつないでネットワークにつながってる状態にして電源ケーブルを挿し、起動させてください。

LanScan or NetEnumのインストール

まずはお手持ちのコンピュータにネットワークスキャナーソフトをインストールしましょう

Macであれば「LanScan」

LanScan

LanScan

  • iwaxx Sarl
  • ユーティリティ
  • 無料

Windowsであれば「NetEnum」

www.forest.impress.co.jp

がおすすめです!

私はMac環境なのでLanScanを使ってます。 それぞれリンク先からダウンロードしてください。

これはネットワークスキャナと言って同じネットワークにつながっている機器のIPアドレスMACアドレスなどの情報を調べるためのツールです。ネットワークにつながっている機器にはルーターからIPアドレスと言う値が割り当てられているのですがリモートでRaspberry PiにアクセスするときにRaspberry Piに割り当てられているIPアドレスを知る必要があるため、今回このようなツールを利用します。

それではダウンロードしたツールを使ってスキャンを行ってみましょう! お手持ちのPCとRaspberry Piが同じネットワークにつながっていることを確認してScanスタートボタンを押します。

f:id:cayman-5:20151103052051p:plain

するとこのように各機器に割り当てられているIPアドレスが一覧できます!

f:id:cayman-5:20151103051445p:plain

右側のVendor欄にRaspberry Pi Foundationと記載されている行の左側のIPアドレスがあなたのRaspberry PiのIPアドレスです!

もし見当たらない場合はRaspberry Pi、お手持ちのコンピュータともに同じネットワークに接続されているか確認してください。

今回そのRaspberry Piに割り当てられているIPアドレスを用いて各種設定を行います。

SSHでのリモートログイン

ここでは先ほど調べたIPアドレスを利用してSSHという方法でお手持ちのコンピュータからRaspberry Piにリモートログインをしてみましょう。 SSHとは詳しくは割愛しますが、暗号や認証の技術を利用して、安全にリモートコンピュータと通信する手段でリモートアクセスでは非常によく使われる方法です。

(注意:NOOBS1.4.2以降のraspian(jessie)ではデフォルトでSSHが使用可能になってますがそれ以前のraspianではconfig画面からsshをenableにして利用可能にしないとSSHはできません) まずお手持ちのMacでターミナルを起動します。(Windowsはやり方が違うので割愛しますがCigwinなどを使ってSSH接続をします) ここで先ほど調べたRaspberry PiのIPアドレスを使ってたったひとつのコマンドを打つだけでリモートログインができちゃいます!

そのコマンドはsshというコマンドで

ssh リモート先でのユーザー名@リモート先IPアドレス

という形です。defaultではRaspberry Piのユーザー名はpiなので

ssh pi@先ほど調べたラズパイのIPアドレス

という形になります。

今回私の環境ではラズパイのIPアドレスが192.168.10.2なので入力コマンドは以下のようになります。

以下入力コマンド

ssh pi@192.168.10.2

f:id:cayman-5:20151103051214p:plain

みなさんは@の後ろはネットワークスキャナを使って調べたラズパイのIPアドレスを入力してください! そうするとパスワードを聞かれますがこれはPiユーザーのパスワードなのでデフォルトではraspberryです。初期設定の時にパスワードを変更した人はその変更後のパスワードを入力してください。

(もし途中でyesかnoか聞かれた場合はyesを入力してください)

すると以下の様な文字列が現れて

pi@raspberrypi ~ $

と表示されていればSSHでのリモートログイン成功です!

f:id:cayman-5:20151103051211p:plain

どうでしょうか?すごく簡単ではありませんか?

これはRaspberry Piのこの画面にいるのと全く同じ状況です。

f:id:cayman-5:20151103051207p:plain

このようなターミナルのことをCUIというのですがSSHを用いることでリモートにあるコンピュータのCUI環境にログインして操作ができるということです。

これでRaspberry PiのCUIにリモートログインして操作することができました!

tightvncserverを用いたGUIでの遠隔操作

では先ほどご紹介したSSHにてリモートログインした状態で今度はGUI画面で操作ができるtightvncserverというソフトを設定していきましょう!

ターミナルでSSHにてリモートログインした状態で

sudo apt-get install tightvncserver

と入力してエンター。tightvncserverというソフトをインストールします。 途中はYを押してエンター。

インストール終了後にターミナルに

tightvncserver

入力して実行し、tightvncserverを起動します。

すると初回は以下のようにパスワード設定を促されるのでお好きなパスワードを設定しましょう。GUIでリモートログインするときに使います。 view onlyは特に使わないと思うのでnにしておきましょう。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

You will require a password to access your desktops.

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

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

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

するとこのような文字が表示され、tightvncserverが起動します。

これでリモートでのGUIによる遠隔操作の準備は完了です!

それではMacのFinderのメニューバーからFinder→移動→サーバーへ接続を選択。

f:id:cayman-5:20151103051212p:plain

出てきた画面のサーバアドレスのところに

f:id:cayman-5:20151103052318p:plain

vnc://pi@ラズパイのIPアドレス(例:192.168.10.2):5901

と入力し接続を押す。

そうするとパスワード入力画面がでてくるので先ほど設定したパスワードを入力。

すると。。。

どーん!

f:id:cayman-5:20151103051209p:plain

Raspberry Piのデスクトップ画面がMac上に現れました!!!

若干鈍さもありますがこれでmacからRaspberry Piへリモートで接続して遠隔操作ができます!!すごい!!

これでsshもしくはtightvncserverを使えばいつでも手持ちのパソコンからRaspberry Piにリモートログインして遠隔操作ができます!

chkconfigによるサービスの自動起動

最後はオプションになりますがchkconfigを用いてサービスの自動起動設定を行います。サービスの自動起動というのはRaspberryPiの電源を入れるのと同時に特定のサービスを起動させることです。

それを管理するのがchkconfigというもので今回はtightvncserverをRaspberry Piの起動と同時に動作させるように設定します。これをしないとGUIで遠隔操作したい場合Raspberry Piを起動する度に一度SSHでログインしてtightvncserverを起動してからGUIでリモートログインという二度手間になるので。。。

まずRaspberryPiのターミナルからchkconfigをインストールします。

以下入力コマンド

sudo apt-get install chkconfig

chkconfigを使う場合は基本的に

chkconfig サービス名 on

でサービスの自動起動設定ができるのですがtightvncserverの場合は少し事前準備が必要です。

以下のコマンドを一行ずつRaspberry Piのターミナル上から実行してください。

wget http://www.penguintutor.com/otherfiles/tightvncserver-init.txt
sudo mv tightvncserver-init.txt /etc/init.d/tightvncserver
sudo chmod 755 /etc/init.d/tightvncserver
sudo chown root:root /etc/init.d/tightvncserver

最後に先ほど説明した形で

sudo chkconfig tightvncserver on

と入力し実行して無事完了です。

Raspberry Piを再起動し、再起動後にFinderのサーベーへ接続からVNCでリモートログインができるか試してみてください!

次回は無線LANでのネットワーク接続について説明します。

cayman-5-tech.hatenablog.com

もし気に入っていただけたらはてブ、シェアお願いします\(^o^)/