From: php-coder <php-coder@ngs.ru> To: community@altlinux.ru Subject: [Comm] Q/A: %update_wms Date: Mon, 20 Sep 2004 16:43:21 +0700 Message-ID: <1531290369.20040920164321@ngs.ru> (raw) 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
next reply other threads:[~2004-09-20 9:43 UTC|newest] Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top 2004-09-20 9:43 php-coder [this message] 2004-09-20 10:06 ` Dmitry V. Levin 2004-09-20 10:34 ` Re[2]: " php-coder
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1531290369.20040920164321@ngs.ru \ --to=php-coder@ngs.ru \ --cc=community@altlinux.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Community general discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 community community/ http://lore.altlinux.org/community \ mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com public-inbox-index community Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.community AGPL code for this site: git clone https://public-inbox.org/public-inbox.git