ラズベリーパイが起動すると同時に音声リコモンを使えるようにするため、JuliusサーバーやJuliusクライアント(voice-remocon.py)が自動起動するようにしましょう。第5回で説明したように、「rc.local」という特殊なスクリプトファイルを使えばラズベリーパイの起動時に特定のプログラムを自動起動できます。

 次のコマンドを実行してnanoを起動します。

$ sudo /etc/rc.local 

 「/etc/rc.local」が編集できる状態になるので、図28のように次の3行を「exit 0」の前に入れて保存してください(最後に入れるのではないことに注意!)。

su - pi -c 'julius -C /home/pi/julius/julius.conf &'
sleep 10
su - pi -c 'python /home/pi/voice-remocon.py &'
図28●/etc/rc.localの編集画面
図28●/etc/rc.localの編集画面
[画像のクリックで拡大表示]

 「su - pi -c」は、ユーザーpiとしてコマンドを実行するという意味になります(システム起動時にrc.localが実行されるタイミングではまだ環境変数が読み込まれていません。ここでわざわざユーザーを指定してコマンドを実行するのは、Juliusサーバーが利用する「AUDIODEV」という環境変数を読み込むためです)。また、Juliusサーバーを起動するコマンドを実行してすぐに音声リモコン「voice-remocon.py」を起動してしまうと、Juliusサーバーがしっかり起動していない状態(クライアントが接続するポートが完全に開いていない状態)で音声リモコンがサーバーに接続しようとしてエラーが出てしまいます。このため「sleep 10」というコマンドを入れて10秒間待たせてから音声リモコンを起動するようにしています。