| Настроение: | Задолбался... |
| Музыка: | Левин |
Ага, проблема с ньюсами вчерне решена.
Если вдруг кому понадобится: чего хотелось, какие были варианты, на чём я остановился, что получилось, а что нет:
1.Проблема. Итак, чего хотелось. Так как И-нет dial-up'ный, прежде всего двух вещей:
1)При подключении не качать с сервера список имеющихся ньюсгрупп - западло.
Конечно же, можно было попросить знакомых с выделенкой закачать этот несчастный список, и все дела. Но, во-первых, мне принципиально не нравится, что большинство news-клиентов требуют обязательного скачивания многомегабайтного списка групп; во-вторых, решения хотелось быстро; в третьих, поступить так было бы просто неспортивно. =)
2)Забирать все новые статьи во всех читаемых группах разом, a la почта, и читать их в оффлайне.
Кроме того, было бы весьма желательно:
3)Хранить накачанные ньюсы в таком виде, чтобы они были легко доступны всем пользователям - на нашей домашней машине их трое: я,
zmey@lj и
mara_dn@lj, и у каждого, разумеется, свой аккаунт.
4)По возможности, использовать для чтения мейла и ньюсов одну и ту же программу.
5)Не поднимать на локальной машине INN или другой полноценный NNTP-сервер (потому что гемор).
2.Варианты.
2.1.Gnus.
Первым делом я попытался просто найти news-клиент, позволяющий подписаться на группу, не качая весь их список. Не считая полтора года как неподдерживающегося Stuphead'а такой нашёлся 1. Но зато какой! Очень странно, что я о нём не вспомнил сразу, и понадобилась подсказка от
smilga@lj - это Gnus (см. рис. 1).

