フォーマット - みる会図書館


検索対象: UNIX MAGAZINE 1997年1月号
27件見つかりました。

1. UNIX MAGAZINE 1997年1月号

集 のイメージファイルにまとめる。 ・ segment 8 モーレッ UN Ⅸ フォーマット子 表 1 フォーマットと拡対応 イメージファイルに対し、フィルタリングなどの処理を ・ mogrify おこなう。 UNIX MAGAZINE 1997.1 などを参照してください。 8 オプションの物日については、オンライン・マニュアル convert ( 1 ) ヘッダファイルカ佖てす。 7 たとえば、 XPM フォーマットを扱うためには XPM のライプラリや が必喫です。 convert て扱えるフォーマットのすべてを網 のフォーマットはファイル名の拡張子で決まるため、注意 みてフォーマットを判断します。しかし、出力ファイル 入力ファイルに関しては、 c 。 nvert カワァイルの中身を convert 入力ファイル出力ファイル うな使い方で十分です 8 。 プションがありますが、叫屯に変換するだけなら以下のよ するには、 convert コマンドを用います。さまざまなオ tgif で扱えるフォーマット (XPM や GIF など ) に変換 xwd で出力した XWD フォーマットのファイルを、 は、マシンの管理者に間い合わせてください。 に、 convert を実行しても変換してくれへん」ような場合 トもあります 7 。「マニュアルを見たらサポートしてるの コンパイル時にほかのライプラリが必要となるフォーマッ Magick のパッケージ単体で対応しているわけではなく、 ーマットはすべてサポートしています。ただし、 lmage- ImageMagick のツール君羊は、これまでに挙げたフォ も試してみ。 るコマンドをいくつか教えるから、残りは暇なときにて、 ファイルを作るのは大変ちゃうか。きようは関係のあ 簡単やけど、自力でパラバラ漫画になるようにイメージ ケープしてたな。でも、ノートにちょこっと書くのは monkey : 俺はどっちかというと、退屈になったらエス てるのも気づかなかったりして。 こを使ってやってました。熱中しすぎて先生カに立っ あつぶる : 学生のころ、授業が退屈になるとノートの端っ けど、あつぶるちゃんは作ったりしたことあるんか。 monkey : 最近の子はそんなんしたことないと思うてた あつぶる 、パラバラ漫画 " なんて、懐かしいですれ 1 つあるいは複数のイメージをまとめてカ旺する。 XWD XBM XPM EPS GIF JPEG BMP PICT . xwd . xbm ・ xpm ・ eps . gif ・ JPg . bmp . pict Sun Raster .ras 羅するのは大変なので、これまで挙げたファイルのフォー マットと刻長イ・の対応を表 1 にまとめます。 tgif が対応している各種のフォーマットのうち、ここて は XPM フォーマットに変換してみます。 banana% 1 s kterm. xwd banana% convert kterm. xwd kterm. xpm banana% 1 s kterm. xpm banana% ■ kt erm . xwd kterm. xpm というファイルが作成されていますが、ほ んとうに XPM フォーマットになっているのでしようか。 イメージのフォーマットを調べるには、 identify コマン ドを使います。以下のように実行します。 banana% identify kterm. xwd kterm. xwd 671X419 PseudoC1ass 2c 284747b XWD 2s banana% identify kterm. xpm kterm. xpm 671X419 DirectC1ass 282924b XPM 3s banana% ー ちゃんと「 kterm. xpm は XPM フォーマットやで」 という・答カってきています。それでも信用できない ( ! ) 人は、以前紹介した pixmap コマンド ( 1996 年 9 月号 ) など、 XPM しか扱えないツールで試してみましよう。 ImageMagick のパッケージにも、画面ダンプをとる ためのツールとして import コマンドカ嗣属しています。 ImageMagick がサポートするフォーマットで出力できる ほか、イメージの拡大 / 縮小や回転などをおこなえます。 で、おもなオプションは以下のとおりです。 import [ オプション ] 出力ファイル 基本的な使い方は、 17

2. UNIX MAGAZINE 1997年1月号

