特集 ThinkPad 570 で Linux 図 6 lnfo モード 図 7 Dired モード 「一 0 「 & Files T001 第 Edit Search He1p 浦「 0 「 s Fi103 ー 001 、 Se 「 ch ー単 0 「 ate Hark Regexp I ”物 d え 0t0 市 d 贏、一 1p ile: dir bbde: Top This tlE top of the I 0 い / r / fo : 蠶 (tIE D し ory node) gives a flEnu of 個て topics ・ 切 t 07 T "d" returns here, ” q ” exits, ' ' ? " s 訌 1 1 0 朝 s , ” h ” 2 rcot rnt a は士工 for fi-rst-timers, なく Ret n 〉” visits the Emac•s t-DPiC' ェ ut rc-Ot 1 rmt etc. ln Emæs, you c 1 click を button 2 ona itn or は 0 referen:e 1 rmt root to 13t it. 1 て mt IIOt PLEASE ADD 凬討 [ ATI TO T}LS TREE. ()* I 0 topic fixst. ) 1 rmt 工 CÖt 1 rmt rcot * Menu: TIE ユ t of カ r topics tzg 旧 on tFE next 鬮 . 1 rcot rmt 1 raot lü)t * 工社 0 : ( fo ). l)w-nentation 缸 s system. 1 rut rmt Emacs: s ). TIE extensible 1f ー dcc nt text it0 工 . 1 root * Antenetqs-jp: ( 愑 r s - ). Version 19 AntelE.ys. ( p 団肥 ) 1 rmt mot M 直 t 鬮土図 . & 寸刊に nt 」 & : s. (English) Mu1e: (mule). 1 rcnt 年 Ml.üe-#: ( 直 e 一 ). 血此 i 」土導 E 圓 nt 加腕 s. ( J 叩町に ) 1 root rmt Egg-$: ( e - . p 田肥 / ロⅲ肥 I 叩リ t 場 . ( 。 p 町肥 ) 1 root n:nt Canna-jp: ( c 団ー 5p ). Anot}-er Japaree lnputting MethM. い刊肥 ) 1 You ( ] run c ーⅵ一士 0 ' by t 翔 C-h ユ P'.eafi-ng dl.rectory / r / 0 /... dO ていくことができます。 2 っとも表示したければ画面を 2 み、そこにあるファイルに対してさまざまな操作がおこな 分割すれはいいのです。 えます。 たとえば、このモードで開きたいファイルお尺して f lnfo モード を押せば、ファイルを読み込みます。また、ファイル名の 別のモードを試してみましよう。 Emacs には lnfo シ ところで R を押すと、ファイルの名前を変更することが ステムというオンラインドキュメント・プラウザがありま できます。 す。 Texinfo という形式己されており、さまざまなプ カスタマイズ ログラムヘルプを見ることができます。 M-xInfo ( もしく は C-h i) としてください ( 図 6 ) 。 Emacs では、操作のはとんどが Lisp 言語の関数に結 使い方を簡単に説明します。図 6 には表示されていま びつけられています ( たとえば、 a や b などのアルファ せんが、画面の下のほうに、、 VIP(vip) A VI-emulation べットも self-insert-command という関数に結びつけら for Emacs. " という項目があります。この行までカーソル れています ) 。この結びつきを変更することで、さまざま を動かして Return を押すと、 VIP の説明が表示されま なカスタマイズがおこなえます。本イ勺に設定を変更する す (VIP とは、 UNIX のもう 1 つのオ剽純勺なエデイタで には Lisp 言語を学ぶ必、要がありますが、簡単な匿程度 あるⅵの重川を Emacs でエミュレートするものです ) 。 なら難しくはありません。 ひととおり読んだあと VIP の説明から抜けるには、上か 具イ勺には、ホーム・ディレクトリにあり、起重加に自 ら 1 番目の行に、 File: vip, Node: Top, Next: Sur- 重加勺に読み込まれる成疋ファイル、 . emacs " で各ユーサー vey, Up: (DIR)" とあるので、 Up にカーソルを合わせ ごとの設定を変更します。 て Return キーを押すと、プログラムー覧に戻ります。 キーパインドの言聢 ティレクトリ・エテイタ たとえは、とりあえす C-h でカーソルの直前の 1 文字 か削除できるように設定するには、 もう 1 つ、知っていると便利なモードを紹介します。 Emacs を起動してファイルを読み込むときに、ファイル (global—set-key "\C—h" ' delete—backward—char) 名まで指定せす、ディレクトリ名で止めてみましよう。た という記述を . emacs に追加します。、、とりあえす " と書 とえは、ホーム・ディレクトリを見るために、、、 Findfile: いたのは、 DeIete キーもあるため、このままでは同し機 ~ / " のままで Return キーを入力してください。図 7 の 能をもつキーが 2 つになるからです。 C-h と DeIete を ような画面になります。これはなんというモードでしよう 入れ替える一番妥当なガ去は ( 上記の設定をおこなわす ) 、 か。 C-h m で石寉認すると、、、 Dired by name mode" (load "term/bobcat") であることが分かります (C-x d でもこのモードに入る ことができます ) 。このモードではディレクトリを読み込 という言当を . emacs に加えます。 れ川他@naka望ト 13 s いれ C mule@"aka望ト 13 & い田 . ac 加 一萄 1 ↓・ 1 , ー 1 ー 1 ー ( 0 ^ い》 C ・物リ、物》、日》日材イ 1 、↓・ 1 , よ・ 1 1 1 よイ 1 1 よ 1 ー - 1 よっ 0 っ乙 ^ 乙っ 0 も 広 0 CV> 4 ・ 4 ・ 4- 4 ・ 4 ・ 4 ・ 4 ・ 4 ・ 414 ・ 4 ・ 41 CO 1 エ・ーよ 1 よ 1 よ・ーよ 1 よ、ー - 、ーよ (lnfo 陸以 ) ~ LI ーー (d1Y) Top ([)ired b.y )--L5--Top- ート [h d : 川 fQ 34 UNIX MAGAZINE 2000.6
ワークステーションのおと一 0 図 11 XDMCP/REXEC の言聢 セキュリディー」一フォント 1 フォントーヨ力外 & へ ? ースト 一般以 O p / R 印に , マウス」 ~ キーホ・ ' 第に XD を / R 田を使用しない一接統ホスト名 : ー ASTEC-X コントロールハ。ネル ( レジストリ ) 0 インダイレクト 、でホスト 「 XD ト 'CP を使用する 「「 R 印を便用する で、接統先を起動時に選択 プイ半王ネ日 日本語入力↓宅の他 わ、一工クステンシン一 リ zu 詳ロ廴 図 12 フォントの言聢 、 ASTEO-X コントロールハ・ネル ( レジストリ ) 、セキュリデ仁、一一フォント = 」 T 「 Tyre フォント 一般 XOMCP/RD<EC 「をマウスー フォントパス : 新しいフォントディレクトリ : キーホ・一ド カット & へ対 。、 n 應 / s リ畑ノ「 / 0 田 nwin / ⅱⅣ X11 nfs/suzukakefusr/0\Enwin/lib/X11 /fonts/Tsqæ1 nfs/suzukake:/usr/otEnwin/lib/X11/fonts/SFæedo nfs/suzukake:/usr/ocænwin/lib/X11/fonts/misc nfs/suz u : / us 「 / 08 nwin/lib/X11 / fonts / 75d 朝 nfs/suzukake/usr/ogenwin/lib/X11 /fonts/1Cülpi nfs / s u ノ「 / 0 nwin / ⅱⅣ bca / / XI 1/fonts/75 nfs/suzukake•7usr/oænwin/Iib/bcaIe/WX11/fonts/TTI ・ C:VProgram FilesVASTECXV1 円 ' OVProgtam FilesVASTECXV75DPI に円によるフォントパス自動検索 OK カラ、一社クステ溏ョン 日本語入力 1 その他 適用囚 代替フォント . 、一一追加 参照 . ・ CDE 環上竟独自のフォントを Windows PC にコピー する この方法は、フォントのライセンスなどが気になりま す。 ・フォントサーバーを使う 上のような間題はなくなりますが、フォントサ→ヾーは やや不安定なところがあるので、私はあまり好きではあ りません。 UNIX MAGAZINE 2000.6 /usr/openwin/1ib/X11/fonts/F3bitmaps /usr/openwin/1ib/X11/fonts/F3 フォントが使われているようです。 Solaris 8 の CDE 環境では、次のディレクトリにある こに CDE 竟て使うフォントパスの一 -- ・覧があります。 にある、、 Font path:" のあたりを見ます。すると、そ xset ー q ' コマンドを実行し、その出力の最後のほう CDE 環境にログインして端末工ミュレータを開いて 1. CDE 環竟で使われているフォントを調べる そのための設定は、次の手順でおこないます。 こでは、最後のガ去をとることにしました。 トサーバーを使わすにすみます。 らコピーする必はありませんし、やや不安定なフォン かにあるフォントを使うという機能があります。これな ディレクトリを NFS プロトコルでマウントし、そのな ASTEC-X には、 UNIX のファイルシステムのある マウントする ・ CDE 竟独自フォントのディレクトリを PC 側から /usr/openwin/1ib/X11/fonts/Type1 /usr/openwin/1ib/X11/fonts/Speed0 /usr/openwin/1ib/X11/fonts/misc /usr/openwin/1ib/X11/fonts/75dpi /usr/openwin/1ib/X11/fonts/100dpi /usr/openwin/lib/locale/j a/X11/fonts/75dpi /usr/openwin/lib/locale/j a/X11/fonts/TT /usr/openwin/1ib/10ca1e/ja/X11/fonts/ TTbitmaps 103 公開のガ去は簡単で、 /etc/dfs/dfstab ファイルに ないので、このようにしています ) 。 かのロケールのフォントを利用することがあるかもしれ のですが、 /usr/openwin/lib/locale の下にある、は (/usr/openwin/lib/locale/ja/X11/fonts でもよい openwin/lib/locale の 2 つのディレクトリにします 面倒なので、 /usr/openwin/lib/X11/fonts と /usr/ せん。ディレクトリを 1 っすっ公開するのはいささか ディレクトリを外部に公開 (export) しなければいけま NFS プロトコルでアクセスするのですから、これらの 2. フォント・ディレクトリの公開 になります。 います ) 。つまり、必要なのはこの 2 つ以外ということ えますが、 Windows に組み込まれたものに限定されて X では TrueType フォントを X のフォントとして扱 ASTEC-X では直接扱うことはできません (ASTEC- locale/ja/X11/fonts/TT は TrueType フォントで、 ません。また、最後から 2 つ目の /usr/openwin/lib/ laris 独自の形式のフォントで、 ASTEC-X では扱え 1 番目の /usr/openwin/lib/X11/fonts/F3 は So-
特集 ThinkPad 570 で Linux ② Lucent モテムドライバのインストール このドライノヾの最辛万ノヾージョンは 5.68 で、図 19 の ページの、 Vendor Linmodems" にあるリンク (Lucent # /sbin/insmod —f ltmodem War111ng : kernel¯module mismatch PCI) から取得できます。 /1ib/modu1es/2.2.14/misc/1tmodem.0 was ZIP 形式のファイル (Iinux568. zip) なので、適当な compiled for kernel version 2.2 . 12 ー 20 while this kernel is version 2 . 2 . 14 ディレクトリを作成して保存し、次のように展開します。 # /sbin/lsmod Size Used by $ unzip 1inux568. zip Modu1e 452936 0 (unused) ltmodem 展開したファイルのなかには、 ltinst というインストー 今度も警告は出ますが、 lsmod コマンドで市忍すると、 このスクリプトを root ル・スクリプトがあるはすです。 上記のように ltmodem というモジュールカゞロードされて で実行します。 います。 $ su それでは、 cu コマンドを使って内蔵モデムに接続して Password : みます。 cu コマンドは、 UUCP パッケージに含まれてい ←こから r 。。 t ユーサーに変更 # . /ltinst る、シリアル接続のデバイスを利用するプログラムです。 たいていの推奨パッケージに含まれていますが、なけれは これでモデムドライバのインストールは完了です。 別途インストールしてください。 ネノレのノヾージョンを ただし、前回紹介したようにカー 内蔵モデムのデバイスファイルは /dev/modem のはす 2.2.14 に上げていると、 ですから、次のように cu で /dev/modem に接続します。 Warning : kernel¯module verslon . /ltmodem. 0 was compiled for kernel ver # cu ー 1 /dev/modem sion 2 . 2 . 12 ー 20 Connected . while this kernel is version 2 . 2 . 14 上記のように、 Connected. と返ってきたら成功です。 という警告メッセージか表示されると思います。これは、 次にそのまま AT (Return) と打ってみてください。 このドライノヾ・モジュールがカーネル 2.2.12 用にコン パイルされているのに、私たちが使用しているカーネルが Connected . AT 2.2.14 であるために表示されるようです。しかし、私か試 OK したところ、このままでもイ ; 合なく使えています。とり OK と返されたでしようか。 OK であれは、内蔵モデ あえす気にしないことにしてさきに進みましよう。 ムとは問題なく接続されていると思われるので、安じ、して モデムの動イ乍確認 次に進みます。うまくいかなかった場合は、これまでの作 業をもう 1 度確認してください。 うまく内蔵モデムカイ吏用できる状態になっているか、確 . " と入力します。 cu から抜けるには、次のように 認してみましよう。 ます、さきほどインストールしたドライパ・モジュ ーノレ をロードします。 # /sbin/insmod ltmodem /1ib/modu1es/2.2.14/misc/1tmodem.0 : kernel-modu Disconnected . le version mlsmatch /1ib/modu1es/2.2.14/misc/1tmodem.0 was uucp クループへの登録 compiled for kernel version 2.2.12 ー 20 while this kernel is version 2 . 2 .14 . こまでは r 。。 t として作業してきました。これは、モ デムのテンヾイスである /dev/modem のパーご、、 : 、ノノョンカゞ すると、モジュールとカーネルのバージョンが合わな 普通は一ヨ殳ューサーから利用できないようになっているた いと怒られてしまい、ロードできません。そこで次のよう ー f オプションを付けて強制的にロードしてしまいま しよう。 0 ~ 47 UNIX MAGAZINE 2000.6
特集 ThinkPad 570 で [ i れ ux ② 図 4 矩形のカット & ペースト Buffers Fi1es T001S Edit Search He1p 123 2123123 313 213213 213212 132 615565 532131 121 654654 実行前 図 5 C 言語モード 「「 0 「 s Fi1es T001S Edit 500 「 ch C 日 01P れ物協@na火a覊ト 13. 3 トれ 8 . ac. 加 * 前 t 恥匚朔 kOtO lshisone, れ w Reseamh A.*Eiat$,s, I : ℃ . , 物 P ishisor に@S!& CO. äp #ifnåef lint static c と・ *msid ニ” $ld: kinput2. c,v 1.45 1 / / 13 : 59 : 10 弖」ⅱ 30 456545646546546546 靄 Buffers Fi1es T001S Edit 31232132132123123 31313213212 13256532131 1214 654 456545 65465465465 Search HeIp 実行後 ド ; gerdif 土 1 面 e く stdio.h> #irclude 011 / t 三 ie. い # に 1 e く X11/StringDefs. h> 1 面 e ( X11 / S 1 h> # に 1 面 e な就 chle リ e,l. h" 爐 ncl ” As 第℃ E 理 . ド 「・第を、ⅵ ) i 繖、第 ・・ ~ ー新日 : 14änputZ. c (C) ~ し 34 ~ 5 % ~ す。ます performance" の p" の位置で、 C-Space で マークを付けてください。次に、この単言韶 ) すぐ後ろにあ る、、 , " までカーソルを移動し、 C-w を押せばこの単語が カットされます。ここで C - y とすると同し場所に貼り付 けられます。 カットされた文字列は、ヤンクバッフアと呼はれる特殊 なバッフアにオ褓内されます (C-y の y は yank からき ているわけです ) 。さらに、 M-w とすると、カットせすに ャンクバッフアに取り込むことができます。つまりコピー & ペーストの操作になります。 矩形のカット & ペースト ふつうにマークを付けてカットすると、リージョンは マークとポイント間のすべての文字を対象にします ( 図 3 参照 ) 。 Emacs では、図 4 の四角で囲んだ部分をカットす ることもできます。この操作には kill-rectangle を使い ます。ます 2 行目の 5 文字目 ( 3 ) の部分にマークを付け、 4 行目の 13 文字目にある 4 にカーソルを移動しますに こで C-x C-x とするとマークとポイントが入れ替わるの で、何回か押せはどのあたりが尺されたリージョンか理 解しやすいでしよう ) 。ここで M-x kill-rectangle とす オ L はカットできます。実行後は、カットされた各行て後ろ にある文字が詰められています。 これをベーストするのは、 M-x yank-rectangle です。 さまざまなモード 各バッフアには、そのときおこなっているイ 1 璞に最適な 、、モード " が自重加勺に設定されています。それぞれのモー ドには特有の機能があります。 rover. txt を編集している UNIX MAGAZINE 2000.6 状態でモードを石裔忍しましよう。 C-h rn (C-h の次に m) を押してください。ウインドウが 2 分割され、下のバッ フアの表示から現在、、 Text mode" であることが分かりま す。さらに、このモードで設定されている機能が Special commands として紹介されています。たとえば、文章が ない行までカーソルを移動して行頭に、、 AAA" と打ち込 み、 Esc キーに続けて s を押すと、 AAA カ哘の真ん中 まて彩動します。このようなテキストファイルでのセンタ リングは、普通のエデイタでは意外と面倒なものです。 こでは実際に入力しませんが、図 5 のように C のフ ログラムをファイルとして開くと、自重加勺に C 言語モード になります。これは、 Emacs が自測酌にファイルの拡張 子を判別してモードを設定しているためです。 C や PerI などの主要な言語にははとんど、対応するモードが用意さ れています。 モードを調べる際、画面が 2 つに分割されたと思いま す。これを 1 つに戻すには、開いておきたいウインドウに カーソルを動かします。これには C-xo を使います。 C-x 。では、カーソルがウインドウ間を交互に移動します。そ して、 C-x 1 とします。逆に C-x 2 で、 1 つのウインド ウを 2 分割することもできます。分割直後はいすれのウィ ンドウも同レヾッフアを表示しています ( 片方を編集する と、もう一方のウインドウに表示されている内容も更新さ れます ) 。 こで、 C-x C-f で別のファイルを読み込むと、 そのファイルを同時に編集することができます。 Emacs では、開いているデータはそのとき画面に表示 されている 1 つだけではありません。つまり、複数のファ イルを開き ( それぞれバッフアにオ褓内されます ) 、ウイン ドウに表示するバッフアを切り替えながらそれらを編集し 33
ワークステーションのおと一 0 図 13 フォンレヾスの言聢 nfs/suzukake : /usr/openwin/1ib/10ca1e/ja/X11/fonts/TTbitmaps nfs/suzukake : /usr/openwin/lib/locale/j a/X11/fonts/75dpi nfs/suzukake : /usr/openwin/1ib/X11/fonts/100dpi nfs/suzukake : /usr/openwin/1ib/X11/fonts/75dpi nfs/suzukake : /usr/openwin/1ib/X11/fonts/misc nfs/suzukake : /usr/openwin/1ib/X11/fonts/Speedo nfs/suzukake : /usr/openwin/1ib/X11/fonts/Type1 nfs/suzukake : /usr/openwin/1ib/X11/fonts/F3bitmaps share —F nfs ー 0 ro /usr/openwin/1ib/X11/fonts share —F nfs ー 0 ro /usr/openwin/lib/locale と書いて Solaris 8 を再起動するだけです ( すでに NFS サーバーとして稼動しているのなら、 shareall コ マンドを実行するだけでかまいません ) 。これらのフォ ント・ディレクトリに書き込むことはないので、、、一。 r 。 " オプションを指定して読出しのみの設定にしてい ます。 3. ASTEC-X 側で、これらのフォント・ディレクトリを 参照するように設定する ASTEC-X のコントロール・ノヾネルを起動し、、、フォン ト " タブを開きます ( 図 12 ) 。そして、、、フォントパス " に図 13 に示したエントリを追加します ( すでにある工 ントリは、消さすに残しておくほうがいいでしよう ) 。 1 行目を例に説明すると、 NFS プロトコルを使って、マ シン suzukake にある /usr/openwin/Iib/X11/fonts /F3bitmaps ディレクトリのフォントを参照するとい う意味です ( "suzukake" の部分は IP アドレスでもか まいません ) 。 最後はカラーの設定です ( 図 14 ) 。 Windows の画面の 設定は、いまでもたいていは 24bit カラーや 32bit カラ あるいは 16bit カラーでしよう。ところが、 solaris の CDE のアプリケーションや一部の X 用アプリケーシ ョンには、 8bit カラーを前提としているものがあります。 ASTEC-X は、デフォルトでは PC の色数と同しに設定 されるため、 24bit カラーの PC で使うと、一都の X アプ リケーションがうまく動きません。そこで、 PC の画面が 8bit カラーでない場合には、、、カラー " タブの、、デフォル トビジュアル " を、 Depth 8 PseudoColor" としておく とよいでしようにれは、 ASTEC-X 3.00 の新しい機能 です ) 。これでもしうまく動かない X アプリケーションが ある場合には、同しく、カラー " タブの、、 Windows シス 104 図 14 カラーの言聢 ー ASTEC-X コントロールハネル ( レジストリ ) セキュリティ 1 フォンには T 「 LETy 田フォント 一般わ彡 XD 物 p / R 臥印ヨ厚 - マワス…。にホド第のカラー「に工クステ立 ーカット & へ廴ストー日本語入力「をの他 デフォルトビジュアル : 256 色モード P 田 bCob どジュアル を「山 ws システムカラーの収り扱い一 ~ へ WI 「加で使用する プライベートカラーマップの全力ラーセルを丿当て可能にする カラーデータベースファイル、 な用すを c Vpmgrarn fllesvaste cxVrgbtxt C を h8 P 田しはコ CO に「 テムカラーの取り扱い " で、、 X で使用する " を選び、、プ ライベートカラーマップの全力ラーセルを割り当て可能に する " もチェックしてみてください ( どちらか一方でよい 場合もあります ) 。 こまでで、ふだん使っている Windows PC から So- laris 8 の CDE 環境が使えるようになりました。しか し、これではまだちょっと不便です。できれば CDE 環 境本を起動するのではなく、個別に kterm などの端末 工ミュレータなどを起重ーるようにしたいものです。来月 は、 kterm のコンパイルなどから話を始めることにしま しよう。 ( さかした・しゅう ASTEC Products) UNIX MAGAZINE 2000.6
次は文字列の長さに関してループしながら、地頁の文字 を探します。 while ( 1 土 m ー end > = d) end + = d ; end く qlim) while ()d = delta[c end + = d ー 1 ; if (qlim & & end く = qlim) 十十 end; end + = delta [ (unsigned char) end + = delta [ (unsigned char) * end] ; *end] ; BM 法と同じく、条件判断の回数を減らすために 3 回 ほどまとめて調べています。いったん d が 0 になると、 delta[*end] は 0 のままなので、条件判断をおこなわずに 繰り返してもかまわないわけです。なお、詩ヾる文字列の 残りの長さカ鉄豆いときには 1 回すっ調べるようになってい ます。 else d = delta[c (end + = d) ト 1 ] ] ; この処理を終えたときに d の値が 0 でなければ、まだ 最初の 1 文字をみつけていないことになります。その場合 は、 continue を使ってもっとも殞則の while ループを繰 り返し実行します。 if (d) continue ; d が 0 ならば、 1 文字目をみつけたことになります。 のとき、やっとトライ構造を利用した検索が始まります。 ます、読み込んだ文字にもとづいてトライ構造のどのノー ドから処理を始めるかを設定します。さらに、そのノード が受理可能なノードかどうかを調べます。これは 1 文字 のパターンの場合に対応します。 1 文字のパターンであれ ば、そこで受理したことを記慮しておきます。 beg = end ー 1 ; next [c] ; trie if (trie—>accepting) mch = beg ; accept trie; 112 次の文字からは、トライ構造を 1 っすったどって処理を 続けます。ますは d の卩髜各です。ここでは、みつけたノー ドの shift の値を代入しています。アルゴリズムでは、 min(max(shiftl, char ー j ー 1 ) , shift2) という計算をおこなっていましたが、 こでは shift を そのまま使っています。 B 法と同様に、 grep コマンド か利用する CW 法では不一致文字を使わないからです。 すでに、 shift の値は maxshift C ヒの式では shift2 に対 応 ) よりも大きくならないように調整してあるため、この shift か現状で読み飛はせる文字数となります。 d = trie—>shift ; さらに、文字列の知頁に到達するまでは、次の文字を c C tree—>rlink ・ else tree—>llink ・ if (c く tree—>label) while (tree & & c ! = tree—>label) tree = trie—>links; trans [ (unsigned char) *——beg] trans ? = 〉 while (beg > text) に取り出して対応するリンクを検索します。 UNIX MAGAZINE 2000.6 trie; accept mch = beg; if (trie->accepting) tree—>trie; trie 戻ったときに正しく処理できるようにします。 shift を d に代入しておくことで、外側のループの処理に 文字に対応するリンクがあった場合、新たなノードの break; else フ。の処理に戻ります。 使って内側に作った while ループを終了し、殞則のルー 次の文字に対応するノードがなかった場合、 break を if (tree) ます。 れはそれを次のノードとし、受理可能かどうかを再度調べ 対応するリンクがある場合、つまり tree が 0 でなけ
特集 ThinkPad 570 で nux ② 図 35 ~/. im/Config ファイル # # lndividual information Address=uuuu@zzz ・ yyy ・ ac ・ jp FromDomain=zzz. yyy ・ ac ・ JP Name=ssss tttt # # Defau1t global parameters # # # Directories (relative to Mai1Dir=Mai1 # # # F01ders in $Mai1Dir InboxF01der= + inbox DraftF01der= + draft TrashF01der= + trash # # # Mode for creation F01derMode=0700 MsgM0de=0600 # # Servers Smtpservers=xxx. yyy ・ ac ・ JP # # imget specific UseCL=no NoSync=no # Use value Of Content—Length header # Do not need fsync(2) 0 Ⅱ writing file # commentary name for my mail address # should not contain 8bit characters # default destination Of imget # default destination Of message removal in Mew lmget . Src=pop/POP :uuuu@xxx ・ yyy ・ ac ・ jp PopAccount=uuuu/POP@xxx.yyy ・ ac ・ JP keep=—l # be careful 0 Ⅱ security if you wish t0 use PwFi1es ! UsePwFi1es=yes PwFiIes=password # # imput specific QueueDir=-/ . imqueue NewsGMTdate=yes JPheader=yes JPconv=yes NameInComment=yes # # Logs Report=yes Log=-/ . im/imput ・ 10g #case queue Queuing=yes use password files # password files (relative t0 ~ /. im/) directory for tO store messages tO be sent # use GMT for Date : when posting as news # encode ISO ー 2022 ー JP with RFC2047 # convert SJIS/EUCj t0 工 SO ー 2022 ー JP # yes : (Fu11 Name) Addr , Ⅱ 0 : Fu11 Name く Addr> 参考にして、次のように設定しました。皆さんも、この設 定ファイルや上記の Web ページなどを参考にして適切に 訓整してください。 ・ Mew の起重加には POP サーバーに接続しない。 ・ i キーで POP サ→ヾーと接続してメールを取り込む。 ・プロバイダに接続されていないときでもメールを書ける ようにする。具イ勺にはいったんローカルキューに保存 し、 Mew を起動したり Summary バッフアで i を押 60 したときに、溜めてあったメールを自第勺に送信するよ ~/. im/Config ファイル ( できるかぎり設定 図 35 に うにする。 ールアカウントが uuuu@xxx ・ yyy ・ ac. jp という環境での ウントが uuuu 、 SMTP サーノヾーが xxx. yyy ・ ac ・ jp 、メ これは、 POP サーバーが xxx. yyy ・ ac. jp 、 POP アカ 項目を省いています ) の例を示します。 設定です。 UNIX MAGAZINE 2000.6
けつま 3 びっ u このほかにも、同種のバッテリー残量確認用のソフト ウェアとして xbatt というものがあるようです。これは FreeBSD の ports コレクションでも、 NetBSD のノヾッ ケージ・コレクションでもインストールできますが、私は 使っていないので説明は省略します。 Xbattbar い、以下のコマンドを順に打ち込んでいくだけでした。 ルを展開してできたディレクトリ中の README に従 Xbattbar のインストールはとても簡単でした。ファイ ンストールする手順を書きます。 らインストールしてしまったので、 こではソースからイ 私は ports に入っていると知る前にソースファイルか することもできます。私が入手した版は 1.3 でした。 できます。また、 FreeBSD では Ports からインストール ソースファイルは Xbattbar のⅥ発 b ページ 1 から取得 Xbattbar のインストール ないようなので、ここでとりあげます。 う。しかし Xbattbar はこれまできちんと紹介されてい ていらっしやるので、わざわざ紹介するまでもないでしょ 生か書いたプログラムです。山口先生は本誌でも連載をし Xbattbar は奈良先端科哮オ支術大学院大学の山口英先 # xmkmf —a # make # make insta11 # make insta11. man 、 xmkmf —a" で MakefiIe ができあがるので、 の Makefile を利用して make するだけです。 Xbattbar を使ってみる あとはそ インストールはすぐに終ったので、 kterm 上で rehash と打ち込んでからさっそく使ってみました。バッテリーの 石忍はカーネルの APM 機能を介しておこなわれるので、 Xbattbar は root 権限で立ち上げる必要があります。と りあえす su で root になってから xbattbar と打ち込み ます。すると、画面の一番下に緑色の勦ゞ現れました。右 端はちょっとだけ灰色になっています。緑色の部分はバッ 1 http://infonet.aist-nara.ac.jp/member/suguru/ xbattbar. html UNIX MAG AZIN E 2000.6 図 1 xbattbar top の実彳デ列 、イル 、を - ブックーク、、場所レ・ . ヨに . / 第いを r パ、は第いにし / 物 ! し ar. 国 1 ーみよ「関速サ・ 1 Xbattbar-showbatterystatusinX Window 社 b ・ 3h0 山 0 ⅳを朝 pto のけ第 ! ッ第をお沼 X 朝ⅵ dow 物” ir 新の 1 し B : 麒ツ第ⅵ 3 山ⅲ 田 0 第 P 、 k n m 載はい y ⅲ d 辷は・ 0 ト ig og 01 ツ、 : 11P 朝 m がい「ト 1 山 0 メ” om 誕 ou 「 d 協 p は Y. W h にⅲ d に a 朝 eA-C 005 い加 5 ( 塚区 : noroff ー ) , ト u せ 0 ar れ g を店 1 物物ⅲ第厄”し , 止 203 を hemo 05 ・一円”鹹 0 小を : 0 ⅲ響ー市 2 ー刈 pup び印ッ地朝むルい p ) w ⅲあ響 . 第なド靆 :n v ァい齟い叮 . = cu に entv 町ー・”・ 1.4 ) , xb 物社 b r 中第 A を、信ん ・ BSD 303 工 4 ℃ ・ F 0 SD2.2 高 226 , 2.2.7 , 323 ユ引 ・ N SDI 、 3 靆 32 ・一 30U 仙 : は、 4 を 13 B ) 驀朝をト。しは 024 乂 768 ユ 56 新 l( を Ou 朝。一ⅲ d a おい翦ルれ 0 山い。れ山ⅵ 1 send : 110 ! 0 田・ ( cm 龕に第 , 能目 00 、第ⅵ物鷓朝 PO 尹引な . ma 眦を当当を第こユ第 9 贈 . ーい一 V れ aguch い N S 「 brc-c 「” 0 第印北引記 P “ kag ⅲ g , -S い m “ Sa “ 0 ( NEC Ⅱ一 : 山の・“ BSD2 第「 aK まい ( Un ⅳ . of' : okyo “ 0 れ血池んれ ( 日 0 , 、 0 ⅱー kiSh “ ) hika ( 。Ün ⅳ ) for 印止議れ当こな第 127 Xbattbar のオプションは以止ですべてです。とくに派 オプションを付けます。 します。つねに画面の最前面に出しておくためには、、一 a " オプションでは、バッテリーの状態を石忍する間隔を指定 ションを付ければバーの太さを変えられます。 "-p 秒数 " ているときの色窈旨定に使います。、、一 t ピクセル数 " オプ タブタが外れているとき、小文字は AC アダブタカ甘さっ ンを使うと、バーの色が変えられます。大文字は AC ア います。また、 -I (-i)" と、、一 O ( - 。 ) " というオプショ にくいかもしれませんが、上のほうに横線が 1 本入って Xbattbar を表示させたときの状況です。誌面では分かり 左、右 0 ンヾーを出すことができます。図 1 は画面上部に top left right" を指定すると、それぞれ画面上部、 bar は画面下部に表示されますが、オプションとして っかのオプションがありました。デフォルトでは Xbatt- さらにマニュアルを読んでみると、 Xbattbar にはいく から遅くとも 10 下圻には現伏か示されることになります。 る間隔は 10 秒おきなので、 AC アタブタを抜き挿しして 付属のマニュアルによると、バッテリーの状態を確かめ されます。 から線か青と赤に変わりました。バッテリー残量は青で示 ためしに AC アタフ。タを外してみると、ちょっとして と表示されて現在の充電状況が分かります。 AC on-line: battery level is 96 % ウスカーソルを持っていくと、画面中央に、 100 % に満たない残りを示していました。この線の上にマ テリー残量、つまり充電されている割合を、灰色の部分は
特集 ThinkPad 570 で Linux 変換 ② # rpm # rpm # rpm # rpm # rpm ¯e mule¯elisp mule—canna yatex mew 次に、三田さんのページ [ 8 ] から Wnn6 に対応した UNIX MAGAZINE 2000.6 いて入力するといったものがあります。 ぃ " などの小さい母音は、、 xi " のように x を前に置 えば、母音の前に、、ん " を入力するときは、、 nn " と打っと も独自のキーバインドがあるので注意してください。たと ばれ、また文字か確定していない段階です。このモードに ます。フェンスに挟まれている状態はフェンスモードと呼 左右が、、「で挟まれていますが、これをフェンスといい ーこうしえん一 です。 と入力すると、バッフアには以下のように表示されるはす koushienn では実際に文字を入力してみましよう。 いう表小カ咄たと思います。 、ローマ字かなモード " に移行します。モード行に [ あ ] と これて準備ができました。 C ー \ で日本語入力をおこなう Egg による日本語入力 # rpm —Fvh emacs—nox—20.4ー4LL1. i386. rpm # rpm —Fvh emacs-1eim-20.4ー4LL1. i386 . rpm # rpm —Fvh emacs—e1—20.4ー4LL1. i386. rpm # rpm -Fvh emacs—X11—20.4 ー 4LL1. i386 . rpm # rpm -Fvh emacs—20.4ー4LL1. i386. rpm べてインストールします。 応版 Emacs の 5 つのパッケージをダウンロードし、す LASER5 のアップデートのページ [ 19 ] から Wnn6 対 ケージとして提供されているので、これを利用します。 す。 LASER5 から Wnn6 対応版の Emacs が rpm ・パッ LASER5 には、 Mule ではなく Emacs が入っていま LASER5 の場合 これで、 Wnn6 を利用できる Mule か起動します。 # rpm —ivh muIe—e1isp—2.3919.34 ー 3V12. i386. rpm # rpm —ivh mu1e—vnn6-2.3@19.34 ー 3V12. 土 386. rpm # rpm —ivh mule ー base ー 2.3919.34 ー 3V12. i386. rpm にも」肥求されています。 ンストールします。これらのファイルは Vine Plus[21] MuIe の 3 つのパッケージをダウンロードし、すべてイ フェンスモード内のひらがなを漢字に変換するには、 Space キーを押します。初めて使う場合は頻度辞書を作 るかどうか訊かれるので、 y で作るようにしてください。 このときミニバッフアには以下のように表示され、連文節 変換がおこなわれます。 ホスト localhost の Wn Ⅱを起動しました。 LOADING /usr/share/emacs/19.34/Iisp/egg—wnn . done これでうまく wnn の jserver と接続できました。 2 行 目から、前出の Egg という FEP か起動されているのが 分かります。上のように表示されす、エラーカ起こってい るような場合は、 Wnn6 自体がうまくインストールできて いるかなどを石忍し、マシンを再起動してみてください。 モード行の [ 漢 ] という表示から、漢字変換モードに入っ たことカ蔀忍できます。正しく変換できたら、 Return で 確定します。するとモードが [ 漢 ] から [ あ ] になり、ロー マ字かなモードに戻ります。この状態でもう 1 度 C - \ を 入力すると、表示がト ] になります。 漢字変換は、 1 度で正しく変換できるとはかぎりません。 たとえば、ふたたびローマ字かなモードにして、、みるふぉ ーどしゅう " を変換してください。正しくはミルフォード 州ですが、 ーみるフォード週一 のように間違って変換されます。これを修正するには、フ ェンス内でカーソルを移動しなくてはなりません。 まず、文節の区切りの間違いは C-i 、 C-o を使って現 在カーソルがある文節の終りの長さを髜各します。、、みる ふおーど " 全体をカバーするように長さを調節してくださ い。今回は文節を伸ばしていくと自重加勺にカタカナになり ましたが、通常、フェンス内で文節をカタカナに変換する には M-k と入力します ( 逆にひらがなにするのはー h で す ) 。これで以下のようになったと思います。 ーミルフォード週一 文節ごとの移動には C-f 、 C-b を使います。 c-f で 週の文節に移動して Space を押しますが、また間違え ます。ここで、変換ー甫をミニバッフアに表示させます。 M-s を押してください。 45
連載 UNIX Communication Notes 動画圧縮フォーマット 68 あるとは速断できない。 のような例もあるので、 MPEG 1 か罰通信に不向きで ロスによるノイズもそれほど目立つものではなかった。 十分な品質の舸像か得ら散勺に発生するバケット データを伝送しても、ネットワークか輻輳状態になけれは 発に携わったが、インターネットを経由して MPEG 1 いてシステムを構築した [ 1 ] 。私自身もこのシステムの開 ステムを開発した際、 MPEG 1 の実時間ェンコーダを用 なっているグループでは、 1997 年に遠隔医療サービスシ 私の戸 ) する大学で国青報システムの研究開発をおこ 上交的低いので、映像伝送に利用できないというわけでは コーダか供されており、使用する帯域も 1.5Mbps と ただし、 MPEG 1 に対応した実時間工ンコーダおよびデ で動画を↑褓内するためのデータ形式として使われている。 しろコンピュータ上のマルチメディア・アプリケーション このようなことから、 MPEG 1 は重丿通イ言よりも、む 構をもっている。 も、適切なタイミングて映像と音声か再生できるような機 複数の MPEG 1 データが多重化されてオ褓内されたときに erence と呼はれるいくっかの日駭明青報をデータに内包し、 Stamp) 、 Decoding Time Stamp 、 Systemclock Ref- データ : ゴ内できる。さらに、 PTS (Presentation Time 様では、映像 (video) と音声 (audio) の両方を 1 つの 圧縮後およそ 1.5Mbps の帯域になる。 MPEG 1 の仕 手順とフォーマットカ材票準化されている。 MPEG 1 は、 アで提供される重丿情報刎宿を目的として、そのための MPEG 1 では、おもに CD-ROM などの蓄積型メディ MPEG 1 れに処した数多くのアプリケーションが登場している。 および MPEG 2 (ISO/IEC 13818 ) かオ票準化さ われている。これまでに、 MPEG 1 (ISO/IEC 11172 ) 員会 (MPEG Committee) と呼はれるグループでおこな の ISO/IEC JTC1/SC29 Ⅵー G11 、一殳に MPEG 委 Organization for Standardization : 国際標售化機キ冓 ) 使われている。 MPEG の標準化は、 ISO (lnternational は MPEG (Motion Picture Expert Group) がひろく 現在のところ、重丿圧縮のデータ・フォーマットとして MPEG 2 MPEG 2 は、蓄積型メディアだけでなく、測伝送も ネ予に入れた標準イゞおこなわれている。 通常、 MPEG 2 で圧縮後に使われる帯域は数 Mbps 程度である ( 圧縮処理をおこなう際のパラメータによっ て変化する ) 。 MPEG 2 標準では、伝送中にエラー ( パ ケットロス ) の発生が予期されるような状況で使う MTS (MPEG 2 Transport Stream) と、 CD-ROM のよう にエラーが発生しない環境で利用する MPS (MPEG 2 Program Stream) の 2 不重ま頁のデータ・フォーマットが 定義されている。 MPEG 2 は徐々に普及しつつあり、 CS デジタル方℃医 (SKY PerfecTV) に用いられたり、 DVD に↑褓内される 映像情報としても利用されている。 以 E に説明した MPEG 1 / 2 のほかに、新たな標準と してよりビットレートの低い MPEG 4 の標準化も進めら れている。 通信手順 動画通信における通信手順の標準化作業は、 ITU-T (lnternational TeIecommunications Union, Tele- communication Standardization Sector : 国際電「気 通信連合電気通イ謝票準化部門 ) の主導の下に進められて いる。 ITU-T では、 ISDN を用いて 64Kbps から 2Mbps の 帯域で通信をおこなうテレビ電話やテレビ会議システムの 標準化か進められてきた。その代表的なものが H. 320 標 準で、テレビ会義をおこなう端末の構成と、使用する通信 プロトコルか規定されている。 H. 320 では、映像フォーマ ットとして H. 261 、音声フォーマットして G. 711 / 722 / 728 、制行ワ。ロトコルとして H. 230 、さらに端末間接続手 順として H. 242 などの使用が定められている。 H. 320 端 末をネットワークに接続するための規格も標準化されてお り、 ATM ネットワークに接続する際の H. 321 標準も規 定されている。 さらに、 ATM ネットワークなどのより広帯域なネッ トワーク環竟でのビデオ会義に関する H. 310 標準もあり、 こでは映像フォーマットとして H. 262/MPEG 2 の利 用が定められている。 このように、映像情報の圧縮フォーマットについては UNIX MAGAZINE 2000.6