ークにつながっているかは、システム管理者に訊ねてくだ 運がよけれは、世界とつながっています。また、たとえ 実際には ( 受け取らないように設定されていて ) ニュース の記事が届いていなくても、、、潜在的に〃はつながっている こともあります。 逆に運が悪けれは、特定のホストでしかニュースが読め ないかもしれません。さらにもっと運が悪ければ、ホスト ごとにニュースシステムが動いていて、どのホストでニュ ースを読むかによって、届いた記事やニュースグループが 異なるかもしれません。 なぜこのようなことが起こるのでしようか。 1 つのサイ トに 1 つしか計算機がないのなら話は簡単です。 ニュース システムの管理は、その唯一の計算機でおこなっているは すです ( もちろん、運用していればですが ) 。これは、サイ ト内だけにニュースが届くときも、外部組織とニュースを やりとりしているときも同しです。 ところが、 1 つのサイトに複数の計算機がある場合は、 とたんに話がややこしくなってしまいます。複数のホスト が独自にニュースを管理すると、ホストごとにニュースの 記事やニュースグループに対する互換性がなくなるかもし 2)NNTP 利用型 1 ) スプール共有型 に次の 2 種類の方法があります。 つにします。ほかのホストからニュースを読む場合、一般 これを避けるためには、ニュースを管理するホストを 1 れません。 UNIX MAGAZINE 1992.7 れていて、ユーサーはあまり気にしなくてもよいようにな 報を送ります。もっとも、このあたりの仕組みは覆い隠さ News Transfer ProtocoI) を利用して記事や必要な情 ニュースホストとほかのホスト間で NNTP(Network 2 ) はもっと複雑です。ニュースを読み書きするときに 記事を送ります。 を実行したり、特別なコマンドを使ってニュースホストに ニュースを投稿するときは、ニュースホスト上でコマンド ースを読むときは、共有したスプールから直接読みます。 ュ も気にする必要はありません ) で共有する方法です。 プールをほかの計算機から NFS マウント ( 分からなくて 定のディレクトリ ( スプール ) に保存します。 1 ) は、このス ニュースの記事は、ニュースを管理しているホストの特 emacs 入門 // 、 \/ N っています 4 。 ニュースの読み書きには、 readnews & postnews 、 rn, tin などのシェル上で動くツールが何種類かあります が、これから説明するのは Nemacs から利用できる Emacs Lisp で書かれたツールです。どれを利用するかは ューザーの自由ですが、嬉しいことに通常は混在させて使 っても問題は起こりません。このあたりは、メールとは違 いますね。 Nemacs では、 rnews gnews gnus などのツールを使ってニュースを読むことができます。 rnews はオリジナルの Nemacs と一緒に配布されるニ ュースシステムです。機能やコマンドの雰囲気は、 Nemacs の標準的なメールシステムである Rmail に似ています。 rnews の弱点は、スプールを共有するタイプだということ です。したがって、 NNTP を利用しているサイトでは使え ません。 ごめんね、しつは使ったことがない。ち gnews は・・ らっとドキュメントを眺めたかぎりでは、スプール共有型 と NNTP 利用型の両方をサポートしているようです。で も、なぜか私の周辺では使っているという話は聞かないの で、もしかしたら日本の実情に合わないのかしら ? ( あ、 でもまったく知らないので、たんなる言いがかりかもしれ ません。信用しないでください ) gnus も、スプール共有型と NNTP 利用型の両方をサ ポートしているシステムです。私は、ふだん gnus を使って いるので、今回は使い慣れた gnus を紹介しましよう。 rnews を期待していた方、ごめんなさい。 gnews を期待し ていた方、勇気があったら使ってみてください。で、もし メールを書くお時間があって、次回の記事で参照させてい ただいてもよろしければ、 ara@astec. co. jp まで、、使用感 想〃をお願いします。 さりげなくヾ次回〃と書きましたが、お察しのとおり、 2 回に分けて gnus の使い方を紹介します。今回は、ニュー スの記事を読む方法を中心にお話ししましよう。 4 環境変数の設定が必要なこともありますが・・・ 113
連載 /UNIX Communcation Notes— したバッチの前に、 # ! c7unbatch という行を付けま す。 compc7 は、 X. 25/PAD のような 7 ビットしか通さ ない通信路で送信するときに使用します。 c7encode の出力は 0X80 —()xFF までの文字か現れな いというだけで、テキストファイルではありません。 これを使用することは稀でしよう。 ・ compb compress で ) 王糸宿し、 bencode でエンコードします。 bencode は uuencode の親類で、バイナリファイル を ASCII の英数字とプラス ( 十 ) 、マイナス ( ー ) だけ を使って符・ヒします。適宜改行を挿入するので、電子 メールなどのように、 7 ピットしか通さず、 1 行の文字 数に制限があったり、コントロール・コードに対して透 過でないものを通しても大丈夫です。 なんらかの都合で、電子メールを sender として使わな けれはならないときに組み合わせて使用します。 こで注意が必要なのは、 Cnews 付属の muncher はすべて 12 ピット compress を用いていることで す。、、 XX ビット compress" というのは、 Lempel-Ziv- WeIch アルゴリズムで圧縮するときに、何ビットぶんの テープルを使用したかを指します。 通常の 32 ビット CPU を用いた UNIX WS の com- press のデフォルトは 16 ピット compress で、サイズが 216 強の整数型の配列を 2 つ使用しますからメモリの使用 量は 500K バイト強になります。 アドレス空間が 16 ビットしかなかったり、メモリ実 装量が少ない言 t 算機ではこういうことはできません。そこ で、どんなマシンでも圧縮 / 展開かて、きる 12 ビット com- press が C Ⅱ ews のデフォルトになっているのでしよう。 12 ビット compress は 16 ピット compress とくらべ て 1 ~ 2 割圧系宿率が悪いので、 16 ピット compress をお こなうように変えてしまうほうがよいでしよう。 8086 を 用いたパソコン UNIX などと通信する場合のみ、 12 ピッ ト compress を使えばいいのです。 16 ビット compress をおこなうように変えるには、 NEWSBIN/batch/comp* のなかの compress -b 12 という部分のオプションを取り去って compress とする だけです。 48 muncher を自作する場合は、標準入力を処理して標準 出力に出すフィルタとして働くように書きます。コマンド ライン引数は使用できないので、相手ごとにパラメータを 変える必要があるときは、さきはど説明した環境変数を参 照します。それが無理ならば、 NEWSARTS/out. going /sysname の下に、それぞれの sysname 用のコマンドと して置きます。 sender muncher の出力を標準入力から受け取り、実際に相手 システム sysname( 第 1 引数として与えられる ) に送り ます。 Cnews に付属してくる sender それぞれについて説明 します。すべてシェルスクリプトです。 電子メールでの送イ寸 電子メールを使った送信形態は、次の 3 不頁が用意さ れています。 ・ V1aemail 電子メールで sysname!enews に送ります。 ・ V1amail 電子メールで sysname!rnews に送ります。 ・ viapmail 各行頭に N を付加して、電子メールで sysname!rnews に送ります。 電子メールで送る場合、受取り側のシステムで send- mail の aliases の設定が必要です。次節を参照してくだ Cnews で用意されている 3 つの送信コマンドはどれも ! を使ったメールアドレスを使用するので、直接 UUCP 接続されているシステムにしか送れません (sendmail. cf の設定次第ですか ) 。そのような状況ならば uux を使うべ きです一一電子メールは、近くのサイトへのデータ転送手 段としてははなはだ効率の悪いものですから。 viaemail や viamail を使用するときには、 muncher としては compb を使うのがよいでしよう。 viapmail は 相手システムが bencode 形式を理解しない Bnews など のときに使用し、 muncher には nocomp を使います。 UNIX MAGAZINE 1992.7
連載 /UNIX Communcation N0tes rsh での送信 UNIX MAGAZINE 1992.7 送ジョブの優先順位を下げています。このため、あとから 時性に対する要求か高いので、 cnews ではニュースの伝 転送されます。メールとニュースでは、メールのほう力銀卩 混在して溜まった場合、何もしなけれは登録した日計順に とに注意してください。電子メールとニュースのジョブが で、実際のデータ転送は別のタイミングでおこなわれるこ uux を実行した点では uux ジョブが登録されるだけ 料金も半う呈度ですみます。 compress では記事は半分程度に圧縮されますから、電話 ては comp か compcun を組み合わせます。 16 ピット 通常の UUCP は 8 ビット透過なので、 muncher とし こちらから送る記事を渡すことができるわけです。 して記事のバッチを与えれば、相手システムの rnews に というようにコマンドとして rnews を指定し、データと S S れ佖 7 れ e ! rnews パッチ作成ー uux 実行されるコマンドの入力となります。 て与えると、それがリモートシステムに伝えらそこで するコマンドです。こちらからデータを uux の入力とし uux は UUCP システムでの遠隔コマンド実行を登録 uux で信 間柄でないと使えません。 いすれにせよ、 rsh によるアクセスを許してよいほどの NNTP のほうが優れています。 が高性能ですが、多彩な機能を考慮して総合評価すると 単純に伝送速度でくらべると NNTP より rsh のほう を手て修正する必要があります。 remsh などほかの名前になっているシステムでは、 viarsh 意してください。また、リモートシェルが rsh ではなく 違ってこちらを起動してしまわないようにサーチパスに注 /bin/rsh(restricted shell) をもつシステムでは、間 るのでデータ転送量を圧縮する意味がないのです。 タ転幻度より遅かったり、ほとんど変わらなかったりす Ethernet などでは、 compress の圧縮の処理速度がデー などでしようから、 muncher には nocomp を用います。 rsh が使用可能なのは同じ LAN に接続している場合 の rnews を起動し、そこに muncher の出力を与えます。 viarsh は、 rsh (remote shell) を用いて相手システム 登録されたものでも、メールはニュースのジョブよりもさ きに転送されます。 uux を使った通信には、次の 4 頁があります。 ・ V1at1UXZ ーて—Z で送信します。 ・ V1aut1X —gd S S れ佖〃 ~ e ! rnews viauuxz と同しですが、つフラグは使いません。 ・ V1auuxcun リモートシステムの cunbatch を起動します。 Bnews2.11 以降では、 rnews が # ! cunbatch を認 識します。旧いニュースシステムを使っているところ では、 compress で圧宿した記事は、 cunbatch コマン ドで受け取らなければならない場合もあります。そのよ うな場合に使います。 ・ VIauuxl uux の一 1 オプションを利用して multicast をおこな います。これは、同一の内容を多くのシステムに送って いるときに、同し記事を含む uux ジョブがスプールに たくさん溜まるのを避けるために使用します。 ます、 NEWSCTL/sys に仮想的なシステム名 (sys- name とします ) を登録します。そして、 NEWS- CTL/sites. sysname というファイルに sysname に 対応する実際の送り先を列挙します。こうしておいて sendbatches を起動すると、 sysname に対する送信を おこなうときには、同一の記事バッチを列挙されたシス テムそれぞれに送ります。 viauuxl を使用して実際に UUCP スプールの使用量を 減らすためには、 NEWSARTS/out. going/sysname と /usr/spool/uucp カ祠しファイルシステム上になけ ればなりません。 もちろん、 uux が一 1 オプションをサポートしている 必があります。筆者の手許にある計算機で謌べたとこ ろ、サポートしているのは 4.3BSD だけでした。 UI- trix4.2 の uux も一 1 オプションをもってはいますが、 -c オプションと同じ機能なので viauuxl とは適合しま せん。 49
-DESIGNER GLJI ( クラフィック・ユーサ・インタフェース ) 構築ツール X-DESIGNER は , OSF / M 。 tif に基づいたグラフィック・ユ ーサ・インタフェース ( GIJI) 構築ツールキットである。 XWindow を有する殆どの UN Ⅸシステムで使うことができる。ユーサは X - DESIGNER を用いて , GU 容易にかっ短時間で構築が行え る。 X-DESIGNER は , GUI の C ソースコードを生成する他 , LJ におよび X リソース・ファイルを生成し , ランタイム・ライプラ リやロヤリティを必要としない。したがって開発したアプリケー ションのデリバリーを X および Motif をサポートしている機種で 直ちにリリースできる。初めて Motif を使うユーサも標準ツールキ ットの採用により , 数時間でグラフィック・ユーサ・インタフェー ス (GLJI) の作成か行なえる。 班 S R N 9 一 s 山。 33WH31Nl トエく 22 HW ヤ載 0 0 、 0 0 Y "iEW | く」田ト 2 一 , 0 [ 跚 ・設計のボートフォリオ構築に専念か可能 : x - DESIGNER インタフェースは , セープしておき将 来の別業務に再利用ができる ・独自のトップダウン方式を採用 : X-DESIGNER を ・ C ソース・コードを生成 : X-DESIGNER は , 用いてユーサは , X-DESIGNER の設計領域中の wid- get( シェル , フォーム , メニュー , ボタン等 ) の階層 ポータブルな C ソース・コード , U におよび x リソ を構築することによりインタフェースを作成できる ース・ファイルを生成する。生成された C コードは , X-DESIGNER を用いれば , widget を間違った場所 X および Motif ツールキットのみを使用しているた め , Motif をサポートしている如何なる機種に対し に置くことを避けることができる。したかって常 ても移植できる。生成されたコードは , 純正の c コ に正しい階層が作成できる ・ Widget プラットフォーム : X-DESIGNER は , X ードとなっており , 生成されたコードを開発済の 既存の C で開発したコードとインテグレートが可 Window をサポートしている殆ど全ての UN Ⅸシ 能である ステムて使用が可能。 ・ランタイム・ライセンス料金およびランタイム・ラ ・グラフィック・フォーム・レイアウト・エテイタ : イプラリ料金の支払いか不要 : X-DESIGNER このエテイタにより見栄えのよいフォームの作成 により生成した C ソースコードにより開発・製品化 が簡単に行なえる したプロダクトは , ランタイム料金無償にてデリ ・ Motif フォーム・レイアウト : ネイテイプ M 。 tif コ ードを使用しての MOtif フォームの作成は簡単な パリーかできる ・ Motif 取得のための容易な方法 : X-DESIGNER 作業ではないが , X-DESIGNER を用いることによ り , Motif フォーム・レイアウトを簡単に作成でき を用いることにより , X および Motif のユーサは誤 る。 X-DESIGNER より , 常に最適な場所に widget を りのない , 再利用可能な C ソースコードを数時間で 作成できる 追加でき , 常に正しい階層の作成が行なえる ・リソースの設定に推測作業を排除できる。 X-Designer is a Trademark of lmperial software Technology マイクロソフトウェア株式会社 1 1 3 東京都文京区本郷 3 丁目 5 番 5 号 谷 03 ( 3813 ) 8221 FAX(381 8 ) 7888 機能と特徴
Daemons and Dragons - に訊ねると、「いかにも」という答があっさり返ってき 我々の方針は、それがまったく個人的なものであり、組 た。市長は、多くの管理者が信奉する規範を共有しよう 織外での活動や営利を目的としていないかぎり支障はな とはしなかったのである。 い、というものである。仮に、誰かがシステム上でクリ スマスカードを作り、コピーを 200 枚とったとしても、 セミナーでこのようなことを論したのは、サイトは明 咎められることはない。彼は、家族の写真をスキャナに 確な方針を立てなければならないということを明らかに かけることもできるだろう。 するためである。方針か不寉立されれば、プライバシーの これに対して、彼がアルバイトで保険代理店の業務を 遵守、あるいは別種のセキュリティ保持についての考 しようとした場合、ピジネスレターのコピーを 1 枚とる えがひろまり、ほとんどの問題はすぐに解決するであろ う。違反行為やそれに対する罰則を明文化するなどの対 ことも許されるものではない。そういう場合は商業サー 策をあらかしめ講しておけば、将来起こりうる問題は減 ビスを利用すべきであって、会社の機材を使うべきでは ない。我々はコピーショップを経営しているわけではな 少すると思われる ( 余談だが、その後、前述の市長は他 いので、彼か特権を享受することはできないのである。 人のプライベートなメールを読むことはなくなった ) 。 彼は、コピー機と同様、コンピュータも無料で使うこと 最近、システム管理に関するメーリングリストとニ はできない。教会やクラブのための使用は、純粋な個人 ースグループ comp. admin ・ policy で、コンピュータ 利用とは区別され、禁止される。そもそも個人的な利用 上のデータのプライバシーに関する問題や、データ管理 とは、量の面でもほとんど間題にならないはど微々たる に使われる装置の所有者の特権をめぐる議論カ喊わされ ものであるはずだ。 システムの管理者があちこち覗き回るのは好ましいこ lrving Wolfe 氏は、市場で取引きされているお買得 とではないが、本当に深刻な弊害がないかぎり、我々は な株をみつけるのに便利な投資ガイド "SoIid VaIue ” 次のような立場をとることにしている。管理者は飛行機 の発行元で管理者を務めている。彼は、皆が興味を抱 のパイロットのように絶大な信頼を寄せられ、航行の安 いている間題について、次に引用したような文章を寄せ 全のためにはいかなる規則にも縛られす、適切な判断を てくれた。異なる視点からの意見ではあるが、その論旨 下さねばならない。つまり、 ( 故意にではなくても ) 他人 は明快であり、 ここに述べられていることに心当りのあ の給与額を見たり、さらにはその金額を変更することさ るサイトでは、方針を立案する際におおいに参考になる えできる立場にあるということである。 であろう ( なお、以降の文章は、同氏の了解を得てメー 管理者は、場合によっては業務を台無しにすることが リングリストから引用し、多少の編集を加えたもので できる。我々は彼か物を壊さす、ディスクの使用パター ある ) 。 ンなどを調査することで得た、 ( 会社または特定ユーサ テータの所有権 ーの ) どのような機密事項も漏らさないと信している。 ューザーは、個人の秘密をできるかぎり守ろうとする この問題に対する我々の立場は、多くのサイトとは異 管理者に対し、ごく簡単に手助けをすることができる。 なったものである。 たとえは、ホームディレクトリに . pers 。 nal というサ すべてのコンピュータの装置やプログラム、データフ プディレクトリを作れば、管理者にある種の注意を促す ァイルなどは、もつばら会社の利益に供されることを前 のに役立つかもしれない。そのディレクトリの保護モー 提にしており、 UNIX 流にいうところのファイルを、、所 ドを 700 にするだけでは特権ューザーのアクセスは防 有 " するユーサーの利益は考慮されていない。たしかに げないが、ディレクトリに付けられた名前との相乗効果 ( 私も含めて ) 多くのユーサーは、手近で便利なうえに会 によって、無責任な同僚や管理者の不注意で中身を覗か 社が許可しているので、個人的なファイルをシステム上 れる可能は減るであろう。 にもっている。 管理者は、あるファイルをどうしても見なけれはなら ( コピーをとるなどの ) すべての個人的利用に関する ない必要に迫られることもあるだろう。しかし、システ 64 UNIX MAGAZINE 1992.7
連載 //UNIX Communication Notes—O いずれにせよ圧縮率は記事ごとに変動しますし、 1 つの 通常は batcher を使用します。このほか Cnews に 記事をバッチ作成時に分割することはないので、第 2 フ は batchsm と batchih が付属していますが、これらは ィールド窈旨定はあくまでも目安だと思ったほうか無難で ihave/sendme のためのものであり、通常は使いません。 す。 第 3 フィールドは、 1 回の sendbatches 実行で送る デー列宿やコード化など、各通信手段 (sender) に合 バッチの数を指定します。ただし UUCP(uux) で送る場 わせた記事バッチの変型をおこないます。 Cnews に付属 合、 UUCP キューに溜まったジョブの数を調べて差し引 してくる muncher は以下のとおりです。 きます。たとえば第 3 フィールドが 10 で、 sendbatches の起動第にすでにメールジョブが 5 つあるときは、バッ 圧縮 符合化 する チは 5 個だけ送出されます。 なし comp 第 4 ~ 6 フィールド (builder 、 muncher 、 sender) 対 Bnews 用 compcun は、しつは NEWSBIN/batch に置いてあるコマンドの c7encode compc 7 ファイル名です。そのはか、 NEWSCTL/bin 、 NEWS- benco de compb BIN と、 Cnews のインストール時に設定した PATH ( デ すべてシェルスクリプトです。それぞれについて説明し フォルトは /usr/bin 、 /bin 、 /usr/ucb) に置かれている ます。 コマンドも使用できます。そオ・の外の場所のコマンドを使 いたければ、絶対パスで書かなければなりません。 ・ nocomp 何もしません。しつは cat です。 sendbatches の竟変数 ・ COIIIP これら 3 種のコマンドを sendbatches が実行するとき compress を使って圧縮します。 には、以下の 3 つの環竟変数を設定します。 ・ comp compress てリ王したノヾッチの則に # ! cunbatch ・ NEWSSITE という行を付けます。送る相手が Bnews など、 com- 送信先のシステム名が入ります。 press の出力そのままでは処理できない場合に使用しま ・ NEWSSITEDIR す。相手が Cnews だと分かっている場合だけ comp 己事リストなどが置かれるディレクトリのフル・パ を使い、そうでなければ compcun を使うのが無難で スネームが入ります。現状の Cnews では NEWS- しよう。 ARTS/out. going/$NEWSSITE となります。 Bnews の rnews は、入力の 1 行目で形式を判断し ・ PATH ます。 上で説明した PATH の先頭に、さらに NEWSSITE- バッチそのまま DIR が置かれます。 compress でされたノヾッチ # ! cunbatch 送信先に固有の builder 、 muncher 、 sender が内部で compress で圧縮され、さらに 7 # ! c7unbatch 使用するプログラムなどは NEWSARTS/out. going/ ピットエンコードされたバッチ sysname に入れておけはよいわけです。 それ以外 バッチになっていない記事と判断 Cnews ではこれに加えて、 compress で圧縮されたデ 以降、 sendb atches で使用する builder 、 muncher 、 ータかどうかも判断するので、 compress の出力のまま sender について説明します。 でも大丈夫なのです。 builder ・ comp c 7 己事のバッチを作るコマンドです。 compress で圧宿し、 7 ビットエンコード (c7encode) しない n0C01 月や 1 = 1 ロ 一三ロ 47 UNIX MAGÄZINE 1992.7
連載 /UNIX Communcation N0tes cunbatch cunbatch は、圧縮したバッチファイルを送るときに 前回説明したように、記事の着信のたびに個別に送信す rnews ではなく cunbatch を遠隔実行してしまう旧いニ るには NEWSCTL/sys の第 4 フィールドにコマンドを ュースシステムから記事を受け取る場合に使用します。 書きます。 個別送信のために Cnews が用意しているのは、 send- recenews news と mailnews です。どちらも電子メールで記事を送 recenews はメールで記事を受け取るために使用しま ります。 す。 recenews か扱えるのは bencode を通した記事です。 前者は記事の各行の知頁に N を付けたものを、後者は つまり、 mailnews か compcun と viamail を組み合 bencode を通したものをメールの本文とします。 わせて送られた記事を受け取ります。 記事の送り先は、コマンド行引数です。たとえば mail- 電子メールの記事を受け取るためには、メールポックス news を使って rnews@wazuka.cs.u-edo.ac. JP に送る ( 仮想的なユーザー名 ) を用意します。たとえば、 send- 場合、 NEWSCTL/sys には次のように書きます。 mail を使用している環境で enews 宛のメールを rece- news に渡すためには、 /etc/aliases ( あるは /usr/lib/ aliases) に、 :mailnews rnews@vazuka. CS . u¯edo wazuka : JP /usr/lib/newsbin/input/recenews" enevs : という行を書きます。 この enews という名前は、記事の送り手 / 受け手の双 方のシステム管理者が、あらかしめ打ち合わせて決めてお ほかのシステムから送られた記事を受け取るためには、 く必要があります。 送信手段と合致した受信手段を用意し、設定する必要があ ります。 recpnews 記事受信用の Cnews のコマンドとしては、 rnews 、 recpnews もメールで記事を受け取るために使用しま cunbatch 、 recenews 、 recpnews があり、 NEWSBIN す。こちらは、記事の各行の知頁に N を付加した形式の /input に置かれています。 rnews と cunbatch は、 ものを受け付けます。 Bnews でメールで記事を送るとき cnews のインストール時に自重加勺に / usr / b ⅲにも置か に扱えるのはこの形式だけなので、 Bnews から記事を受 れます。 け取るために使用します。 この場合には recenews のときと同様、 rnews /usr/lib/nevsbin/input/recpnews" rnews : rnews は uux や rsh を使って送られた記事を受けるた のように設定します。 めに使用します。 cnews どうしでは、 sendnews や viapmail は使用す rsh で rnews を起動させて受け取るためには、 /etc/ べきではありません。通常の記事では問題ありませんが、 hosts ・ equiv か -news/. て osts の言殳定で rsh での 1 , 024 バイトを超える長い行をもつ記事などは途中のメー アクセスを許すようにします。そして、 -news/ ・ cshrc ルシステム己事を壊すおそれがあるからです。 (news のログインシェルが csh の場合 ) などを設定して、 rsh で rnews か行できるようにします。 コントロール・メッセージ uux で送られた記事を受け取るには、 /usr/lib/uucp/ コントロール・メッセージは人間カ毓むためのものでは L. cmds や /etc/uucp/Permissions などで rnews の実 なく、ニュースシステム自体の糸管理、缶剏のために送 行を許可します。 記事固別送信 受 の 事 51 UNIX MAGAZINE 1992.7
UN Ⅸへの招待⑩ 、、、う大雑把な指示ではなく ) 細かい指示ができます。この指 いかがですか ? 見栄えは悪いけど、ちゃんと表らしいも のが書けますよね ? ところで、前の例で使用したオプション tab() は、カラ ムとカラムのあいだに置く 1 文字を指定するものです。 ( 前 述したように ) 省略時はタブ文字と決まっていますが、それ をなんらかの 1 文字に変更する場合に使用します。次に、 パイプラインの最後で使用した colcrt コマンドですが、 これは nroff からの出力を専門に処理するフィルタブロ グラムです。 nr 。 ff では、逆改行をして表の罫線を引いてい ます ( おそらく、最初にデータを書いてしまい、逆改行して あとで線を引いているのでしよう ) 。 colcrt は、これを処理 して結果を端末に表示するコマンドです。 という感しです。では、例を見てみましよう。 ・横罫線の指示 示は、 ・・・データ中でおこなう ・縦罫線の指示・・・・フォーマット中でおこなう の罫線は、罫線を引きたい行間で、下線 ( ー ) 記号を使って定 のように、引きたいところで縦棒を使って定義します。横 1 ににに . ことになっています。縦の罫線は、フォーマットの部分で、 義します。 ここと ここに もっと自由に罫線 もっと罫線を自由に引きたい場合は、 % cat data .11 40 . pl 20 . TS tab(@) ,box; c lc c lc 1 r . 適用@単価@数量@合計 (allbox などとい / 92 年度年会費 ( 法人 ) 800 , 00g2 ロ 00 , 000. ー 92 年度年会費 ( 個人 ) , 合計@ー9ー 9612 , 000. ー % tbl data ー nroff ー 適用 22 年度年会費 ( 個人月 22 年度年会費 ( 法人月 ー合計 0083 人 912 , 000. ー colcrt 単価 38 , 000 4 , 000 数量ー 2 ロー 3 入ー 合計 600 , 80. ー 12 , 80. ー 612 , 80. ー オプションの box で、表に外枠が付けられます。 UNIX MAGAZINE 1992.7 うに記述したい場合を考えます。 というコマンドを使います。たとえば前例の表を、次のよ 表の途中でフォーマットを変更したい場合には、 途中でフォーマットを変える 171
s i れ + + 2.0 you need LIFEBOAT CASE t00 . オプジェクト指向プログラミング 00P の時代か到来しつつあります。このような時代の流れ の中で、オプジェクト指向の機構を C 言語に取り入れたのか C 十十です。 Glockenspiel C 十十 は、この C 十十の標準である AT & T C 十十言語システムくリリース 2. のをもとに最高の品質と 使いやすさを実現しています。オプジェクト指向プログラミングにより、複雑化 / 肥大化する アプリケーション開発においてソフトウェアの生産性や信頼性を飛躍的に向上させることが 可能です。 UThe P 「 ofessional's Choice 、。 GIockenspieI 0 十十は、 1986 年に「 C 十十 P 「 og 「 amming tO s 」 が出版された後、一番最初に製品化されました。設計当初から、ポー タヒリティと八イパフォーマンスに重点を置いています。他のべンダ ーがサポートしていないプラットフォームを Glockensp 囘 C + 十 はサポートしています。数年に渡って、市場で最も強力で多方面にわ たる 0 十十コンバイラを供給しているのは、 GlockenSDiel C 十十 だけです。 GlockensDiel C 十十は、 AT & T がライセンスするコンバイラに 基づいており↓ 0 コードを生成し既成の 0 コンバイラと連係して使用 されます。そのため、高度な最適化と効果的な C コンバイラのコード ジェネレータの利点を得ることができます。 プロフェッショナルのために開発された G ckens ロ i 目 C 十十は、 オプジェクト指向プログラミングによるすべての恩恵はもちろんのこ と 0 証明された品質を提供します。そのため、再利用可能なコードを 安定して提供できます。 ■P0 「 tablePe 「 formanceæ G ckens ロ j 0 十十は、サポートしている広範囲のプラットラオ ームで同じコンパイラ・ドライバを使用しています。このドライバは、 全ての環境において一貫したコンパイラのユーサーインターフェス を提供しています ( コンバイラ・スイッチもボータブルに設計されて います ) 。 GlockensDieI C 十十は、独自のプリプロセッサを内蔵し ています。代りに C コンバイラのプリプロセッサを使用したい場合に は、 ~ ースイッチで選択することか可能です 最小限の労力でアプリケションを移植することが可能です。新しい コンパイラを覚える必要はなく、新製品に特有な学習に時間を浪費す る必要がありません。また、 C 十十を処理てきないプリプロセッサの ような問題を避けることができます。 同時に、 GlockensDiel C 十十は、 C コンバイラの拡張キーワード executable. exe とスイッチをサポートしています。こうすることで、そのプラットフ オームのために可能な正確で最も有効なコードを生成します。 出力された実行ファイル ー C 十十 tO 0 ー : ~ → , = ← the Advantages UEasy C)ebugging GlockensDiel 0 十十コンノヾイラは、 C 十十コードを C 言語に変換 します。これは、 MS ー DOS / 2 上ては Mic 「 OSOft C 、 IJNIX と すべての IJN Ⅸや MS - DOS 上の優れた C 言語用テパッカを C 十十の VMS 上ではそれそれの C と共に使用されます。 ソースコード・デバッグに利用できます。 GlockenspielC 十十は、 真のソースレベル・テパッギングを提供するために、生成された C コ C 言語自身は、非常に僅かな費用で利用できる正確で能率的な言語で ードのための手段とシンホルテーフ、ルの中のタイプ・セイフティ・エ す。 C 十 + は C のスーノヾーセットですから、現存する C でのプログラ ンコーティングの解釈を追加しています。そのため、変更された名前 ミング資産は無駄になりません。 C と C 十十のモジュールをひとつの を用いて作業をしなくてすみます。 アプリケーションの中に簡単に混在させることができます。一度に 例えば、 C 十十コード C 十十の機能をひとっすっ覚えながら徐々に移行することが可能です。 int f00 (int X, const cha 「 * msg) をコンバイルすると intfoo--FiPCc (int ーー Ox. const cha 「本 --Omsg) ・現在あるコード生成技術の高度な最適化を基礎にしています。 となり、テパッカに f00 で中断するように指定する場合、単に f00 と ・全ての C 言語のライプラリを利用できます。 指定するだけてす。 foo--FiPCc ( 変更された C のシンホル ) と指 ・現在ある C のツールをどれでも C 十十コードで利用できます。 定する必要は有りません。 ・メイクファイルでさえ C と C 十十は互換性があります。 株式会社 LIFEBOAT 対応機種 価格 ¥ 450 , 000 ~ Sun-4. SPARC Station シリーズ 〒 101 東京都千代田区神田錦町 3-6 HP 90 シリーズ PHO : -3293-4716 FAX : 03- 円 -2 8 IBM 日 S / 60 シリーズ *GIockenspieI C 十十は、 GlockenspieI, Ltd. の登録商標です。 国内各機種対応作業中 資料請求 071 ー、一・拡張されたキーワードのサポートによって、ジステム特有のコード を記述可能てす。 ・ GIockenspieI C 十十は、ランタイムの効率を損することなく C 言語を拡張します。 rasy Development with Glockenspiel C 十わ ー C 十十プログラムを記述するのに任意のエデイタを利用できます。 、 ' GIockenspiel C 十十を実行すると、 O 十十のソースコードは C 言 語に変換され、次に 0 コンパイラか呼びだされ、 C のソースコードを コンバイル & リンクします。 modulel. cxx C 十十ソースファイル mod 」 e2. c C モジュール オプジェクトファイル ライプラリ GlockensDiel プリプロセッサ GCPP GlOCkenSDiel C 十十コンバイラ CFXX C コンバイラ & リンカ コンストラクタ リンカ GlockenSDiel C 十十 コンバイラ・ドライバ MXX 【 C と C 十十の混在可能】 【 0 への変換によるアドバンテージ】
が用意されています。このコマンドでは、コマンドを使用 したところに行ぶんの空白が置かれます。 % cat data . pl 5 .11 40 どうでしようか ? . sp 2 2 行、空白が空きましたね ? 2 行、空白が空きましたね ? どうでしようか ? % nroff data ー cat ーⅡ 4 3 2 1 ですが、皆さんの都合は以下のとおりでした。 5 月 1 日にサーカスを見に行こうという計画 . p1 1 .11 50 % cat data 全員揃わないと、 . f 土 あや たかし : みのる : 〇 : 〇 UN Ⅸへの招待⑩ 、ゝ nroff コマンドー行を追い込まない nroff の基本的な約束ごとに、、行を追い込むクというのが ありました。しかし、状況によってはこの機能を無効にし たいこともあります。この場合は、 . nf コマンドを使いま す。 . nf コマンドを発行すると、その場所から追込みがおこ なわれなくなります。追込みを再開する場合には、 . fi コマ ンドを使います。つまり、 . nf と . fi に囲まれた文章は、追込 みをおこなわないことになります。 行けないよね、やつばり。 % nroff data 5 月 1 日にサーカスを見に行こうという計画ですが、皆さ んの都合は以下のとおりでした。 みのる : 〇 たかし : あや nroff コマンド 改行したい 全員揃わないと、行けないよね、やつばり。 : 〇 い場合には、 . br コマンドを使います。 . br は、ここで強制 のまま残ってしまいます。行頭に空白を置かすに改行した 合には、行頭に空白を置けばよいのですが、その空白はそ が追い込まれます。そこで、ここで改行したい〃という場 nroff では、 ( . nf コマンドを使わないかぎり ) 次々と行 UNIX MAGAZINE 1992.7 改行するんだもん。 . br ここで、 .11 20 . pl 1 % cat data 的に改行したい〃という場合に使用します。 % nroff data ここで、 改行するんだもん。 nroff コマンドーセンタリンク nroff では、行をセンタリング ( 中央寄せ ) することも可 能です。この場合には、 . れ 165 行から〃行ぶんがセンタリングされます。 というコマンドを使います。すると、このコマンドの次の