8 モーレッ IJN Ⅸ 図 3 寸きの kterm ルはいくつかありますが、フリーで数多くのフォーマット こでは ImageMagick を紹 を扱えるツールとして、 介します。 ImageMagick はいくつかのコマンドから構成されるソ フトウェア・ . パッケージで、現在のノヾージョンは 3.7.7 で す。 ImageMagick に含まれるツールと機能は次のとおり あるフォーマットのイメージファイルを、別のフォー banana% xwd —frame —out kterm. xwd 特集 monkey : 前のはうが手間が省けるけど、フォーマット んかに変換するツールを使うかですね。 ルを使うか、あとは XWD フォーマットを XPM な 代わりに XPM や GIF フォーマットで出力できるツー あつぶる : どうしたらって・・ 。そうですねえ、 xwd の monkey : そうや。どうしたらいい。 は入ってませんでしたよ ど、 tgif て取り込めるイメージに XWD フォーマット あつぶる : ウインドウのダンプをとったのはいいですけ やろし。 monkey : 必要に迫られへんかったら、使うこともない なかったなあ。 あつぶる : へえー、こんなツールがあるんですか。知ら フォーマットの変換 です。 てダンプさ xwud て表示すると図 3 のようになるはす のように実行します。すると、今度はタイトノレヾーも含め 変換ツールを憶えといて損はないから、両方教えといた ろ。 コンピュータで扱うイメージのフォーマットはさまざ まです。これまて挙げたはかにも、 ・ JPEG フォーマット 写真などの画象を効率よく圧縮できる。 ・ BMP フォーマット Windows で利用される。 ・ PICT フォーマット Macintosh などで利用される。 ・ Sun の Raster フォーマット 16 られています。 UNIX て利用できるフォーマット変換ツー ファイルを別のフォーマットに変換するツールか数多く作 このような問題に対処するため、あるフォーマットの 手上げです。 ても、 I*TEX は JPEG フォーマットを扱えないのでお メージファイルを I VfX のドキュメントに貼り付けたく か問題となります。たとえば、 JPEG フォーマットのイ を扱う場合、ツールがどのフォーマットに対応しているか など、重のものがあります。これらのイメージファイル ・ convert マットに変換する。 ・ display ・ lmport イメージファイルを画面に表示する。 ・ animate なフォーマットで出力できる。 画面のダンプをとるコマンド。 xwd と違い、さまざま イメージの情報 ( サイズや使われている色のなどを 指定されたファイルに対して、フォーマットの不鶤頁と ・ identify のイメージを重ねたりできる。 合する。イメージファイル間の差分を取ったり、複数 複数のイメージファイルを処理し、 1 つのファイルに結 ・ combine 示する。 複数のイメージファイルを、、パラバラ漫画 " のように表 ・ montage UNIX MAGAZINE 1997.1 複数のイメージファイルをタイルのように並べて、 1 つ

3. UNIX MAGAZINE 1997年1月号

8 特集レッ UN Ⅸ てください 2 ただし kinput2 にヌしている tgif を使います。 のファイル ) を指します。 1 ここでは、 tgif て描いた図を保存するときのフォーマット ( 長子が . 。 bj だけでなく、以下に挙げる不頁のファイルを貼り付けるこ tgif では、別の OBJ ファイルを図のなかに取り込める イメージファイルの挿入 に紹介します。 うが早いので、 こではイメージファイルの取扱いを中心 などがありますが、説明するよりは実際に使って慣れるは 複数の図形の整列 ・複数の図形のグループ化・グループ角余 ・図形の拡大・縮小・変形 ・図形の回転・反転 ・図形の移動やコピー は、ほかにも、 ドローイング・ツールが備えている基本的な機能として 用しています。 のツーノレヾーや tgif のウインドウ構成を説明する際に利 か可能です。実際、 : 寺集でもウインドウ・マネージャー 成し、それをい TEX などの文書に挿入する」といった竹業 たとえば「ウインドウのイメージを取り込んで説明図を作 ットで出力する機能があります。これらの機能を使うと、 メージを貼り込んだり、逆に図全体をさまざまなフォーマ tgif の、、ウリ " の 1 つに、さまざまなフォーマットのイ ローイング・ツールも備えています。 図形を移動したり加工するなどの機能は、たいていどのド ることかできますが、文字を含む図形を描いたり、描いた 介しました。 kinput2 と組み合わせると、漢字を入力 2 す きです。前々回は、 tgif の起動方法から基桑作までを紹 前回は、寄り道をしてしまいました。今度こそ tgif の続 すそこらへんを押さえとこ。 かの文書に図を入れたいこともよくあるから、とりあえ ル 1 以、タ ) フォーマットで出力できるねん。 I*TEX なん プなんかのイメージを図に貼り込んだり、 OBJ ファイ のドローイング・ツールと変わらんけど、ビットマッ ばいやってん。 tgif もふつうにつこうてるぶんにははか monkey : ごめん、ごめん。この則は車のことて頭がいっ 14 とができます。 ・ XBM ・ XPM ・ EPS ・ GIF 操作自体は簡単で、メニューから適当なフォーマット のイメージファイルお尺し、キャンバスに貼り付ける位 置を指定するだけです。使い方を説明するだけではおもし ろくないので、画面の一部 3 をファイルに出力し、それを 適当なフォーマットに変換してから tgif に取り込むこと を考えてみましよう。 のダンプ 画面の全体や一部、あるいはあるウインドウのイメージ をファイルに出力することを、「画面をファイルに落とす」 とか「画面をファイルにダンプする」といいます。画面 をダンフするツールはいくつかあり、もっとも一勺なも のが xwd と xwud です。前者は画面をファイルにダン プし、後者はダンプしたファイルを表示する 4 ツールです。 これらは X ウインドウ・システム似降、 X とのコ アバッケージに含まれているので、 X が使えるシステムに はかならすインストールされているはすです。 xwd は、ウインドウ単位あるいは画面本のダンプを 取ることができます。いくつかオプションがありますが、 よく使いそうなものは以下のとおりです。 ・—help オプションなど、使い方のヘルプメッセージを表笊 ・—nobdrs ウインドウをダンフする際、ウインドウの境界線 ( b 。 r ー der) を含めない。 ・ -out file 出力先のファイルを川 e に孑日疋。 ・—frame ウインドウをダンプする際、ウインドウ・マネー が付加する枠 ( タイトノレヾーなど ) を含める。 画面本をダンフする。 ジャー 3 画面のある或の場合もあま、 1 枚のウインドウの場合もあります。 4 これを、アンダンプ (undump)" といいます。 UNIX MAGAZINE 1997.1

4. UNIX MAGAZINE 1997年1月号

集 図 6 貼り付けるイメージファイルのウインドウ T if— Please select an XPixma file to IMPORT.. P1ease select an XPixmap fi1e tO 工 MPORT . /tmp/xsnap ・ xpm . X11—unix/ . iroha unix/ : ( S na . X m ・ lmportGIFFile 8 モーレッ UN Ⅸ 図 7 キャンパスに貼り付けられたイメージ : [Unnemed] ( 100 1 " ヨ [Modified] Mode Fi1e Edit Layout Ärrange View Text S c 土 81 EDIT 幻′ 1 “ XPixmap : 223X154 ) 'xsnap EX ロ 1. æ.Main Men し Graphics Node C010r Navigate - 0 ノ / NON 〔 上から川良番に、 OBJ 、 XBM 、 XPM 、 EPS 、 GIF の イメージを貼り付けます。例として、さきほど xsnap で 作った xsnap ・ xpm を取り込んでみましよう。 FiIe メニューから ImportXPixmap を選ぶと、ファ イルを指定するためのウインドウ ( 図 6 ) か現れます。わ ざわざファイル名をタイプしなくても、ウインドウ中央 部のリストからファイルをクリックして [OK] ボタンを クリックすれは、目的のファイルを選ぶことかできます。 サプディレクトリがある場合は、ディレクトリ名をダブル クリックすれば、サプディレクトリの中身をリスト表示し てくれます。 ファイルお尺すると、キャンバスのどこへ貼り付ける かを訊かれます。貼り付けるイメージの大きさの枠がマウ スの動きに合わせて移重丿けるので、適当な場所を決めてク リックすると、貼り付けるイメージがキャンバスに表示さ れます ( 図 7 ) 。 あとは文字や図形を入れて、絵を完成させるだけです。 ただし、 EPS ファイルを貼り付ける場合には注意が必要 です。普通の EPS ファイルを tgif て唄占り付けると、イ メージの枠がキャンバスに表示されるだけで、イメージの 中身までは表示されません。中身もちゃんとキャンバスに 表示するには、 EPSI と呼はれるフォーマットでなければ なりません。 EPSI は Encapsulated PostScript lnterchange の略で、通常の EPS に表示用のピットマップ・イメージ を加えたフォーマットです。 EPS を EPSI に変換するに は、 ImageMagick の convert を使って、 20 banana% convert f00. eps f00 . epsi UNIX MAGAZINE 1997.1 マットで出力するには、 Save ではなく、、 Print" を選びま メニューから Save という項目を選びます。はかのフォー 前々回て紹介したように、 tgif の絵を保存するには File monkey : 、、女の勘 " っちゅうやつやな。おーこわ。 んですけどれ あつぶる : へへへ。でも、当てずつほ。うで言っただけな ゃな。 monkey : そのとおり。優秀な走をもっと、先生も楽 あつぶる . 、、出力 " と、保存 " の違いですか ? 存と手順が違うから、ちょっとだけややこしいねん。 やし、さっとすませたろ。ーただし、 OBJ ファイルの保 monkey : いやー、これも簡単なんやな。もうすぐお昼 あつぶる : 難しいんですか ? ど、出力するのは・・ マットで保存する去だけや。貼り付けるのは簡単やけ monkey : さあ、残るは tgif の絵を OBJ 以外のフォー いろんなフォーマットで出力 か加わったぶん、ファイルのサイズが大きくなります。 のように実行します。ただし、ビットマップ・イメージ

5. UNIX MAGAZINE 1997年1月号

8 特集モーレッ UN Ⅸ 図 5 xsnap のタンフ果 XSnap あっぷる :import って、ある部分を切り取るようにダン フすることができるんですれそれに、指定するフォー マットで出力できるから、変換する手間が省けて便利 monkey : ただし、切り取る部分をオプションて指定せ なあかんのか面倒やけどな。いまから教える xsnap な らマウスで領域をドラッグできるから、画面の一にをダ ンフするんやったらそっちのほうが使いやすいで。 画面のダンプをとるツーノレとして、最後に xsnap を紹 介します。リリースされた時期はかなり古いのですが、ダ ンプする領域をマウスのドラッグで指定でき、 XWD と れます。そして、 ( ーⅡ。 s を指定しないかぎり ) 結果が XPM 、さらに ATK と呼ばれるフォーマットをサポート 図 5 のようなウインドウに表示されます。このウインド しています。 ウ上で、、 q " をタイプすると、 xsnap は指定されたファイ おもなオプションは以下のとおりです。 ルに指定されたフォーマットで出力して終了します。 xsnap を使うと簡単に領域を指定できてイ叫リですが、操 ・—reglon geome リ 作をマウスでおこなうため、彳第各がきかないこともあり マウス操作の代わりに、あらかしめ領域を指定する。 ます。マウスできっちり領域を指定できれば、あなたもマ geometry は、ウインドウのジオメトリ情報と同じ形式 ウスの達人・・・・・・という冗談はさておき、画面を見ながら で記する。 ダンプをとりたい場合に利用するといいでしよう。 ・—nograb tgif に貼り付ける 通常、マウスで領域をドラッグしているあいだははかの クライアントの表示は止まってしまう。このオプション あっぷる : 画面をダンプするだけでも、いろんなツールが を付けると、ドラッグしているあいだも表示が止まらな あるんですね。たくさんあって迷いそう。 くなる。 monkey : それぞれ一長一ま豆やから、目的に応して使い ・—xwd 、—xpm 、—atk 分けれはええねん。さあ、次は何をやるんやったつけ ? 上記のうちいすれかを指定すると、そのフォーマットで あつぶる . これって、もともと tgif の話でしたよね ! ? ファイルに出力する。 monkey : おお、そうや。ちょっと本題から外れすぎた ・—file file ーまでくれは、 tgif に取り込んで絵を作るなんて ダンフ。の出力先となるファイルを川 e でオ彳定する。 お茶漬けサラサラや。 ・—110ShOW あっぷる : それを言うなら、、お茶の子さいさい " でしよ。 xsnap はダンプしたイメージをウインドウに表示する 変なこと言ってないで、ちゃんと教えてくださいよ。 が、このオプションを指定すると表示せすに終了する。 monkey : ー、し ) ' 、し % xsnap を使って、以下のように実行したとしましよう。 tgif の絵にイメージファイルを貼り付けるには、 FiIe メ ニューで以下の項目のいすオ功、を選びます。 banana% xsnap —xpm —file xsnap ・ xpm ・ lmport すると、マウスカーソルが、、「 " のような形に変化しま ・ lmportXBitmap す。この状態でマウスポタンを押し、ドラッグして離す ・ lmportXPixmap と、開始点と終了点を対角線で結んだ攵研彡領域がダンプさ ・ ImportEPSFile xsna 19 UNIX MAGAZINE 1997.1

6. UNIX MAGAZINE 1997年1月号

特集 図 8 tgif ~ ウインドウ T 1 1 新 1 / 1 8 モーレッ UN Ⅸ NCINE IBTE ロ① T 17 こ ・出力するフォーマットを ここで指定する 表 2 ImageMagick の入手先 サイト ファイ ) レ ftp.tohoku.ac ・ jp /mirror/X-contrib-6/appIications/ImageMagick/lmageMagick-3.7.7. tar. gz /pub/X/contrib/applications/ImageMagick/ImageMagick-3.7.7. tar. gz ftp.iij.ad ・ jp /free/X11/contrib/applications/ImageMagick/ImageMagick-3.7.7. tar. gz ftp.mei.co ・ JP 表 3 xsnap の入手先 ftp.mei.co. JP ftp.iij ・ ad ・ jp ftp.tohoku.ac.jp サイト 表 4 xpm ′ヾッケージの入手先 ftp.mei.co ・ JP ftp.iij.ad ・ jp ftp.tohoku.ac.jp サイト /free/X11/contrib/libraries/xpm-3.4i. tar. gz /pub/X/contrib/libraries/xpm-3.4i. tar. gz /mirror/X-contrib-6/Iibraries/xpm-3.4i. tar ・ gz ファイ ) レ /free/X11/X/utiIities/xsnap-p12. tar. gz /pub/X/R5contrib/xsnap-p12. tar.. Z /mirror/X-contrib-5/xsnap-p12. tar. Z ファイ ) レ す。なぜ Print な ? かと訊かれても困るのですが・・・・・・お そらく、「プリンタに出力する代わりに、指定したフォー マットでファイルに出力する」というイメージなのでし となると、出力するフォーマットをどこで指定するか カ墹題です。これは、 tgif 窈尺ウインドウ ( 図 8 ) の下 段の、左から 2 番目に表示されているアイコンで指定し ます。 tgif を起動した状態では、、第 (EPS)" と表示 されています。このアイコンをマウスでクリックするたび に別のフォーマットに切り替わります。 切り替わる順番は以下のとおりです。 EPS → PS → XBM → ASCII → EPSI → GIF プリンタ→ EPS これらのうち、、、 ASCII " は絵に含まれる文字だけを ファイルに出力します。プリンタを選ぶと、環境変数 PRINTER で指定されているプリンタに絵を出力します。 ただし、プリンタに出力する場合を除き、作成した絵 にはあらかしめファイル名が付いていなければなりませ ん。これは、 tgif が出力する際、ファイル名の拡張子を 適当に変えて利用するためです。たとえば、絵に foo. obj という名前カ咐いていたとすると、 GIF で出力する場合 UNIX MAGAZINE 1997.1 は、、 f00. gi 「、 EPS で出力する場合は、、 foo. eps" という 名前が自重加勺に付けられます。 以長月泉部分のはうカ張くなってしまいましたが、イ メージの取扱いを中心に tgif を紹介しました。 EPS で ファイルを出力すると、次回に紹介する予定の WIbX の 文書に取り込むことができます。ぜび慮えておいてくださ ここで呂介した ImageMagick や xsnap がインストー ルされていないのなら、ネットワークを経由してパッケー ジを入手し、自力でコンパイルすることかできます。ネッ トワークを経由したファイルの入手ガ去は、「仕 p 」の節で 紹介します。参考までに、パッケージの入手先を表 2 ~ 4 に挙げておきます。興未のある方はチャレンジしてみてく し ) ださい。 0 こつついお得な xon 前回は、 telnet 、 rlogin 、 rsh などを利用して、リモー ト計算機の xterm や kterm をローカル計算機に貼り付 ・リモート・算機 けるガ去を紹介しました。いすれの力法も、 21

