phdru.name / Russian / blog / 2007 / 06 / 12

Журнал: 12 июня 2007: Debian 4

Я вернулся из отпуска и, наконец, взялся за upgrade своего ноутбука. У меня накопилось много мусора, неиспользуемых библиотек ("сирот"), а особенно я хотел снести ненавистный Windoze, но, поскольку он мне иногда нужен (для генерации дистрибутивов программами py2exe и InnoSetup, а также чтобы заходить M$IE на сайты, которые отказываются работать с другими браузерами - есть ещё такие позорища), то я хотел установить W в эмуляторе. Выход Debian 4.0 и перелицензирование Kqemu под GPL - подходящие поводы для форматирования диска и полной установки системы с нуля. Кроме того, я хотел внести и меньшие изменения - перейти с koi8-r на utf-8 (большей частью для того, чтобы заголовки сайтов правильно отображались в Мозилле), перейти с aterm на xterm (для поддержки уникодного copy/paste из терминала в Мозиллу и обратно - у aterm c этим проблемы), перейти с x-lite на Ekiga/Twinkle/Linphone.

Большей частью мне всё удалось. Но есть и проблемы.

Начал я с того, что решил, раз уж я весь диск форматирую, то поэкспериментирую с другими дистрибутивами. Объектами экспериментов я выбрал Ubuntu-server (мне предстоит upgrade 3-ёх компьютеров - ноутбука, маршрутизатора и сервера, и хочу поставить на них один дистрибутив, серверный, а на ноутбук поверх него Иксы) и Fedora 6 (пока я был в отпуске вышла уже и F7).

С Ubuntu возникли большие проблемы при инсталляции. Начал ставится он вроде бы нормально, но через несколько минут завис, приведя DVD-ROM в странное положение - устройство посвистывает и ничего не читает, выключение и включение ноутбука не помогло. Я подумал, что либо ноут наконец сдох, либо ещё хуже - Ubuntu мне его убил. И уже совсем было собрался ехать в ремонт, как вдруг догадался посмотреть, что там с DVD-ROM. Оказалось, что Ubuntu каким-то образом загнал головку в крайнее (самое дальнее) положение, и DVD не может её оттуда вытащить. Я поддел головку ногтем (терять-то уже нечего, я стою полуодетым, чтобы везти ноут в ремонт) - и DVD заработал. Я перезагрузил Ubuntu, но минут через 5 ситуация повторилась в другой части инсталлятора. После 4-го спасения головки я понял, что Ubuntu с моим ноутом не дружит, и пора двигаться дальше.

С Федорой всё прошло лучше. Я поглядел в её графический инсталлятор, но ставится стал в текстовом. Текстовый инсталлятор сложноват по сравнению с Debian/Ubuntu - слишком много кнопок и модальных диалогов, сразу видно, что они делали текстовый интерфейс из графического. Однако всё работает, Федора поставилась без проблем. Тут я растерялся, потому что не знал, что делать дальше. Хотел запустить yum, чтобы поставить дополнительного софта с DVD, но он не запустился - он полез в ИНет получить список зеркал, но сеть у меня ещё не работала - у меня WiFi IPW 2200, драйвера в Федоре нет, Федора вся из себя такая свободная. А без сети yum работать отказался.

Ну и наконец добрался до Дебиана. С инсталляцией не было никаких проблем, он даже опознал мой ipw2200 и установил драйвер, но не firmware; firmware у меня было заранее заготовлено на отдельном DVD, так что через несколько часов у меня был нормальный свежеустановленный Debian 4.0. Все устройства опознаны, кроме processor scaling - драйвер powernow-k8 пришлось загрузить руками.

Затем было 3 дня установки и настройки софта, и на этом пути меня подстерегало множество сюрпризов, не всегда приятных. Большая часть софта работает хорошо, это радует, но тут нечего подробно описывать. Расскажу о проблемах, и некоторых решениях, которые я нашёл.

В предыдущей инкарнации у меня стоял XFree86 4.3 с драйвером vesa, и этого мне вполне хватало, даже кино mplayer показывал нормально с драйвером xv. Xorg опознал мою видеокарту (VIA/S3 UniChrome), поставил драйвер via, но все OpenGL'ные программы завешивают ноут насмерть. Пришлось сменить драйвер на vesa, но в режиме vesa теперь тормозит mplayer; драйвер xv перестал работать почему-то, приличную скорость удалось добиться с драйвером sdl, но в режиме sdl другая проблема - SDL перехватывает все клавиши, и не пропускает клавиши, которые я использую с помощью xbindkeys для регуляции громкости программой aumix.

Следующая болезненная проблема - переход с koi8 на utf. Понятно, что текстовые файлы надо перекодировать, но это не проблема, хуже, что соседние машины у меня пока в koi8, и надо изыскивать способы с ними работать. В man xterm нашёл программу luit, и использую её для ssh: LC_CTYPE=ru_RU.KOI8-R luit -encoding koi8-r ssh $server Это помогает и на локальной машине - links в уникодном xterm'е глючит, и русский словарь для ispell в koi8.

