2014年12月15日月曜日

Raspberry Pi B+、SSH接続でVNCサーバ、avahi、固定IP化



メインPCはwindows7なのですが、HDMI入力が1つの液晶モニタです。
Raspberry PiをGUIで使うたびにケーブルのつなぎ変えは面倒なので、VNCサーバをインストールし遠隔操作できるようにします。


windows7にTeraTermがインストール済みなのでSSH接続で作業をしました。
Raspberry PiはUSB wifiでLANに接続済み、DHCPでIPが割り当てられています。





◆VNCサーバのインストールと接続

SSHで接続し、
sudo apt-get install tightvncserver
でインストール。
vncserver
での初回起動時に接続するためのパスワードを設定。
6~8文字でしか受け付けません。
vncserver :1 -geometry 1024x768 -depth 24
でサーバが指定のサイズ、色で起動します。

windows7にはUltraVNCをインストールしてあります。
UltraVNC Viewerを起動し、Raspberry PiのIPアドレス:1を入力。
パスワードを入力し、画面が表示されました。


◆ホストネームで接続

DHCPなのでIPは変動します。
ホストネームで接続したい場合、Raspberry PiにAvahiをインストールするのが簡単らしい。
sudo apt-get install avahi-daemon
でOK。
デフォルトでホストネームは「raspberrypi」になっていますが、タイプが面倒なので短いホストネーム「rpi」に変更します。
sudo raspi-config
の中で設定できます。

/etc/hostname
/etc/hosts
を直接編集してもいいようです。

試しにwindows7のコマンドプロンプトから
ping rpi.local
をしても返事が返ってきません。
SSHで接続したNASやubuntuからのpingでは返事が返ってきます。

windows7のファイアウォールのせいかと思いましたが、windows機はavahiかBonjourのインストールが必要とのこと。
iTunesのインストールや、そのアーカイブからBonjourSetup.exeを抜き出してインストールでもいいようです。
参考:OpenRTM-aist


◆wifi接続では固定IPに変更

windows7からのホストネームでのアクセスはやめて、wifiでの接続は固定IPとすることにしました。
/etc/network/interfaces を編集すればいいのでvnc経由で編集しようと、LXTerminalを立ち上げ
sudo leafpad /etc/network/interfaces
とすると、
Client is not authorized to connect to Serverleafpad ディスプレイをオープンできません
と、拒否されます。
VNCで接続中は管理者権限の必要な編集はできないのでしょうか?

仕方なくsshで接続したTeraTermから苦手なviで編集
sudo vi /etc/network/interfaces
ipアドレスなど必要な物を追加して再起動で固定IPで接続を確認。
参考:Raspberry PiをPocket Wifiで固定IPにする
(追記)viよりpicoなら一般的なテキストエディタのように編集できますね。

◆VNCサーバの自動起動

参考:美味しくいただく Raspberry Pi
参考サイト通りに
/etc/init.d/vncboot を作り自動起動するようになりました。




環境:Raspberry Pi、RASPBIAN、win7(64)



0 件のコメント:

コメントを投稿