my Top page便利な大福帳ドジ話の目次前のドジ話次のドジ話

GNUS + gnspool ( Mule でニュースの読み書き)

  1998年8月20日(木)

  お盆前に、Kterm 上での gn-gnspool を使ったニュースの読み書きは出来るようになり
ました。でも、普段メールの読み書きは Mule-mew で行っています。もうこのパターンに
慣れてしまいましたし、gn では操作が少し面倒でした。そうした時、たまたま Linux 関
連の記事の中に Mule に標準で装備されている GNUS と gnspool を組み合わせて、Mule
上でニュースの読み書きが出来ると言う事が判りました。そして、助言や試行錯誤の繰り
返しの結果、何とか一応、GNUS+gnspool を使って オフライン状態でニュースの購読、投
稿が出来るようになりました。
  これで、 mule 上でメール及びニュース関連の作業が全て出来るようになり、非常に便
利になりました。まだ、サブジェクトの文字化け(確認していませんが)等の問題は残って
いると思います。

  環境は以下の通りです。Kterm 及び Mule が使えて日本語環境になっていることが前提
です。最低限必要なパッケージを下記に示しています。日本語環境は好みで変えてもらっ
て結構です。

私は、次のパッケージ群を CD からインストールし、日本語環境を構築しています。

 ja-mule-canna-2.3:
 ja-Canna-3.2.2:
 ja-kterm-6.2.0: 
 ja-less-332:    ・・・・Pager に jless を使っています

gnspool を利用するには、

 ja-gn-gnspool-1.36:

をパッケージからインストールします。

これらのインストールが終れば、 次に、su で /var/spool/ 以下に次のように gnspool の為の
ディレクトリを作ります。

/var/spool/gnspool/lib

次に、一般ユーザーモードでも、このディレクトリツリーに読み書き出来るように、各
ディレクトリレベルで、(var から lib まで全て)

