2014年6月29日日曜日

Nexus 5にAndroid L Developer Previewをインストール

Android LをNexus 5にインストールした時のメモ。
PC側のOSはUbuntu14.04を使用したが、他の環境でも同様であるはず。
Nexus 5のブートローダーがアンロック済みである事を前提とする。
(注1)イメージインストール時にデータは消える。
(注2)Android Lで動かないアプリもある。そもそもプレビュー版。利用は自己責任で。

まずアプリデータのバックアップ。
Nexus 5をデバッグモードにしてからUSB接続。
以下のコマンドを実行。
$ adb backup -apk -noshered -all -nosystem -f backup.ab

ファクトリーイメージをダウンロードして展開。
ここからNexus 5向けのイメージをダウンロード。
(注3)2014/6/29現在。プレビュー版なのでその内消えるか。
$ cd ~/Downloads
$ tar xzvf hammerhead-lpv79-preview-ac1d8a8e.tgz
$ cd hammerhead-lpv79

Nexus 5にイメージをインストール
$ adb reboot bootloader
$ sudo ./flash-all.sh

インストール終了後バックアップしたデータを戻す。
再びNexus 5をデバッグモードにしてからUSB接続。
$ cd directory-of-backupfile
$ adb restore backup.ab

2014年4月2日水曜日

Ubuntu14.04にmozc-utを導入

Mozc UT Doctionaryの評判が良さそうなので、Ubuntu 14.04にも導入してみる。

http://www.geocities.jp/ep3797/mozc_01.htmlから最新版をダウンロードし、
ておくれブログ
http://blog.lindwurm.biz/2014/01/ubuntu-1310-fcitx-mozc-ut.html
にある通りパッケージをビルド。

mozcとfcitx-mozcのパッケージを導入した。
基本的に13.10→14.04で生じる問題は無い模様。
現時点では正常に動いている。

2014年4月1日火曜日

Ubuntu14.04でのFlashの文字化け

Ubuntuを14.04にアップデートした所、flashの文字化けが復活。
前と同様に
http://linux.ikoinoba.net/index.php?UID=1356873826
で取り上げられていた処方箋にしたがって、

$ sudo apt-get install fonts-arphic-uming

を試みるものの、パッケージからfonts-arphic-umingが無くなったようでダメ。

そこで
http://tkyon.blogspot.jp/2013/08/linux-youtube.html
にある方法を試す。

https://github.com/wzssyqa/language-selector-im-config/blob/master/fontconfig/69-language-selector-ja-jp.conf
の内容を持ってきて、/etc/fonts/conf.avail/69-language-selector-ja-jp.confにコピー

$ sudo ln -s /etc/fonts/conf.avail/69-language-selector-ja-jp.conf /etc/fonts/conf.d/

その後、ブラウザを再起動すると無事日本語が表示された。

追記
後で見るとやはり字幕はうまく行っていない。もう一度fonts-arphic-umingを確認するとちゃんと最新になっているようで、もう一度
$ cd /usr/share/fonts/truetype
$ sudo cp fonts-japanese-mincho.ttf arphic/uming.ttc
を実行してみると上手くいったようだ。

2014年3月30日日曜日

Ruby GemでのTwitter

Raspberry Piからの自動Tweetをしようとして、前に使っていたRubyスクリプトをそのまま持ってきたが使えない。

http://stackoverflow.com/questions/20247712/error-with-ruby-twitter-api
によると、現在のRuby Gemのバージョンでは。

Twitter.configure do |config|
  config.consumer_key = 'xxxxxxx'
  config.consumer_secret = 'xxxxxxx'
  config.oauth_token = 'xxxxxx'
  config.oauth_token_secret = 'xxxxxxx'
end

Twitter.update(str)

がダメで、

client = Twitter::REST::Client.new do |config|
  config.consumer_key        = "xxxxxx"
  config.consumer_secret     = "xxxxxx"
  config.access_token        = "xxxxxx"
  config.access_token_secret = "xxxxxx"
end

client.update(str)

とする必要があるとの事。上記で無事tweetできる事を確認。

2014年3月10日月曜日

VirtualBox上のUbuntu 14.04 (Beta1)

Ubuntu 14.04がBeta1になったのでMacのVirtualBox上にインストールしてみた。
isoを落としてきて仮想マシンにインストール。

インストール自体は問題が無く終了、ただ画面解像度が640x480固定になってしまう。Guest Additionsを入れても解決せず。もしやと思い、VirtualBoxのバージョンを最新の4.3.8に上げてからGuest Additionsを入れなおしたら解決。解像度を上げられるようになった。

14.04の印象はほとんど13.10と変わりが無い… まあLTSだから当たり前か。

2013年12月1日日曜日

Nexus7(2013) Android 4.4におけるFlash

結論からいうと現状上手く動作しない。

Dolphinブラウザを導入する事でAndroid4.4 KitKatのNexus5上でFlashが動作するとの話を聞き、KitKatなNexus7(2012)でも可能かと思い試してみた。

方法は以下のAndroidloverさんのブログの通り。
Android 4.4 KitKatでFlash Playerを使えるようにする方法(Puffin Web Browser不使用)。 - ANDROIDLOVER.NET

やってみた所、どうもNexus7(2012)では上手くいかないようだ。ただ上記はNexus5での話なのでNexus7(2012)で動かない事自体は特に不思議は無い。

