Що робити, якщо в Pidgin не підключається ICQ у Debian

Приблизно півроку тому однією з моїх операційних систем сталаDebian/Squeeze, стабільний шостий реліз одного з найстаріших дистрибутивів Linux (старожили, можливо, пам'ятають епічний цикл «30 днів без Windows»). Так вийшло, що низка завдань мені швидше і зручніше вирішувати саме в ній, і тому я найчастіший гість у цій системі. З недавніх пір у мене раптово відвалилася ICQ уPidgin, що мене трохи засмучувало - я волію використовувати мультипротокольні клієнти, а не запускати купу програм.

Якщо вірити Google, проблема з відмовою підключення до ICQ сервера виникала не тільки в мене. Багатьом пощастило побачити повідомлення виду:

Ви дуже часто з'єднувалися і від'єднувалися. Зачекайте 10 хвилин і спробуйте знову. Якщо ви продовжите спроби, вам доведеться чекати ще довше.

Як виявилося, вирішується ця проблема просто, як два байти переслати. А ось шлях до цього рішення був непростим. Але про все по порядку.

Так виглядали мої установки підключення до сервера ICQ:

pidgin

Досвідченим шляхом я виявив, що

pidgin
Мабуть, на серверах 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, розібравши який, можна позбутися будь-якої програми - поставленої на "подивитися", або помилково. На жаль, не пам'ятаю, де я підглянув ось таку команду: [code]grep \( ./synaptic/*.log grep -Po '[\w-.]+(?=\s)' xargs apt-get -y purge[/code]

Симбіоз консольних утиліт та регулярок шукають у папці synaptic, що знаходиться в поточній директорії, логи, які я туди скопіював, та запускають повне видалення пакетів, зазначених у логах.Страшенно зручно.

Резюмуючи, скажу таке. Одним із відчутних недоліків дистрибутивів Linux з пакетним менеджментом додатків було і, на жаль, залишається «залипання версії» - коли при виході нової версії додатку вона потрапляє не до твоєї, а до наступної версії дистрибутива ОС. Це призводить до необхідності компілювати самостійно ті додатки, бінарні пакети яких розробником та/або третіми особами не збираються. У цьому відношенні в досить вигідних умовах перебувають користувачі сімейства систем Ubuntu з їх великою кількістю PPA-репозиторіїв. На щастя, реальна необхідність заміни версій додатків у мене трапляється досить легко.