meta data for this page
  •  

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

lab:ros:ubuntu-setup [2020/06/02 20:39] (現在)
strv 作成
行 1: 行 1:
 +# ROS用Ubuntuで最初にやることリスト
 +
 +ROSをインストールしてロボットに搭載するためのUbuntuで使い始めるために必要なことを備忘録としてまとめます.
 +適宜思い出したら追記していくと思います.
 +
 +# シリアルポート関係
 +
 +## modemmanager をアンインストールする
 +
 +```
 +sudo apt purge modemmanager
 +```
 +
 +こいつがいるとシリアルポートとして認識されるデバイスが認識されてから1分(だっけ?)間デバイスを専有されてしまい他で使えなくなる.
 +ロボットでこいつが必要になることは無いと思うので,アンインストール.
 +
 +## ユーザをdialoutグループに追加する
 +
 +```
 +sudo usermod -aG dialout ゆーざ名
 +```
 +
 +シリアルポートデバイスは dialout グループとしてデバイスファイルができるので,ユーザを追加しておけば sudo しなくてもシリアルポートを使える.
 +
 +# ネットワーク関係
 +
 +## ホスト情報を設定する
 +
 +```
 +/etc/hostname
 +```
 +
 +にそのPCのユニークな名前を書く.
 +他のPCと被らない名前にする.
 +短いほうが楽.
 +
 +```
 +/etc/hosts
 +```
 +
 +の一行目にある
 +
 +```
 +127.0.0.1 localhost
 +```
 +
 +のしたに
 +
 +```
 +127.0.1.1 なまえ
 +```
 +
 +という感じでhostnameに書いたのと同じ名前を書く.
 +
 +修正したら再起動する.
 +
 +## IPv6 を無効化する
 +
 +ROSはIPv4を使う前提だったはずなので,IPv6は無効化しておいたほうが面倒がない.
 +
 +方法 : [https://qiita.com/RYOSKATE/items/dcd96d2d940cfd3197bc](https://qiita.com/RYOSKATE/items/dcd96d2d940cfd3197bc)
 +
 +## apt update の自動実行を止める
 +
 +```
 +sudo systemctl mask apt-daily.service
 +sudo systemctl mask apt-daily.timer
 +sudo systemctl mask apt-daily-upgrade.service
 +sudo systemctl mask apt-daily-upgrade.timer
 +```
 +
 +起動時やネットワークがつながったときに勝手にapt updateされると非力なマシンではCPU使用率が食われるし,携帯電話回線で動かすロボットでは余計なパケットが発生するし,いいことがない.
 +
 +## ssh key を交換する
 +
 +ロボット上にPCが乗っていて,そこでROSが動いている場合,sshでログインすることが多いかと思います.
 +その場合に毎回パスワードを入力するのにも面倒なので,さっさとssh keyを交換してパスワード無しでセキュアにログインできるようにしたほうが楽です.
 +
 +### ssh key でログインできるように設定する
 +
 +ロボットPC上の```/etc/ssh/sshd_config```を開いて,下記行にコメントがついてたら外す.
 +
 +```
 +RSAAuthentication yes
 +PubkeyAuthentication yes
 +AuthorizedKeysFile     $h/.ssh/authorized_keys
 +```
 +
 +その後,設定を有効にするため,sshdを再起動する.
 +
 +```
 +$sudo systemctl restart sshd
 +```
 +
 +### keyを作って交換する
 +
 +1. ロボット上にssh keyを保存する場所を作る
 +```
 +$ mkdir ~/.ssh
 +$ touch ~/.ssh/authorized_keys
 +$ chmode 600 ~/.ssh/authorized_keys
 +```
 +
 +1. 作業PC上でssh keyを作る
 +```
 +$ cd ~/.ssh
 +$ ssh-keygen -t rsa -f robo_rsa
 +```
 +
 +1. ロボットに送る  
 +```
 +ssh-copy-id -i ~/.ssh/robo_rsa.pub ロボットのユーザ名@ロボットのIP
 +```
 +
 +
 +# その他
 +
 +## タイムゾーンの設定と確認
 +GUIを使わない方法をよく忘れるのでメモ.
 +
 +### 設定するとき
 +
 +```
 +sudo timedatectl set-timezone Asia/Tokyo
 +```
 +
 +### 確認するとき
 +
 +```
 +timedatectl 
 +```
 +
 +### NTPの設定 (おまけ)
 +
 +```
 +sudo timedatectl set-ntp true
 +sudo timedatectl set-ntp false
 +```
 +
 +これを使って,確認した結果が no になってても, chrony は生きて動くっぽい.
 +ntpd にだけ効果がある? 
 +
 +## 細々した設定
 +
 +GUI環境があるならTweak Toolを入れる。CAPSとCtrlの入れ替えとか、簡単。