воскресенье, 7 декабря 2008 г.

сумбурно обо всём

/*
часть 1-я, мелочная

"взмах крыла бабочки может породить бурю", так и в этот раз одна приятная мелочь (sic!) потянула за собой хуеву тучу изменений. имя этой "мелочи" - модуль E17-го "Places":



модуль написан товарищем DaveMDS и сегодня мы его довели в svn до идеального состояния. цель - гуй для мониторинга носителей и операций с ними при помощи связки dbus+udev+hal от лица простого юзера. тыканьё на иконку носителя конфигурируется и может запускать как любимый ФМ (после монтирования), так и любые скрипты на ваш выбор (естественно без эскалации привилегий).

для этого нужно было понять как именно работает махина "dbus+udev+hal" и разобраться в дивных xml настройках сего хозяйства. дальнейшее повествование будет чуток специфично относительно дистрибутива OpenSUSE, но может кому-то и пригодится. началось с попыток взнуздать гугл, но "пейсателей" развелось... посему клич "поможите люди добрые" был брошен на ЛОР-е:

поможите люди добрые

и уважаемый товарищ "анонимус" привёл абсолютно фантастические ссылки на статьи, помогающие понять именно основы этого безобразия. резюме:

1) основные правила определяются .fdi файлами. искать тут:

/usr/share/hal/fdi
/etc/hal/fdi

2) информацию о девайсах, которыми можно управлять (это в принципе инструмент очень тонкой настройки) вам выдаст команда (пакет 'hal'):

/usr/bin/hal-device

"рулить" можно как составляя свои правила, так и при помощи команд:

/usr/bin/hal-get-property (получение сведений/свойств)
/usr/bin/hal-set-property (установка новых свойств устройству)

3) man PolicyKit - ОБЯЗАТЕЛЬНО к прочтению и пониманию почему (может блокироваться) блокируется то или иное свойство/действие, заданное/разрешённое в правилах. сам 'polkit' - тема отдельного разговора. зело мощная дубинушка и махать ей направо-налево надобно крайне осторожно (как впрочем и любыми инструментами, непосредственно работающими с железом).

4) (самое болезненное по крайней мере для меня обстоятельство) работа с dbus+udev+hal требует отказа от всех старых проверенных методов обращения с девайсами. если вы (как и я) привыкли к kernel automounter-у и autofs (где всё настраивается двумя линиями внятного текста в конфиге) - пришло время от этого отказаться. также если вы хотите монтировать/демонтировать диски при помощи hal, то /etc/fstab не должен содержать записей о них.

5) внимательно читайте инструкции/маны ибо (например) если сделать 'eject' на partition диска - не удивляйтесь если "отвалится" весь диск :).

итак, начинаем с того, что разрешаем пользователю оперировать с девайсамм от лица юзера через hal при явном указании "полкану" не мешать (это по сути самая важная часть):

> cat /etc/PolicyKit/PolicyKit.conf
pastebin.com

после этого выбираем только те партиции/диски, которые хотим видеть в этом модуле. для этого необходимо присвоить "ключу" 'volume.ignore' параметр 'false' (если желаем мониторить) или параметр 'true' (если хотим скрыть партицию/диск). пример команды (для мониторинга партиции):

sudo hal-set-property --udi '/org/freedesktop/Hal/devices/volume_uuid_80A8_1512' --key volume.ignore --bool false

также подобным макаром можно проставить метку/label на партицию (любой носитель):

sudo hal-set-property --udi '/org/freedesktop/Hal/devices/volume_uuid_80A8_1512' --key volume.label --string AUDIO

выше мы проставили метку 'AUDIO'. на этом собственно всё. модуль сегодня допилили и теперь пользователи Enlightenment-DR17 имеют в своём распоряжении отличный гуй для управления съёмными и фиксированными носителями. адрес проекта:

Dave's blog
адрес Google code

пользователи E в OpenSUSE могут просто пересобрать src.rpm и установить пакет, скомпиленный из current svn (в репо слегка устаревшая версия, что не позволяет отмонтирование пользованием локальных партиций по щелчку на кнопке).

часть 2-я, галопом по европам

починили 'esmart text object' - теперь E/ETK/EWL корректно реагирует на символы при переключении клавиатурной раскладки Xorg-ом. надеюсь, что починят и scim input method (базовый код уже в Ешке присутствует) и пофиксят глупый баг с нерабочим 'language' модулем (гуйня для переключения раскладок клавиатуры на лету). эх, лень моя... самому-бы надо...



активно дорабатывают новую дефолтную тему 17-го "Black&White". панель настроек унифицировали с illume (по крайней мере идёт активный поиск оптимальных диалогов конфигурации).



описать в двух словах все новости проекта Enlightenment не получится. при этом "допиливается" не только 17-ый, но и Enlightenment-DR16, что весьма радует. именно так и надо организовывать поддержку Продуктов. горд и доволен. завтра обещают прикрутить online интерфейс для скачивания тем/обоев не только с get-e.org, но и с E-Exchange. ждём-с.

часть 3-я, око-ёко-OpenMOKO...

выслушал упрёки анонимного пользователя телефона Free Runner о невозможности кастомизации интерфейса и подстойке его "под себя". удивился, заново полез в qemu и хватило ума обновиться без бэкапа (чего даже во хмелю не допускаю). инструкции по поводу запуска openmoko в qemu можете почитать тут:

общая инструкция
с использованием MokoMakefile

если будете этим заниматься прям сейчас - то во-первых нихуя у вас не заработает, а во-вторых последние development версии FR-а всё больше тяготеют к интерфейсу Qt/Qtopia (куда даже терминал засунуть не потрудились, что характерно - нахуя в Qt консоль?). другими словами Вам понадобится энное количество времени, чтобы:

1) найти рабочий билд кернела/лоадера
2) найти rootfs (корневую систему с дистрибутивом/ПО) с E17+illume в качестве GUI
3) прорюхать нужную команду для старта самого qemu (в целом предлагаемые шаблоны задают правильное направление поиска, но ... "есть нюансы", как говаривал Чапай).

скриншоты ниже сделаны "в ленивую", на qemu, слегонца "обточенном" даже без подключённой usb клавиатуры. всё сделано в гуях illume и 17-го:









как видим UI можно отстроить от и до. группировка приложений - в соответствии с xdg freedesktop спеками, темы оформления можно брать из E17-го, кастомизация интерфейса - такая же, как и в 17-ом (другими словами можно отстроить всё и вся. от виртуальных столов и до размера шрифта и типа его рендеринга). если вам интересна эта тема - оставьте здесь свой комментарий/пожелание и будем разбираться вместе.

к слову готовится новая редакция FR-а - gta03. будем надеяться, что аппаратная часть будет получше. в сегодняшних моделях (gta01 и gta02) шина обмена данными не блещет скоростью, из-за чего слышим справедливые упрёки о "тормозах". также дистрибутивы/сборки оптимальными как-то пока назвать не готов (есть вещи, которые не нравятся, но нет понимания пока насколько они критичны).

в целом это очень интересный и достойный продукт для энтузиастов Linux. сегодня там вроде как пофиксили GPS и пресловутые SMS-ки (в очередной раз? :)). всем же советую начинать именно с qemu. заодно некоторые могут узнать много нового о кросс/нативной-компиляции для ARM и специфике ARM-а как такового. в общем есть в этом мире, друг Горацио, множество забавных штукенций...

*/

