2013年2月17日日曜日

雑談:TV買いました

10年以上前に買った32インチのアクオス(亀山モデル)のファンの音が最近うるさくなって、東芝Regaza、40J7を買いました。昨年末に液晶パネルが暴落し、値が持ち直してきてるという話があったので、ちょっと考えてたんだよですね。
あと、東芝は値段が安いんですよ。(パネルを以前から外部調達してますから)しかし、入力がHDMIx3あるのはいいけど、D端子もない!Wiiのために変換器をかわないと。
ところで、軽くなりましたね。以前の32インチより軽いよ、これ。組み立てて気づいたんですが、台座の大本のところのネジは、滑り止めの青い塗料が塗ってありました。これって、たしか一回締めたら、2回目は(滑り止めの)効果がなくなるやつのはず。説明資料には何も書いてないですが、いかんでしょう。まあ、一度組み立てたらばらすことなんてまずないでしょうが、注意は書いとくべきだと思う。

2013年2月11日月曜日

Raspberry Pi ベンチマーク

無事動くことがわかったRaspberry Piですが、処理速度はどんなもんでしょう。まあ大した期待はしてませんが、一応ベンチマーク(UnixBench 5.1.3)のDhrystoneとWhetstoneを実行してみます。

比較対象として、先日AMD64に入れた、CentOS6.2と1,2年くらい前に測定したCore2Duo(結構、早めのやつ)の3つです。


予想通りの結果ですね。Raspberry PiのARMチップは一応浮動小数点の回路があるんですが、ARMv6と若干古めのアーキテクチャです。(コストを考えて、v7はあきらめたとか)
でも、Nexus7(Tegra3)にてPCで作成したJavaアプリ動かしてみたら、同じくらい(50%以上の計算速度くらいの体感)だったのを考えると、やっぱり値段なりの性能のようです。

後、このベンチをCentOSでやろうとしたら、複数の計測プログラムを連続して実行するツールがPerlで書かれているんですが、ライブラリがないと怒られました。調べてみたら、CentOS(RedHatもなんだろうか?)のPerl実装はライブラリ関係があまり入っていないとか。なんでそんなことになっているのかわかりませんが、以下のコマンドでPerlのライブラリを後からインストールできます。

# yum install perl-Time-HiRes
# yum install perl-Digest-SHA


コアモジュール一式をインストールする場合

# yum install perl-core

2013年2月10日日曜日

CentOS 6.2インストール

以前からCentOS6系を試してみようと思っていたんですが、なかなかそこまで手がでてませんでした。ところで、もう12年前に購入(なにせ一緒にかったEPSONのプリンタについてたおまけの年賀状印刷ソフトが辰年なので、満12年過ぎてますね)したNECのデスクトップ(XP)が、遅くてしかたがないんですが、ついに思い切ってLinuxにしてしまうことにしました。(AMD 1GHz、メモリ1GBの年代物?)

まずCentOS6のインストール・イメージをDLしないといけませんが、なんか32bit用と64bit用の区別しかないように見えます。(Server用とかないの?)CPUは一応64bitなんですが、メモリが1GBしかないので、32bitにしておきます。DLしたイメージをDVDに焼き、さて起動と。あれ?なんかこれLive版だよ?起動にやけに時間がかかる(1分くらい)と思ったら、いきなりXの画面になってしまいました。なかにインストールのメニューがあったので、それでインストール開始。特に注意はありませんが、メーカー製のPCなのでOSのリカバリー領域があります。そこもつぶすか悩んだんですが、一応残しておきました。(XPにもどすかわからないけど、その分の金も払ってるしね)
あと、ディスクのパーティションニングが一つの山です。やるたびにUI変わって悩みますが、手動でやるときは/swap領域つくるの忘れずに。(特にメモリが1GBしかないマシンだから)
ところで、インストールするパッケージの選択が出てきませんでした。ということはbaseしか入ってない??めんどくさいけど、後からいろいろいれないといけません。(最近、Ubuntu使うことが多かったので、apt-getばかりだったのですが、久しぶりにyumコマンドです)

1.日本語化しましょう
baseシステムしか入ってないので、日本語は入っていません。調べてみたら、今はyumにgroupinstallなるパッケージ群を一度にインストールしてくれるものがあると。以下のコマンドで一発です。

# yum groupinstall "Japanese Support"

