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切り替えはこのセットアップ・プログラムから行うのが簡単。

■ HDMIでサウンドを出力できるようにする

/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表示でのオーバースキャンを無効にする

画面端までキッチリと描画できるモニタを使っている場合は、オーバースキャンを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