7. UNIX MAGAZINE 1997年1月号

8 モーレッ UN Ⅸ 特集 図 4 ちょっとひねくれた kterm tmageMagick: kterm—rotate.gif 、 2 ・—border ウインドウの境界線を含む。 ・—crop geom 型 元のイメージから指定した部分だけをダンプする 。 , " 型は、ウインドウのジオメトリ情報と同し帋式で 指定する。たとえは、、、 100X200 十 0 ー 0 " とすると、元イ メージの左端から幅 100 ドット、下から高さ 200 ドッ トの領域をダンプする。幅と高さに % を付けると、元イ メージに対する比率となる。 ・—delay seconds sec 。れ赤秒待ってから、画面ダンプをとれる状態にな る。ウインドウに対してなんらかの操作をおこなって からダンプをとるような場合にイ叫リ。 ・ -display 市夘 xwd と同じく、市夘 I て指定したホストの画面がダン フ。の対象となる。 ・—frame たとえば、さきほどの kterm に対して次のように実行 ウインドウ・マネージャーのタイトノレヾーや枠を含む。 してみましよう。 ・ -geometry 襯ん [ % ] xheight [ % ] [ ! ] ダンプするイメージを、指定する大きさ ( 幅 x 高さの import —verbose —frame —geometry 50 % X75 % \ —rotate 45 kterm—rotate . gif ドット数 ) で出力する。襯んおよびん e 朝に % を付 けると、元イメージに対する比率を表す。たとえば、 すると、マウスカーソルが、、十 " の形に変わるので、 、、 50 % X200 % " と指定すると、幅が半分で高さが 2 倍 xwd と同じようにウインドウを選んでクリックします 10 のイメージとして出力される。 こでは -verbose オプションを付けているので、ダンプ ・—rotate degrees カ鮗るとイメージ情報を出力します。 元イメージを日 t 方向に de ees 度回転して出力する。 banana% import —verbose —frame —geometry \ ・—verbose 50 % X75 % —rotate 45 kterm—rotate. gif kterm—rotate. gif 459X458 Pseud0C1ass 64C GIF 18S ダンプしたイメージに関する情報を、 identify コマンド banana% ■ と同し形式で出力する。 GIF フォーマットで出力したので、 xwud て市忍する ・—window id ことかできません。その代わりに、 ImageMagick に利属 ダンプする対象をマウスでクリックする代わりに、ウィ する display コマンドを使います。 ンドウがもつ識別番号 ()D 番号 ) を指定する 9 。記の部 分に、、 root" を指定すると、画面本のダンプをとるこ banana% display kterm—rotate ・ gif とができる。 ダンプしたファイルを displayc 表示すると、図 4 のよ 、、出力ファイル " には、ダンプしたイメージを出力するフ うになります。余白は黒て理められてしまいますが、回転 ァイル名を指定します。 convert と同様、ファイル名に や拡大 / 縮小がおこなわれていることが分かります。なお、 付ける拡張子によって出力するフォーマットを指定でき display コマンドを終了するには、ウインドウにフォーカ スを合わせて、、 q " をタイプします。 9 ID 番号は X サーバーが X クライアントを管理するための番号で、 xwininfo コマンドて詩ヾることかて、きます。 10 ビープ音の代わりに、ウインドウのゞ点誠します。 18 UNIX MAGAZINE 1997.1

