meta data for this page
  •  

# 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の入れ替えとか、簡単。