четверг, июля 31, 2008

Lucky to be a Programmer

Under the right conditions, writing software is so intensely pleasurable it should be illegal.

воскресенье, марта 16, 2008

NetworkManager & WiFi III

в продолжении темы... решилось мне докопаться таки до сути вопроса...

NM принципиально не ведет своих конфигурационных файлов, посоветовавшиьс с гуглем, почитал мнения авторов - на их взгляд пользователю не нужно ничего настраивать - все должно работать само...

информацию о ранее известных сетях (просто видимые в данный момент сети необязательно появляются тут, невидимые же при отсутствии записей остаются невидимыми) NM хранит в GConf в ветке /system/networking/wireless/networks в моем случае там было порядка 40 папок... не мудрствуя лукаво я грохнул их все, сохранив первую, в которой, описана старый добрый проводной ethernet.

другой корзиной является хранилище брелков, в котором, NM хранит PSK от сетей... его я тоже удалил... дабы соблюсти чистоту эксперимента и начать все с чистого листа...

в ходе эксперимента NM создал последовательно три папки (2, 3, 4). по каким-то только ему известным критериям через неопределенное число попыток сеть признается недоступной и при очередной попытке подключиться к ней же он завел новую конфигурацию для неё. папка 4 была создана после моей явной просьбы подключить новую сеть.

смущает содержимое конфигурационных файлов... в 802-11-wireless-security несмотря на то. что я явно сказал, что в сети используется wpa & wpa2 в параметрах описаны wep40,wep104...

итого по операции "зачистка" - результатов особых нет, NM по прежнему подключается к сети с вероятностью 50% - либо подключиться, либо нет... периодически при этом переспрашивая пароль.

суббота, марта 15, 2008

NetworkManager & WiFi II

продолжая эпопею с WiFi наблюдаю взаимоотношения NetworkManager-а с беспроводными сетями.

есть у меня в пользовании две сети (с которыми я регулярно общаюсь), обе скрытые, одна при этом без защиты (wifi_1), другая работает в режиме auto WPA & WPA2 (wifi_2).
NM в общем случае вроде как умеет их сам находить, но как-то неуверенно... периодически он их теряет и приходится подсказывать ему руками.

другой неприятный момент, что с wifi_2 он не может нормально договориться. не помогает перевод сети в статус WPA only.

примерный монолог NetworkManager-а выглядит так:
Mar 15 18:44:59 junkyard NetworkManager: Activation (wlan0) Stage 1 of 5 (Device Prepare) scheduled...
Mar 15 18:44:59 junkyard NetworkManager: Activation (wlan0) Stage 1 of 5 (Device Prepare) started...
Mar 15 18:44:59 junkyard NetworkManager: Activation (wlan0) Stage 2 of 5 (Device Configure) scheduled...
Mar 15 18:44:59 junkyard NetworkManager: Activation (wlan0) Stage 1 of 5 (Device Prepare) complete.
Mar 15 18:44:59 junkyard NetworkManager: Activation (wlan0) Stage 2 of 5 (Device Configure) starting...
Mar 15 18:44:59 junkyard NetworkManager: Activation (wlan0/wireless): connection 'Auto junkyard.wifi' has security, and secrets exist. No new secrets needed.
Mar 15 18:44:59 junkyard NetworkManager: Config: added 'ssid' value 'junkyard.wifi'
Mar 15 18:44:59 junkyard NetworkManager: Config: added 'scan_ssid' value '1'
Mar 15 18:44:59 junkyard NetworkManager: Config: added 'key_mgmt' value 'WPA-PSK'
Mar 15 18:44:59 junkyard NetworkManager: Config: added 'psk' value ''
Mar 15 18:44:59 junkyard NetworkManager: Config: added 'proto' value 'WPA RSN'
Mar 15 18:44:59 junkyard NetworkManager: Config: added 'pairwise' value 'TKIP CCMP'
Mar 15 18:44:59 junkyard NetworkManager: Config: added 'group' value 'WEP40 WEP104 TKIP CCMP'
Mar 15 18:44:59 junkyard NetworkManager: Activation (wlan0) Stage 2 of 5 (Device Configure) complete.
Mar 15 18:44:59 junkyard NetworkManager: Config: set interface ap_scan to 2
Mar 15 18:44:59 junkyard NetworkManager: (wlan0) Supplicant interface state change: 0 -> 2
Mar 15 18:44:59 junkyard NetworkManager: (wlan0) Supplicant interface state change: 2 -> 3
Mar 15 18:45:24 junkyard NetworkManager: Activation (wlan0/wireless): association took too long, asking for new key.
Mar 15 18:45:24 junkyard NetworkManager: (wlan0) Supplicant interface state change: 3 -> 0
Mar 15 18:45:36 junkyard NetworkManager: wlan0: link timed out.