8. UNIX MAGAZINE 1997年1月号

図 1 例に使った醯好 ・—display 市夘 I 市夘 I は、前回紹介した、、ホスト名 :X サーバー番号 " の組て指省略すると竟変数 DISPLAY 刎ゞ使わ れる 5 。リモート計算機の画面ダンプをとるのに便利。 実際に試してみましよう。ダンプをとる画面全体の様子 は、図 1 のようになっています。ます、右上にある kterm のウインドウをダンプしてみます。 banana% xwd ー out kt e rm. xwd -root オプションを用いて画面本のダンプをとる場 合を除き、上記のコマンドを実行するとマウスカーソル が、、十 " のような形に変わります。カーソルを目的のウィ ンドウに合わせてクリックすると、ピッというピープ音が 鳴ってウインドウをファイルにダンプし始めます。ダン フ。か終ると、ふたたびビーフ。音カ島ります。小さなウイン ドウだとすぐにダンフ。カ鮗ってしまい、連続した音に聞こ えるかもしれませんが、画面全体のような大きなデータだ と、開始の音と終了の音が分かります。 xwd が出力するイメージのフォーマットは、 GIF や XPM とは別の独自のものです。ここでは XWD フォー マットと呼ぶことにしますが、上記の例のように . xwd な どといった長子を付けて、ほかのフォーマットとはっき り区別できるようにします。 ダンプした kterm. xwd を、 xwud を使って表示して みましよう。 xwud でよく使われるオプションには、以 下のものがあります。 5 竟変数 DISPLAY も設定されていない場合は、ローカル引算機の画 面か対象となります。 UNIX MAGAZINE 1997.1 8 L 特集モーレッ IJN Ⅸ教室、 図 2 物ヾない kterm ・—he lp ヘルプメッセージを表笊 ・ -in file バするファイルを川 e 日疋。 ・—noclick 通常、 xwud は表示したウインドウをクリックすると 終了する。このオプションを用いると、マウスのクリッ クで xwud を終了できなくなる。 ・ -display 市夘リ xwd の場合と同じく、リモート計算機にウインドウを 貼り付ける場合に用いる。省略すると、竟変数 DIS- PLAY 刎直カイ吏われる。 たとえば、 banana% xwud —in kterm. xwd & を実行すると、図 2 のようなウインドウが表示されます。 xwud を終了させるには、ウインドウをマウスでクリック するか (-noclick オプションを付けない場合 ) 、ウイン ドウにフォーカスを合わせて、、 Q " か q 、あるいは C ー c6 をタイプします。 ただし、 - 信己の例では一 frame オプションを付けずにダ ンプしたので、図 2 の kterm にはウインドウ・マネー ジャーのタイトノレヾーが含まれていません。図 2 で表示さ れているタイトノレヾーや枠は、 xwud のウインドウに対す るものである点に注意してください ( ウインドウのタイト xwud:kterm" となっていますね ) 。 ノレカゞ、 ウインドウ・マネージャーのタイトノレヾーと枠を含めた い場合は、 -frame オプションを用いて、 6 C - ェは、「コントロールキーを押しながらエキーを押す」ことを味しま す。 15

