極楽とんぼのロボット製作記

情報工学系大学院生がロボットとその周辺技術や身の回りの出来事について紹介するブログ

Raspberry Pi 初期設定

Raspberry PiにRaspbianをインストールしたらまずやっておくべき設定をまとめました。raspi-config,SSH,日本語化に関する設定を解説しています。

使用環境
Raspberry Pi Zero
Raspbian 8.0 (Jessie)
NOOBSを使用してインストール

パッケージのアップデート

$ sudo apt-get update
$ sudo apt-get upgrade

raspi-configからの設定

terminalを起動して

$ sudo raspi-config

と打ちます。
下のような画面が表示されるので、カーソルキーを使って移動しながら、設定します。
f:id:gokuraku104robot:20170812110801p:plain

1.パスワードの設定

デフォルトではraspberryのままなので、パスワードを変更しましょう。
Change User Passwordを選択してEnterします。
"You will now be asked to enter a new password the pi user"と表示されるのでOKします。
ターミナルの画面に戻るので、新しいパスワードを設定します。
設定後、"Password changed successfully"と表示されれば完了です。

2.ホスト名の変更

ホスト名を変更します。
Hostnameを選択してEnterします。
Hostnameは大文字小文字は区別されません。

3.Bootオプション

Raspberry Piを起動したときに、コマンドライン、デスクトップ、スクラッチのどれを起動するか選択することができます。

4.言語とロケーションの設定

言語とロケーションの設定をします。
Localisation Optionsを選択してEnterします。

4.1言語の設定

Change Localeを選択してEnterします。
下のような画面が表示されるので、ja-_JP.UTF-8 UTF-8を選択します。
f:id:gokuraku104robot:20170812112234p:plain

その後、システムのデフォルトLocaleを設定するかどうか聞かれます。
f:id:gokuraku104robot:20170812113216p:plain
ここでもja_JP.UTF-8を選択します。

4.2ロケーション(Time Zone)の設定

Change Time を選択してEnterします。
Asia→Tokyoと選択します。これで時刻が自動的にTokyoの時刻に設定されます。

5.インターフェースオプション

Camera,SSH,I2Cの有効・無効の設定をします。
Interfacing Optionsを選択してEnterします。
f:id:gokuraku104robot:20170812161929p:plain
切り替えられるオプションはCamera,SSH,VNC,SPI,I2C,Serial,1-Ware,Remote GPIOです。
SSHを有効にすることで、PC上からRaspberry Piにコマンドを送って実行させることが可能になります。わざわざRaspberry Piにキーボードやらマウスやらを接続する必要がなくなるため、設定しておくことをおすすめします。
カメラを使う予定があったり、I2Cでセンサ情報を受け取る場合はそれぞれ有効にしておく必要があります。

IPの固定

SSHするたびにいちいちRaspberry Pi上でifconfigしたり、PC上でarp -aするのは面倒なので、IPアドレスを固定します。
まずは自分のIPアドレスをifconfigで確認します。

$ ifconfig
wlan0     Link encap:イーサネット  
          inetアドレス:192.168.xx.yy 

有線の場合はeth0、無線の場合はwlan0を確認します。このinetアドレスがこのRaspberry PiのIPアドレスです。

$ sudo vim /etc/dhcpcd.conf

として、

interface eth0
static ip_address=192.168.xx.yy
static routers=192.168.zz.aa
static domain_name_servers=192.168.zz.aa

を加えます。無線LANの場合はeth0のところをwlan0に変えます。


TeraTerm等で実際にSSHできるか確認しましょう。
TeraTermのインストールはこちら
Tera Termのインストール - Tera Termの使い方 - Linux入門 - Webkaru
TeraTermを使ったRaspberry PiのSSHはこちら
Raspberry PiをWindowsで操作する(SSH) | S2
下のようにIPアドレスを指定します。
f:id:gokuraku104robot:20170812164554p:plain
さらに、ユーザ名piでログインします。
f:id:gokuraku104robot:20170812172246p:plain
下のような画面が表示されたら成功です。試しにコマンドを実行してみましょう。
f:id:gokuraku104robot:20170812172300p:plain

Linuxの場合は

$ ssh -l pi 192.168.xx.yy
または
$ ssh pi@192.168.xx.yy

として接続できます。


日本語の設定

日本語フォント,日本語入力メソッド,日本語マニュアルのインストール

ターミナルから日本語フォント、日本語入力メソッド、日本語マニュアルをインストールします。
日本語フォントのインストール

$ sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname

日本語入力メソッドのインストール

$ sudo apt-get install fcitx-mozc

日本語マニュアルのインストール

$ sudo apt-get install manpages-ja manpages-ja-dev

インストールが終了したら、一度Raspberry Piを再起動します。

$ reboot

fcitx-mozcの設定

ターミナルから下記コマンドを実行して、fcitx-mozcの設定を行います。

$ fcitx-configtool

入力メソッドが
キーボード-日本語
Mozc
に設定してあることを確認します。
f:id:gokuraku104robot:20170812173650p:plain

全体の設定からHotkeyにて
入力メソッドのオンオフをZenkakuhankaku
拡張オプションをクリックして
入力メソッドをオンにHenkanmode
入力メソッドをオフにMuhenkan
に設定すると使いやすくなります。
f:id:gokuraku104robot:20170812173933p:plain



パス無しsudoの禁止

現状ではsudo raspi-configをパスワード無しに実行できてしまい、Raspberry Piが起動していればパスワードが分からなくてもパスワードを変更できてしまいます。そこでsudoを実行するためにパスワード入力が必要な設定に変更します。
/etc/sudoers.d/010_pi-nopasswdを開いて "pi ALL=(ALL) NOPASSWD: ALL" をコメントアウトします。

$ sudo su -
# vim /etc/sudoers.d/010_pi-nopasswd

下のように行頭に#を加えてください

#pi ALL=(ALL) NOPASSWD: ALL

保存の際には

:w !sudo tee % > /dev/null

とすると保存できます。
あるいは010_pi-nopasswdの権限を下のように変更してから編集します。

# chmod 640 /etc/sudoers.d/010_pi-nopasswd

念のため、編集後はもとに戻しておくことをおすすめします。
元に戻す際は

# chmod 440 /etc/sudoers.d/010_pi-nopasswd

とします。




参考サイト
Raspberry Pi のアップデート – Output48
Raspberry Piの初期設定まとめ – Output48
Raspberry Piの初期設定まとめ(オプション設定編) – Output48
Raspbianのインストールと初期設定 | 純規の暇人趣味ブログ
Raspberry Pi 初期設定(Raspbian Jessie) - Qiita
[メモ] Raspberry Pi: 初期設定 - Qiita