Xが終わるかもしれない

僕が Linux を使っているのは、ここをお読みの方の多くがご存知だと思うけれど、僕が Linux を使い始めてから現在に至るまで、基本的には同じ GUI システムを使い続けている、と書くと、驚かれる方が多いかもしれない。

Linux に限定した話ではないけれど、いわゆる UNIX 系の OS 上では、GUI 環境を提供するためにはX Window Systemが使われ続けてきた。もちろんこれには例外もあって、たとえば僕が1990年代に使っていた NeXT、そして現在の Mac OS X に至る系譜などはその代表的なものだろう。しかし、ほとんど全ての UNIX 系 OS で X が提供されてきたことは事実だし、先の Mac OS X においてですら、X11 for Mac OS X というツールキットが提供されている(リリース時のプレスリリース)。

このような X Window System だが、その最初のリリースは1984年である。僕にも馴染みの深い X11 と呼ばれるバージョンが世に出たのが1987年で、それ以来、現在に至るまで、この X11 をベースとした X のディストリビューションが使われ続けている。たとえば僕が現在使用している(勿論、これを書いているのも X 上で動作する Google Chrome 上である)のは X11R7.5 である。

昔は、X というと UNIX においては巨大なシステムという位置付けで、新しい X が出ると、夕方からごそごそ設定をして、"make world" と入力して居室を後にし、翌朝に「どうなったかなー」とドキドキしながらディスプレイを覗き込む……なんてのが恒例行事だった。この「恒例行事」は、他にも gcc とか Emacs とかで行われていたわけだけど、僕の場合でも最近は自力で構築するのは Emacs 位で、X や gcc などは、Debian GNU/Linux のパッケージを使うようになってしまった。便利になったと思う反面、何となく寂しいような気もする。

まあそんなわけで、そうやって make した X をインストールして、フォント周辺の問題をクリアしたところで、自分の好みの Window Manager を立ち上げて GUI システムを使っているわけだ。昔だったら FVWM(現在の version 2 になってから使わなくなったのであった)、現在は GTK+ ベースの Xfce4 を使用している。これはこれで至極落ち着いた、いい意味で枯れている GUI 環境である。

ところが、だ。この X Window System が使われなくなるかもしれない、という話が、最近あちこちで聞こえつつあるのだ。この話の端緒は、今月の4日に、Linux のディストリビューションとして最近最も成功している Ubuntu の創始者である Mark Shuttleworthが書いた blog である。彼は Ubuntu の軽量デスクトップ環境である Unity に、X Window System ではなく Waylandを採用する、とこの blog に書き、発表したのである。他にも、Intel の携帯電話向けディストリビューションである MeeGo や、Fedora なども Wayland を導入する意向を示している。

Wayland は、軽くシンプルなディスプレイサーバ環境を提供することを目指して、2008年から開発されているシステムである。Linux のカーネルに搭載された Direct Rendering Manager (DRM)……コンソールでの日本語表示のために、僕のような CUI ユーザにもお馴染みのものである……を使用している。実際、非常に軽い(そもそも画像のちらつきがないことを目指しているらしい)ようで、Ubuntu は新リリース 10.10 の PR として、以下のような動画を公開している:

この Wayland は、X との互換モードを有しているので、現在存在する X ベースのアプリケーションを Wayland 上で動作させることができる。日本語環境を含む国際化の問題がクリアされたら、僕もこの環境を取り入れる日がくるのかもしれない。

xindy の make 可能に

先日から書いている pTeXLive の話だが、今までは xindy の make ができていなかった。今日は休みでもあるので、この問題を解決しておくことにする。

xindy はソースの生成に clisp を使っているので、当然だが clisp 周りはインストールしてから行う。まず pTeXLive を stage2 まで make しておいてから、

/var/tmp/ptexlive2009/texlive-20091011-source/utils/xindy/rte/ordrules/ordrulei.lsp
に patch をあてる。この問題に関しては、Debian GNU/Linux のバグトラックに以下のような情報がある:
Debian Bug report logs - #467585
xindy: FTBFS: ordrulei.c:24: error: 'clisp_dirent_off_t' undeclared (first use in this function)
ので、ここに出ているスクリプトを元にして、以下のように patch を作成した。
--- ordrulei.lsp.orig 2010-11-03 13:55:04.110703835 +0900
+++ ordrulei.lsp 2010-11-03 13:56:18.318250541 +0900
@@ -15,6 +15,30 @@

