This is mainly a rant post.
I have to use Zscaler on my work PC. I use Sway (Moved from Gnome -> i3 -> sway).
Whenever Zscaler is launched, I used to get a weird error “proxy server not found” but it continued to work otherwise. Now at my company, we used a proxy at one time but we shifted to a no-proxy connection recently.
So I checked all my environment variables, output of set
command. Everything was fine. People said it could be because of some weird compliance issue, or kernel etc etc. After a week or so, I gave up on debugging it because most of my work was fine with the 50% functional Zscaler.
One day, I opened Gnome instead of Sway to check something else, and saw that my proxy was on. This is the proxy set in Gnome Settings, not environment file.
I initially dismissed this finding because I thought Gnome is not active during sway so it should not affect it. But then i remembered it’s possible to access the gnome settings using gsettings
from any distro.
I switched to Sway, and sure enough, when I ran gsettings get org.gnome.system.proxy.http host
, I could see the proxy IP.
I set it to null and behold! Zscaler was working perfectly.
I’m like “Who the hell designs software like this? The application should read the environment variables, not Gnome variables!”
Anyway, this was just a reminder to software makers to kindly follow the norms. Don’t design your software for one Distro. Follow the guidelines as mentioned in freedesktop.
Firstly, I agree with your main point.
Just an open thought: I wonder if zscalar are using settings in a heirarchy, ie if no env var is set, then check Gnome - just in case the user’s only making changes there…? Dunno…
That is a good point. But I remember launching the application from the terminal where I explicitly set the env variables as null. Still it didn’t work.
That’s kindof the opposite of what the previous commenter said. Have you tried explicitely setting the env var to a value different than what’s in gsettings?
What env var are we talking about btw?
And what freedesktop spec? AFAIK they do not deal much in env vars apart from XDG_*