NetNews 購読システムの構築

目次

はじめに

ノートパソコン を買いました (^^). これで家でも仕事ができると思ったんですが, 家ではなかなか仕事をし ようという気にならないものです (^^;. だったら, 今まで学校で読んでいた NetNews を家で読むようにして, 時間を節約しようと思い立ちました.

このようなシステムを実現するためには, 以下の 2 つを考える必要があり ます.

  1. 学校でどうやって, ノートパソコンに NetNews の記事を取り寄せるか
  2. 取り寄せた記事を, どのソフトで読むか?

これらの機能を持つソフトは, いくつもあります. そして運良く (運悪く :-) 複数のソフトを試すことができましたので, そのときに感じたこ とをまとめます.

一応, 私のバックグラウンドとして, 以下のことを紹介しておきます.

ここで紹介しているソフトは, 最低 1 度は利用しています. ですが, 全て を使い込んでいるわけではありません. なので, 誤っている記述があるかもし れません.

ニュースを取り寄せる

gnspool

初めに試したのが, これです. 下の gn と一緒に配布 されているソフトです.

一番の特徴は, DOS 上でも動くということから, 非常に個人向けにできて いるということだと思いました. 例えば, NNTP サーバからどのニュースの記 事を持ってくるのかを調べるときに, 個人の設定ファイル (.newsrc, .gnrc) を読みます. また, 保存されている記事を expire するするときも, 個人の .newsrc を読んで調べます.

また gn 以外にも, gnus や mnews などのニュースリーダと組み合わせることができるなど, 結構柔軟です.

でも, 私は最終的に slrn を選んだのですが, gnspool と slrn の組み合わせ方が分からなかったのと, やっぱ UNIX ならニュー スのシステムは特権ユーザで動く方が らしい かなぁと思 い, gnspool は断念しました.

一応, ドキュメント & サーチエンジンで見つけたいくつかの WWW ペー ジを参考にすることで, ほぼ一発で動かせたことを付記しておきます.

slrnpull

2 番目に試したのがこれです. 下の slrn に付属し ているツールです.

日本語のドキュメントも一通り揃っているので, インストール & 設定 は難しくなかったです. ニュースグループ毎に, 1 度に持ってくる記事の最高 数や expire の日数を, 細かく調整することが可能です. 読むニュースグルー プは, 明示的に設定ファイルに指定します.

slrn 以外のニュースリーダで使用できるのかが分かりませんが, 利用者全 員が slrn を利用し, 購読するニュースグループの追加, 削除が面倒でなけれ ば, slrnpull を使う場合は slrn でニュースを読むことは単にファイルにア クセスすることと一緒みたいなので, 大人数でも快適に利用できると思います.

私はニュースリーダとして slrn を選択したのですが, slrnpull は選択し ませんでした (^^;. 理由は, slrnpull でサーバから初めて取得したニュース グループは, slrn では "U" (購読中止) マークが付いているので すが, それの解除の方法 (ESC-u) が分からなかったからです (^^;;.

と言って, 数週間は leafnode で運用しましたが, やっぱり slrnpull に 戻しました (^^;. 理由は, 次に書いておきます.

leafnode

ちょっとした勘違いから slrnpull を断念して しまった私は, 次にこれを試してみました.

leafnode の特徴は, slrnpull のドキュメント に書いてあったのですが, 作りが 野心的 ということだと思います. 例えば, ユーザのニュースリーダから「読みたい」というリクエストがあった のに, もし leafnode がそのニュースグループを購読していなかったら, 次回 の NNTP サーバへのアクセス時に自動的にそのニュースグループの記事を持っ てくるようになります. また, 購読しているニュースグループであっても, 一 定期間のうちに誰もそのニュースグループの記事を読まなかったら, NNTP サー バからの購読を自動的に中止したりします. slrnpull と違って, 購読するニュースグループを明示的に設定しなくても OK というの は, 楽ですね (^^)v. ドキュメントがすごく短いのですが, それでも十分であ り, 簡単に動かせます.

もう 1 つの特徴は, leafnode は基本的に NNTP サーバとして振る舞うと いうことです. NNTP サーバとして振る舞うということは, NNTP に対応したニュー スリーダなら leafnode と組み合わせることができるということです. 多分, ほとんど全てのニュースリーダが NNTP サーバからダイレクトにニュースを読 めると思うので, この点は非常に有利ですね.

問題点としては, ドキュメントにも書いてありますが, ユーザが多いと性 能が悪くなるということです. ドキュメントには Uses very little disk space and bandwidth compared to other servers. Obviously truer for 3-user sites than for 30-user, and probably wholly untrue for 300-user sites. とあります. 小人数なら, 普通の NNTP サーバソフトよりも良い けど, 大人数 (300 人) ならそうじゃないみたいです.

私の場合は私独りで使うので, この点は特に問題にはならないでしょう. 上で述べたように, 今となっては slrnpull でも問 題はないんですが, leafnode が走り出したのでしばらくこれでいきます. こ れなら, 将来, ニュースリーダを slrn から乗り換えるとき :-) にも, 簡単 に乗り換えできますね.

また, 1 番初めに NNTP サーバにアクセスするときに, 結構時間がかかり ました. 多分, NNTP サーバにある全てのニュースグループの情報 (not 記事) を読み込むためだと思います. けど, 2 度目以降は気になるほどの遅さは感じ ません.

注意としては, NNTP サーバとして動くので, 24 時間公開しっぱなしの サーバに leafnode を入れるときには, tcp_wrappers などでアクセスを制限するなどの処置が必要でしょう.

なんて書きながら, 結局 slrnpull に戻ってしまいました. 理由は次の通 りです.

以上の不安があり, leafnode をやめてしまいました :-)

ニュースを読む

gnus

もう, 5 年近く使っている (いた) ニュースリーダです. また有名なニュー スリーダのようで, 下で説明する gnslrn が既読 / 未読の情報を保存するファイルは, gnus と同じ形式 / 名前になっています.

慣れていて, かつ有名なソフトなら, それを使えばいいという意見もあり ますが, あえて gnus は避けました. 理由は次の通りです.

  1. 規模が大きい
  2. Mule (or Emacs) から使うということは, Emacs Lisp で設定をするとい うことになる

前者は, FTP しようとしたときにファイルサイズを見たら, 他のに比べて 極端に大きかったような気がしました. 後者については, 設定の雛型や説明が あるとしても, できれば簡単に設定したいなぁという弱気な姿勢です (^^;. Emacs Lisp だと, インストール場所などにも気を使う必要があります し.

というわけで, 最初っから gnus を使うことは諦めて (^^;, 別のソフトを 探しました. と言いつつ, メーラは Mew を使っていて, もちろん Emacs Lisp で設定していたりします :-)

gn

初めに試したのが, この gn です. gnspool など がおまけに付いてきます. 作者が日本人ということもあり, マニュアルからメッ セージまで全て日本語という, わかりやすいニュースリーダです.

操作は, 基本的にはメニューから項目を選択していくという感じです. こ れは, 非常に分かりやすいんですが, gnus に慣れている私としては, 少し面 倒に感じました. 例えば, 1 つの記事を読むまでには, 次のような手順を踏み ます.

  1. ニュースグループを選択 (番号 + リターン)
  2. サブジェクト (スレッド) を選択する (番号 + リターン)
  3. 記事を選択する (番号 + リターン)

操作自体は簡単なんですが, 数字キーとリターンとを何度も往復するので, 少し面倒に感じました. あと, 記事を読んでいるときに他の情報 (記事のサブ ジェクトや, 未読の記事の個数, ニュースグループ名など) を参照できないの も, 少し辛いです.

でも, gn が持つ大きな特徴として, 各種プラットホームの上で, ほと んど同じユーザインタフェイスで使うことができる 点が挙げられます. また, 動作プラットホームの種類も, 私が比較した 3 つの中では 1 番多いの ではないでしょうか? gnus は Mule (Emacs) が走れば OK でしょうが, Mule 自体が結構な資源を要求しますし, slrn は slang の制約があります. そういった制約がな いのが, gn の武器だと思います.

[補注] 後から知った話ですが, DOS で動く slang はあるそうです.

slrn

最終的に選択したニュースリーダです. 操作自体は gnus 的な雰囲気があり, 操作が分からなくてもオンラ インヘルプで間に合います.

slrn の特徴は, slang というライブラリを使用しているため, 画面がカラ フルであるということが挙げられます. メールアドレスや URL, 前記事の引用 部分などに色が付くので, 見易いです. またスレッドの表現は, gnus よりも洗練されているように感じます.

外国産のソフトで, 日本語のマニュアルは必要最小限です. しかし, 日本語パッ チを当てると, "?" で出てくるオンラインマニュアルやメッセー ジが日本語になるので, 操作に不自由はありません.

今のところの問題点は, "o" で記事をセーブするときのフォー マットが気に入らない (^^; ことです. 私の理想は, ニュースグループ毎にディ レクトリを分け, 1 つの記事を 1 つのファイルで保存するというものです. ですが slrn では, ニュースグループ名と同じ名前のファイル 1 つに, 数珠 繋ぎに保存されます (確か gn でも, 1 つのファイルに保存されと思う). た だこれは, awk か何かで適当なスクリプトを書けば何とかなりそうなので, ま, 大丈夫でしょう.

lynx

文字指向の web browser として有名 (?) な lynx ですが, NNTP を理解するのでニュー スリーダとして利用することもできます. URL の指定方法は, lynx 付属の lynx_url_support.html というドキュメントに書いてありますが, 私はもっぱ ら nntp://host:port/newsgroup を使ってます. もちろん読むだ けではなく投稿するのも可能ですが, そのためには lynx.cfg で NEWS_POSTING を TRUE にしておく必要があります.

まず問題点 :-) から指摘すると, ニュースリーダとしての機能はあまり考 えられていないということですね. 例えば記事のサブジェクトをスレッド順に 表示するなんてことはできず, サブジェクトはニュースサーバに置いてある順 にしか表示されません. ただ, References に指定された Message-ID を辿る ことはできるので, 親の記事を追うことはできます.

あと, 未読や既読の管理もできません. 一度読んだ記事であろうとなかろ うと, 同じように表示されます.

利点は, 多分手軽さでしょう. じっくりと記事を読みたいときには向かな いかもしれませんが, ふとあるニュースグループをチェックしたいときや, 自分 が投稿した記事にフォローが付いたか確認したいときに, 普通は起動しっぱな し :-) の lynx にニュースグループ名を打ち込むだけで, とりあえず読めま す. 記事中に URL があれば, それを選択するだけで NNTP の世界から HTTP の 世界へシームレスに接続できるのもいいかも. リプライ, フォロー, ポストな ども, 全て lynx 内で行えます. ただ, フォロー時に References が付かない ような気がします (lynx からは一度しかフォローしたことがないので, しっ かりとは確認してませんが)

私は, 週末にまとめてニュースを読むときは slrn を使ってます. でも, 平日にちょこっとニュースをチェックしたいときには, この lynx を使ってます.

最後に

今のところ, slrnpull + slrn で, ほぼ満足に NetNews を楽しんでます. でもニュースリー ダにしても, NNTP をサポートする WWW ブラウザや, X 用のソフト (日本語が 通るかどうかは不明) などもあるので, いろいろいじってみたいですねぇ



[うさぎ]

m@sa.to