(c-lines "#include \"ordrules.h\"~%")

+; clisp does not produce these include calls
+(c-lines
+ (concatenate 'string "#include <termios.h>~%"
+ "#include <bits/ipctypes.h>~%"
+ "#include <stddef.h>~%"))
+
+; The following lines are the lines 1845 to 1858 from
+; http://clisp.cvs.sourceforge.net/clisp/clisp/modules/bindings/glibc/linux.lisp?revision=1.25&view=markup
+
+;;; ============================== <dirent.h> ================================
+(c-lines "#include <dirent.h>~%")
+
+;;; ----------------------------- <bits/dirent.h> ---------------------------
+;; d_type is only in dirent64, not in dirent in <linux/dirent.h>,
+;; but it appears to BE required, and does appear in <bits/dirent.h>
+
+(c-lines "#ifndef __USE_FILE_OFFSET64
+typedef __ino_t clisp_dirent_ino_t;
+typedef __off_t clisp_dirent_off_t;
+#else
+typedef __ino64_t clisp_dirent_ino_t;
+typedef __off64_t clisp_dirent_off_t;
+#endif~%")
+
; Common OS definitions:
(def-c-type size_t uint)

これを、たとえば ~/ordrulei.lsp.patch というファイルに保存しておいて、xindy の ordrulei.lsp に patch をあてる。

$ cd /var/tmp/ptexlive2009/texlive-20091011-source/utils/xindy/rte/ordrules
$ patch < ~/ordrulei.lsp.patch
patch をあてた後は make stage3 を実行すればコンパイルが行われる。

pdftk

風邪ひきで、ミサを休む。どうもよろしくない。

まあせっかく部屋にいるので、先日書き忘れたことをメモしておくことにする。

PDF ファイルには、パスワードをかけて内容を保護したり、コピーや印刷を禁止したりする保護機能がある。まあこれは万全なものではなくて、たとえば強引に PostScript に変換すると印刷できるようになってしまったりすることもあるし、PDFCrackなんていうソフトも存在する位なので、まあそういう程度のものだと思っておいた方がいいのだけど、それでも、コピペと印刷の抑制ができると便利なケースはままある。

このような PDF の保護設定を Linux 上で行う場合に便利なのがpdftkというツールキットである。pdftk は PDF に関わる様々な操作(切り分けや結合などから、ここで話すようなパスワード設定まで)をコマンドラインで行えるツールなのだけど、たとえば、

pdftk filename1.pdf output filename2.pdf owner_pw password
とすると、filename1.pdf にパスワード password を設定した filename2.pdf を出力する。filename2.pdf に対する保護の度合いに関しては結構細かく制御できるのだけど、default ではコピーも印刷も禁止なので、今回の僕の場合はこれで OK である。興味のある方は上記リンク先などを御参照されたい。

pTeXLive 完全使用可

昨日書いた pTeXLive だが、最新版のptexlive-20100711.tar.gzでも問題なくコンパイル可能であった。しおりの文字化けは、

\AtBeginDvi{\special{pdf:tounicode EUC-UCS2}}
をプリアンブルに書いておくことで解消される(ということは内部処理は EUC なのかしらん?)。

かくして、ようやっと不自由の(今のところ)ない TeX 環境が手に入った。まあほとんどの皆さんは今どき TeX なんてあまり使わないのかもしれないけれど、僕はやはり文書、特に PDF 文書を書くときには TeX が欲しくなるのだ……これは決して懐古趣味ではないと思うのだけど。ということで、期間限定で「『誰も教えてくれない聖書の読み方』新共同訳ガイド」を公開する。

Profile

T.T.Ueda
Tamotsu Thomas UEDA

茨城県水戸市生まれ。

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

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

New Entries

Comment

Categories

Archives(902)

Link

Search

Free

e-mail address:
e-mail address