Hi, On Mon, Sep 20, 2004 at 04:43:21PM +0700, php-coder wrote: [...] > Тут недавно поднимался вопрос про IceWM и тему к ней. Я ответил > автору того топика, что для обновления меню менеджеров сессий нужно > использовать скрипт update_wms. Но сам я с ним не сталкивался и до > вчерашнего дня не знал как его использовать. Вчера же выбрал время, > изучил спек от Fluxbox-0.1.14, а также сам скрипт и в результате стал > чуточку умней ;)) Чтобы никому другому мой путь не проходить еще раз > я решил обобщить полученные мной знания, что вылилось в следующую пару > вопрос-ответ. Было бы конечно желательно, чтобы он был включен в > какую-нибудь доку для начинающих майнтейнеров ALTLinux'а, но даже если > этого и не произойдет, то ответ на этот вопрос можно будет всегда найти > на http://search.altlinux.ru, куда я и буду отныне всех посылать ;))) > Спасибо автору того вопроса, который и подтолкнул меня на это... Между прочим, текст выглядит правдоподобно, поэтому CC'ed docs@. > Q: Как сделать, чтобы устанавливаемый пакетом новый оконный менеджер > стал доступен в менеджере сессий? > > A: Каждый менеджер сессий имеет свой конфигурационный файл, в котором > перечислены все установленные оконные менеджеры. При запуске он читает > их из своего конфигурационного файла и отображает пользователю. Для > того чтобы облегчить труд майнтейнеров оконных менеджеров в ALT Linux > был создан и используется скрипт, который автоматически добавляет/удаляет > запись об оконном менеджере в конфигурационные файлы менеджеров сессий > (поддерживаются KDM, GDM и WDM). Этот скрипт находится в /usr/sbin и > называется update_wms. Для того чтобы его вызвать нужно в spec-файл > добавить следующую запись: > > ... > %post > %update_wms > ... > %postun > %clean_wms > ... > > Таким образом мы обеспечим вызов скрипта update_wms после установки > пакета, для того чтобы добавить запись о новом менеджере окон, и после > удаления пакета из системы, для того чтобы удалить запись о новом WM. > > Вся информация о свежеустановленном оконном менеджере должна находиться > в файле /etc/X11/wmsession.d/XY Вместо 'X' следует подставить приоритет > оконного менеджера, выраженный в числовой форме. Числа от 1 до 9 должны > также предваряться нулем. Вместо 'Y' укажите название оконного менеджера. > > Формат файла с информацией о WM следующий: > NAME=имя > Название менеджера окон > ICON=путь > Путь к иконке, используемой для отображения этого WM > DESC=описание > Небольшое описание этого оконного менеджера, которое поможет сомневающемуся пользователю > EXEC=путь > Путь к исполняемому файлу, вызываемому менеджером сессий > SCRIPT: > exec путь > __FIXME__: для чего нужен этот параметр? Этот параметр нужен для совместимости. > > Таким образом, чтобы информация о новом оконном менеджере стала известа > скрипту update_wms, мы должны добавить в наш spec-файл следующие строчки > (пример для Fluxbox): > > ... > %install > ... > %__mkdir_p %buildroot%_sysconfdir/X11/wmsession.d > %__cat >"%buildroot%_sysconfdir/X11/wmsession.d/07%name" <<__EOF__ > NAME=Fluxbox > ICON=%iconsdir/%name.xpm > DESC=Легкий и быстрый оконный менеджер Описание _на русском языке_ здесь использовать не стоит. > EXEC=%_x11bindir/%name > SCRIPT: > exec %_x11bindir/%name > __EOF__ > ... > %files > %config %_sysconfdir/X11/wmsession.d/* > ... > > Замечу также, что этот файл необязательно создавать в spec-файле. > Можно создать его отдельно и добавить в спек только следующие строчки: > > ... > SourceN: %name.wmsession > ... > %install > %__install -pD %SOURCEN %buildroot%_sysconfdir/X11/wmsession.d/07%name > ... > %files > %config %_sysconfdir/X11/wmsession.d > ... -- ldv