Raspberry Pi 日記

長嶋 洋一


2013年5月31日(金)

またまた週末である。 先週まで3週連続で、週末に学会発表出張が続いた( 東京大阪岡山 )が、今週だけスキップして、明日の土曜日には、かつて一緒に 沖縄 に行った卒業生2人と、天気が良ければ遠鉄の屋上ビアガーデンの予定である(^_^)。 そして来週末(時の記念日のあたり)には、この学会出張シーズンの最後、時間学会での発表に山口(湯田温泉)に行く。

昨日の続報としては、午後にさらに1人が加わって、今年の 40虎 は8人ということになった。 今日の放課後には顔合せミーティングである。 また昨日の教授会の後には、「ドラえもん」シリーズの最終号を金重さんと作り、 このページ にまとめるとともに、これまで全11回(全10回だが、定期購読特典の「飛ぶのび太」が加わった)をまとめた このページ も作ったところで帰宅した。

昨日から今日にかけての将棋名人戦では、矢倉の定跡から森内名人が新手を繰り出した、と新聞に書かれていたが、研究室でネットを見てみると、なんとこの新手はボナンザが発見した新手で、後手が逆転勝利したという。 もし、今日の第5局で後手の森内名人が防衛すると、コンピュータの新手を人間が追随したことになるが、今日は以下の状況から、将棋を追いかけることはしないつもりである。

KickStarterの続報メイルも届いたがこれは棚上げである。 そして他にも、 パリでの国際会議ICEC2009 の僕のチュートリアルの受講者として知り合ったロシアの研究者 Denis Perevalov 氏、 その後、彼の紹介で 2010年のロシアツアー に繋がって以来、メイルでやりとりする仲であり、最近の彼の仕事としては これ とか これ とか これ とか これ とか、色々と頑張っている。 4番目のアプリは、ゼミの森川さんのiPad miniに入れてもらったのを見たが、なかなか素晴らしいサウンドアート(ゲーム/インスタレーション)である。 そのDenis Perevalov 氏とやりとりしているメイルもまた届いたが、一緒に届いていた以下のふーみんメイルから、Denisへの返信も後回しにいて(どうせ海外とのメイルは時差があるので半日遅れでもまったく関係ない)、今日は2-3限のゼミと放課後のミーティング以外は、ここに集中するぞ、と決めた(^_^)。

お待たせしました。

根本的な原因は、やはりkeyが無効になっていて
正しいパッケージを導入できていないことのような気がします。

sudo apt-get install debian-keyring
sudo apt-get install debian-archive-keyring
sudo apt-get install debian-edu-archive-keyring
sudo apt-get update

を試してみてください。

不完全な状態で何度かapt-getを繰り返しているので、一度、

sudo apt-get clean

をしてから、順次パッケージを入れ直してみた方がいいかもしれません。

個々のパッケージについては、

apt-get --purge remove (パッケージ)

で設定ファイルまで含めてアンインストールされます。

VNCは基本的にはビットマップ転送なので環境を問わず動かしやすいと
いうのはありますね。RPiだとfast etherなので解像度が高いと若干
苦しいところはあるんですが・・・
まぁ、MacとWindowsとのVNCでも、相手の画面がぐにゃり(^_^;)と転送されるのは体験しているので、CPUクロックが800MHzと低いRaspberry Piではさらに面白いぐにゃりとなるのは想定できるが、ここはVNCに向けて、キチンとやっていこう。 まずはふーみんメイルの後半の「sudo apt-get clean」と、「個々のパッケージを設定ファイルまで含めてアンインストール」というのを、ローカルに実行してみることにした。 過去のRaspberry Piでの作業ログを発掘して、まずは以下のようなリスト「check.txt」を整理した。 そしてRaspberry Piにsshで入って、Macのターミナル画面内で作業しようと思ったが、前半のアンインストールはリモートで作業出来ても、後半のapt-getはインターネット直結が必要なので、このリストをテキストファイル化してRaspberry Piにrcpして、作業は全てRaspberry Pi側で行うことにした。
■アンインストール
sudo apt-get --purge remove inetutils-inetd
sudo apt-get --purge remove telnetd
sudo apt-get --purge remove tightvncserver
sudo apt-get --purge remove openbsd-inetd
sudo apt-get --purge remove inet-superserver
sudo apt-get --purge remove debian-keyring
sudo apt-get --purge remove xinetd
sudo apt-get --purge remove xscreensaver
sudo apt-get --purge remove x11vnc

=========
■keyのセット(WiFiルータ開通後)
sudo apt-get install debian-keyring
sudo apt-get install debian-archive-keyring
sudo apt-get install debian-edu-archive-keyring
sudo apt-get update

