ProtonVPN / proton-vpn-gtk-app

Official ProtonVPN Linux app
https://protonvpn.com/download-linux
GNU General Public License v3.0
152 stars 20 forks source link

Fedora 40 Killswitch Problem #52

Closed onurbbr closed 13 hours ago

onurbbr commented 1 month ago

We are happy to answer your questions about the code or discuss technical ideas.

Please complete the following checklist (by adding [x]):


Distro: Fedora Linux 40 DE: KDE Plasma 6 Kernel: 6.8.9-300.fc40.x86_64

When I start proton-vpn-gtk-app from the terminal, I get an error about killswitch. The output is as follows:

Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/proton/vpn/killswitch/interface/killswitch.py", line 57, in get
    return Loader.get("killswitch", class_name=class_name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/proton/loader/loader.py", line 113, in get
    raise RuntimeError(f"Loader: couldn't find an acceptable implementation for {type_name}.")
RuntimeError: Loader: couldn't find an acceptable implementation for killswitch.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/bin/protonvpn-app", line 33, in <module>
    sys.exit(load_entry_point('proton-vpn-gtk-app==4.3.1', 'console_scripts', 'protonvpn-app')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/proton/vpn/app/gtk/__main__.py", line 34, in main
    controller = Controller.get(executor)
                 ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/proton/vpn/app/gtk/controller.py", line 59, in get
    executor.submit(controller.initialize_vpn_connector).result()
  File "/usr/lib64/python3.12/concurrent/futures/_base.py", line 456, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
  File "/usr/lib/python3.12/site-packages/proton/vpn/app/gtk/controller.py", line 99, in initialize_vpn_connector
    self._connector = await self._api.get_vpn_connector()
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/proton/vpn/core/api.py", line 56, in get_vpn_connector
    vpn_connector = await VPNConnector.get_instance(settings)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/proton/vpn/connection/vpnconnector.py", line 64, in get_instance
    cls._instance = VPNConnector(settings, kill_switch=kill_switch)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/proton/vpn/connection/vpnconnector.py", line 86, in __init__
    self._kill_switch = kill_switch or KillSwitch.get()()
                                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/proton/vpn/killswitch/interface/killswitch.py", line 59, in get
    raise MissingKillSwitchBackendDetails(excp) from excp
proton.vpn.killswitch.interface.exceptions.MissingKillSwitchBackendDetails: Loader: couldn't find an acceptable implementation for killswitch.
calexandru2018 commented 2 weeks ago

I assume you've installed only the proton-vpn-gtk-app and not the proton-vpn-gnome-desktop meta-package, as installing the meta-package brings in all dependencies and I'm myself running on F40 and it's working well (even with the experimental WireGuard package).