2010年06月08日

CentOSでCP932を使う (SJISとちょっと違うよ!)

先日「CentOSでSJISを使う」という記事を書いたところ、コメント欄で「Windowsで使っている文字コードはCP932(MS漢字コード)なので、厳密にはSJISとは違うよ」とご指摘を頂きました。(ありがとうございます!)

というわけで、先日の手順の改訂版。
題して「CentOSでCP932を使う」。

以下のコマンドで、SJISロケールをCP932として追加します。
localedef -f WINDOWS-31J -i ja_JP ja_JP.SJIS

Shift_JISとして登録する場合と違い、登録時の警告は出ません。

viの設定も少し変わります。
具体的にはencodingという設定値が増え、.exrcに登録するのは以下の2行になります。
encoding=cp932
set fileencodings=utf8,cp932,latin

moriyamaさん、ご指摘ありがとうございました!

<参考サイト>

【shift_jisとwindows31Jの関係】 文字コードについて質問です。 WindowsでSHIFT_JISで保存したら自動的にWINDOWS31Jで保存されるのでしょう か? それはつまりWINDOWS31J.. - 人力検索はてな
http://q.hatena.ne.jp/1167447698

Shift_JIS(cp932)の「ダメ文字」 (fudist)
http://sites.google.com/site/fudist/Home/grep/damemoji
posted by 月水和尚 (とも) at 15:56 | Comment(0) | TrackBack(0) | Linux(ディストリビューション固有)

2010年06月04日

HT-03Aでまだまだ戦う (Cyanogenmod 5.0.7 完結編)

Cyanogenmod 5.0.7が正式リリースされて約一週間。
やっと私の手元の環境も固まって、ばっちり安定状態になりました。

今回は完結編として、手元の環境のまとめを書きたいと思います。
詳細な手順とか説明は端折って、淡々と箇条書き。
よろしければお付き合い下さい。


<SPL>

・Engineering SPL 1.33.2005
SPLの置き換えは必須ではないのですが、Engineering SPLを導入することでfastbootが使えるようになり、ROM領域もRecovery領域も破損してしまったときの復旧の最後の砦になるので私は適用しています。

<Recovery>

・RA-sapphire-v1.7.0
リカバリ領域にはRA-sapphireの最新版を適用。FlashRecoveryでもROM焼き自体は問題なくできますが、NAND backupからの戻しが選択的に出来たり、USB mass storageとして母艦から接続できるようになったりとメリットが多いので。適用して害もないですし。

<ROM>

・Cyanogenmod 5.0.7
SuperBadなどのCyanogenmod派生ROMもいくつかあるんですが、私はオリジナルのROMを使っています。根幹の部分は大きく変わらないので、色々試してお好きなROMを選んでいただければいいと思います。test版の時にはOverClockカーネルを適用していたのですが、リリース版ではOCカーネルを適用した方が動きが鈍くなることが多かったので、通常のカーネルのまま使用しています。(ただしクロックは576MHzまで上げています)

・JIT for CM5.0.7 – Dream/Sapphire
JITの適用は結構悩んだ(実は今でも悩んでいる)のですが、今は適用した状態で運用してます。ベンチマークの数値は大きく上がるものの、体感的な速度はそれほど変わらない気がするのでこの辺はお好みで。個人的なオススメは、CCのみであればJITなし、swapを使える場合はJITあり。

<設定>

・Swap 256MB / Compcache OFF
導入当初はswap OFF / Compcache 32MBで運用していたのですが、Class10のmicroSDを利用するとswapが快適だという人柱レポートと、Cyanogenmodのwikiに「Class6のmicroSDHCにswap置くのが一番オススメ」という記述があったので、奮発してClass10のmicroSDHCを購入し、そこにswapパーティションを256MB確保して利用しています。swapを使うと顕著に遅かったカメラの起動もストレスなくできるので非常にいい感じです。ただCC32MBのみの運用でも十分快適なので、無理して速いSDを買う必要はないと思います。
ちなみにswapの利用状況を見る限り、64MBもあれば容量的には十分そうな感じ。どんなに多めに見積もっても128MBですね。リリース版(もしくはtest7)でlow memory killerが強化されたようなことを見た気がするので、あまり大きなメモリを用意してあげても意味がないのかもです。

・ランチャーの常駐
私はホーム画面にウィジェットをたくさん置きたい人なので、ホームがメモリから落ちてしまうと結構辛いんです。そのため常駐をONにしてます。CC32MBの頃は置くべきか悩んだのですが、swap256MBに変更してからは完全に常駐。

<アプリ(常駐系)>

・ADW Launcher
標準ホームとかHome++とか色々試してみたのですが、今はADW Launcherが一番気に入っています。CMのリリース版が出た直後くらいまでは野良アプリとしてZIPで提供されてたのですが、今はマーケットにあるので導入も楽々です。

・Simeji / Kaomoji List / \叫ぶ/
日本語入力はSimeji。OpenWnn系の中では一番私の肌に合ってます。
マッシュルームとしてKaomoji Listと\叫ぶ/も導入。
某所で叫びまくってます。(笑)

