9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Raspberry piにvncserver入れて外部からGUIで動かす

Last updated at Posted at 2015-12-02

やりたかったこと

  • raspberry piに外部から接続したい。
  • 仕事中、頻繁に家族からクレームが来るのでブラウザで自宅内の無線アクセスポイントを再起動するために繋ぎたかった。
  • APについては以前ルータとして使用していたものをAPモードに変更して中継機にしている。

環境

ログイン元:Mac OSX 10.10.5 Yosemite
ログイン先:Raspberry Pi 1 model B Linux raspberrypi 3.2.27

準備とインストール

vncサーバーを入れましょう

$ sudo apt-get update
$ sudo apt-get install tightvncserver 

この時リモートからログイン中で、
apt-getがSetting locale faildを吐いた場合は、
ログイン元から環境変数を送っている可能性があるので、
こちらを参照ください。
http://qiita.com/komacchi/items/9aee06fe50d3114fde31

vncserver起動

$ tightvncserver

New 'X' desktop is raspberrypi:1

Starting applications specified in /home/pi/.vnc/xstartup
Log file is /home/pi/.vnc/raspberrypi:1.log

起動すると、初回はパスワードを聞かれるので入力し、
ログファイルも書き出されるのでここでportの確認をします。

$ cat /home/pi/.vnc/raspberrypi:1.log
.
.
.
25/11/15 05:58:07 Listening for VNC connections on TCP port 5901
.
.
.

ここ。TCP port 5901

5900番台を使用するので、

New 'X' desktop is raspberrypi:1

これの:1を追加したものがポート番号になります。
つまり、:1なら5901、:2なら5902です。

ちなみに、上記だとログインのたびにサーバー起動のコマンドが必要になりますが、
ラズパイの起動時にvncserverをサービスとして動作させておきたい場合はまた別の設定があります。/etc/rc.localにゴニョゴニョ書きますが、今回は常に起動させておきたくないので省略。

ポートフォワーディング

外部から接続する必要があるので、ルーターのポートを開放します。
ルーターの設定については割愛します。
今回の場合で言うと、TCP 5901をラズパイのIPアドレスに向けます。
mydnsなどのDDNSサービスを使用しているとしたらアドレスとしては
hoge.mydns.jp:5901
のような感じになります。

VNCクライアント

WindowsであればRealVNCなどが良いでしょう。
今回はOSXなので、クライアントは不要です。Finderから接続できます。

Finderから、メニュー→移動→サーバーへ接続 もしくは
command + Kでサーバーへ接続画面が出ます。

ここでアドレス欄に

vnc://hoge.mydns.jp:5901

で接続します。
パスワードを聞かれたら、初回起動で設定したパスワードを入力します。

接続ができたら、すでにvncserverは起動させているのでこのような画面になります。

スクリーンショット 2015-11-30 2.43.55.png

chromium browserを入れる

Raspbian標準のブラウザはまったくもって使えないのでChromiumを入れます。

$ sudo apt-get install chromium-browser

そしてこんな感じになります。

画面共有 ピクチャ 2015年12月3日 3.31.37 JST.png

これでブラウザ上から今回の目的であるAP設定画面に入れます。
実際のところ、ラズパイ上でGUI動作させようとすると重たすぎるので目的があれば、という感じでしょうか。

目的が達成できたら、vncserverを終了します。

tightvncserver -kill :1

とコマンド入力し、下記ログが出たら終了です。

Killing Xtightvnc process ID xxxx

おつかれさまでした。

9
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?