■再度インストール(WiFiルータ開通後)
sudo apt-get install  inetutils-inetd
sudo apt-get install  telnetd
sudo apt-get install  tightvncserver
sudo apt-get install  x11vnc
sudo apt-get install  xinetd
sudo apt-get install  xscreensaver
sudo apt-get install  openbsd-inetd
sudo apt-get install  inet-superserver
sudo apt-get update
まずは順調に、静かにサクサクと前半のアンインストール作業が進み、 このように 「inet-superserver」だけは拒絶されたものの(^_^;)、無事に完了した。 ここでゼミの2限になったので中断したが、午後になって、まずはゼミの森川さんのインスタ作品の実験のために、ネオジム磁石と磁気センサとチルトセンサを発注した。 そしていよいよモバイルWiFiルータを立ち上げて、MacBookAirから新しい1 day契約で明日の朝までの24時間の契約を行った。 そして上記のメモの後半を順に行うと、telnetdで駄目(^_^;)と怒られたものの、全般的には順調に、 このように 推移して、どうやら無事にvncserverがインストール出来た。

そして、研究室LANに接続し直してRaspberry Piを再起動して、VNCのために無駄なメモリ消費を避けてデスクトップを開かずに、Macからsshした。 しかし、ほぼ先日と同様に、最初にtightvncserverを起動すると求められるというパスワード設定要求が出ないばかりか、またまた「Illegal instruction」というエラーであった。 sudoしても駄目、インプレス本にあった「x11vnc」でも、以下のように断られて、どうにもVNCサーバが起動しない(^_^;)。

pi@raspberrypi ~ $ ls
Desktop  check.txt  indiecity  log10.txt  log9.txt  ocr_pi.png  python_games
pi@raspberrypi ~ $ rcp log10.txt nagasm@172.16.65.31:Desktop/
Password:
log10.txt                                                 100%   18KB  18.4KB/s   00:00    
pi@raspberrypi ~ $ tightvncserver
Illegal instruction
pi@raspberrypi ~ $ x11vnc -storepasswd
Illegal instruction
pi@raspberrypi ~ $ tightvncserver -storepasswd
Illegal instruction
pi@raspberrypi ~ $ vncserver
Illegal instruction
pi@raspberrypi ~ $ vncserver -storepasswd
Illegal instruction
pi@raspberrypi ~ $ sudo tightvncserver
pi@raspberrypi ~ $ ps ax | grep tightvnc
 2166 pts/1    S+     0:00 grep --color=auto tightvnc
pi@raspberrypi ~ $ kill -9 2166
-bash: kill: (2166) - そのようなプロセスはありません
pi@raspberrypi ~ $ sudo kill -9 2166
pi@raspberrypi ~ $ ps ax | grep tightvnc
 2170 pts/1    S+     0:00 grep --color=auto tightvnc
pi@raspberrypi ~ $ sudo vncserver
pi@raspberrypi ~ $ ps ax | grep vnc
 2179 pts/1    S+     0:00 grep --color=auto vnc
pi@raspberrypi ~ $ sudo x11vnc -storepasswd
pi@raspberrypi ~ $ ps ax | grep vnc
 2187 pts/1    S+     0:00 grep --color=auto vnc
pi@raspberrypi ~ $ 
さて困った。 インストールに問題は無くなったものの、まだ「tightvncserver」は起動できない。 tightvncserverの起動はインプレス本では「vncserver」と書かれているが、いずれにしても、最初の起動で求められる筈のパスワード設定に来ない。 昨日の実験でサクサクと出来た、市販の「Real VNC」とはえらい違いである(^_^;)。 ここはまたまた、ふーみんヘルプの出番かなぁ。

ふーみん師匠にメイルを出してしまえば、とりあえず何をするかは決めていた。 Raspberry Piには、Pythonというインタプリタ言語環境があり、将来的に周辺回路とやりとりする際にも、速度などの条件を別にすればPythonベースのライブラリが充実しているとのことだったので、とりあえずこれを試してみることにした。 この部分のテキストは、インプレス本の「速習 : Python」であり、もちろんRaspberry Piはデスクトップなど起動せず、sshしたMac側での作業である。 以下のように、Macのターミナルでnanoを起動すると、ちゃんとテキストエディタになり、ctrl+Xで戻ることも確認した。

上の例のように、とりあえずPythonプログラムでは「#! /usr/bin/env python」という1行から始まること、実行の際には「python #######.py」と呼び出せばいいらしい。 IDLEとかの開発環境を使うのはVNCが開通してからにしたいので、当面はこのように進めていこう。 モバイルWiFiルータは無事にお仕事を終えたのでシャットダウンして、ついでに新品スッピンだとダサいので、ホワイトボディで白いMacシールが映えないため、以下のようなシールを貼ってイケメン化した。(^_^;)