・exsbar
私は通話用としてHT-03Aを使っていないので、発話ボタンは余っていました。ここに通知領域を開く機能が割り当てできるのですごく重宝してます。最新バージョンでHelloStatusBarの機能が統合されてこのアプリ1つでOKになりました。

・AltTabApps
タスクスイッチャーとして超便利。
これなしでマルチタスクは考えられないです。

<アプリ(通知系)>

・降水確率ステータスバー
・CPUMonitorMini
・データ通信状態表示 aDataConMon
通知領域にはこの3つを。
aDataConMonはb-mobileSIMを使ってるが故のアプリですね。

<アプリ(カレンダー)>

・Calendar Pad
・ジョルテ
・S2 カレンダーウィジェット
カレンダーは1つにまとめられずに難儀しています。カレンダーアプリそのものはCalendar Padが一番なのですが、月表示のウィジェットはS2 カレンダーウィジェット、週表示のウィジェットはジョルテが見やすいので、3つのアプリが混在する状態に…。

<アプリ(ネット関連)>

・twicca / プラグイン(twitpic/flickr)
・xScope Browser Lite
・Dropbox
・Libraroid
・Gaapagos Browser
・東京アメッシュ
・日本のお天気レーダー
twiccaは神アプリです。写真はtwitpicとFlickrに上げているのでそのためのプラグインも一緒に導入。xScopeBrowserは見た目も性能の高さもChrome。ダブルタップでズームが使えたら死角なしなんですが。

<アプリ(カメラ)>

・CameraMagic
・FxCamera
カメラアプリはまだまだ捜索中。タッチフォーカス(iPhone3GSで採用されているあれ)が使えるアプリがあるといいんですが。ちょっと有料アプリまで捜索範囲を広げてみようかと画策中です。

<アプリ(ツール類)>

・ConnectBot
・AndExplorer
・Speed Dial Folder
・Quick Settings
・Wifi Analyzer
人柱erとしてConnectBotは必須ですね。

<アプリ(その他)>

・Note Everything
・My Tracks
メモ系ももう少し肌にあった物を探したいところなのですがなかなか。

<ウィジェット>

・Gauge Battery Widget
・Retro Clock Widget
・WiFi Manager
・Wifi Toggle Widget
Gauge Battery Widget超オススメ!

こんな感じで。

これでしばらくROM焼きもお休みかな…と思ったら、すでにCyanogenmod 5.0.8 test1がリリースされていました。どうやら人柱erとしての安息の日々が訪れることはないようです。でもCyanogenさんを始めとする開発者の方々の素晴らしい活躍のおかげで、1年以上前の機種が今でも現役でばっちり使えているので、本当にありがたいことです。

というわけで、Cyanogenmod 5.0.7編はこれにて終了。
次回の5.0.8編、そしてNexusOneで頑張る編をお楽しみに!


最後になりましたが、Cyanogenさんを始めとする開発者の方々、chromepencilさんを始めとするコムギネットの皆様、そしてtwitterで活躍中の人柱erな皆様に感謝いたします。ありがとうございました。
posted by 月水和尚 (とも) at 17:48 | Comment(17) | TrackBack(1) | Android

CentOSでSJISを使う

WindowsCentOSでちょっとした連携をする仕組みを作っていたのですが、困ったのが文字コードの違い。WindowsがSJISを使っているのに対してCentOSのデフォルトではUTF8を使っています。

本気で対応するのであればCentOS側のプログラムでSJIS-UTF8の変換をすべきなのですが、今回は期間限定お試しのため、安易にCentOS側のロケールをSJISにすることにした…のですが、CentOSってデフォルトではSJISロケール入ってないんですね。(今さら知りました…)

と言うことで、SJISロケールの追加方法。
localedef -f SHIFT_JIS -i ja_JP ja_JP.SJIS

これだけでOK。
コマンド実行時に、日本語ロケールだと
キャラクタマップ `SHIFT_JIS' は ASCII 互換ではありません, ロケールは ISO C に従っていません

また英語ロケールだと
character map `SHIFT_JIS’ is not ASCII compatible, locale not ISO C compliant

という警告が出ますが、気にしなくて大丈夫のようです。

私はファイルの編集にviを使うので、viでもSJISを扱えるように.exrcに以下の1行を追加します。
set fileencodings=utf8,cp932,latin

以下のサイトを参考にさせていただきました。(ありがとうございます!)

SJIS ロケールの追加 - kamata-net.com
http://blog.kamata-net.com/archives/000076.html

CentOSのlocaleにSJISを追加 - 脳ログ - livedoor Wiki(ウィキ)
http://wiki.livedoor.jp/yoko00068/d/CentOS%A4%CElocale%A4%CBSJIS%A4%F2%C4%C9%B2%C3

ずんWiki - vim
http://www.kawaz.jp/pukiwiki/?vim
posted by 月水和尚 (とも) at 10:48 | Comment(10) | TrackBack(0) | Linux(ディストリビューション固有)