Nokia N9 メモ2(Terminal & sshd & devel-su =root取得)

Nokia N9には、N900ではデフォルトでインストールされていたTerminalがありません。でも心配無用。アプリ一覧から
Settings -> Security -> Developer mode を
ON にすると、terminalとsshdとdevel-suとかをインストールしてくれる。
自分は、インストール途中でrebootして、にっちもさっちも行かなくなったが、sshdはインストール成功し動作してたので、sshでroot接続して、apt-get --reinstall install busybox-devel-suで復旧できたorz。インストール完了すると、アプリ一覧にTerminalが出てくる。
Terminalで、devel-su リターンで、パスワード rootme を入れるとrootに昇格できる。
もしくは、sshで、N9に接続してroot/rootmeで rootログインできる。sshのrootログインは、N950は蓋されたようなのでN9もそのうち塞がれるかも。

デフォルトパスワードは怖いので、パスワードは変更して公開鍵を置いた。

  • Terminal

縦画面

横画面

Terminalは、フォントサイズは、ピンチイン・アウトで変更できる。仮想キーボードの上1行がツールバーらしい。縦画面だとツールバーが一部隠れるので横にしないと使い物にならないw
ツールバーは2種あり、切り替えには右上の〓マークのメニューをタップ->Toolbar(Arrows/Shell)するか、メイン画面中を横スワイプで切り替えられる。
メイン画面上で、下スワイプでバックログを確認できる。
ツールバーの設定らしきものが、 /usr/share/meego-terminal/toolbars/shell.xml ココら辺にあるみたいなので自分で定義できるのかも。

Nokia N9 がやってきた。


色々メモ

$ uname -a
Linux RM696 2.6.32.39-dfl61-20112910 #1 PREEMPT Fri Aug 19 21:10:50 EEST 2011 armv7l GNU/Linux

夜9時までお勤めご苦労様です。8/19 ビルドで、10/9 店頭ってことは、最終ビルドの検査2W 工場 1ヶ月ってとこかな。

  • df -f
$ df -f
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 3.9G      1.7G      2.0G  46% /
devtmpfs                 10.0M    248.0K      9.8M   2% /dev
tmpfs                     4.0M     68.0K      3.9M   2% /tmp
tmpfs                   512.0K    136.0K    376.0K  27% /var/run
none                     10.0M    248.0K      9.8M   2% /dev
tmpfs                    64.0M    592.0K     63.4M   1% /dev/shm
/dev/mmcblk0p3            2.0G    154.2M      1.7G   8% /home
aegisfs                   3.9G      1.7G      2.0G  45% /home/user/.facebook/private
aegisfs                   3.9G      1.7G      2.0G  45% /home/user/.odnp-fpcd/private
aegisfs                   3.9G      1.7G      2.0G  45% /home/user/.mms/private
aegisfs                   3.9G      1.7G      2.0G  45% /home/user/.odnp/private
aegisfs                   3.9G      1.7G      2.0G  45% /home/user/.positioningd/private
aegisfs                   3.9G      1.7G      2.0G  45% /home/user/.slpgwd/layer
aegisfs                   3.9G      1.7G      2.0G  45% /home/user/private
aegisfs                   3.9G      1.7G      2.0G  45% /var/cache/timed/aegis
aegisfs                   3.9G      1.7G      2.0G  45% /etc/ssl/certs
/dev/mapper/signonfs      6.8M     46.0K      6.4M   1% /home/user/.signon/signonfs-mnt
/dev/mmcblk0p1           53.7G     16.6G     37.1G  31% /home/user/MyDocs

イージスfsってなんだすか?/home/user/MyDocs が 53.7GB。相変わらず、/home/user/MyDocsは vfat でマウントされてた。メイン容量をvfatに割り振るのはやめてほしいな。
rootディレクトリの空き容量は、N900にくらべると、2,000MB空いているので使いやすい。/homeが ext4でマウントされて、2GBある。N900とext3ext4の違いがあるが容量は同じ。
言い忘れましたが、N9には16GBモデルと64GBモデルがありますが、上は64GB版です。

  • メモリ
free
             total         used         free       shared      buffers
Mem:       1008664       917140        91524            0        29864
-/+ buffers:             887276       121388
Swap:       262136        30128       232008

あまりアプリ起動してない状態でも、1G 物理メモリ食いつぶしてswapしてますorz N900でいちばんウィークポイントだったので、一番、N9に期待してたのはメモリ増だったのに・・・。topとかで見るとメモリ大食いの常駐アプリがうようよしてますorz

ノキアジャパン Nokia N9 16GB Black SIMフリー

ノキアジャパン Nokia N9 16GB Black SIMフリー

Camkeyd

Camkeydは、カメラシャッター半押しでタスク選択画面を呼び出せるようにするアプリ。(Ctrl+Backspaceと同じ動き)
レンズカバーの状態で動きが変わるらしい。良く考えられてますねぇ。(でも私の端末レンズカバー樹脂封止してるので、開けることができないぉ)
インストールは、Extrasレポジトリ有効にして、

