Hello Jose Moyano, "sudo" only works if run from a valid terminal. This may be the problem with your script.
2011/9/21 José Moyano <[email protected]> > Hi everybody, > > I write the following script to make network manager dispatcher to > change the proxy automagically based on site IP. > > #!/bin/sh > > IF=$1 > STATUS=$2 > > echo "-----------------------------------------------------------------" >> > \ > /var/log/autoproxy.log > > date >> /var/log/autoproxy.log > > echo "Configuring proxy..." >> /var/log/autoproxy.log > NETMASK=<somemask> > > if [ -n "`/sbin/ip addr show to $NETMASK`" ]; then > echo "Address with proxy detected..." >> /var/log/autoproxy.log > > PROXY_HOST="proxy.something.ar" > PROXY_PORT="8080" > > for user in "jose" > do > echo "Setting proxy for user $user" >> /var/log/autoproxy.log > > /usr/bin/sudo -u $user /usr/bin/gconftool-2 \ > --config-source=xml::/home/$user/.gconf --type string \ > --set /system/http_proxy/host $PROXY_HOST >> \ > /var/log/autoproxy.log > > /usr/bin/sudo -u $user /usr/bin/gconftool-2 \ > --config-source=xml::/home/$user/.gconf --type int \ > --set /system/http_proxy/port $PROXY_PORT >> \ > /var/log/autoproxy.log > > /usr/bin/sudo -u $user /usr/bin/gconftool-2 \ > --config-source=xml::/home/$user/.gconf --type bool \ > --set /system/http_proxy/use_same_proxy true >> \ > /var/log/autoproxy.log > > /usr/bin/sudo -u $user /usr/bin/gconftool-2 \ > --config-source=xml::/home/$user/.gconf --type bool \ > --set /system/http_proxy/use_http_proxy true >> \ > /var/log/autoproxy.log > > /usr/bin/sudo -u $user /usr/bin/gconftool-2 \ > --config-source=xml::/home/$user/.gconf --type string \ > --set /system/proxy/mode manual >> /var/log/autoproxy.log > done > else > echo "The address has no proxy known" >> /var/log/autoproxy.log > > # Clear proxy configuration for all users > for user in "jose" > do > /usr/bin/sudo -u $user /usr/bin/gconftool-2 \ > --config-source=xml::/home/$user/.gconf \ > --unset /system/http_proxy/host > > /usr/bin/sudo -u $user /usr/bin/gconftool-2 \ > --config-source=xml::/home/$user/.gconf \ > --unset /system/http_proxy/port > > /usr/bin/sudo -u $user /usr/bin/gconftool-2 \ > --config-source=xml::/home/$user/.gconf \ > --unset /system/http_proxy/use_same_proxy > > /usr/bin/sudo -u $user /usr/bin/gconftool-2 \ > --config-source=xml::/home/$user/.gconf \ > --unset /system/http_proxy/use_http_proxy > > /usr/bin/sudo -u $user /usr/bin/gconftool-2 \ > --config-source=xml::/home/$user/.gconf \ > --unset /system/proxy/mode > done > fi > > echo "Proxy configuration done" >> /var/log/autoproxy.log > > Funny thing, the script works if executed manually as root. When the > script is executed by network manager dispatcher, the calls to > gconftool-2 do nothing. The script is executed because all the log > printing can be seen in the /var/log/autoproxy.log file. I tried > adding other commands to the script, printing whoami (replies "root") > and everything seems to be fine. However, gconftool-2 has no effect in > the gnome configuration. > Does anyone know what can be the problem? > Thanks in advance! > > José. > _______________________________________________ > networkmanager-list mailing list > [email protected] > http://mail.gnome.org/mailman/listinfo/networkmanager-list >
_______________________________________________ networkmanager-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/networkmanager-list
