28 December 2012

Raspberry Piの初期設定

Raspberry Piを購入した。
本体価格 21.6 ポンド
専用プラケース 3.99 ポンド
送料 4.95 ポンド
合計 30.54 ポンド
クレジットカードに課金された額は4116円だった。

ネットで購入手続き後10日で発送され、国際郵便に15日掛かった(合計25日)。

20121228-raspberry-packet.jpg
ドイツのNiederaulaで投函された郵便物(左側のケース、右側の本体ボードの2個入り)


20121228-raspberry-board.jpg
ケーブルを接続して動作確認しているところ


■ ブートディスクの作成

4Gバイト以上のSDカードを用意して、公式サイトのDownloadsより最新版のイメージをダウンロードする。

・Raspbian “wheezy” 2012-12-16-wheezy-raspbian.zip

ダウンロードした圧縮ファイルを解凍し、RPi Easy SD Card Setupに書かれている方法で、SDカードに書き込む。

# dd bs=4M if=./2012-12-16-wheezy-raspbian.img of=/dev/sdb
 
462+1 レコード入力
462+1 レコード出力
1939865600 バイト (1.9 GB) コピーされました、 373.906 秒、 5.2 MB/秒
 
# sync

■ 初回起動時のセットアップを再度表示する

$ sudo raspi-config

20121228-raspberry-config.jpg

ブート時のCUI/GUI切り替えはこのセットアップ・プログラムから行うのが簡単。

ファイルシステムをmicroSDの最大容量まで拡大するには、raspi-configでexpand_rootfs を実行。

■ HDMIでサウンドを出力できるようにする(raspi-configでも設定可能)

/boot/config.txt を編集して、HDMI/DVI自動認識ではなくHDMI強制とする(hdmi_driver設定のコメントアウトを外す

/boot/config.txt
# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
hdmi_drive=2

■ HDMI表示でのオーバースキャンを無効にする(raspi-configでも設定可能)

画面端までキッチリと描画できるモニタを使っている場合は、オーバースキャンをOFFにします。

/boot/config.txt
# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
disable_overscan=1

■ CUIモードでGUIに入る

$ startx

■ CUIモードでシャットダウンする

$ sudo shutdown -h now

■ Xデスクトップの画面キャプチャ

scrotをインストール( sudo apt-get install scrot )して

$ sleep 5; scrot

とすると、カレントディレクトリにキャプチャ画像が保存される。

20121228-raspberry-desktop.jpg

imagemagickのimportコマンドを使えば、指定したウィンドウのみをキャプチャすることが出来る。

$ import 出力ファイル.png

コマンドを実行するとカーソルが「 + 」になるので、キャプチャしたいウィンドウを指定すれば良い。


■ VNCサーバを動かす

HDMIコネクタを何度も抜き挿ししていると、そのうち基盤側の半田付け部分が破断する可能性もあるので、普段は電源以外は何も抜き挿しせずに使いたいものです。ということで、GUIもリモートで使うことにします。

TightVNCをインストールし( sudo apt-get install tightvncserver )、起動する。初回起動時にパスワードの設定を要求されるので、クライアント側から接続する場合のパスワードを設定しておく。

$ vncserver :1 -geometry 1024x768 -depth 16

画面1( :1 )の場合は、ポート5901で起動されるはず。

クライアントがUbuntu 12.04の場合は、「Remminaリモートデスクトップ接続」というのが標準でインストールされているはずなのでこれを使う。

20130102-vnc-remmina.jpg
Remminaリモートデスクトップ接続の設定画面

サーバを停止する場合は

$ vncserver -kill :1


■ SSH接続で.bashrcが読み込まれない件

~/.bash_profile を作成し、 ~/.profile を参考に自動読み込みのスクリプトを作成する。

~/.bash_profile
# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

軽量化

自動起動されるサービスを見つけ出す

sudo systemctl | grep running
sudo systemctl list-unit-files | grep enable

Bluetooth関連のサービスを停止する

sudo systemctl disable hciuart.service
sudo systemctl disable bluealsa.service
sudo systemctl disable bluetooth.service

rsyncを停止する

sudo systemctl disable rsync.service

avahiを停止する

sudo systemctl disable avahi-daemon.service

aptパッケージリストの自動更新サービスを停止する

sudo systemctl disable apt-daily.timer
sudo systemctl disable apt-daily-upgrade.timer

さらに、apt設定ディレクトリに、適当なファイル名で設定ファイルを作成し、自動起動しない設定「APT::Periodic::Enable "0";」を記述する。

/etc/apt/apt.conf.d/99timer-disable
APT::Periodic::Enable "0";