2013年8月27日火曜日

Xperia A (SO-04E)へのadbからのアクセス

Xperia Aに機種変したんで、早速Ubuntu13.04からadbでアクセスしようとするがダメ。

そこでまずXperia AをUSB接続してlsusbを実行。ベンダーと製品のIDをメモ。(今回の場合ベンダーIDは0fce、製品IDは0198)

/etc/udev/rules.d/51-android.rulesに
SUBSYSTEM=="usb", ATTR{idVender}=="0fce", ATTR{idProduct}=="0198", MODE="0666"

と書き込み

$ adb kill-server
$ sudo adb start-server
とする(sudoいらんかも)。

これでadbが使えるようになった。(android側のUSBデバッグ設定などはいつも通りなので割愛)しかし、MTPでファイルにアクセス出来てないんだよなあ… Nexus 7は何の設定もなく使えたが。今後の課題。

2013年4月18日木曜日

Raspberry Pi 到着


前から注文してたRaspberry Piがやっと自宅にキター!


利用法はこれから考える。(単なるオモチャとなる可能性が一番高い)

とりあえず姫野ベンチの結果(C言語版、サイズはsmall)

gccでコンパイル
  cpu : 56.529307 sec.
  MFLOPS measured : 58.262508
  Score based on MMX Pentium 200MHz : 1.805470

clangでコンパイル
  cpu : 78.042467 sec. 
  MFLOPS measured : 42.201885
  Score based on MMX Pentium 200MHz : 1.307775


[参考] Core i5 2415Mでの結果

gccでコンパイル
  cpu : 1.231257 sec. 
  MFLOPS measured : 2674.940488
  Score based on MMX Pentium 200MHz : 82.892485

clangでコンパイル
  cpu : 1.185852 sec.
  MFLOPS measured : 2777.361087
  Score based on MMX Pentium 200MHz : 86.066349

もうこの辺りのデバイスのCPUでもMMX Pentiumを上回る性能か…。さすがにCore i5と比べると1/40くらいで、この辺はさすがに仕方ないだろう。
Raspberry Piのclangでの結果がgccより明らかに遅いのはARM向けにどれだけ最適化されてるかの差だろうか?(コンパイルオプションの問題、という事も往々にしてあるが)

[上記の比較は「試しに測ってみた」だけでちゃんとデータをとってある訳ではありません。あくまで参考程度に]


2013年4月17日水曜日

USB温度計のUbuntuでの使用

室内の温度測定などのためにUbuntuでの動作が確認されているUSB温度計を購入。

Amazon USB温度計! USB thermometer

980円のUSB温度計を使ってLinuxから室温を計測する (infiniteloop.co.jp)
を参考にしてGitHubから測定プログラムtemperのソースコードを持ってくる。

temper : github bitplane / temper

修正、コンパイルなどは上記リンクやREADMEなどを見ながらやれば特に問題がないだろう。

ただ、このプログラムはそのままだとroot権限でしか実行出来ない。なのでtemper内のREADMEに従い、ソースに同梱されているudevルールのファイルを/etc/udev/rules.d/にコピーしてやる。
$ sudo cp ~/temper/60-temper.rules /etc/udev/rules.d/
で、temperグループを作成しユーザーhogeを追加
$ sudo addgroup temper
$ sudo gpasswd -a hoge temper
udevをリロード
$ sudo service udev reload
これで、温度計を抜いてもう一度挿せばユーザー権限でtemperが… できない。どこか間違っているようだ。

色々調べて見ると、この温度計はlsusbで
ID 1130:660c Tenx Technology, Inc.
と表示されるものと
ID 0c45:7401 Microdia
と表示されるものがある模様。

lsusbを実行してみると、
Bus 002 Device 008: ID 0c45:7401 Microdia
と表示される。

temperに同梱されていた60-temper.rulesの内容は、
ATTR{idVendor}=="1130", ATTR{idProduct}=="660c", OWNER="root", GROUP="temper", MODE="0660"
となり、Tenx Technologyの方の設定になっている。これをlsusbの内容に従って以下のように変更する。
ATTR{idVendor}=="0c45", ATTR{idProduct}=="7401", OWNER="root", GROUP="temper", MODE="0660"
これを/etc/udev/rules.d/に置き、udevリロード以下の手順を実行すると、
$ temper
2013-04-17 21:29:15,23.324450
今度は上手くいったようだ。

2013年4月15日月曜日

RubyGemsを使う場合のcrontabの書き方

Ubuntu (13.04)で自動ツイート用のRubyスクリプトを作って定期的に実行させようとcronを使うがうまくいかない。cronは正常に動作している模様。

そこで、ググって見つけたのが以下の情報

GEM_HOMEを指定する必要があるようだ。(Rubyでtwitterを利用するにはRuby Twitter Gemをインストールする必要がある)

というわけでcrontabを以下のように書く
0 21 * * * GEM_HOME=/home/hoge/.gem/ruby/1.8 /path_to_the_script/tweet.rb > /dev/null 2>&1
これで上手くいった。
(ここでは.bashrcでGEM_HOMEを~/.gem/ruby/1.8としたのでそうしているが本当なら.bashrcの設定ともども~/.gem/ruby/1.9とするべきか?まあ動いてるからいいや)