sudo apt-get install camkeyd

設定とかは無く、ただインストールするだけ超Cool!!

GNU screen & PuTTy を 256色化に挑戦

PuTTy上で、screenを使ってると、こんな表示で、

16色しか表示できてなく、少し、残念な表示。emacsでfaceをいじりだしたら色が足りなくなってきたので、少し調べてみた。
Ubuntu開発環境の仮想端末から /lib/terminfo/x/xterm-256color のファイルを抜き出して、N900 の/etc/terminfo/x/ にコピーしてシンボリックリンクをはる。sudo ln -s /etc/terminfo/x/xterm-256color /usr/share/terminfo/x/
PuTTyの環境設定で端末タイプの文字列を xterm-256color に設定する。ここまでで、素端末では256色表示できるようになった。

wget http://frexx.de/xterm-256-notes/data/256colors2.pl
perl 256colors2.pl

とすると256色表示できるか確認できる。screenrc に

defbce "on"
term xterm-256color

を、追記。まだscreenの中では16色のままだった。調べると、screenのコンパイルオプションが有効になってなかった。maemoのレポジトリからソースを取得して、パッチをあてて再パッケージ化@Ubuntu開発環境

apt-get source screen
patch < /media/mmc1/stack/screen/screen-4.0.3-caption.patch #http://d.hatena.ne.jp/mikenekoDX/20100208/1266474213から貰ってきたパッチ
vi debian/rules
./configure の数行後が、
--with-sys-screenrc=/etc/screenrc
# --enable-colors256
コメントアウトされてたので
--with-sys-screenrc=/etc/screenrc \
--enable-colors256
コメントを外す。
dch -i
パッケージ名を適当に、osso4+0m5-custom0.1にでも変更して保存。
~/src/screen/screen-4.0.3-0.3osso4+0m5 > dpkg-buildpackage -rfakeroot -d


