Automatic proxy configuration in dispatcher.d
- From: José Moyano <josehmoyano gmail com>
- To: networkmanager-list <networkmanager-list gnome org>
- Subject: Automatic proxy configuration in dispatcher.d
- Date: Wed, 21 Sep 2011 16:30:32 -0300
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é.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]