GConf + Mandatory/Defaults
by Rafael Prenholato
Olá, pessoal!
Estou enfrentando esse pequeno problema que parece fugir à documentação
disposta no link:
http://library.gnome.org/admin/system-admin-guide/stable/gconf-0.html.pt
Estou tentando definir algumas poucas preferências do Gnome de modo que
todos os usuários as herdem. Para isso aconselha-se o uso do
*gconftool-2* sobre
o repositório gconf */etc/gconf/gconf.xml.mandatory* e/ou *
/etc/gconf/gconf.xml.defaults*, dependendo do propósito do administrador.
No entanto, aplicação de qualquer regra que segua, de primeiro momento por
não dar erro algum, parece ser atribuída com sucesso, mas quando se efetua
o logon com algum usuário a nova regra aplicada a qualquer repositório não
surte efeito. Abaixo um exemplo de como estou construindo a linha para a
aplicação da regra:
# gconftool-2 --direct --config-source
xml:readwrite:/etc/gconf/gconf.xml.mandatory --type bool --set
/system/http_proxy/use_http_proxy false
*
*
Que simplesmente desabilita o uso de um servidor proxy e, nesse caso,
impede que o usuário altere essa opção por ter sido aplicada ao repositório
mandatório.
Nas diversas tentativas, gerei um pequeno script pra fazer testes e ver se
consigo achar o caminho do sucesso para isso. Segue ele abaixo:
#!/bin/bash
gconf2='gconftool-2'
repos=('--direct --config-source
xml:readwrite:/etc/gconf/gconf.xml.mandatory'
'--direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults')
confs=('--type bool --set /apps/gdm/simple-greeter/disable_user_list true'
'--type bool --set /apps/panel/global/disable_lock_screen false'
'--type string --set /desktop/gnome/interface/icon_theme Fedora'
'--type bool --set /apps/gnome-screensaver/user_switch_enabled false'
'--type bool --set /desktop/gnome/screensaver/logout_enabled true'
'--type string --set /desktop/gnome/applications/browser/exec google-chrome'
'--type string --set /desktop/gnome/applications/media/exec vlc'
'--type string --set /desktop/gnome/background/picture_filename
/usr/share/backgrounds/background.png'
'--type string --set /desktop/gnome/interface/icon_theme Fedora'
'--type bool --set /desktop/gnome/lockdown/disable_command_line false'
'--type bool --set /desktop/gnome/lockdown/disable_lock_screen false'
'--type bool --set /desktop/gnome/lockdown/disable_user_switching true'
'--type bool --set /system/http_proxy/use_http_proxy false'
'--type bool --set /apps/gdm/simple-greeter/disable_user_list true'
'--type list --list-type string --set /org/gnome/shell/favorite-apps
["google-chrome.desktop","firefox.desktop","gnome-terminal.desktop","nautilus.desktop","anjuta.desktop","eclipse.desktop","netbeans.desktop","libreoffice-writer.desktop","libreoffice-calc.desktop","libreoffice-impress.desktop"]')
i=0
j=0
while [ "$j" -lt "${#repos[*]}" ] ; do
while [ "$i" -lt "${#confs[*]}" ] ; do
if $gconf2 ${repos[$j]} ${confs[$i]}
then
echo -n -e "OK: "
else
echo -n -e "ERRO: "
fi
echo ${repos[$j]} ${confs[$i]}
i=`expr $i + 1`
done
i=0
j=`expr $j + 1`
done
exit 0
Só pra constar, meu */etc/gconf/2/path* tem como primeiro repositório o *
/etc/gconf/gconf.xml.mandatory* e, como segundo, o *
/etc/gconf/gconf.xml.defaults*.
Alguém sabe me dizer se é um erro meu ou se os tratos com o GConf estão
meio disformes e realmente não surte efeito?
Abraços.
*Rafael Prenholato*
*Estudante de Tecnologia em Análise e Desenvolvimento de Sistemas - IFSP
Campus São Carlos*
*Técnico em Informática no Instituto de Ciências Matemáticas e de
Computação - USP*
*
*
11 years, 9 months