9. UNIX MAGAZINE 1997年1月号

連載 /UNIX Communication Notes— 図 3 TOS フィールドのフォーマット 0 図 2 IP データグラムのフォーマット 0 1 2 3 012 3 4 5 6 7 8 9 012 3 4 5 6 7 8 9 012 3 4 5 67 8 9 01 0 2 1 Precedence ・ Total Length 3 D 4 5 T R 7 6 使用されず Ver 旧 L TOS ldentification TOtal Length F Fragment Offset P 「 0t0C6 Header Checksum Source Address Destination Address Option BOdy Of 旧 Packet Padding Ve r : Version ( 4 ) TOS : Type of Service ー H L : lnternet Header Length F : Flags (DF, MF) ( ⅲ 32bit word) のヘッダの最後には、 TTL : Time To Live 、、 IP オプション " と呼はれる可 変長のオプション・フィールドがある。このため、ヘッ ダ長を明示する必要がある。 ・ TOS (Type Of Service) IP データグラムを処理する際の優先度を表すフィール ド。このフィールドは、上位 6 ピットだけカイ吏われて いる。最初の 3 ビットは、、、 Precedence" と呼ばれ、 各データグラムの重要度や処理優先度を 0 から 7 の 8 段階て表す。この値が大きいはど、優先度か高いことを 表す。残り 3 ビットは、 D ビット、 T ピット、 R ピッ トと呼ばれる。各ピットが 1 にセットされている場合、 それぞ D : low DeIay ( 少ない遅々芋間 ) T : high Throughput ( 高スルーブット ) R : high Reliability ( 咼信頼 ) を重視した IP データグラムの転送処理を希望している ことを示す 2 。 TOS は、 IP 層で優先処理や、第生 を必要とするトラフィックに対する処理を実現するた めの欟冓として用意されていた。しかし、 TOS にもと づく処理を実装したホストやゲートウェイはほとんどな く、現実にはほとんど使われていない。 2 RFC1349 [ 3 ] では、第 3 ピットから第 6 ピットでそれぞれ mini- mize delay 、 maximize throughput 、 maximize reliability 、 minimize monetary cost ク月定が可能で、 7 ピット目はつねに 0 UNIX MAGAZINE 1997.1 と規定されている。 ヘッダとデータを合わせた IP データグラムの全体長 カ舸オクテットであるかを表す。このフィールドが 16 ビットなので、 IP データグラムの全体長は 64KB に 制限される。 ・ ldentification IP データグラムの識別番号。 IP データグラムがうリさ れたとき、これを用いて断片を識別する。 ・ F (FIags) 3 ビットのフィールドで、う巨頁のビットは 0 にセットす ると決められている。次のビットを、 DF ビット " 、最 後のビットを、、 MF ビット " と呼ぶ。 DF ビットを 1 に セットすると、その IP データグラムをうリしてはなら ないことを示す。このことから、、、 Don't Fragment ビ ット " とも呼ばれる。一方、 MF ビットは、、 More Frag- ment ビット " とも呼ばれ、その IP データグラムは 分割さ後続の IP データグラムがあることを示す。 MF ビットと次に説明する Fragment Offset を用い て、分割された IP データグラムを明及する。 ・ Fragment Offset 13 ビットのフィールドで、そのデータグラムがもとも との IP データグラムのどの部分のものなのかを示す。 Fragment Offset では、 8 オクテットを単位にして、 データ領域のオフセットを示す。分割・再構成の処理の 田は、もうすこしあとで説明する。 ・ TTL (Time To Live) その IP データグラムが、あといくつのゲートウェイを 通過できるかを表すフィールド。このフィールドの値 は、ゲートウェイを通過するごとに 1 すっ減らされる。 この値が 0 になると、その IP データグラムは破棄さ 送信ホストにその旨を通知する。 このフィールドは、 IP データグラムの、、生存時間 " を 表す ( これが、、 Time To Live " の名前の由来である ) 。 これは、迷子になった IP データグラムがいつまでも ネットワーク内にとどまらないようにするために考案さ れた樹冓である。たとえば、なんらかの経路伽脚上の問 49

