diff --git a/cura/OAuth2/AuthorizationService.py b/cura/OAuth2/AuthorizationService.py index cd28f5a73f..95ea47112e 100644 --- a/cura/OAuth2/AuthorizationService.py +++ b/cura/OAuth2/AuthorizationService.py @@ -166,24 +166,9 @@ class AuthorizationService: "code_challenge_method": "S512" }) - # GITHUB issue #6194: https://github.com/Ultimaker/Cura/issues/6194 - # With AppImage 2 on Linux, the current working directory will be somewhere in /tmp//usr, which is owned - # by root. For some reason, QDesktopServices.openUrl() requires to have a usable current working directory, - # otherwise it doesn't work. This is a workaround on Linux that before we call QDesktopServices.openUrl(), we - # switch to a directory where the user has the ownership. - old_work_dir = "" - if Platform.isLinux(): - # Change the working directory to user home - old_work_dir = os.getcwd() - os.chdir(os.path.expanduser("~")) - # Open the authorization page in a new browser window. QDesktopServices.openUrl(QUrl("{}?{}".format(self._auth_url, query_string))) - if Platform.isLinux(): - # Change the working directory back - os.chdir(old_work_dir) - # Start a local web server to receive the callback URL on. self._server.start(verification_code) diff --git a/cura_app.py b/cura_app.py index 3599f127cc..b2cd317243 100755 --- a/cura_app.py +++ b/cura_app.py @@ -60,6 +60,14 @@ if Platform.isWindows() and hasattr(sys, "frozen"): except KeyError: pass +# GITHUB issue #6194: https://github.com/Ultimaker/Cura/issues/6194 +# With AppImage 2 on Linux, the current working directory will be somewhere in /tmp//usr, which is owned +# by root. For some reason, QDesktopServices.openUrl() requires to have a usable current working directory, +# otherwise it doesn't work. This is a workaround on Linux that before we call QDesktopServices.openUrl(), we +# switch to a directory where the user has the ownership. +if Platform.isLinux() and hasattr(sys, "frozen"): + os.chdir(os.path.expanduser("~")) + # WORKAROUND: GITHUB-704 GITHUB-708 # It looks like setuptools creates a .pth file in # the default /usr/lib which causes the default site-packages