This works as designed - proxy settings are environment variables and as it is not trivial to update the environment of already running process e.g. your desktop session, you need either to relogin or reboot. Yast writes proxy settings into /etc/sysconfig/proxy file and it is the login script (profile.sh) executed upon new login, that reads them and exports them.
ok but why does it work in one direction? No proxy changing to proxy is working immediately but proxy changing to no proxy needs a relogin?
In neither case should it work immediately :) Relogin is really needed in general situation. YaST package management (which uses libzypp media backend, which in turn uses libcurl) is however somehow special in this aspect. It reads /etc/sysconfig/proxy and also /root/.curlrc directly, therefore no_proxy -> proxy change is visible to YaST immediately. The change in opposite direction (proxy -> no_proxy) should clear /root/.curlrc file and disable proxy in sysconfig, but $http_proxy variable might still be set and I'm not sure whether libcurl actually does not prefer the environment to the configuration files. Anyway, CCing Jano (libzypp media backend fellow), he knows better :) B. -- \\\\\ Katarina Machalkova \\\\\\\__o YaST developer __\\\\\\\'/_ & hedgehog painter