ちなみにgrouplistで使えるグループ名が調べれます。
次に文字コードの指定をしないといけませんが、自分はユーザーアカウントの.bashrcに以下の設定を入れておきました。(システム全体のデフォルトを日本語にしてもいいけど、なんとなく)

LANG=ja_JP.UTF-8
export LANG

2.Chromeをいれよう
世の中のディストリビューションはほとんどブラウザはFireFoxです。個人的にChromeが好きなので、まずこれのインストールです。普通にgoogleのHPにいくとdebian版のdebパッケージしかありません。それではこまります。(rpmがない!)しかたないので、リポジトリに以下を追加します。

(1)
/etc/yum.repos.d/google-chorme.repo を作成します。

(2)以下を入力
[google-chrome]
name
=google-chrome - 32-bit
baseurl
=http://dl.google.com/linux/chrome/rpm/stable/i386
enabled
=1
gpgcheck
=1
gpgkey
=https://dl-ssl.google.com/linux/linux_signing_key.pub


64bitの時はそれように内容を変更を。(x86_64とかね)

# yum list ‘*chrome*’


でインストール可能なものが表示されます。

google-chrome-beta
google-chrome-stable
google-chrome-unstable

の3つのバージョンがインストールできます。(まあ普通はstableをいれましょう)

3.Xのメニューを編集
Chromeをインストールしたんですが、2,3回失敗したせいかなんかメニューにアイコンが2個もついちゃいました(-_-;) 編集にはalacarteというコマンドを使いますが、デフォルトではインストールされていませんでした。しかたないのでyumでインストールしました。

ということで、かなり古いPCでもそこそこの速度で動く環境になりました。もう少し環境を整備しないと。

2013年2月3日日曜日

Androidプログラム開発-異機種開発に関して

Nexus7(4.2.1)でプログラム開発を行ってきましたが、もう一つ持っているGalaxy S2(4.0.3)でも動かすつもりで、プロジェクトを最初に作るときにベースラインのAPIを4.0.3にしてありました。
更にチャレンジとして、最初はWindows7、最後の調整はMac OSXで行いました。ちょっと文字コードが大丈夫かな?と思いましたが、SJISでプロジェクトを作成しても問題ありませんでした。(MacはEUCのはずだけど、問題でませんでした。)

ただちょっとGalaxyで困ったのが、USBケーブルを接続していて充電状態になってても、すぐに勝手にスリープしてスクリーンロックしてしまうことです。こうなると、デバッグはできないわ、MTPでのファイル転送も(Macでは)拒否されてしまいます。(不思議とWindowsではスクリーンロック状態でもファイル転送はできます。Macの方はデフォルトでMTP転送をサポートしてないので、特別のアプリを動かしていますが、そのせいか?)
一方、Nexus7は「開発者オプション」にUSBケーブルをつないで充電状態の場合、スリープしないというスイッチがあるので問題は起きません。(上から3つ目です)
Galaxy S2にも同様のものがあればよかったんですが、残念ながらありません。eclipseでAndroidアプリの開発を始めた最初はPC内のemulatorでやってたんですがこれが非常に遅い!Nexus7でデバッグしてみたら非常に快適でした。でもこれだとGalaxy S2のときのデバッグが困ります。色々、調べたんですが、USBケーブル接続時にスリープ禁止というスイッチはないようですが、かわりに思いついたのが「スクリーンロックしなければいい」ということです。これならば「セキュリティ」のところでスリープしてからスクリーンロックまでの時間(デフォルトは5秒のようです)を10分くらいにしてやれば、実用上問題ないでしょう。
あと、MacでGalaxyを使ってるとき困ったのがプログラムを動かすための設定ファイルを転送するときです。MacのMTPプログラムのせいかもしれませんが、Galaxyがすぐにスリープしてしまうせいか、いつも拒否されてしまいます。そこで最後の奥の手、昔の「USB接続モード」で転送してしまいました。Androidが4.0になってからこの方法は推奨されなくなったせいか、Nexus7にはそもそもこのモードがありません。Galaxyは昔はあったんですが、なんか設定メニューがだいぶ様変わりしてしまい、変な場所にありますが「無線とネットワーク」にスイッチがあります。
「USBユーティリティ」をタップしてやればPC接続モードにするか聞いてきます。
これで昔ながらUSB接続で安定してデータを送り込めます。

