2008-02-19

Localization on Eee PC

ASUS Eee PC
この手の超軽量ノートはガジェット好きのギーク魂をくすぐるものの、ほとんどの場合において中途半端な完成度で飽きてしまうのですが、それでもついウッカリと手を出さずに居れないのもまた事実。中文版の黒を入手したのでl10nの覚書を交えて簡単にレビュー。

まずこのサイズのノートにしては満足のいく鍵打感、かつASCII配列。もうこの時点で、私個人の費用対効果は合格点だと言えます。かつて過ぎ去っていったガジェット達も、多くがこの辺りに敗因がありますので。

ゼロスピンドルかつ小型。いやMacBookAirは当然あこがれるけど、あまり大きなバッグを持たない私にとっては薄さより小ささ、軽さが重要。これまた合格点。

ちなみに国内版はJIS配列かつWindows搭載というF**kin' shitな仕様ですが、それが嬉しい人にとってはまたやはりプラスですね。ヨドバシの店頭で触った限りで言えば、わりと軽快に動作していました。メモリは換装されていない状態です。

では中文版Xandrosの日本語化の流れ。実態はDebian Linuxに皮被せたような代物ですから、問題は読めない漢字の海の中からターミナルを起動する事、その一点だと言えるでしょう。正直に申せば、先人のまとめを見るまで分かりませんでした。GRUBでスタンドアロンに入ろうかと思ったくらい。なのでほとんどここを参照。


  1. 左から二つ目のタブを選択し、なんとか管理員と書かれたアイコンをクリック。

  2. FileManagerが起動するので、Ctrl-Tでターミナルを起動。

  3. > sudo su -

  4. > cd /etc/apt; vi sources.list

  5. deb http://ftp.jp.debian.org/debian/ etch main contrib non-free を append し保存。

  6. > apt-get update

  7. > apt-get install ttf-vlgothic いやまぁフォントはお好きなのをどうぞ。

  8. > dpkg-reconfigure locales

  9. メニューで ja_JP.EUC-JP EUC-JP, ja_JP.UTF-8 UTF-8 を選択。

  10. > apt-get install emacs

  11. > apt-get install ddskk scim-skk

  12. 再起動後は Ctrl-SPC で日本語入力が可能です。



他にも色々と入れたいところですが、容量は割と小さいので目的を絞っておくことを忘れないで下さい。ちなみに私は gcc, ghc6, swi-prolog, latex を入れたわけですが。

備忘録代わりに Emacs の haskell-mode の設定について。まずここからファイルを wget か何かして来て、適当に展開。設定ファイル .emacs に以下を追記。

(load "~/haskell-mode-2.4/haskell-site-file")
(setq load-path (cons "~/haskell-mode-2.4" load-path))
(setq auto-mode-alist
(append auto-mode-alist
'(("\\.[hg]s$" . haskell-mode)
("\\.hi$" . haskell-mode)
("\\.l[hg]s$" . literate-haskell-mode))))
(autoload 'haskell-mode "haskell-mode"
"Major mode for editing Haskell scripts." t)
(autoload 'literate-haskell-mode "haskell-mode"
"Major mode for editing literate Haskell scripts." t)
(add-hook 'haskell-mode-hook 'turn-on-haskell-decl-scan)
(add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode)
(add-hook 'haskell-mode-hook 'turn-on-haskell-indent)
(add-hook 'haskell-mode-hook 'turn-on-haskell-ghci)
(setq haskell-literate-default 'latex)
(setq haskell-doc-idle-delay 0)


そのままでも非常によく出来たモードなのですが、以下のように手を入れます。これらの修正はここを参照です。

-- haskell-site-file.el
+ (autoload 'inferior-haskell-load-and-run "inf-haskell" "\
+ Pass the current buffer's file to the inferior haskell process.
+ If prefix arg \\[universal-argument] is given, just reload the previous file.
+
+ \(fn &optional RELOAD)" t nil)
(autoload 'inferior-haskell-type "inf-haskell" "\

-- haskell-mode.el
- (define-key map [?\C-c ?\C-l] 'inferior-haskell-load-file)
+ (define-key map [?\C-c ?\C-l] inferior-haskell-load-and-run)


このモードを使い始めた時に思う勘違いにインデントがありますが、これはTABを押すごとに候補となるインデントをローテートします。是非たぶたぶしてやって下さい。

あとコンパイルエラー時のカーソルの飛び先をカレントウィンドウにする場合は、こちらを参照して haskell-ghci-gen-load-file を次のように書き換えます。


-- haskell-ghci.el
(defun haskell-ghci-gen-load-file (cmd cd)
(save-excursion (haskell-ghci-go cmd cd))
(let ((haskell-file-buffer (current-buffer)))
(pop-to-buffer haskell-ghci-process-buffer)
(goto-char haskell-ghci-load-end)
(if (re-search-forward
"^Ok, modules loaded" nil t)
(progn (goto-char (point-max))
(recenter 2)
(message "There were no errors.")
(pop-to-buffer haskell-file-buffer))
(goto-char haskell-ghci-load-end)
(haskell-ghci-locate-next-error))))

0 件のコメント: