Install Memo 2

インストールのメモの続き。

pTeXLive のインストール中に、重大なことに気付く。ptexlive.cfg 中で TEXLIVE_DIR を明示的に指定していなかった場合、マウントされた TeXLive の ISO イメージ中のフォントを読みに行くようになってしまう。そのために、環境構築が終わった後、ISO イメージを unmount してしまうと、LaTeX 使用時に「フォントがありませんよ〜」と言われてしまうのだ。最初、自分でも何が起こっているか分からなかったが……というわけで、pTeXLive の設定時には、TEXLIVE_DIR として明示的に TeXLive の HDD へのインストール先(多くの場合は TEXLIVE_DIR=/usr/local/texlive/2009)を指定しておくこと

あと、flash で一部不具合が出た。Google Chrome でニコニコ動画が見られなくなる、というもので、これは flash plugin として browser-plugin-gnash が入っているのを排して、代わりに adobe-flash-player-browserplugin などをインストールしておくことで解消される。

大体、今のところはこんなものだろうか。本当は Intel のコンパイラを入れておきたいんだが、今の AMD の環境では速度的に優位性がないので、それ関係でごちゃごちゃやる必要はないし。

Install Memo

大掃除のシーズンだから、というわけでもないのだけど、手元の Linux の環境を掃除するために再インストール。再インストールと書くと面倒に思われそうだけど、/home を独立パーティションにしておいて、いくつかの設定ファイルをバックアップさえしておけば、そう面倒な作業ではない。

とは言え、「あーこんなんあったなぁ」みたいに思い出すこともある。一応今日はそれをメモしておくことにする。

まず Emacs。shinonome を使っていたのだけど、等幅にこだわることにして、ちょっと汚ないのだが、

-misc-fixed-medium-r-semicondensed-*-12-*-*-*-*-*-*-*
に変更。Emacs Lisp パッケージとしては apel、flim、SKK、Mew、そして navi2ch と emacs-w3m、semi 位だろうか(semi は正直言ってあまり必要ではないんだけど)。いずれも anoncvs(Mew は git)で取ってくればよろしい。

ちなみに Emacs 自身はどうやって取ってくるか、という話だが、昔通りの CVS の repository はどうやら古いままになっているような感じ。Bazaar で、
$ bzr init-repo --2a emacs
$ cd emacs
$ bzr checkout http://bzr.savannah.gnu.org/r/emacs/trunk trunk

(次回以降)
$ bzr update
で取れるはずなのだけど、savannah.gnu.org になぜかアクセスできないようなので、次善の策として git で、
git clone git://repo.or.cz/emacs.git
とやって取得する。ちなみに今の Emacs の見た目はこんな感じである:

Emacs-24.0.51

.emacs.el 中の:

(setq-default enable-multibyte-characters t)
はもう obsolete なので、コメントアウトするなり消すなりすること。

SKK の辞書は必要分を merge (skkdic-expr2 dic1 + dic2 + ... > SKK-JISYO.huge 等とすればよい)して、SKK-JISYO.L.cdb の default の置き場所である /usr/share/skk に置いてから

/usr/share/dbskkd-cdb/skktocdbm.sh < ./SKK-JISYO.huge | cdb -c -t - SKK-JISYO.huge.cdb
として cdb 辞書を生成すればよい。

Adobe Reader は(相変わらず!) /opt/Adobe/Reader9/Resource/CIDFont/ 内に小塚ゴシックの opentype font が存在していないので、Windows の該当ファイルなどをここにコピーするなりリンクするなりしておくこと。

意外と面倒なのに忘れていたのが sdic 上で英辞郎第4版の辞書を使えるようにしておく、というもの。まず Windows 上の Pdic で辞書ファイルを1行テキスト形式でセーブしておく。ここでは /home/hoge/Pdic に該当ファイルがあるものとする。

sdic を通常の手順でインストールしておいてから、『■[emacs][英辞郎]英辞郎第四版買ってみた。emacsで使いたい。 sdic編』(2009/01/11 by eiei 氏)で紹介されている ruby スクリプトを pdic2sdic.rb という名前で保存しておく。

まともに sdic に辞書検索をやらせているとえらいことになるので、SUFARY を使用する。現状では ver.2.1.1 を使用するべし。展開・ make の後、array/array と mkary/mkary を /usr/local/bin 辺りに install。

然る後に、

$ cat /home/hoge/Pdic/eijiro-1txt.dic /home/hoge/Pdic/ryaku-1txt.dic | \
nkf -w8 | ruby pdic2sdic.rb > /usr/local/share/dict/eijirou.sdic
$ cat /home/hoge/Pdic/waeiji-1txt.dic | \
nkf -w8 | ruby pdic2sdic.rb > /usr/local/share/dict/waeijirou.sdic
$ cd /usr/local/share/dict
$ mkary eijirou.sdic
$ mkary waeijirou.sdic
などとやって sdic 形式の辞書と SUFARY index を生成。.emacs.el には、
;;; sdic-mode
(setq load-path (cons "/usr/local/share/emacs/site-lisp" load-path))
(autoload 'sdic-describe-word "sdic" "Small English/Japanese Dictionary" t nil)
(global-set-key "\C-cw" 'sdic-describe-word)
(autoload 'sdic-describe-word-at-point "sdic" "query the word beneath the cursor" t nil)
(global-set-key "\C-cW" 'sdic-describe-word-at-point)
(setq sdic-eiwa-dictionary-list
'((sdicf-client "/usr/local/share/dict/eijirou.sdic"
(strategy array))))
(setq sdic-waei-dictionary-list
'((sdicf-client "/usr/local/share/dict/waeijirou.sdic"
(strategy array))))
(setq sdic-default-coding-system 'utf-8-unix)
などと書いておく。

Miracle Patch ?

ここしばらくは、Linux の環境で2種類の kernel を準備する習慣になっている。安定版と最新版、ということで、前者は現時点では kernel-2.6.36。後者は現時点では kernel-2.6.37-rc2 なのだけど、この kernel-2.6.37-rc2、どうも DRM 関連に起因するらしき問題があって、僕の環境では X が起動しない。いわゆる snapshot(Git で管理されている開発版)ではこの問題が解消されているので、通常はあまり使わない snapshot 版を使用することにして、現時点では kernel-2.6.37-rc2-git7 を使用している。

最近の、たとえば Ubuntu しか触ったことがない、とかいう人々にとってはあまり一般的ではないのかもしれないけれど、なにせ slackware 以前から Linux を使用しているので、kernel は自分で make するもの、というのが染み付いてしまっていて、だから、こうやって何か書きものをしながら傍らで make している、というような状態になっていることが多い。昔は一晩がかりだった kernel の make も、今や1時間もかからずにできてしまうので、これで何の問題もないわけだ。

snapshot 版を使う都合上、kernel の開発に関する情報にも目を通すようになってきたのだが、最近面白い情報を発見した。まずはこれをご覧いただきたい:

http://lkml.org/lkml/2010/10/19/123

tty ごとにタスクグループを自動的に生成することで、どうやら体感速度を向上できるというか、一種の最適化がなされるようにしよう、ということらしい。これには Linus も:

http://lkml.org/lkml/2010/11/14/222

にあるように、こんな短い(最初のリンク先の patch はわずか 233行しかない)patch で有効な結果が得られたことを驚き喜んでいるようだ。kernel-2.6.38 には merge されるという話なので、今後が楽しみである。

【追記】kernel-2.6.37-rc3 がめでたく release されたので、今現在はそちらに移行している。

珍しく、壁紙をいじる

そう言えば、世間の人達は、僕が Linux を使っている、と聞いて、どうやって?と思わないのだろうか。普通の PC に Microsoft Windows が入っているときは、スイッチを入れるとまず BIOS が立ち上がって、ハードウェアのチェックがかかって、そして Windows の起動画面が……あれれ、Thomas 氏は Windows と Linux と両方使ってるみたいだけど、どうやっているんだろう?……なんて問い合わせが来たことは、今のところないはずだ。

昔、Windows 98 位までの時期には、僕は loadlin というプログラムを用いて Linux を起動していた。当時は、Windows の起動シークェンスをいわゆる batch file で規定していたから、この batch file を書き換えて、Windows 起動と loadlin 起動を選択できるようにしておく。loadlin 側を選択した場合、Windows のコマンドモード上で:

c:\loadlin c:\linux\boot.img root=/dev/hda2 ro
なんていう風に引数を指定して loadlin(.exe) を実行する。loadlin は、第1引数で指定したファイルをメモリ上に展開し、root= 以下に指定したパーティションを root partition としてマウントしてやる。後はマウントされたパーティション上にある boot sequence に従って Linux が起動される、というわけだ。

この loadlin は本当に重宝した。Windows だけでなく、DOS 系の OS だったらまず問題なく使えたし、脆弱な Windows もコマンドモードではゾンビのように強いので、いついかなるときも確実に Linux を起動させることができた。僕のような使い方をしている場合、ネットワーク(や、当時だったらモデム)越しにサーバの再設定をして、回線越しに reboot をかける必要が生じることがままあったけれど、loadlin で boot するようにしてある端末には、安心して reboot をかけられたものだった。

しかし loadlin には致命的な問題がひとつあって、ある大きさを超えた boot image を読み込むことができない。そして、Windows が NT 系の OS に移行してからは、コマンドラインで loadlin を使うことも難しくなってきた。実は loadlin 以前から、Linux の世界には LILO と呼ばれる boot loader が存在しているのだが、僕はこの LILO の脆弱さを嫌っていて、どうしても使いたくなかった。そこで、Windows NT が持っている boot loader を使う方法に移行していくことになる。

これは、Linux の root partition の先頭 512 バイトをダンプしたファイルを用意しておいて、Windows の boot loader の挙動を設定する boot.ini を書き換えて、Windows を load するか、このダンプしたファイルを load するかを選択する、というものだけど、kernel を入れ替える度にこの 512 バイトのダンプをやり直す必要があった。最初のうちは、まだ Linux が NTFS を読めなかったから、これのためだけに小さな FAT のパーティションを切っておく必要があったりして、面倒なことこの上なかった。

そんなことをしている時に、ついに登場したのが GRUB であった。GRUB はシェルを持っているので高機能だし、おまけに distro のインストール時にインストーラに任せてしまっても確実にインストールできる。Debian GNU/Linux の場合は、kernel のコンパイル→インストール時に、自動的に GRUB のアップデートまでやってくれるのだ!こんな便利な話はない。

というわけで、あまり何も考えずに GRUB を使っている。しかし、たまには少しはカスタマイズをしてもいいだろう。GRUB の起動時に出る壁紙を、気分転換に変えてみることにする。GRUB の壁紙は、/usr/share/images/desktop-base/desktop-grub.png なのだけど、これは symbolic link になっていて、本体は /etc/alternatives/desktop-grub になっている。しかし /etc/alternatives/desktop-grub を見てみると、本体は /usr/share/images/desktop-base/spacefun-grub.png であった。うーむ……で、このファイルを見てみると、1024×768 の 24 bit PNG ファイルである。ふーん。これならそこらで公開されている壁紙をちょいと変換すれば、そのまま使えそうである。手元にあった Maxfield Parrish の絵を変換して指定してみたものが、こんな感じである:grub-screenshot.jpg

油絵は画素が粗くなっても結構見てくれが悪くならないので、こういうときはいい感じである。

Profile

T.T.Ueda
Tamotsu Thomas UEDA

茨城県水戸市生まれ。

横山大観がかつて学んだ小学校から、旧水戸城址にある中学、高校と進学。この頃から音楽を趣味とするようになる。大学は、学部→修士→博士の各課程に在籍し、某省傘下の研究所に就職、その2ヵ月後に学位を授与される(こういう経緯ですが最終学歴は博士課程「修了」です)。職場の隣の小学校で起こった惨劇は未だに心に深く傷を残している。

その後某自動車関連会社の研究法人で国の研究プロジェクトに参画、プロジェクト終了後は数年の彷徨を経て、某所で教育関連業務に従事。

New Entries

Comment

Categories

Archives(902)

Link

Search

Free

e-mail address:
e-mail address