Raspberry Pi に VNC でアクセスする (2017/9版)
やりたいこと
- Raspberry Pi に毎回 HDMI・キーボ・マウスをつなぐのが面倒なので、MacとかからGUIで触れるようにしたい。
- Chromium や Visual Studio Code を、VNC アクセス中に起動したい。★ここがポイント
結論
最近のラズパイ…というか raspbian OS には、 RealVNC のモジュールがプリインストールされているので、サーバのサービスを入れてあげれば即VNCサーバ化する。
手順
ラズパイ側
RealVNC 公式に書いてあるとおり→ Docs | VNC Connect and Raspberry Pi | RealVNC
- 最新の Raspbian Jessie にする
sudo apt-get update && sudo apt-get upgrade
- RealVNC のサーバをインストール。
sudo apt-get install realvnc-vnc-server
- ラズパイの設定からVNCを利用可能に設定。これだけで、ラズパイ起動時のサービス自動起動設定までされます。
- ラズパイの ip を調べる。
ifconfig
または、RealVNC Server をインストールしたらタスクバーに出てくる RealVNC のアイコンをクリックすると表示される。例えば192.168.11.11
クライアント側(今回はMac)
- RealVNC のクライアントをインストール→ Download VNC Viewer for macOS | RealVNC
- 上で調べた対象ラズパイのIPを入力して接続。
というわけで簡単です。
事の顛末(チラ裏)
この件は誰でもまとめてそうだし、入門書の類に載ってそうなのでまとめるほどでは無い記事だと思ったのですが、自分がちょいとハマったのでまとめることにしました。以下その顛末メモ。なのである意味ここからが本編。
古い情報を鵜呑みにしない
特に最新のラズパイがどんなことになっているかをあまり調べないまま「TightVNC を入れて、Systemd に自動起動を登録しよう」という記事を読んでそのままやってみたところ、以下のような問題が起きました。
あげつらうのは感じ悪いけど、メモとしてはじめ参考にしていた記事を残しておく
Visual Studio Code が VNC 経由だと表示できない
VNC経由で Visual Studio Code (Code-oss) のインストールを済ませて、いざ起動しようと思ったら起動しない。インストール手順間違えたかな、とか思いながらラズパイに直接ログインして操作したら起動できる。あっれ~となって調べる。と、以下の記事を発見
TIghtVNC サーバを使うと、 Visual Studio Code だけじゃなく、Chromium ブラウザ他、 Electron っぽい奴らが全滅するらしい。 セキュリティとグラフィックの掛け算でのなんか問題なのでしょう。
代替手段の調査
- RealVNC と TigerVNC というのがあるらしい。(TigerVNC押し記事)
- よく読んでみると、RealVNC が raspbian に標準採用されているらしい。(完)
インストールしてしまった TightVNC を消す
- 起動しているサービスを停止
ps aux | grep vnc
で TightVNC のプロセスIDを調べてkill
- systemd に登録されている自動起動を解除する
- (参考→)自動起動・サービスの起動・停止 (systemdコマンド) [CentOS 7] - ex1-lab
systemctl list-unit-files
で、先に登録したvncserver@.service
が在ることを確認。sudo systemctl disable vncserver@.service
で解除
- TightVNC サーバのアンインストール
sudo apt-get purge tightvncserver
RealVNC サーバの構成
この記事の先頭に戻る。