7 комментариев:

Stalwart комментирует...

Чего блин реально не хватает - кашерного (hal+dbus), но desktop-agnostic автомаунтера. Пробовал ivman, но либо у меня руки растут неправильно, либо он с новым HALом не работает (да и из федоры его уже выкинули)

Анонимный комментирует...

а я чет до сих пор скриптами в udevе все монтирую

Unknown комментирует...

Как ты размер pager-а, (на первом скриншоте рабочего стола) делаешь таким?

Вообще как его изменить, не лезя в сырцы? Может это модуль какой?

Unknown комментирует...

тест, почему то не уходят коменты.

Unknown комментирует...

ttest

чо то не работает комментарий, как картинку прицепить?

Unknown комментирует...

Это опять я.

Понял, что комментарии комитяца после твоего одобрения.

Посмотри ссылку на мой скриншот рабочего стола, я стрелками указал что за пейджр имею ввиду.

http://www4.pic-upload.de/09.01.10/ikq7mm5yewbj.png

На твоих скриншотах они большие...

screen resolution стоит 1280-800.

экран 12 дюймов, и не могу больше сделать пейджер, неудобно..

sda комментирует...

пагер добавляю на десктоп (а не на "полку") при помощи "Gadgets Manager" и размер собсно меняется по правому щелчку мышки...