непонятно зачем - теоритически брелок должен быть уже разблокированным - NM каждый раз просит его разблокировать (один раз на сеанс).
почему-то NM быстро сдется и не может подключиться к сети (закономерности не выявлено, но происходит это часто...), хотя рядом лежит КПК под Windows mobile 6, который подхватывает эту же сеть без слов.

неопределенное число попыток и...
Mar 15 18:53:42 junkyard NetworkManager: User request for activation of wlan0.
Mar 15 18:53:42 junkyard NetworkManager: Deactivating device wlan0.
Mar 15 18:53:42 junkyard NetworkManager: Activation (wlan0): cancelling...
Mar 15 18:53:42 junkyard NetworkManager: Activation (wlan0): cancelled.
Mar 15 18:53:42 junkyard NetworkManager: Activating device wlan0
Mar 15 18:53:42 junkyard NetworkManager: Activation (wlan0) Stage 1 of 5 (Device Prepare) scheduled...
Mar 15 18:53:42 junkyard NetworkManager: Activation (wlan0) Stage 1 of 5 (Device Prepare) started...
Mar 15 18:53:42 junkyard NetworkManager: Activation (wlan0) Stage 2 of 5 (Device Configure) scheduled...
Mar 15 18:53:42 junkyard NetworkManager: Activation (wlan0) Stage 1 of 5 (Device Prepare) complete.
Mar 15 18:53:42 junkyard NetworkManager: (wlan0) Supplicant interface state change: 3 -> 0
Mar 15 18:53:42 junkyard NetworkManager: Activation (wlan0) Stage 2 of 5 (Device Configure) starting...
Mar 15 18:53:42 junkyard NetworkManager: Activation (wlan0/wireless): access point 'Auto junkyard.wifi' has security, but secrets are required.
Mar 15 18:53:42 junkyard NetworkManager: Activation (wlan0) Stage 2 of 5 (Device Configure) complete.
Mar 15 18:53:42 junkyard NetworkManager: (wlan0) Supplicant interface state change: 0 -> 4
Mar 15 18:53:42 junkyard NetworkManager: (wlan0) Supplicant interface state change: 4 -> 0
Mar 15 18:53:42 junkyard NetworkManager: Missing or invalid key management
Mar 15 18:53:42 junkyard NetworkManager: Activation (wlan0) Stage 1 of 5 (Device Prepare) scheduled...
Mar 15 18:53:42 junkyard NetworkManager: Activation (wlan0) Stage 1 of 5 (Device Prepare) started...
Mar 15 18:53:42 junkyard NetworkManager: Activation (wlan0) Stage 2 of 5 (Device Configure) scheduled...
Mar 15 18:53:42 junkyard NetworkManager: Activation (wlan0) Stage 1 of 5 (Device Prepare) complete.
Mar 15 18:53:42 junkyard NetworkManager: Activation (wlan0) Stage 2 of 5 (Device Configure) starting...
Mar 15 18:53:42 junkyard NetworkManager: Activation (wlan0/wireless): connection 'Auto junkyard.wifi' has security, and secrets exist. No new secrets needed.
Mar 15 18:53:42 junkyard NetworkManager: Config: added 'ssid' value 'junkyard.wifi'
Mar 15 18:53:42 junkyard NetworkManager: Config: added 'key_mgmt' value 'WPA-PSK'
Mar 15 18:53:42 junkyard NetworkManager: Config: added 'psk' value ''
Mar 15 18:53:42 junkyard NetworkManager: Config: added 'proto' value 'WPA RSN'
Mar 15 18:53:42 junkyard NetworkManager: Config: added 'pairwise' value 'TKIP CCMP'
Mar 15 18:53:42 junkyard NetworkManager: Config: added 'group' value 'WEP40 WEP104 TKIP CCMP'
Mar 15 18:53:42 junkyard NetworkManager: Activation (wlan0) Stage 2 of 5 (Device Configure) complete.
Mar 15 18:53:42 junkyard NetworkManager: Config: set interface ap_scan to 1
Mar 15 18:53:42 junkyard NetworkManager: (wlan0) Supplicant interface state change: 0 -> 2
Mar 15 18:53:45 junkyard NetworkManager: (wlan0) Supplicant interface state change: 2 -> 3
Mar 15 18:53:47 junkyard NetworkManager: (wlan0) Supplicant interface state change: 3 -> 4
Mar 15 18:53:47 junkyard kernel: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
Mar 15 18:53:47 junkyard NetworkManager: (wlan0) Supplicant interface state change: 4 -> 5
Mar 15 18:53:47 junkyard NetworkManager: (wlan0) Supplicant interface state change: 5 -> 6
Mar 15 18:53:47 junkyard NetworkManager: (wlan0) Supplicant interface state change: 6 -> 7
Mar 15 18:53:47 junkyard NetworkManager: Activation (wlan0/wireless) Stage 2 of 5 (Device Configure) successful. Connected to wireless network 'junkyard.wifi'.
Mar 15 18:53:47 junkyard NetworkManager: Activation (wlan0) Stage 3 of 5 (IP Configure Start) scheduled.
Mar 15 18:53:47 junkyard NetworkManager: Activation (wlan0) Stage 3 of 5 (IP Configure Start) started...
Mar 15 18:53:47 junkyard NetworkManager: Activation (wlan0) Beginning DHCP transaction.
...
Mar 15 18:53:47 junkyard NetworkManager: dhclient started with pid 9112
Mar 15 18:53:47 junkyard NetworkManager: Activation (wlan0) Stage 3 of 5 (IP Configure Start) complete.
Mar 15 18:53:47 junkyard dhclient: wifi0: unknown hardware address type 801
Mar 15 18:53:47 junkyard NetworkManager: DHCP: device wlan0 state changed normal exit -> preinit
...
Mar 15 18:53:49 junkyard NetworkManager: DHCP: device wlan0 state changed preinit -> bound
Mar 15 18:53:49 junkyard NetworkManager: Activation (wlan0) Stage 4 of 5 (IP Configure Get) scheduled...
Mar 15 18:53:49 junkyard dhclient: bound to 192.168.0.101 -- renewal in 255856 seconds.
Mar 15 18:53:49 junkyard NetworkManager: Activation (wlan0) Stage 4 of 5 (IP Configure Get) started...
Mar 15 18:53:49 junkyard NetworkManager: address 192.168.0.101
Mar 15 18:53:49 junkyard NetworkManager: netmask 255.255.255.0
Mar 15 18:53:49 junkyard NetworkManager: broadcast 192.168.0.255
Mar 15 18:53:49 junkyard NetworkManager: gateway 192.168.0.1
Mar 15 18:53:49 junkyard NetworkManager: nameserver '192.168.0.1'
Mar 15 18:53:49 junkyard NetworkManager: Activation (wlan0) Stage 5 of 5 (IP Configure Commit) scheduled...
Mar 15 18:53:49 junkyard NetworkManager: Activation (wlan0) Stage 4 of 5 (IP Configure Get) complete.
Mar 15 18:53:49 junkyard NetworkManager: Activation (wlan0) Stage 5 of 5 (IP Configure Commit) started...
...
Mar 15 18:53:50 junkyard NetworkManager: Activation (wlan0) successful, device activated.
Mar 15 18:53:50 junkyard NetworkManager: Activation (wlan0) Stage 5 of 5 (IP Configure Commit) complete.

среда, февраля 27, 2008

NetworkManager & WiFi

приобрел домой беспроводной маршрутизатор D-Link DIR-400 (интересно, но на .com о таком продукте не слышали...). пока баловался с настройками столкнулся с проблемками, порожденными NetworkManager-ом:

1. GNOME keyring, pam_keyring и иже с ними... когда NetworkManager сталкивается с пароленными сетями, он пытается сохранить ключ в брелок, который иногда может быть заблокирован... из побуждений сделать поудобней я захотел сохранить таки ключ в брелок... и тут я узнал, что я не знаю пароль к брелку. перепробовав все, что можно, пошел искать совета в интернет... опуская детали, кардинальное решение вопроса - удаление файла ~/.gnome2/keyrings/login.keyring как вариант это может быть default.keyring (собственно это и есть брелок, цена вопроса в общем случае - потеря всех сохраненных паролей, в моем случае не актуально - я этим не пользовался, потому и не помнил пароль).
в интернете и на странице вики Fedora по NetworkManager-у (ссылка вверху) описано несколько утилит по работе с брелками, единственное, что стоит отметить - в Fedora 8 нет необходимости проделывать описанные манипуляции по настройке pam - все сделали до нас для нас!

2. NM не очень стойко перенес общение с переменчивой беспроводной средой (в процессе знакомства я менял настройки, делая сеть то видимой, то невидимой, меняя параметры безопасности и т.д.). пару раз были моменты, когда NM показывал две сети с одним именем, одинаковым уровнем сигнала, но одна защищенная, другая нет (реальности соответствовал первый случай). один раз была ситуация, когда NM показал два предыдущих случая, плюс третий вариант - новое имя. переименовывал я их потому, что предположил, что пароли в брелок он пишет в виде пар ssid-пароль и дабы облегчить ему труд я и занимался этим маскарадом, но NM не оценил заботы и один раз nm-applet вообще вылетел с баг-репортом.