% chmod 777 /***     ( # *** は、ディレクトリ名。777 以外はチェックしていません。)

そして、~/.emacs ~/.gnrc の各ファイルを次のように記述します。

--------------~/.emacs for GNUS ---------------------------------
;;; Gnspool
(setq nnspool-spool-directory "/var/spool/gnspool") 
(setq nnspool-active-file "/var/spool/gnspool/lib/active") 
(setq nnspool-newsgroups-file "/usr/home/manpou/.newsrc")
(setq nnspool-history-file "/usr/home/manpou/.newsrc")
     <------- #  上の2行のパスは、 /var/spool/.newsrc でも良いようです。
(defun gnus-gnspool ()
  "GNUS (with gnspool)"
  (interactive)
  (setq gnus-nntp-server nil)
  (setq gnus-nntp-service nil)
  (gnus))
(setq nnspool-inews-program "/usr/local/bin/gninews")
(global-set-key "\C-c\C-g" 'gnus-gnspool)  <--- C-c C-g でGNUS が起動。

;;; GNUS
(setq gnus-select-method '(nnspool ""))
(setq gnus-local-domain "mxp.meshnet.or.jp")   <------- # マシンのドメイン名です。
(setq gnus-local-organization "Personal(from Kitakyushu in Japan)")   <------- # Personal は必要。
(setq gnus-usr-login-name "manpou")  <------- # あなたのニックネーム。何でも良い。
(setq gnus-usr-full-name "M_Akiyama")  <------- # あなたの名前。
(setq gnus-use-generic-from t)
;;; (setq gnus-show-mime t)
(setq mail-yank-prefix ">")
(setq tm-tar/tar-program "tar")
--------------~/.emacs for GNUS [end]----------------------------

--------------~/.gnrc for gnspool ----------------------------

DOMAINNAME	mxp.meshnet.or.jp  <------- # あなたのドメイン名。
NNTPSERVER	newssvd02.meshnet.or.jp  <------- # ニュースサーバー名
SMTPSERVER	OFF
ORGANIZATION	Personal
GENERICFROM	1
PAGER 	 	jless
EDITOR		mule
NEWSSPOOL 	/var/spool/gnspool
NEWSLIB		/var/spool/gnspool/lib
AUTHOR_COPY	~/author_copy
#WITH_GNSPOOL	ON
#UNSUBSCRIBE	alt, comp
SUBSCRIBE	fj.1st-readme,fj.mail.lists,fj.os.bsd.freebsd,fj.os.linux,
fj.sys.ibmpc,fj.news.reader.gn,fj.news.reader.gnus,fj.news.reader.mnews

--------------~/.gnrc for gnspool [end]----------------------------
# ~/.gnr は /usr/local/share/examples/gn-gnspool/_gnrc をコピーして編集。
後、 ~/author_copy ファイルを作ってください。中身は空っぽで良いです。投稿したニュースの
控えファイルになります。

ここまで準備が出来たらもう終りです。試してみましょう。Ktrem 上で、

% gnspool

とすると、前前ページで書いた gnspool の起動結果となります。

% gnspool
reading ~/.gnrc
newssvd02.meshnet.or.jp と接続しています

ニュースグループを調べています
..........................................................................................
..........................................................................................
.................................. (省略)
..........................................................................................
........

~/.newsrc から既読情報を読み込んでいます

既読の記事を消去しています  
 <------- # 初めてニュースを取り込む時はこの上の2行は出ません。

ニュースサーバから未読の記事を取り寄せています

fj.1st-readme: 1 article(s) 16-16
mkdir /usr/home/manpou/gnspool/fj
mkdir /usr/home/manpou/gnspool/fj/1st-readme
fj.1st-readme: getting article #16 .........................................................

fj.mail.lists: 48 article(s) 2014-2061
mkdir /usr/home/manpou/gnspool/fj/mail
mkdir /usr/home/manpou/gnspool/fj/mail/lists
fj.mail.lists: getting article #2014 ..
fj.mail.lists: getting article #2015 ...
fj.mail.lists: getting article #2016 ...
        (省略)
fj.mail.lists: getting article #2038 .
fj.mail.lists: getting article #2060 ..
fj.mail.lists: getting article #2061 ..

fj.os.bsd.freebsd: 50 article(s) 7219-7268
mkdir /usr/home/manpou/gnspool/fj/os
mkdir /usr/home/manpou/gnspool/fj/os/bsd
mkdir /usr/home/manpou/gnspool/fj/os/bsd/freebsd
fj.os.bsd.freebsd: getting article #7219 .
fj.os.bsd.freebsd: getting article #7220 .....
fj.os.bsd.freebsd: getting article #7221 ..
fj.os.bsd.freebsd: getting article #7222 .
        (省略)
fj.os.bsd.freebsd: getting article #7264 ..
fj.os.bsd.freebsd: getting article #7265 .
fj.os.bsd.freebsd: getting article #7266 ..
fj.os.bsd.freebsd: getting article #7267 .
fj.os.bsd.freebsd: getting article #7268 .

fj.os.linux: 50 article(s) 11455-11504
mkdir /usr/home/manpou/gnspool/fj/os/linux
fj.os.linux: getting article #11455 ..
fj.os.linux: getting article #11456 .
fj.os.linux: getting article #11457 .
fj.os.linux: getting article #11458 .
fj.os.linux: getting article #11459 ..
        (省略)
fj.os.linux: getting article #11500 ....
fj.os.linux: getting article #11501 ..
fj.os.linux: getting article #11502 .
fj.os.linux: getting article #11503 ......
fj.os.linux: getting article #11504 .

fj.sys.ibmpc: 50 article(s) 11975-12024
mkdir /usr/home/manpou/gnspool/fj/sys
mkdir /usr/home/manpou/gnspool/fj/sys/ibmpc
fj.sys.ibmpc: getting article #11975 ..
fj.sys.ibmpc: getting article #11976 .
fj.sys.ibmpc: getting article #11977 ....
fj.sys.ibmpc: getting article #11978 ..
        (省略)
fj.sys.ibmpc: getting article #12022 ...
fj.sys.ibmpc: getting article #12023 ..
fj.sys.ibmpc: getting article #12024 .
mkdir /usr/home/manpou/gnspool/lib

/usr/home/manpou/gnspool/lib/active を作成しています
 <------- # active ファイルが自動で作られます。

Done!
%

ニュースの読み込みはこれで終りました。 ppp 接続を切ってオフラインの作業に移ります。
Mule を起動させ、" C-c C-g " とコマンドしてみましょう。GNUS が起動し、ニュースグループ
一覧( SUBSCRIBE で指定したニュースグループ)が表示されます。これにカーソルを合わせスペ
ースキーを押すと画面が上下に分かれ、上は記事一覧のサマリー画面。下は、ニュース記事画面
となります。スペースキーを押すと画面がスクロールし、自動的に次のニュース、次のニュース
グループへと移動出来ます。逆スクロールさせるには、 delete キーで出来ます。

終了するには、 q キーででGNUS が終了し、Mule の編集画面に戻ります。

  記事の投稿をしてみましょう!  これも編集作業はオフラインのままで結構です。

投稿には、2通りあります。新規記事の投稿と、フォロー投稿です。

「新規記事の投稿」は、

ニュースグループサマリー画面にカーソルを移動させ、a キーでを押すと、

"Are you sure you want to post to all of USENET?(y or n)"

と聞いてきますので、 y キーを押します。すると、

Newsgroup:  

プロンプトが出ますので、目的のニュースグループを指定します。Enter キーを押すとまた同じニュース
グループプロンプトがでます。もしクロスポストをするのであれば、そのクロスポスト先を入力してくだ
さい。なければ、ただ Enter キーを押します。次に、

Subject: 

プロンプトが出ますので、判りやすいサブジェクトを入力してください。また、

Distribution: local

と出ます。この local は消して Enter キーを押すと、

--text follows this line --   

と出ます。これは決していじらないでください。正常に投稿出来なくなります。これは投稿時に自動的に
削除されます。このメッセージから、1行空けて、記事本文を書いていきます。
記事の編集が終れば、 "C-c C-s" とコマンド入力すると自動的にこの記事が gnspool のキュー(/var/
spool/gnspool/news.out/以下に保存されます。

 /var/spool/gnspool/news.out/gnDBL250   649 98-08-17 16:42      のように。

  「フォロー記事の投稿」の場合は、

フォローしたいニュース記事を表示させた状態で、 " F キー(注 大文字です)" を押します。後の要領は新規記事の投稿の
場合と全く同じです。

では、実際に投稿してみましょう!!

  ppp 接続して、 gnspool を起動さます!!

--------- 以下 gnspool 実行経過です。---------------------------

% gnspool
reading ~/.gnrc
newssvd02.meshnet.or.jp と接続しています

記事をポストします

Path: dora.mxp.meshnet.or.jp!manpou
From: manpou@mxp.meshnet.or.jp (M_Akiyama)
Message-ID: 
Date: 17 Aug 1998 16:04:36 GMT
Organization: Personal(from Kitakyushu in Japan
Newsgroups: fj.os.bsd.freebsd
Subject: [Q] Cannot post on GNUS + gnspool.
Distribution: 
Followup-To: fj.os.bsd.freebsd
本当にポストしますか?(y:する/e:もう一度編集/s:スキップ/n:中止): y
ニュースグループを調べています
.....................................................................................
.....................................................................................
(省略)
.....................................................................................
.....................................................................................

~/.newsrc から既読情報を読み込んでいます

既読の記事を消去しています

ニュースサーバから未読の記事を取り寄せています

fj.os.bsd.freebsd: 1 article(s) 7373-7373
mkdir /var/spool/gnspool/fj/os/bsd
mkdir /var/spool/gnspool/fj/os/bsd/freebsd
fj.os.bsd.freebsd: getting article #7373 ...

fj.os.linux: 1 article(s) 11791-11791

fj.sys.ibmpc: 2 article(s) 12215-12216

/var/spool/gnspool/lib/active を作成しています

Done!
% 
--------------経過 end---------------------------

で、記事の投稿と取得が出来ました。

シグネチュアーもちゃんと付加されておりました。

# シグネチュアーは、 ~/.signature として作っておくと、自動で付加されます。

又、投稿記事の控えは、 あらかじめ作っておいた ~/author_copy ファイルに記述

されます。投稿が終ると、/news.out 以下のキューは自動的に削除されます。

それでは、ニュースの世界を心ゆくまで楽しんでください!!


my Top page便利な大福帳ドジ話の目次前のドジ話次のドジ話