10. UNIX MAGAZINE 1997年1月号

場することなく、多くはクラス C で十分なネットワーク であった。また、クラス A やクラス B を用いた場合は、 アドレスの利用か非効率的になりがちであった。そこで、 1980 年代半はには、、サプネット (subnet)" と呼ばれる概 念か導入さアドレスを角物 ( するガ去も変更された。 サプネットを利用する場合、ホスト部の上位何ビット かをサプネット部とする。そして、ネットワーク部十サプ ネット部でネットワークを表すことにした。これにより、 従来のクラス A やクラス B のアドレスを分割して使える ようになった。たとえは、クラス B アドレスてサプネッ ト部を 8 ピットとすれば、 256 個のクラス C アドレスを もっているのと同様に、 256 個のネットワークにアドレス を割り当てることかできる。 サプネットには、ホスト部のどこまでがネットワークを 表すかを示す、ネットマスク (netmask) と呼ばれるビッ トマスクがある。これによって、アドレスの MSB 側か ら何ビットがネットワーク部かを表す。 クラスレスの評価へ サプネットの導入によりアドレスの利用効率は向ー E した が、 1990 年代に入るとインターネットの急激な普及によ り、アドレスの本曷を懸念する声が E がり始め、従来より 効率的なアドレスの使用力甘隹奨されるようになってきた。 そこで、クラスの概念をなくし、アドレスはたんにネッ トワーク部とホスト部から構成されると考えて、ネットワ ーク部を表すのにネットマスクを使用する考え方が一勺 になってきた。これにともない、アドレスにはかならずネ ットマスクを併記するガ去が一殳化しつつある。これは、 連載 UNIX Communication N0tes—O クラス D アドレス ことを表す。 トで、 163.221.192 を 1 つのネットワークにヌ寸して使う と、 1 つのネットワークに対してネットマスクが 24 ピッ のように表記する。たとえば、 163.221.192 / 24 と書く ネットワーク番号 / ネットマスク IP マルチキャストとクラス D アドレスについては、 ルチキャストに使うことになった。 うち、クラス D アドレスは、グループ通信である IP マ 将来的な利用に備えて予約されていた 2 つのアドレスの 48 1996 年 6 月号 [ 2 ] を参照してはしい。 IP データグラムの分割 / 冓成 IP データグラムの分割 (fragmentation) と再構成 (reassembling) は、 IP 層の処理に特徴的なものである。 IP 層の定義は、特定のデータリンク技術に依拠するも のではない。 IP データグラムは可変長であり、最大長は 64KB である 1 一方、 IP データグラムを実際に転送するデータリン ク層では、各データリンクごとに MTU (Maximum Transfer Unit : 最大転送長 ) か决まっている。そこで、 IP 層では使用するデータリンクの MTU に適合するよう に IP データグラムを分割する。さらに、最終的な受信ホ ストで、分割された IP データグラムを再構成する。この ような機構をもっために、 IP データグラムか転送される 過程で通過するすべてのゲートウェイで、その IP データ グラムが分割される可能生がある。 性育旨氏下を防ぐために、転送過程て通過するゲートウェ イでは IP データグラムを再構成しない。 ICMP ICMP (lnternet ControI Message Protocol) は、 IP と同じ階層に実装されているプロトコルで、 IP 層で発 生した問題点を送信ホストに通告するために作られた。送 信ホストへの通告にあたっては、各種の ICMP メッセー ジが用意されているが、 ICMP メッセージは IP データ グラムを利用するため、ある意味では IP の上位層と同様 な実装になっている。 IP データグラム 次に、 IP データグラムのフォーマットをみていくとし よう。図 2 に IP データグラムのフォーマットを示す。 の図では、横方向に 32 ビットずつまとめて表記している。 各フィールドは、それぞれ次のような未をもつ。 ・ (VerSi011 IP のノヾージョン : 番号 ーには 4 が入る。 ・ IHL (lnternet Header Length) ヘッダ長を示すフィールドで、 1 ワード 32 ビットとし て、ヘッダカ舸ワードあるかを示す。 IP データグラム 1 IP データグラムクア、、ツダの Total Length フィールドの制乢 UNIX MAGAZINE 1997 ユ