From 7797912cc0d9728b5a24c3000eb7f5d8ccd20a7c Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Sat, 30 Mar 2024 07:02:56 +0100 Subject: [PATCH] refactor: co-locate code for tiger's unix socket initialization No change, just relocates code. --- jupyter_remote_desktop_proxy/setup_websockify.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/jupyter_remote_desktop_proxy/setup_websockify.py b/jupyter_remote_desktop_proxy/setup_websockify.py index 51a77370..7cdbd07b 100644 --- a/jupyter_remote_desktop_proxy/setup_websockify.py +++ b/jupyter_remote_desktop_proxy/setup_websockify.py @@ -7,18 +7,12 @@ def setup_websockify(): - # make a secure temporary directory for sockets - # This is only readable, writeable & searchable by our uid - sockets_dir = tempfile.mkdtemp() - sockets_path = os.path.join(sockets_dir, 'vnc-socket') vncserver = which('vncserver') - if not vncserver: raise RuntimeError( "vncserver executable not found, please install a VNC server" ) - # TigerVNC provides the option to connect a Unix socket. TurboVNC does not. # TurboVNC and TigerVNC share the same origin and both use a Perl script # as the executable vncserver. We can determine if vncserver is TigerVNC # by searching tigervnc string in the Perl script. @@ -34,6 +28,12 @@ def setup_websockify(): is_tigervnc = "tigervnc" in vncserver_file.read().casefold() if is_tigervnc: + # Make a secure temporary directory for sockets that is only readable, + # writeable, and searchable by our uid - TigerVNC can listen to a Unix + # socket! + sockets_dir = tempfile.mkdtemp() + sockets_path = os.path.join(sockets_dir, 'vnc-socket') + websockify_args = ['--unix-target', sockets_path] vnc_args = [vncserver, '-rfbunixpath', sockets_path] else: