From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 20 Sep 2004 16:43:21 +0700 From: php-coder X-Mailer: The Bat! (v1.61) X-Priority: 3 (Normal) Message-ID: <1531290369.20040920164321@ngs.ru> To: community@altlinux.ru MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit Subject: [Comm] Q/A: %update_wms X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: community@altlinux.ru List-Id: Mailing list for ALT Linux users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Sep 2004 09:41:59 -0000 Archived-At: List-Archive: List-Post: 0000100101011110100100101::20.09.2004::0110001001001000100111100100010 Привет, Linuxоиды! Тут недавно поднимался вопрос про IceWM и тему к ней. Я ответил автору того топика, что для обновления меню менеджеров сессий нужно использовать скрипт update_wms. Но сам я с ним не сталкивался и до вчерашнего дня не знал как его использовать. Вчера же выбрал время, изучил спек от Fluxbox-0.1.14, а также сам скрипт и в результате стал чуточку умней ;)) Чтобы никому другому мой путь не проходить еще раз я решил обобщить полученные мной знания, что вылилось в следующую пару вопрос-ответ. Было бы конечно желательно, чтобы он был включен в какую-нибудь доку для начинающих майнтейнеров ALTLinux'а, но даже если этого и не произойдет, то ответ на этот вопрос можно будет всегда найти на http://search.altlinux.ru, куда я и буду отныне всех посылать ;))) Спасибо автору того вопроса, который и подтолкнул меня на это... 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 ... P.S. Осталось мне только узнать, как сделать, чтобы во Fluxbox использовалось системное меню... Может кто подскажет где рыть и что читать? THX Good luck! -- С уважением, php-coder (mailto:php-coder[at]ngs[dot]ru) Registered Linux User #327594 ALT Linux Master 2.2 (kernel 2.4.27) 010010010010010001010101100::Linux RuleZz!::10001001000100010001000111