Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Yuriy Al. Shirokov ([info]yushi)
@ 2003-03-29 19:28:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Настроение:Задолбался...
Музыка:Левин

Ага, проблема с ньюсами вчерне решена.
Если вдруг кому понадобится: чего хотелось, какие были варианты, на чём я остановился, что получилось, а что нет:

1.Проблема. Итак, чего хотелось. Так как И-нет dial-up'ный, прежде всего двух вещей:
1)При подключении не качать с сервера список имеющихся ньюсгрупп - западло.
Конечно же, можно было попросить знакомых с выделенкой закачать этот несчастный список, и все дела. Но, во-первых, мне принципиально не нравится, что большинство news-клиентов требуют обязательного скачивания многомегабайтного списка групп; во-вторых, решения хотелось быстро; в третьих, поступить так было бы просто неспортивно. =)
2)Забирать все новые статьи во всех читаемых группах разом, a la почта, и читать их в оффлайне.
Кроме того, было бы весьма желательно:
3)Хранить накачанные ньюсы в таком виде, чтобы они были легко доступны всем пользователям - на нашей домашней машине их трое: я, [info]zmey@lj и [info]mara_dn@lj, и у каждого, разумеется, свой аккаунт.
4)По возможности, использовать для чтения мейла и ньюсов одну и ту же программу.
5)Не поднимать на локальной машине INN или другой полноценный NNTP-сервер (потому что гемор).

2.Варианты.

2.1.Gnus.

Первым делом я попытался просто найти news-клиент, позволяющий подписаться на группу, не качая весь их список. Не считая полтора года как неподдерживающегося Stuphead'а такой нашёлся 1. Но зато какой! Очень странно, что я о нём не вспомнил сразу, и понадобилась подсказка от [info]smilga@lj - это Gnus (см. рис. 1).
Gnus

Рис 1. Группа fido7.ru.guitar: Gnus'ное зрелище...
Gnus представляет собой пакет для знаменитого редактора Emacs и входит, afaik, в его стандартную поставку (по крайней мере, у меня он запустился сразу, без достановки дополнительных пакетов). Это более чем вменяемый Mail и News-клиент, мощный и при этом достаточно простой в освоении. И всё же мне он не подошёл. И вот почему.

Прежде всего, Gnus - это часть Emacs. Я очень люблю этот редактор, более того, совершенно искренне считаю его лучшим текстовым редактором в мире. Тем не менее, практически не использую. Так как:

а)Emacs не дружит с X-Window clipboard - русские буквы при Copy-Paste превращаются в кракозябры. Решения этой проблемы, как утверждает [info]tiphareth@lj, не существует.

b)Emacs очень трудно настроить с помощью меню, а его конфигурационные файлы имеют LISP-подобный синтаксис. Для тех, кто не в курсе: это значит, что людям с IQ ниже 200 не рекомендуется в них заглядывать во избежание тяжёлых нервных потрясений. В моём случае, в общем-то, о правке конфигов Emacs можно забыть - с таким же успехом они могли бы быть зашифрованы.

c)По меткому замечанию В.Д.Арнольда, "либо ты работаешь в Emacs, либо во всём остальном". У Emacs очень простой и логичный интерфейс... ни в чём не совпадающий с, увы, стандартным win-подобным. Две системы рефлексов - под Emacs и под всё остальное - в моей голове не уживаются.

Помимо этого, я не смог понять, как в Gnus делается ряд вещей. Во-первых, как явно указать сервер новостей - Gnus берёт его из переменной окружения NNTPSERVER, что, может быть, идеологически и правильно, но чертовски неудобно. Во-вторых, я так и не понял, может ли Gnus забирать все новые статьи автоматически для последующего оффлайнового просмотра. И, наконец, я не нашёл способа сделать так, чтобы, скажем, [info]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.):
Slrn

Рис 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" продолжатся. Вот будет хотя бы немного больше времени... =)



(Добавить комментарий)


[info]lvk@lj
2003-03-29 06:23 (ссылка)
Хм, когда (давно) я подыскивал себе ньюсридер под Винды, я тоже остановился на slrn... :)

(Ответить)

Млин. Юр, мы не ищем лёгких путей, да?
[info]kspshnik@lj
2003-03-29 07:11 (ссылка)
Юр, ты, кроме как в группе fido7, ньюсы читаешь вообще? :)
Чем тебе binkd+hpt+ged не копенгаген? Дед, кстати, очень нефиговственно умеет с емейлом работать ;) да и редакторов этих ойнемало :)