3. продолжение предыдущего вопроса. в инете есть много моментов по обсуждения вопроса, связанного с тем, что NM переспрашивает пароль к открытому брелку (у меня это периодически воспроизводится, закономерность пока не выявил, по легенде интеграция с pam должна реализовать автоматную разблокировку дефолтного брелка). далее NM отказался дружить с сеткой в режиме WPA2/PSK only и согласился на общение в режиме WPA/WPA2 auto и непременно с использованием TKIP, хотя периодически переспрашивает этот самый PSK.

з.ы. интересно, что в доме обнаружилась некая открытая сеть, в которую NM периодически наровил меня подключить, что вызвало отдельный вопрос - а почему NM не реализует по аналогии с Windows возможность добавления/удаления известных сетей и обнаружение всех видимых. автомат это конечно удобно, но не до такой же степени, что врубаться в первую попавшуюся сеть.

з.з.ы. а ну да, итог басни - сеть таки работает и с превеликим удовольствием пишу эту заметку из кроватки, до этого был аки собака привязан к кабелю на кухне (-: прогресс, штука удобная!

KDE

Поставил KDE (Qt: 3.3.8b, KDE: 3.5.8-19.fc8 Fedora). До этого в KDE я работал очень давно, во времена Black Cat Linux и Slackware не-помню-какая-версия с книжкой от Святого Патрига... в эпоху Fedora Core 3 я ее только смотрел, тогда не понравилось, что изначально иной графический интерфейс (это не оценка, а констатация факта) попытались, наверное, для единства натянуть до стандартного-от-красной-шапки-GNOME-вского.

Вполне естественно, что привыкнув к интерфейсу современного GNOME, в KDE многое казалось не обычным (это, опять таки, констатация). Впечатлений много и разных (наверняка всего не скажу).

о настройках

Одна из особенностей KDE - единый Центр Управления (KDE Control Center), позволяющий настраивать почти все, что связано с поведением и внешним видом среды. В GNOME аналогичный функционал, реализованный в виде отдельных приложений, доступен (по-умолчанию) из меню "Система->Параметры". Тут стоит отметить, что в последних версиях GNOME наметилась тенденция по объединению отдельных апплетов, так, например, теперь (с версии GNOME 2.20) внешний вид (тема GTK, фон рабочего стола, шрифты, интерфейс окон) настраивается из единого приложения.
Вообще, наверное, хорошо когда пользователь имеет возможность настроить каждый чих, но с другой стороны, чаще всего человек хочет просто решить какую-то задачу и большое количество опций, что свойственно KDE и "его" приложениям, напрягает - необходимо вникнуть в нюансы, определить особенности каждой галочки, ключика и т.д. По-моему следует стремиться к компромису, что-то общее выносить в основной интерефейс, рихтовочные же настройки оставлять либо на уровне конфигурационных файлов или в отдельных вкладках.

Шрифты. На мой скромный хо в GNOME настройка шрифтов (опции касающиеся сглаживания) сделана более удобно и главное наглядно. Дополнительно к глобального рубильнику - использовать или не использовать сглаживание - можно настроить исключения для определенного диапозона кеглей, а также стиль хинтинга, опция по выбору порядка субпикселей в моем слуаеч была недоступна (чем определяется ее доступность я не разбирался).

Отдельное неудобство связано с тем, что результат выбора той или иной опции сразу не виден, по выходу из настроек появляется окно, предупреждающее о том, что его (результат) можно лицезреть только в новых окнах.
В случае одновременного использования KDE и GNOME, как это было в моем случае, может возникнуть неприятный момент - некоторые настройки, сделанные в KDE, переопределяют аналогичные настройки и для GNOME. При этом, например, исключения для отдельных кеглей в GNOME соответствующей утилитой переопределить нельзя. Пользовательские настройки шрифтов, сделанные в KDE, хранятся в файле ~/.fonts.conf (я его просто удалил, данное решение не претендует на кошерность).


Раскладка. Переключатель раскладок клавиатуры, опять таки, имхо, не очень тривиально настраивается. Запустить-то ее (переключкалку) я запустил - это не сложно... но, переключение работает только по клику мышки, несмотря на включение соответствующих галок на вкладке "Параметры XKB". Естественно, я не сомневаюсь, что решение было бы найдено при первом же обращении к гуглю, но мне этого особо не требовалось, а здесь упомянул к слову о дружественности интерфейса, возможно, обусловленного привычкой к GNOME-вскому решению.

Так же, на мой взгляд, в KPowersave не очень логично, по сравнению с Gnome Power Manager, настраивается управление питанием... в два клика решить вопрос о том, что делать если закрывается крышка нотебука не смог (смущает меня возможность настройки действия при нажатии "Кнопка закрытия крышки:")


В качестве отдельного комментария - управление кнопками нотебука яркостью панели и громкостью в KDE тоже не работает (понятно, что это не дело графической среды, тем не менее). g-p-m - как никак принимает посильное участие.

о приложениях

amaroK. Да, это что называется "просто, конфетка"! Надо признать, что отсутствие в-моем-понимании-нормального проигрывателя в GNOME меня серьезно огорчает. Rhythmbox неплохой проигрыватель, но совершенно очевидно, что он не расчитан на пользователей, имеющих большую коллекцию музыки (загрузить он в себя может много, но ориентироваться в одной здоровенной плоской таблице очень непросто). Так же есть проект Exaile, цель которого так и обозначена - реализовать amaroK для GNOME, точнее под GTK+. Но у него есть свои определенные неудобства.

Kopete - клиент обмена мгновенными сообщениями, поддерживающий большое количество протоколов. Что-то типа Pidgin. Общее впечатление весьма положительное - аккуратно и весьма удобно, в том числе, очень понравилось оформление окна диалога в чате (естественно, традиционная раскладка тоже поддерживается). О чем идет речь можно посмотреть тут.

KGet - собственно это то, чего по-моему не хватает многим бывшим пользователмя FlashGet-а. Да, есть wget, но он не умеет, например, работать с генерируемыми ссылками (например, то, что выдает ifolder.ru). В качестве недостатка KGet можно отметить, что он не умеет вытаскивать имя файла из кривой ссылки того же ifolder.ru. Но в общем впечатление положительное и интеграция с Konqueror-ом порадовала.

KTorrent - неплохой torrent-клиент, но я привык к Transmission-у (-:

о недостатках

Ark (менеджер архивов KDE) не умеет открывать запароленные архивы (хотя интересно, что он может выдать диагностическое окно, содержащее вывод всего того, что сказал, в моем случае, unrar). С другой стороны File Roller (менеджер архивов GNOME) любую ошибку в архивах rar трактует как необходимость запросить у пользователя пароль, при этом, что на самом деле хотел сказать unrar пользователь не узнает.
Konqueror не дружит с сайтом Blogger.com. Да-да... написать сообщение (чистый текст) я смог, но, например, при попытке добавить ссылку ничего полезного не происходит, набранный текст удаляется.

заключение

Вообще надо признаться, что мне понравилось. Да, по сравнению с GNOME, KDE чуть тяжелее (вполне возможно, что это особенность сборки под Fedora, ибо не секрет, что здесь основной упор делается все таки на GNOME). На мой взгляд в KDE приложения более унифицированны, например, многие приложения умеют сворачиваться в "лоток" (там, где часы (ц) фидо) - и реализовано это в едином ключе для всех пробованных приложений. При выходе автоматом запоминаются запущенные приложения и при следующем старте запускаются с сохранением контекста. В GNOME можно такое же реализовать, но там уж очень часто вылетают окшки о том, что такое-то приложение не умеет сохранять контекст.

Сейчас я вернулся в GNOME, но пользую amaroK и иногда Kopete. После выхода Fedora 9 обязательно попробую KDE 4.

воскресенье, февраля 17, 2008

по местам моего детства...

Просмотреть увеличенную карту

среда, февраля 06, 2008

поговори со мной...

собираюсь домой... выключаю компьютер и закрываю лишние окошки... в терминале вижу почтовые сообщения от syslog... читаю и офигеваю (копи паст из .../messages)...

Feb 6 19:09:27 junkyard kernel: Uhhuh. NMI received for unknown reason b0 on CPU 0.
Feb 6 19:09:27 junkyard kernel: You have some hardware problem, likely on the PCI bus.
Feb 6 19:09:27 junkyard kernel: Dazed and confused, but trying to continue


в голове Led Zepellin руками Jimmy Page играет Dazed and Confused (вариант, исполненный на ноябрьском концерте прошлого года... так сказать из свежеотсмотренного материала)

з.ы. как я понял, проблема скорее всего в wifi (например, смотри тут). инициировать проблему могло тупое выключение вилки точки доступа из розетки 220 в. но манера общения меня впечатлила... это вам не бублигум...