MTPはデータをPC側に吸い出すにはいいですが、送り込むのがちょっと面倒です。Macだけの問題かもしれませんが。

2013年2月2日土曜日

Raspberry Pi 電源On

さて、それでは早速周辺機器をつないで電源を入れます。ところで一緒にケースを頼んで入れたんですが、そうすると基板上のステータス表示用の4,5個あるLEDが見えません。問題が起きなければいいんですが、Web見てるとたまにSD上のimageがおかしくなってシステムが起動しなくなり、LEDが点滅して異常を表示するとか。そういうときに困ります。(RSコンポーネンツには透明なケースは見当たらなかったし)

初回はいきなりraspi-configが起動してくれますが、2回目からは手動のようです。(当然、root権限必要ですから、$ sudo raspi-config です。)

何はともあれ、「update」です。(このtool自体の更新です)結構、時間がかかりました。
次に、何はともあれ「expand-rootfs」で使えるSDカードの容量を増やさないと。再起動時に容量を増やしてくれます。(当然、時間はかかります)

あと、rootのパスワードは設定されていません。なのでno-passwordでsudoコマンドは使えますが、suはできません。気持ち悪かったら $ sudo passwd でrootにパスワードを設定してやりましょう。

キーボードはUS配列なのでそのままの設定で、次は時計と日本語の設定ですな。おっとそうそう、まずはシステムの更新、apt-get updateとupgradeしとかないと。

日本語の設定
まずは日本語フォントをインストール(何種類もありますが、適当に最低限必要そうなものを)



$ sudo apt-get install fonts-ipafont ttf-vlgothic xfonts-intl-japanese xfonts-intl-japanese-big

次に日本語入力のパッケージをインストールします。

$ sudo apt-get install ibus-anthy

Ubuntuなんかで採用されてるやつです。起動方法は日本語キーボードをつけてるなら”半角/全角”キーで、USキーボードならCTRL+Spaceです。
次にシステムの文字コード設定です。

$ sudo dpkg-reconfigure locales

これで起動する画面(数秒かかるので注意)に文字コードのリストが出てくるので、デフォルトのen_GB.UTF-8以外に、ja_JP.EUCとかja_JP.UTF-8を追加。ここではja_JP.UTF-8をシステムのロケールにしてしまう。(本当ならen_US.UTF-8とかのほうが安全だろうけど。なにせエラーなんかの表示が出るとき、システムが日本語表示できない状態で、日本語の文字でエラー表示されると変な記号に化けて出力される経験なんどかしてるし。。。)

$ sudo reboot で再起動。Xのメニューも日本語になっています。

あとデフォルトのbrowserがいけてない。日本語でないし、やはりchromeが。でも対応版がないので、chromiumで我慢。

$ sudo apt-get install chromium-browser

これでOK。

日本語がchromiumに表示されるようになったが、日本語入力できない!Anthyが起動しない。Xの画面右下のインプットメソッドを調べてみると、オフで何も手段が設定されていない。自分でAnthyを登録しないとだめだった。しかも日本語入力ができるようになるまでが、遅い!!2,3秒かかる。
やっぱシステムがHDDじゃなくmicroSDなんで、普通のHDDのLinuxシステムの様にはいきません。(それにこの程度のARMではX画面はきつそう。)

CPUパワーの比較をちょっと考えてみよう。(無難にベンチマークでも動かしてみるか。ストレージ関係のパフォーマンスは見ない方がいいだろうし。)


PS.
やっぱりシステムのデフォルト文字コードを日本語にするのはまずかったです。システムのデフォルトをjp_JP.UTF-8にしたら、raspi-configの文字列が化け化けになりました。結局、システムのデフォルトをen_US.UTF-8に戻しました。(一時的に、LANG=en_US.UTF8と環境設定して、設定を戻しました。でも日本語フォントが入っているのと、一度は日本語入力メソッドを設定したおかげか、en_USのままでも日本語使えてます)
キーボードに101使っているんですが、どうも数字のシフトにある記号が化けてうまく入力できなかったんです。raspi-configでキーボードの設定を見直してると、English以外に”Happy Hacking Keybord"の選択が!!(こいつをまさに使ってます)何かスキャンコードが違うんですかね、しかもこれにしてもさらに追加の設定でデフォルトだと"English(UK)"ではダメで、"English(US)"を選択してやらないと記号入力がうまくできませんでした。