はじめに
先日の記事
ogimotokin.hatenablog.com
でUbuntu Server 16.04 LTSを立ち上げて開発していたが、色々と設定をいじっているとデスクトップ環境を壊してしまい、再インストールするはめに…
ただ、現状のUbuntu Server環境では下記の不満があった。
・起動が不安定。時々落ちる。
・環境インストールが地味に手間がかかる
・ VNC環境が構築できず、別クライアントPCからの遠隔開発ができない
ロボット開発という特性上、極力ロボットにHDMIケーブルは刺したくないので、やはりなんとかしておきたい。
という事で、色々と調べてみたら、Raspberry Pi に対してはUbuntu MATEディストリビューションが最近流行りの様だ。VNC環境の構築も簡単そうだしROSも普通に動きそうなので、この機会にUbuntu MATE 16.04 LTSに切り替えてみようと思う。
インストール手順
①公式サイトからUbuntu MATE 16.04 LTSのダウンロード
ubuntu-mate.org
ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img.xz をダウンロード。xz形式で圧縮されているので、Windowsであれば「7-ZIP」などの解凍ソフトをつかってimgファイルを抽出。その後は、いつもの「win32diskimager」を使ってSDカードに書き込む。
②ラズパイセットアップ
書き込んだマイクロSDカードをラズパイに設定してAC電源入り。画面指示にしたがって、ネットワーク(無線)設定、言語設定、ユーザー名設定を行っていく。設定を終えたら、デスクトップが起動するまでひたすら待つ。片手間で出来るので楽ちん。
③日本語入力対応
日本語入力は以下のサイトを参考に。
deviceplus.jp
特にはまる事はなかった。
④SSH/VNC設定
ssh設定は以下で実施。
sudo apt update sudo apt upgrade sudo apt install openssh-server
続いて、sshで使用する22番ポートの解放設定を実施。
sudo ufw allow 22 # sshの再起動 sudo /etc/init.d/ssh restart # 起動時にsshの起動 sudo systemctl enable ssh
他のPCからsshでログインできる事を確認すれば完了
VNC設定は以下で実施。
sudo apt-get install tightvncserver vncserver :1
これでVNCサーバーが立ち上がるので、クライアントPCのVNCビューワーでIPアドレスにポート5091を指定すれば接続できる。
(この辺りはRasbianで実施した内容と同じ)
自動化する場合は、vncサーバの起動スクリプトの実行スクリプトをOS起動時に実行するため、以下のスクリプトを/etc/init.d/vncbootとして作成する。
#! /bin/sh # /etc/init.d/vncboot USER=pi HOME=/home/pi export USER HOME case "$1" in start) echo "Starting VNC Server" #Insert your favoured settings for a VNC session su $USER -c '/usr/bin/vncserver :1 -geometry 1440x900 -depth 24' ;; stop) echo "Stopping VNC Server" su $USER -c '/usr/bin/vncserver -kill :1' ;; *) echo "Usage: /etc/init.d/vncboot {start|stop}" exit 1 ;; esac exit 0
その後、以下のコマンドでinit.dで起動する様に修正する。
sudo chmod 755 /etc/init.d/vncboot sudo update-rc.d vncboot defaults
これで再起動すればOK
★[2018/5/13追記]
無線AP接続設定を変更する場合、表示されるSSIDを選択するだけではうまくいかなかった。「新しいWi-Fiネットワークを作成」メニューに進み、「モード:クライアント」「セキュリティ:WPA & WPA2 Personal」「IPV4設定:DHCP自動 or 手動設定」を選択すれば変更できる。
⑤ROSセットアップ
ROS Wiki
http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Kinetic%20on%20the%20Raspberry%20Pi
にしたがってインストール。
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' $ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install ros-kinetic-desktop-full $ sudo rosdep init $ rosdep update $ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc $ source ~/.bashrc
完了したらroscoreを起動する事を確認できればOK!