What Happened?
Elementary apps like Web (i.e., Epiphany) should use the network proxy configured with switchboard, but they currently do not. I can verify this as follows:
> dbus-send --print-reply --dest=org.freedesktop.portal.Desktop /org/freedesktop/portal/desktop org.freedesktop.portal.ProxyResolver.Lookup string:https://example.com
method return time=1753364121.042409 sender=:1.60 -> destination=:1.120 serial=242 reply_serial=2
array [
string "direct://"
]
Meaning: No proxy is in use. The reason is in the implementation of the ProxyResolver portal within the xdg-desktop-portal service. It uses libproxy to determine the proxy configuration. libproxy however only reads the configuration from Dconf, when the XDG_CURRENT_DESKTOP variable is set to GNOME. For elementary OS, this variable is set to Pantheon, so libproxy will not use the configuration.
The proper long-term has been filed upstream with libproxy.
As an immediate workaround, I suggest to amend the entry DesktopNames in /usr/share/wayland-sessions/pantheon-wayland.desktop and /usr/share/xsessions/pantheon.desktop from Pantheon to Pantheon;GNOME. This causes XDG_CURRENT_DESKTOP to contain GNOME and libproxy will happily use the network proxy configuration.
Steps to Reproduce
- open switchboard, navigate to the network module, navigate to the proxy settings
- enable manual proxy configuration, enter localhost, port 9050
- open terminal and test proxy settings using the above DBus command
Expected Behavior
The DBus response from the ProxyResolver portal should show the SOCKS proxy being used.
OS Version
8.x (Circe)
OS Architecture
arm64 (on Raspberry Pi, Apple Silicon, etc.)
Session Type
Secure Session (Wayland)
Software Version
Latest release (I have run all updates)
What Happened?
Elementary apps like Web (i.e., Epiphany) should use the network proxy configured with switchboard, but they currently do not. I can verify this as follows:
Meaning: No proxy is in use. The reason is in the implementation of the
ProxyResolverportal within thexdg-desktop-portalservice. It useslibproxyto determine the proxy configuration.libproxyhowever only reads the configuration from Dconf, when theXDG_CURRENT_DESKTOPvariable is set toGNOME. For elementary OS, this variable is set toPantheon, solibproxywill not use the configuration.The proper long-term has been filed upstream with
libproxy.As an immediate workaround, I suggest to amend the entry
DesktopNamesin/usr/share/wayland-sessions/pantheon-wayland.desktopand/usr/share/xsessions/pantheon.desktopfromPantheontoPantheon;GNOME. This causesXDG_CURRENT_DESKTOPto containGNOMEandlibproxywill happily use the network proxy configuration.Steps to Reproduce
Expected Behavior
The DBus response from the
ProxyResolverportal should show the SOCKS proxy being used.OS Version
8.x (Circe)
OS Architecture
arm64 (on Raspberry Pi, Apple Silicon, etc.)
Session Type
Secure Session (Wayland)
Software Version
Latest release (I have run all updates)