そして次に、朝、棚上げしていたDenis Perevalov 氏のメイルを読んでみると、以下のように、僕の 音楽心理学研究のページ を、Googleの「日本語→ロシア語」翻訳機能で読もうとしているようであった(^_^;)。

Thanks for the your research on glockenspiel! I feel it is deep
investigation on sound perception.
Unfortunately, translation Japan->Russian is not perfect, 
and I can not understand clearly that means pictures like
http://nagasm.org/ASL/Glocken/jikken/0-2.jpg
有り難いことであるが、いつも使っている「エキサイト翻訳」から類推すると、とうていこの論文の内容は伝わらないだろうなぁ・・・と思いながら、とりあえず以下のような画像を添付して返信してみた。

するとここに、ふーみん師匠から以下のメイルが来た。 こうやって複数の物事が並列に進むというのは、なかなか充実感がある(^_^)。

うーむ、とりあえず

sudo apt-get upgrade

してみるとどうなるでしょう?

x11vncで同様の事例が5/26付けで海外のサイトに出ていました。
長嶋さんのところではtightvncとx11vncの両方が同じ症状を
示してるので、共通に使っているライブラリのバージョンに問題が
あるのかもしれません。
なるほど、ライブラリを入れたら、依存関係にある元ライブラリも全て更新しないといけないわけである。 さっそくやってみると、「503個、306MBのアーカイブを取得するぞ」、と表示され、モバイルWiFiルータの伝送速度の上限で連続してガリガリガリ・・・と猛烈にデータを取りに出かけた。

そして30分以上が経過して、事態は急展開した(^_^;)。 上記の「sudo apt-get upgrade」の膨大なメッセージはターミナルアプリのコピーペーストバッファから溢れるほどだったが、これを一部切れた状態でなんとかログファイルにして保存して、sudoでシャットダウンした。 そしてLANケーブルを研究室内DHCPに差し替えて再起動したところで、以下のように異常が発生した(^_^;)。

Raspberry Piが立ち上がるいつもの画面で「segmentation error」が連発し、立ち上がったものの、「ifconfig」をしてもIPアドレスが表示されない。 2度試しても同じ、というところで、「こりゃLinuxのファイルシステムが壊れた」と断定した。 幸いに、いくつものSDカードに最新のシステムを入れていたので、たぶんRaspberry Pi自体は壊れていないと想定して、SDカードを新しいものに交換して立ち上げると、無事にきちんと立ち上がった。 そしてここから、とりあえずtelnetdはパスして(^_^;)、精選した以下のコマンドを入れた。 実際には「sudo apt-get install debian-edu-archive-keyring」の最後に何か言われたので、そこで「sudo apt-get upgrade」をしてから再度「sudo apt-get install debian-edu-archive-keyring」とやったらOKとなり、あとはVNCだけ入れてみた。 そして最終的に全て何のエラーもなくパッケージのインストールやアップデートが成功した。

しかし、新しいRaspberry Piハードになったので、DHCPから同じIPアドレスをもらってもsshではパスワードエラーが出た。 この現象はかつて体験していたので、ネットから対策を発掘して、以下のようにメモするとともに実行して、無事に新しいRaspberry Piにsshできた(^_^)。
■sshの古いキーの削除方法■

・Finderの「Go」の「Go to Folder」で「/Users/nagasm/.ssh」とする

・「known_hosts」を開いて該当IPの部分を削除して上書きする
そしてそして、遂に、出来た。 5限には「第40期・虎の穴」のメンバーのうち6人が研究室に来て、熱心に「世界の名作CM傑作選」の映像に注視する中、ミーティング開始の18時の25分前になって、sshのリモート画面から「tightvncserver」を起動してパスワードを設定し、遂に以下のように画面にRaspberry Piのデスクトップが登場した。 思いのほか高速で、Raspberry PiのターミナルからMacに対してsshでログインしていて、またブラウザはちゃんとSUACのプロキシを経由して僕のサイトをアクセスし、EUC-JPの文字コードを全て正しく日本語表示している。 ここまで長かったが、これで準備は万端である。(^_^)

とりあえず、ふーみんに「出来ました」とメイルして、あとは「40虎」ミーティングに集中しよう。 40虎については、全員が揃ったところで発表する大ニュースもある。 名人戦は夕食を前にして、森内名人の防衛、というところも確認した。

まだ終わらないが、なかなかに濃い一日となった。


「Raspberry Pi日記」トップに戻る