[sisyphus] Сумма грабель FAM (Was: Обновление меню Гнома на лету)
Alexey Rusakov
=?iso-8859-1?q?ktirf_=CE=C1_altlinux=2Eru?=
Сб Апр 30 04:05:26 MSD 2005
Alexey Rusakov wrote:
>On 29.04.2005 16:30, Michael Shigorin wrote:
>
>
>>On Thu, Apr 21, 2005 at 04:48:05PM +0400, Alexey Rusakov wrote:
>>
>>
>>>>>Помнится, в Гноме 2.8 после прокатывания update-menus -n изменения тут
>>>>>же подхватывались без перезапуска Гнома. В 2.10, которому файлы из
>>>>>/usr/lib/menus по большому барабану, и который признаёт только
>>>>>/usr/share/applications, просто подкладывание туда *.desktop не
>>>>>проходит, и надо перезапускать Гном, что, согласитесь, не удобно. Может
>>>>>быть, можно как-нибудь дрюкнуть Гнома, чтобы он свежие файлы в
>>>>>/usr/share/applications влёт подхватил и обновил меню без перезапуска?
>>>>>
>>>>>
>>>>$ sudo grep disable /etc/xinetd.d/sgi_fam
>>>> disable = no
>>>>
>>>>
>>>Сюда ещё следует добавить, что на машине должен стоять пакет fam.
>>>
>>>
>>Знатоки, а на wiki забросите? :)
>>
>>
>Сначала у меня пусть дойдут руки проверить, почему оно даже при наличии
>запущенного fam не спешит меню обновлять. Заодно грабельку
>задокументирую, если найду.
>
>
Грабелька действительно нашлась. Я, видимо, один из немногих оригиналов,
у которых не стоит portmap, благодаря чему и получил. Сумму грабель
привожу ниже (на wiki стоит писать, имхо, после обсуждения):
1. gnome-vfs2 зависит лишь от libfam, но не от fam. Понятное дело, без
fam изменения файлов на лету ловиться не будут. Судя по Гуглу,
изначально избавление от этой зависимости было связано с желанием
независимости от portmap, который вроде бы нужен fam'у (почему вроде бы
- см. пункт 2). Собственно, грабля номер раз состоит в том, что фича с
подхватыванием изменений заблокирована дважды: во-первых, по
зависимостям не вытаскивается fam, а во-вторых, в конфиге самого fam по
умолчанию стоит disable = yes, с очевидными последствиями. Я, конечно,
понимаю: xinetd, portmap, RPC - но мне кажется, меры безопасности слегка
преувеличены.
2. Но это оказалось не всё. Судя по Гуглу, отвязать fam от portmap можно
(ценой ограничения функциональности, как я понял), однако в Debian
(например) отвязыванием заниматься не стали. Мне неизвестно, способен ли
наш fam работать без portmap. Но вторая, гораздо менее очевидная грабля,
состоит в том, что в нашей конфигурации по умолчанию fam без portmap не
запускается, при этом у fam в зависимостях нет portmap!
Итого, для автоматического подхватывания изменений в GNOME нужно:
1. Проверить, что установлен portmap
2. Проверить, что установлен fam
3. Поставить disable = no в /etc/xinetd.d/sgi_fam
4. Перезапустить xinetd и перевойти в GNOME.
Мне кажется, что два первых пункта излишни. От portmap надо либо
избавиться, либо прописать его в зависимости. Зависимость gnome-vfs2 на
fam я бы прописал в любом случае (а то от hal мы, значит, зависим, а от
гораздо более лёгкого и нестрашного fam...). Параноики могут не включать
sgi_fam, однако лично мне кажется, что по умолчанию держать fam можно и
включённым, при этом в /etc/fam.conf установить local_only=true.
P.S. А кстати, если писать на Вики - у нас уже есть страничка про
подобные неприятности?
--
Alexey "Ktirf" Rusakov
Подробная информация о списке рассылки Sisyphus