(Ответить) (Ветвь дискуссии)

Re: Млин. Юр, мы не ищем лёгких путей, да?
[info]yushi@lj
2003-04-02 20:04 (ссылка)
Юр, ты, кроме как в группе fido7, ньюсы читаешь вообще? :)

Читай внимательнее. Да.


[uri@localhost uri]$ man binkd
No manual entry for binkd
[uri@localhost uri]$ locate binkd
[uri@localhost uri]$ man hpt
No manual entry for hpt
[uri@localhost uri]$ locate hpt

[Мусор всякий]

[uri@localhost uri]$


Что это хоть такое, binkd и hpt?

А GoldEd у меня что-то не пашет. Надо бы разобраться, да лень...

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Млин. Юр, мы не ищем лёгких путей, да?
[info]kspshnik@lj
2003-04-03 03:57 (ссылка)
Тогда это не спасёт начисто.
Но fido7, inho, идеологически правильно читать ср-вами fidonet ;-)

http://corbina.ru/~maloff - binkd ip-mailer
http://husky.sourceforge.net - hpt & htick tosser & fileechoprocessor ;-)

Или поищи по autofido - тебе найдёт комплект с доками ;)

(Ответить) (Уровень выше)

emacs
[info]smilga@lj
2003-03-29 08:56 (ссылка)

Проблема с русскими буквами происходит, насколько я могу судить, из-за Mule (поддержки многоязычности в Emacs-е). Если Mule отключить, проблемы прекращаются. Сделать это можно, либо перекомпилировав Emacs без поддержки Mule, либо записав в .emacs следующее выражение: (standard-display-european t). Ну и, разумеется, определив в икс-ресурсах шрифт в правильной кодировке для Emacs*font.

Настройка с помощью меню вызывается по команде M-x customize-group. Если теперь согласиться на all, попадете в корень дерева групп настройки. Чтобы настраивать Gnus, надо сказать gnus, и т.д. Есть команда, кажется, M-x customize-browse, которая визуализует это самое дерево. Безусловно, все эти операции доступны из потолочного меню — под XEmacs в Options -> Customize, под GNU Emacs, кажется, в Help -> Customize, хотя GNU Emacs я уже, признаться, довольно давно не пользовался.

Emacs Lisp — язык довольно простой, уж наверно проще, чем Кресты. Для начала вполне достаточно знать оператор присваивания — (setq имя-переменной значение), остальное приложится. Читайте Lispref (http://www.gnu.org/manual/elisp-manual-20-2.5/elisp.html).

(Ответить) (Ветвь дискуссии)

Re: emacs
[info]yushi@lj
2003-04-02 20:12 (ссылка)
Проблема с русскими буквами происходит, насколько я могу судить, из-за Mule
(поддержки многоязычности в Emacs-е). Если Mule отключить, проблемы
прекращаются.


Это действительно так, спасибо!

Emacs Lisp - язык довольно простой, уж наверно проще, чем Кресты.

Проще чем... кто?

А вообще по поводу Lisp'а и IQ - несерьёзно, конечно; всё же [info]zmey@lj с
ним имела дело в своё время и до сих пор отзывается с восторгом. Однако всё же
не очень привычно, да...

Читайте Lispref.

Эх... мне бы сначала хотя бы столмановское "Руководство по GNU Emacs" одолеть...

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: emacs
[info]smilga@lj
2003-04-03 15:07 (ссылка)

Проще чем... кто?

Жаргонное обозначение C++. Я, пожалуй, переоценил общеупотребительность; виноват.

Однако всё же не очень привычно, да...

Привычка свыше нам дана, замена счастию она. Это-то ладно. Главная опасность в Лиспе -- что после него долго ни на что другое нельзя смотреть без известной меры отвращения...

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: emacs
[info]yushi@lj
2003-04-04 02:40 (ссылка)
Жаргонное обозначение C++. Я, пожалуй, переоценил общеупотребительность; виноват.

Я, на самом деле, через некоторое время догадался... "С++" - "плюсы" - "кресты", всего-то два шага... Видимо, для тех, для кого программизм - это основная область деятельности, действительно пояснения не требуются...

(Ответить) (Уровень выше)