Плохо с именами файлов и директорий. Подмонтируешь соседний сервер по sshfs, а там всё в koi8-r, в т.ч. и имена файлов. Копирую файлы на локальную машину, и запускаю скрипт перекодирования имён. То же самое для CD/DVD с Rockridge+Joliet - уникод-то только в Joliet, а Linux монтирует диски, ориентируясь на Rockridge; надо будет попробовать mount -o norock.

Несколько дней мучался с fvwm - не хотел отображать заголовки в utf8. Оказалось, он для utf-8 признаёт только xft'шные (TrueType) шрифты.

При переходе на utf-8 у vim отвалился langmap - он работает только с 8-битными символами. Это не проблема - langmap легко меняется на простые map.

В XMMS уникодные имена стали крокозябрами. Это решается подсовыванием ему правильного .xmms/gtkrc с fontset с iso10646-1: XMMS слинкован с GTK1.

Плейлисты тоже, естественно, пришлось перекодировать в utf-8, чтобы они соответствовали именам файлов в файловой системе. А теги mp3 у меня все в koi8-r, поэтому я внутри XMMS поставил шрифты в koi8; теперь название текущей песни не отображается в пейджере fvwm. И криво отображаются теги Ogg Vorbis - они-то в уникоде.

Upd. Я решил, что utf-8 принёс больше проблем, чем решений, и вернулся на koi8.

Kqemu на DVD не оказалось, но он есть в сетевом репозитарии, правда, в секции non-free. Видимо, Debian ещё не успел подхватить GPL-изацию kqemu. Kqemu не вполне совместим с udev - при загрузке kqemu udev не создаёт устройство /dev/kqemu. В ИНете легко находится файл rules, который надо подсунуть udev.

Ещё одна болезненная проблема - интернет-телефония. Избавиться от x-lite пока не удалось. Kphone по-прежнему не авторизуется на SIPnet.ru, ekiga не авторизуется на pctel.ru, linphone вообще с трудом запускается, и неудобная оказалась программа. Наиболее приятный интерфейс у twinkle, но он падает в segfault, когда дозванивается. ИНет говорит - это проблема с libzrtpcpp-0.9.0-2 - её надо проапгрейдить до libzrtpcpp-0.9.0-5, но -5 есть только в unstable, а там проблемы с зависимостями.

Очень тормозит xmessage. Судя по тому, что при запуске xmessage тормозят Иксы - xmessage (или с чем он там слинкован) перебирает все имеющиеся шрифты, которые мне добрый Дебиан поставил 3500 штук. Опция -fn не помогает. Перешёл на gmessage; он не тормозит и понимает xft.

Python 2.2 и 2.3 выпали из Дебиана - видимо, слишком старые. Но мне они нужны. По совету Витуса Вагнера воспользовался dh-make, сгенерил директорию debian, несколько часов её отлаживал, и создал таки работоспособные .deb.

А вот wxPython в Debian старый - 2.6, когда везде давно 2.8. Нашёл в ИНете скрипт для компилирования (через rpmbuild) wxPython.src.rpm, и конвертирования (через alien) в .deb.

Меня сразил наповал Gaim 2.0 (В Debian ещё Gaim 2.0beta, а не Pidgin). Я много лет им пользуюсь, был вполне доволен, но 2.0 стал совершенно уродской программой. Не запоминает размера окон, команду отправки сообщений сменил с [Control]+[Enter] на [Enter]. Я решил сменить "быстрорастворимый сообщатель". Нашёл в сети список широкораспространённых, пофильтровал его и свёл до списка Gajim/Psi/Tkabber. Начал с Gajim - он написан на Python с GTK, а я GTK'шные программы ненавижу менее всех прочих. Но и у Gajim свои заморочки - он насильно переводит меня в тот десктоп, на котором находится окно, в котором мне пришло сообщение; это отключается в Advanced Configuration Editor - отменить urgency hints. И посылка у него тоже по [Enter] (переключается на [Control]+[Enter] в том же ACE), и логи (history) не в тексте, а в SQLite, и список контактов он сортирует по серверам; Gaim позволял сортировать контакты как угодно; о, нашёл в Gajim опцию "Merged accounts".

udev не запускает bluetooth. Необходимо создать файл /etc/udev/rules.d/80-bluetooth.rules. Вот такой: http://lists.altlinux.org/pipermail/devel/2006-April/031006.html

Новая версия bluez-utils в Debian не имеет способа спросить у пользователя PIN; точнее, есть программы для GNOME и KDE, но универсального - нет.

Чтобы pairing заработал, надо скомпилировать passkey-agent - исходник для него живёт в /usr/share/doc/bluez-utils/examples/. Запускается ./passkey-agent PIN [address]. После этого obexftp и GPRS работают.


Теги: debian linux

Эта страница http://phdru.name/Russian/blog/2007/06/12/Debian4.html была сгенерирована 08.06.2014 в 20:52:08 из шаблона CheetahTemplate Debian4.tmpl; Некоторые права зарезервированы. Вы можете узнать о технических аспектах этого сайта.