Рис 1. Группа fido7.ru.guitar: Gnus'ное зрелище...
Gnus представляет собой пакет для знаменитого редактора Emacs и входит, afaik, в его стандартную поставку (по крайней мере, у меня он запустился сразу, без достановки дополнительных пакетов). Это более чем вменяемый Mail и News-клиент, мощный и при этом достаточно простой в освоении. И всё же мне он не подошёл. И вот почему.
Прежде всего, Gnus - это часть Emacs. Я очень люблю этот редактор, более того, совершенно искренне считаю его лучшим текстовым редактором в мире. Тем не менее, практически не использую. Так как:
а)Emacs не дружит с X-Window clipboard - русские буквы при Copy-Paste превращаются в кракозябры. Решения этой проблемы, как утверждает
tiphareth@lj, не существует.
b)Emacs очень трудно настроить с помощью меню, а его конфигурационные файлы имеют LISP-подобный синтаксис. Для тех, кто не в курсе: это значит, что людям с IQ ниже 200 не рекомендуется в них заглядывать во избежание тяжёлых нервных потрясений. В моём случае, в общем-то, о правке конфигов Emacs можно забыть - с таким же успехом они могли бы быть зашифрованы.
c)По меткому замечанию В.Д.Арнольда, "либо ты работаешь в Emacs, либо во всём остальном". У Emacs очень простой и логичный интерфейс... ни в чём не совпадающий с, увы, стандартным win-подобным. Две системы рефлексов - под Emacs и под всё остальное - в моей голове не уживаются.
Помимо этого, я не смог понять, как в Gnus делается ряд вещей. Во-первых, как явно указать сервер новостей - Gnus берёт его из переменной окружения NNTPSERVER, что, может быть, идеологически и правильно, но чертовски неудобно. Во-вторых, я так и не понял, может ли Gnus забирать все новые статьи автоматически для последующего оффлайнового просмотра. И, наконец, я не нашёл способа сделать так, чтобы, скажем,
zmey@lj могла со своего аккаунта читать ньюсы, накачанные под моим.
Однако, другого Mail и News клиента, хотя бы сравнимого по функциональности и мощности, да ещё X-Window'ого, я не нашёл.
Потому что искал, как выяснилось, не то и не там.
2.2.Leafnode.
Решением, как выяснилось, является использование класса программ, называющихся, хм, "sucking programs". Это программы, выполняющие (в идеале) большую часть нужных нам действий - они связывются с NNTP-сервером вашего провайдера, забирают новые статьи в указанных ньюсгруппах и сохраняют их на локальной машине. После чего сохранённые ньюсы может читать любой пользователь локальной машины с помощью своего любимого News-клиента.
В пределах моей досягаемости (условия - получить доступ к ньюсам за один-два дня; кривые руки; dial-up на, преимущественно, 14400) оказались три такие программы - suck, leafnode, slrnpull.
В документации на suck я, к стыду своему, разобраться не смог. Кроме того, выяснилось, что он требует установить и настроить полноценный NNTP-сервер, чего, как вы помните, делать не хотелось.
Leafnode из трёх найденных мной sucking программ выглядит наиболее внушительно. Во-первых, для локальных юзверей она выглядит как нормальный NNTP-сервер. Во-вторых, у неё подробная и хорошо написанная документация. В-третьих, разумный и простой конфиг.
Устроена она как собствено сервер - leafnode (его надо прописать в /etc/inetd.conf или, в случае xinetd, в /etc/xinetd.d/leafnode), забиралка новостей под названием fetchnews и чистилка спула, прописывающаяся в crontab. В переменной окружения NNTPSERVER у юзверей должен быть прописан адрес локальной машины. Логинимся как root, настраиваем, звоним провайдеру, коннектимся, запускаем fetchnews...
[root@localhost etc]# /usr/sbin/fetchnews
Leafnode must have a fully-qualified domain name,
not just "localhost.localdomain".
Edit your /etc/hosts file to add a fully qualified domain name.
Aborted
[root@localhost etc]#
Оп-па!
Нет уж, идите в жопу. Слишком много геморроя. Впрочем, будь у меня лишние двадцать минут, я бы, наверное, остановился именно на leafnode. А так...
2.3.Slrnpull.
В числе прочих (крайне многочисленных) news-клиентов под Linux есть почти ничем не примечательный консольный клиентик под названием slrn. Мне при взгляде на него вспомнился знаменитый GoldEd (см. рис 2.):

Рис 2. Slrn: где-то мы это уже видели...
Slrn ничем не выделяется среди себе подобных, кроме одной важной детали. Некий добрый гений (я так и не нашёл в документации его имени) дописал к нему sucking program под названием slrnpull. При этом, в отличие от авторов Leafnode, он не решал никаких сверхзадач, о чём прямо и пишет:
"In many ways `leafnode' is more ambitious than `slrnpull'. It was designed for many more readers and provides an nntp server to access the news spool. However, I felt that even it was overkill for my purpose of pulling 10-20 newsgroups for myself. For that reason, I wrote slrnpull."
Да ведь "pulling 10-20 newsgroups for myself" - это же ровно то, чего мы хотим! Выполняем действия, указанные в файле SETUP, логинимся как root, звоним провайдеру...
slrnpull -d /var/spool/slrnpull -h news.myisp.ru
О чудо! Качает! Запускаем slrn, выписываем нужные эхи - и здравствуй, родимая фида, не виденная больше года, с тех пор, как накрылась нода 2:5020/2027, а мой фидошный софт похоронил под собой рухнувший 98-й мастдай, здравствуй, soc.culture.esperanto и весь прочий необъятный, засранный, родной Usenet!
3.Итоги.
Итак, ньюсы я читаю. Обламывает то, что не получается читать news и почту одним и тем же клиентом, как это было со Stuphead. Кроме того, интерфейс slrn вызывает приятные эмоции исключительно по причинам ностальгического характера. Так что, не исключено, что мучения на тему "News и dial-up" продолжатся. Вот будет хотя бы немного больше времени... =)