でもまだ、emacsで M-x list-color-display すると8色…ウワァァ---。゚(゚´Д`゚)゚。---ン!!!!。と思ったら、screenrcの記述順間違えてterm xterm-256colorより前にzsh起動してただけだったorz
以上、任務完了!

GNU screen の backtickにN900のバッテリー残量表示するようにしてみた

なんか最近気がつくとN900のバッテリーがジリ貧になってることが多々ある。(そろそろバッテリーがへたってきてるのかなぁ?)
普段PCからsshでログインしてあおり倒してるので、ポケットの中にあるN900のバッテリー切れに気づきにくい。最近、GNU Screenに backtickという機能があるのを知ったので、それを使ってハードステータスにバッテリーモニタを仕込んでみた。

GNU Screen って何かっていうと、なんて説明すればいいんだろう? Wikipediaによると、「フリーな端末多重接続ソフトウェアである。」うん意味不明、説明割愛w。
まず、backtick用のスクリプト以下を/home/user/bin/batmonitorN900に保存した。

#!/bin/sh
# $N=表示インジケータ数
N=8
chrS="                    "
#     12345678901234567890 N=最大20文字まで対応
# $PERCENT=充電残容量
PERCENT=`lshal -u /org/freedesktop/Hal/devices/bme | awk '$1=="battery.charge_level.percentage" {print$3}'`
# インジケータの長さ設定
BAR=`expr "${PERCENT}" \* "$N" / 101 + 1`
# $PERCENTが文字列 か100より大きいと100にして処理継続
if [ $? -ge 2 ] || [ $PERCENT -gt 100 ];then
  PERCENT=100
  BAR=$N
fi
charBAR=`expr substr "${chrS}" 1 "${BAR}"`
SPC=`expr "$N" - "${BAR}"`
charSPC=`expr substr "${chrS}" 1 "${SPC}"`

if [ x`lshal -u /org/freedesktop/Hal/devices/bme | awk '$1 =="battery.rechargeable.is_charging" {print $3}'` = "xtrue" ]
 then
    STATE='充電中'
fi
# COLOR=インジケーター色
if [ $PERCENT -lt 20 ]; then COLOR="=r kr"
elif [ $PERCENT -lt 30 ]; then COLOR="=r kY"
elif [ $PERCENT -lt 40 ]; then COLOR="=r ky"
elif [ $PERCENT -lt 50 ]; then COLOR="=r kb"
else
 COLOR="=r kg"
fi
# 出力
echo -e "$STATE $PERCENT%[\005{$COLOR}${charBAR}\005{-}${charSPC}]"

作ったスクリプトに実行権限をつける。chmod a+x /home/user/bin/batmonitorN900
で、.screenrc とかに

backtick 1 0 30 /home/user/bin/batmonitorN900
hardstatus alwayslastline "%H [%02c] %-w%{=b bw}%n %t%{-}%+w %=%1`"

を追記。1行目で、30秒毎に、batmonitorN900 を実行してくれて実行結果がbacktickのid=1に入るようになる。
2行目で、ハードステータスの表示内容設定。%1` が、backtickのid=1の参照。
hardstatusの表記やエスケープの仕方が奇奇怪怪で分かり難く四苦八苦しました。
これで、心もち安心できるようになった。ちなみにその左に表示させてるのは、PocketWifiの3Gアンテナ*1。apt-getで落ちてくるGNU screenだと、ハードステータスに日本語表示できなかったので、こちらからパッチ頂いて、当てています。

*1:Webインターフェース/en/conn.aspを直でたたいて取得

N900 Evernote 再び

Evernoteの画像認識も、日本語対応したということで着々とローカライズされてきてる。
N900でバリバリ利用したいと思うが、先回紹介したEvernote Sharing Pluginは機能的に残念な感じでした。qvernoteというものを見つけたので使用してみた。<参考> http://talk.maemo.org/showthread.php?t=55179

  • レポジトリにextras-develを有効にする
  • sudo apt-get install qvernote

でインストール。初回の同期はものすごく時間がかかりました。
日本語のノートブック名は文字化けする様だ。

でも、ノート名や、本体は日本語でも大丈夫そう。

maemocjk*1だと日本語入力できませんでしたが、ibus-mozcを使えば入力可能でした。

明示的に保存してから、シンクロしないといけなかったり、使い勝手はいまいちな点がありますが、ローカルで編集ができるようになりました。将来のアップデートに期待したいね。

*1:Kimitakeさんによると、scim-bridge-client-qt4を使うと、maemocjk-scimでも日本語入力できるそうです。文字が2重になるそうですが。名前からなんとなく想像してましたが、qtアプリなんでしょうね。

Android @ N900


今日のエントリーは、危険です。読んで意味のわからない人は、立ち入らないように。

愛用のN900がレンガになっても、連続リブートになっても、冷静にフラッシュできる心構えと対処スキルが最低限必要です。

私は一度レンガになりましたw。

参考サイト(てか、ほぼ丸写しですが) http://talk.maemo.org/showthread.php?t=49811&page=94

必要なもの

PC Linux上で下記をダウンロードして準備(NITDroid rootfs と kernel)

wget http://www.loadsofspace.net/NITDroid-0.0.3-1-Eclair-WiFi.tbz2
wget http://www.loadsofspace.net/zImage-0.0.3

(ファイルが古くなってるかもしれないので上記参考サイトで確認)

まずN900上での作業

a) app.Mngにextras develレポジトリを有効にする

b) bootmenu-n900をインストールする

sudo apt-get install bootmenu-n900

c) NITDroid用ブートメニュー作成

sudo vi /etc/bootmenu.d/android.etc.item

android.etc.item内容(microSDの第2パーティションにインストールの例)

ITEM_NAME="Android (external SD, partition 2)"
ITEM_ID="android3"
ITEM_DEVICE="${EXT_CARD}p2"
ITEM_MODULES="mbcache jbd ext3 fat vfat"
ITEM_FSTYPE="ext3"
ITEM_FSOPTIONS="noatime"

N900起動時にキーボードを開いてるとメニューが表示されれば成功。

ここから、PC Linux上での作業。

1) microSDにrootfs用のパーティションを作成

microSDの第2パーティションに fdisk なり QtParted なり gparted なり で 1GB以上のLinuxパーティションを作成。
以下、mmcblk1がSDです。PC Linux環境により異なりますので読み替えてください。

sudo sfdisk -l
   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/mmcblk1p1          1    3618    3618   29061585    c  W95 FAT32 (LBA)
/dev/mmcblk1p2       3619    3879     261    2096482+  83  Linux
こんな感じで2GB程確保してみた。

ext3で、フォーマット

sudo mke2fs -j /dev/mmcblk1p2 -m0

2) microSDにrootfsをぶち撒ける

上で確保した領域をどこかにマウントする。(下記は、/mnt/cardにマウントして作業してます。)

sudo mount /dev/mmcblk1p2 /mnt/card
sudo cd /mnt/card
sudo /usr/bin/gnu/tar xjvvpf DLファイル置場\NITDroid-0.0.3-1-Eclair-WiFi.tbz2

microSDを取り外してN900に取り付ける

3) カーネルの書き込み*1

flasher-3.5 --enable-rd-mode --set-rd-flags=no-lifeguard-reset,no-ext-wd -f -k DLファイル置場\zImage-0.0.3 -R

N900の電源を落とした状態でキーボードのUを押しながらmicroUSBケーブルを接続。

以上で作業終了。キーボードを開いた状態で起動させbootmenuでAndroidを選ぶ。うまく言ってるとAndroidが起動してくる。

MAEMOよりさくさく動く・・・w 現状電話とかは動きません。
サポートされてる機能は↓ここらへん参照。
https://sites.google.com/site/nitdroid/n900-1
Androidを終了させるには電源SW長押しでメニューが出てきます。キーボード閉じて再起動させるか、bootmenuで内部フラシュを選べばmaemoに戻れます。

*1:元のカーネルに戻すには(PR1.2の場合)
flasher-3.5 -f -F RX-51_2009SE_10.2010.19-1_PR_COMBINED_MR0_ARM.bin --flash-only=kernel -R