Friday, October 19, 2012

Что делать, если в Pidgin не подключается ICQ в Debian/Squeeze 6 http://winreview.ru/chto-delat-esli-v-pidgin-ne-podklyuchaetsya-icq-v-debiansqueeze-6/

http://winreview.ru/chto-delat-esli-v-pidgin-ne-podklyuchaetsya-icq-v-debiansqueeze-6/

Что делать, если в Pidgin не подключается ICQ в Debian/Squeeze 6

Примерно с полгода назад одной из моих операционных систем стала Debian/Squeeze, стабильный шестой релиз одного из старейших дистрибутивов Linux (старожилы, возможно, помнят эпический цикл «30 дней без Windows»). Так получилось, что ряд задач мне быстрее и удобней решать именно в ней, и поэтому я частый гость в этой системе. С недавних пор у меня внезапно отвалилась ICQ в Pidgin, что меня несколько огорчало — я предпочитаю использовать мультипротокольные клиенты, а не запускать кучу программ.
Если верить Google, проблема с отказом подключения к серверу ICQ возникала  не только у меня. Многим посчастливилось увидеть сообщение вида:
Вы соединялись и отсоединялись слишком часто. Подождите 10 минут и попытайтесь снова. Если вы продолжите попытки, вам придётся ждать ещё дольше.
Как оказалось, решается эта проблема просто, как два байта переслать. А вот путь к этому решению был непрост. Но обо всём по порядку.
Так выглядели мои настройки подключения к серверу ICQ:
Опытным путем я обнаружил, что
  • следует убрать флажок Use clientLogin
  • следует изменить кодировку с CP-1251 на CP1251. Наличие дефиса заставляет присылать сервер ответ вида «Вы не прошли авторизацию», который Pidgin почему-то интерпретировал как превышение количества подключений. Ну да ладно. Работающий вариант параметров соединения в Pidgin 2.7.3 на Debian таков:

Видимо, на серверах ICQ произошли какие-то изменения, требующие коррекции настроек, да и кодировки-то надо правильно указывать. CP-1251 — неверная запись.

Поиску этого, казалось бы, простейшего решения предшествовало немало технической возни. Сегодня мы с приятелем Димой aka citadeldimon решили вплотную и радикально заняться искоренением проблемы с аськой, потому что … потому что мне делать было нечего, а процесс сборки deb-пакета с последней версией pidgin, которым предлагал заняться citadeldimon, мне показался интересным.
Каждый из нас занялся компиляцией свежевыкачанных исходников. Процесс этот относительно прост, но, мягко говоря, муторный. Ваш покорный слуга, предвкушавший увлекательную процедуру, сразу вооружился Synaptic, чтобы качать недостающие в системе пакеты и приложения.
В ходе компиляции программного обеспечения практически всегда приходится доставлять заголовочные dev-пакеты, используемые компилятором для создания исполняемых файлов и библиотек. Где-то на 45-ом файле мое терпение кончилось. Используя логи Synaptic, я удалил все установленные пакеты, и твердо решил для себя — если я ещё когда-нибудь надумаю компилировать софт в Linux, я заимею виртуальную машину, и в ней установлю все заголовочные файлы и компиляторы сразу. На десктопной машине мне это ни к чему.
Мой приятель оказался более терпеливым, и пакеты таки собрал. Заинтересованные лица могут попробовать их в деле (я сам не пробовал):
pidgin_2.10.0-1_x86.deb  | pidgin_2.10.0-1_amd64.deb
Ну а я взялся за изучение сути проблемы, придя к вышеописанному решению. Разумней, конечно, было начать именно с этого, открыв окно отладчика Pidgin.
Отдельно хочу сделать акцент на выпиливании пакетов с заголовочными файлами. После того, как попытка скомпилировать Pidgin провалилась, я воспользовался логами приложения Synaptic (ради чего я и запускал его, собственно). На каждый запуск установки пакетов Synaptic пишет файл журнала в папку /root/.synaptic/log, разобрав который, можно избавиться от любой программы — поставленной на «посмотреть», либо по ошибке. К сожалению, не помню где я подсмотрел вот такую команду:
КОД: ВЫДЕЛИТЬ ВСЁ
grep  \( ./synaptic/*.log | grep -Po '[\w-.]+(?=\s)' | xargs apt-get -y purge
Симбиоз консольных утилит и регулярок ищут в папке synaptic, находящейся в текущей директории, логи, которые я туда скопировал, и запускают полное удаление пакетов, указанных в логах. Чертовски удобно.
Резюмируя, скажу следующее. Одним из ощутимых недостатков дистрибутивов Linux с пакетным менеджментом приложений было и, к сожалению, остаётся «залипание версии» - когда при выходе новой версии приложения она попадает не в твою, а в следующую версию дистрибутива ОС. Это и приводит к необходимости компилировать самостоятельно те приложения, бинарные пакеты которых разработчиком и/или третьими лицами не собираются. В этом отношении в довольно выгодных условиях находятся пользователи семейства систем Ubuntu с их обилием PPA-репозиториев. К счастью, реальная необходимость замены версий приложений у меня случается [пока] довольно релко.

No comments:

Post a Comment