スマートフォンの画面にラズベリーパイのデスクトップを表示してみよう!
Windowsからのリモートアクセスについては第16回記事でも紹介していますが、今回はiPhoneからの操作をしてみたいと思います。スマホなのでもちろん指で触れます!ネットワークを介してタッチパネル化して、ラズベリーパイの使い勝手を更に向上させたいと思います!
VNCとは?
Virtual Network Computing – Wikipedia
Virtual Network Computing(ヴァーチャル・ネットワーク・コンピューティング、略称VNC)は、ネットワーク上の離れたコンピュータを遠隔操作するためのRFBプロトコルを利用する、リモートデスクトップソフトである。このソフトウェアはサーバソフトと、クライアント(もしくはビューア)ソフトの2つに分かれている。
操作される側でサーバソフトを起動しておき、遠隔操作する側はクライアントソフトを起動させ接続、遠隔操作を行う。
今回の場合は、ラズベリーパイが「サーバ」、iPhoneが「クライアント」の役割になりますね。また、それぞれにソフトを準備する必要があります。
VNC (Virtual Network Computing) – Raspberry Pi Documentation
VNCについては、ラズベリーパイ公式サイトにドキュメントがありました。このページでは「tightvncserver」というパッケージのインストールから自動実行までの手順が紹介されています。今回はこのドキュメントに沿って、「tightvncserver」を「サーバソフト」として使ってみましょう!
ラズベリーパイ側の準備
tightvncserver – Debianパッケージ
VNC は、Virtual Network Computing の略です。要するに、これは起動中のマシン 上だけでなく、インターネット上のどこからでも、幅広いマシンアーキテクチャの マシンから、「デスクトップ」環境を閲覧可能なリモートディスプレイシステムです。
まずはラズベリーパイの下準備。「tightvncserver」パッケージをインストールしましょう。
apt-get install tightvncserver
「tightvncserver」はRaspbianのプリインストールソフトではありませんが、「xrdp」など、リモートアクセス用のパッケージを既にインストールしている場合は、一緒にインストールされている事があります。
インストールが終わったら、ヘルプを表示して、コマンドを確認しておきましょう。
終了させるときは「-kill」オプションを使うようですね。「DISPLAY#」というのは、VNCのディスプレイ番号です。番号の前に「:(半角コロン)」を付けて記述します。のちほど何度か登場するので、この書式を覚えておきましょう。
それでは早速起動します!
tightvncserver
起動コマンドはこれだけでOKです。初回実行時は、パスワードの登録が必要となります。
You will require a password to access your desktops.
Password:
このように表示されるので、確認用を含めて、設定したいパスワードを2回入力します。
ちなみに、パスワードの文字数は6~8文字となっています。5文字以下の文字列を入力した場合は「Password too short」と表示され、登録されずに終了します。反対に、9文字以上入力した場合は「Warning: password truncated to the length of 8.」と表示され、8文字目までに切り詰めたパスワードが登録されます。
このパスワードはアプリから接続する際に使用するので、覚えておきましょう。
Would you like to enter a view-only password (y/n)?
1つ目のパスワード設定が終わると、閲覧専用のパスワードを作るかどうか聞かれます。必要であれば「y」を入力し、先程と同じように、6~8文字までのパスワードを設定します。
New 'X' desktop is raspberrypi:1
このメッセージが表示されたら、準備完了!
末尾の数字は、今起動したVNCの「ディスプレイ番号」です。VNCを停止するときや、アプリ側から接続する際に使用する数字となります。
ドキュメントではディスプレイ番号は「0」となっていますが、実際にやってみたところ「1」からスタートしてしまいました。他の
ip a
ここで、IPアドレスも確認しておきます。スマートフォンを使用するので、Wi-Fi接続ができる回線で接続しておきましょう。
ドキュメントはまだ続きますが、ここまでできればとりあえずOK!(続きは次回!)
それでは、クライアントソフトの設定に移りましょう!
iPhone側の設定
VNCの「クライアント」には、iPhone端末を使用します。VNCアプリは多数ありますが、今回は「VNC Viewer」というアプリを使用することにしました。
VNC Viewer – itunes
VNC Viewer for iOS
無料で使えてとっても高機能!(以前は有料アプリだったようですね!)
表記は英語ですが、操作説明のイラストが分かりやすく、簡単に操作する事ができました。アンドロイド版も公開されています。
「VNC Viewer」をインストールしたら、アプリを立ち上げ、右上の「+」ボタンをタップします。
設定画面が表示されるので、「Address」欄にIPアドレスとディスプレイ番号を、半角コロン「:」区切りで入力します。
(例)192.168.0.7:1
「Name」欄は、任意の名前を付けておきます。入力が終わったら、右上の「Save」ボタンをタップして完了です。
接続先の登録が完了すると、このような画面に切り替わります。真ん中の「Connect」をタップすると、接続が開始されます。暗号化に関する警告が出ることがありますが、そのまま接続を続けます。
無事に接続されると、パスワード入力画面が表示されますので、先程ラズベリーパイ側で設定したパスワードを入力します。そして「Done」をタップすると……
スマホの中に、ラズベリーパイのデスクトップ画面が!
これでラズベリーパイの中身を直接触ることができます!
VNC Viewerの画面説明
画面は、基本的には横向きにしたほうが見やすいです。ピンチインで拡大することもできます。
触れた位置ではなく、マウスカーソルの位置が操作対象となります。
画面の下から上へスワイプすると、図のようにツールバーが表示されます。このバーを固定表示させたい場合は、一番左のピンマークをタップします。
詳しい使い方は、右から二番目の「?」アイコンから表示できます。
イラスト付きで分かりやすい!基本的な操作方法はスマートフォンやタブレットと同じですね。
苦戦したのは、右の画像の上から4番目、ダブルタップ&ドラッグ。文字列をドラッグするときや、ウインドウを拡大縮小するときにこの操作を使用するのですが、慣れない動きなので、コツを掴むのに一苦労しました。
残り4つのアイコンについて、左から順番に見ていきましょう。
左から2番目のアイコンをタップすると、画面の下側にキーボードが表示されます。LX Terminalやテキストエディタなど、文字入力が可能な部分にカーソルを合わせた状態で使用します。日本語入力にも対応しています。[Ctrl]キーや[alt]キーは、タップするとボタンがハイライトされ、長押し状態になります。[Ctrl]+[alt]+[del]でタスクマネージャーを起動……というようにショートカット操作もできちゃいます!
キーボードの分、表示部分が狭くなってしまうので、キーボードを使うときだけは画面は縦にする方がオススメです。
お次は3番目、マウスアイコンです。画面上でマウスのような操作を可能にしてくれます。右側はホイールです。長い画面をスクロールするときにはこちらが便利です。下の方のグレーになっている部分はマウスのボタンにあたります。タップ操作が苦手な方にはありがたい機能ですね!
4番目の「i」は、「information」の「i」ですね。VNC Viewerの情報を閲覧できます。
最後の「×」マークは、見ての通りの終了ボタンです。ビューアを終了させる場合はこちらをタップしましょう。
まとめ
ラズベリーパイでの電子工作はコマンド入力ばかりだったので、タッチスクリーンで操作できることがとても新鮮!iPhone標準のキーボードが表示されるせいか、文字入力は意外と快適でした。操作性がスマホとほとんど変わらないので、iPhoneのOSがRaspbianに変わったような、不思議な感覚で遊ぶことができました。
ちなみに、TFTタッチディスプレイを使った工作は、「DevicePlus 電子工作マニュアル Vol.4~ラズベリーパイを活用してみよう(中級編)〜」で紹介されています。本物のタッチパネルを使ってみたい方はこちらをどうぞ!
次回も引き続きVNCを使います。
ラズベリーパイ公式サイトのドキュメントの後半戦!オートランの設定です。ラズベリーパイの電源を入れたときに、VNCを自動で起動できるように設定します!