Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

closed - PR added unintentional commits, superseeded by #167 (fix: unable to ./docker-run.sh on Wayland) #162

Closed
wants to merge 6 commits into from

Conversation

rgon
Copy link

@rgon rgon commented Jun 5, 2024

The docker-run.sh command forwards the X11 sockets, but since all the environment variables say it's running on Wayland, the Qt platform runs expecting to be able to access it. As it can't, it errors out.

This patch overrides the XDG_SESSION_TYPE environment variable to x11, forcing xwayland usage on Wayland systems while keeping compatibility with x11.

Fixes #160

@fosterlynch
Copy link

hey @rgon thanks for creating a PR related to the issue I filed.
I tried checking out your branch and running ./docker-run.sh and I encountered an installation error

running ubuntu 20.04 (I see you're on 24.04)

Verified my XGD_SESSION_TYPE is x11

main error

{} rgonrmview git clone https://github.com/rgon/rmview.git                                                                                                                                                [123/123]
Cloning into 'rmview'...                                                                                                                                                                                           
remote: Enumerating objects: 1159, done.                                                                                                                                                                           
remote: Counting objects: 100% (319/319), done.                                                                                                                                                                    
remote: Compressing objects: 100% (82/82), done.                                                                                                                                                                   
remote: Total 1159 (delta 258), reused 257 (delta 227), pack-reused 840                                                                                                                                            
Receiving objects: 100% (1159/1159), 2.07 MiB | 7.83 MiB/s, done.                                                                                                                                                  
Resolving deltas: 100% (700/700), done.                                                                                                                                                                                                                                                                                                                                                                       
{} rgonrmview cd rmview                                                                                                                                                                                            
[vnc] {} r./docker-run.sh                                                                                                                                                                                          
non-network local connections being added to access control list                                                                                                                                                   
[+] Building 41.1s (11/11) FINISHED                                                                                                                                                                 docker:default 
 => [internal] load build definition from Dockerfile                                                                                                                                                          0.0s 
 => => transferring dockerfile: 366B                                                                                                                                                                          0.0s 
 => [internal] load metadata for docker.io/library/python:3.12-slim                                                                                                                                           6.2s 
 => [internal] load .dockerignore                                                                                                                                                                             0.0s 
 => => transferring context: 2B                                                                                                                                                                               0.0s 
 => [1/7] FROM docker.io/library/python:3.12-slim@sha256:740d94a19218c8dd584b92f804b1158f85b0d241e5215ea26ed2dcade2b9d138                                                                                     0.0s 
 => [internal] load build context                                                                                                                                                                             0.0s 
 => => transferring context: 1.44MB                                                                                                                                                                           0.0s 
 => CACHED [2/7] RUN apt-get update                                                                                                                                                                           0.0s 
 => CACHED [3/7] RUN apt-get install -y   libdbus-1-3   libfontconfig   libgl1-mesa-glx   libglib2.0-0   libxcb-icccm4   libxcb-image0   libxkbcommon-x11-0                                                   0.0s 
 => CACHED [4/7] RUN apt-get clean                                                                                                                                                                            0.0s 
 => CACHED [5/7] WORKDIR /rmview                                                                                                                                                                              0.0s 
 => CACHED [6/7] COPY pyproject.toml poetry.lock assets bin src README.md ./                                                                                                                                  0.0s 
 => ERROR [7/7] RUN pip install .[tunnel]                                                                                                                                                                    34.7s 
------                                                                                                                                                                                                             
 > [7/7] RUN pip install .[tunnel]:                                                                                                                                                                                
1.559 Processing /rmview                                                                                                                                                                                           
1.561   Installing build dependencies: started                                                                                                                                                                     
13.34   Installing build dependencies: finished with status 'done'                                                                                                                                                 
13.35   Getting requirements to build wheel: started                                                                                                                                                               
13.42   Getting requirements to build wheel: finished with status 'done'                                                                                                                                           
13.42   Preparing metadata (pyproject.toml): started                                                                                                                                                               
13.61   Preparing metadata (pyproject.toml): finished with status 'done'                                                                                                                                           
14.50 Collecting PyJWT<3.0.0,>=2.8.0 (from rmview==2024.6.2)                                                                                                                                                       
16.32   Downloading PyJWT-2.8.0-py3-none-any.whl.metadata (4.2 kB)                                                                                                                                                 
16.40 Collecting PyQt5==5.14.2 (from rmview==2024.6.2)                                                                                                                                                             
16.65   Downloading PyQt5-5.14.2-5.14.2-cp35.cp36.cp37.cp38-abi3-manylinux2014_x86_64.whl.metadata (2.1 kB)                                                                                                        
16.90 Collecting Twisted<25.0.0,>=24.3.0 (from Twisted[tls]<25.0.0,>=24.3.0->rmview==2024.6.2)                                                                                                                     
16.99   Downloading twisted-24.3.0-py3-none-any.whl.metadata (9.5 kB)                                                                                                                                              
17.34 Collecting cryptography<43.0.0,>=42.0.8 (from rmview==2024.6.2)                                                                                                                                              
17.44   Downloading cryptography-42.0.8-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (5.3 kB)                                                                                                                      
18.03 Collecting paramiko<4.0.0,>=3.4.0 (from rmview==2024.6.2)                                                                                                                                                    
18.11   Downloading paramiko-3.4.0-py3-none-any.whl.metadata (4.4 kB)                                                                                                                                              
18.28 Collecting PyQt5-sip<13,>=12.7 (from PyQt5==5.14.2->rmview==2024.6.2)                                                                                                                                        
18.29   Using cached PyQt5_sip-12.15.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (421 bytes)                                                                                                 
18.83 Collecting cffi>=1.12 (from cryptography<43.0.0,>=42.0.8->rmview==2024.6.2)                                                                                                                                  
19.27   Downloading cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)                                                                                                       
19.58 Collecting bcrypt>=3.2 (from paramiko<4.0.0,>=3.4.0->rmview==2024.6.2)                                                                                                                                       
19.72   Downloading bcrypt-4.2.0-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (9.6 kB)                                                                                                                             
20.17 Collecting pynacl>=1.5 (from paramiko<4.0.0,>=3.4.0->rmview==2024.6.2)                                                                                                                                       
20.27   Downloading PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl.metadata (8.6 kB)                                                                                  
20.45 Collecting attrs>=21.3.0 (from Twisted<25.0.0,>=24.3.0->Twisted[tls]<25.0.0,>=24.3.0->rmview==2024.6.2)  
21.15   Downloading attrs-23.2.0-py3-none-any.whl.metadata (9.5 kB)
21.30 Collecting automat>=0.8.0 (from Twisted<25.0.0,>=24.3.0->Twisted[tls]<25.0.0,>=24.3.0->rmview==2024.6.2)
21.77   Downloading Automat-22.10.0-py2.py3-none-any.whl.metadata (1.0 kB)
21.89 Collecting constantly>=15.1 (from Twisted<25.0.0,>=24.3.0->Twisted[tls]<25.0.0,>=24.3.0->rmview==2024.6.2)
22.07   Downloading constantly-23.10.4-py3-none-any.whl.metadata (1.8 kB)
22.28 Collecting hyperlink>=17.1.1 (from Twisted<25.0.0,>=24.3.0->Twisted[tls]<25.0.0,>=24.3.0->rmview==2024.6.2)
22.34   Downloading hyperlink-21.0.0-py2.py3-none-any.whl.metadata (1.5 kB)
22.45 Collecting incremental>=22.10.0 (from Twisted<25.0.0,>=24.3.0->Twisted[tls]<25.0.0,>=24.3.0->rmview==2024.6.2)
22.68   Downloading incremental-24.7.0-py3-none-any.whl.metadata (8.1 kB)
23.05 Collecting typing-extensions>=4.2.0 (from Twisted<25.0.0,>=24.3.0->Twisted[tls]<25.0.0,>=24.3.0->rmview==2024.6.2)
23.32   Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
23.55 Collecting zope-interface>=5 (from Twisted<25.0.0,>=24.3.0->Twisted[tls]<25.0.0,>=24.3.0->rmview==2024.6.2)
23.60   Downloading zope.interface-6.4.post2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (42 kB)
23.67      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.9/42.9 kB 581.7 kB/s eta 0:00:00
23.77 Collecting idna>=2.4 (from Twisted[tls]<25.0.0,>=24.3.0->rmview==2024.6.2)
24.02   Downloading idna-3.7-py3-none-any.whl.metadata (9.9 kB)
24.19 Collecting pyopenssl>=21.0.0 (from Twisted[tls]<25.0.0,>=24.3.0->rmview==2024.6.2)
24.24   Downloading pyOpenSSL-24.2.1-py3-none-any.whl.metadata (13 kB)
24.33 Collecting service-identity>=18.1.0 (from Twisted[tls]<25.0.0,>=24.3.0->rmview==2024.6.2)
24.37   Downloading service_identity-24.1.0-py3-none-any.whl.metadata (4.8 kB)
24.46 Collecting six (from automat>=0.8.0->Twisted<25.0.0,>=24.3.0->Twisted[tls]<25.0.0,>=24.3.0->rmview==2024.6.2)
24.52   Downloading six-1.16.0-py2.py3-none-any.whl.metadata (1.8 kB)
24.58 Collecting pycparser (from cffi>=1.12->cryptography<43.0.0,>=42.0.8->rmview==2024.6.2)
24.67   Downloading pycparser-2.22-py3-none-any.whl.metadata (943 bytes)
24.72 Requirement already satisfied: setuptools>=61.0 in /usr/local/lib/python3.12/site-packages (from incremental>=22.10.0->Twisted<25.0.0,>=24.3.0->Twisted[tls]<25.0.0,>=24.3.0->rmview==2024.6.2) (71.1.0)
25.26 Collecting pyasn1 (from service-identity>=18.1.0->Twisted[tls]<25.0.0,>=24.3.0->rmview==2024.6.2)
25.53   Downloading pyasn1-0.6.0-py2.py3-none-any.whl.metadata (8.3 kB)
25.65 Collecting pyasn1-modules (from service-identity>=18.1.0->Twisted[tls]<25.0.0,>=24.3.0->rmview==2024.6.2)
25.70   Downloading pyasn1_modules-0.4.0-py3-none-any.whl.metadata (3.4 kB)
25.85 Downloading PyQt5-5.14.2-5.14.2-cp35.cp36.cp37.cp38-abi3-manylinux2014_x86_64.whl (63.6 MB)
28.42    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.6/63.6 MB 23.4 MB/s eta 0:00:00
28.78 Downloading cryptography-42.0.8-cp39-abi3-manylinux_2_28_x86_64.whl (3.9 MB)
29.00    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.9/3.9 MB 17.9 MB/s eta 0:00:00
29.06 Downloading paramiko-3.4.0-py3-none-any.whl (225 kB)
29.10    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 225.9/225.9 kB 7.4 MB/s eta 0:00:00
29.14 Downloading PyJWT-2.8.0-py3-none-any.whl (22 kB)
29.69 Downloading twisted-24.3.0-py3-none-any.whl (3.2 MB)
29.92    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 13.5 MB/s eta 0:00:00
30.06 Downloading attrs-23.2.0-py3-none-any.whl (60 kB)
30.09    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.8/60.8 kB 1.9 MB/s eta 0:00:00
30.15 Downloading Automat-22.10.0-py2.py3-none-any.whl (26 kB)
30.23 Downloading bcrypt-4.2.0-cp39-abi3-manylinux_2_28_x86_64.whl (273 kB)
30.31    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 273.8/273.8 kB 3.5 MB/s eta 0:00:00
30.38 Downloading cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (477 kB)
30.43    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 477.6/477.6 kB 8.6 MB/s eta 0:00:00
30.49 Downloading constantly-23.10.4-py3-none-any.whl (13 kB)
30.57 Downloading hyperlink-21.0.0-py2.py3-none-any.whl (74 kB)
30.60    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 74.6/74.6 kB 2.1 MB/s eta 0:00:00
31.12 Downloading idna-3.7-py3-none-any.whl (66 kB)
31.15    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 66.8/66.8 kB 1.6 MB/s eta 0:00:00
31.21 Downloading incremental-24.7.0-py3-none-any.whl (19 kB)
31.79 Downloading PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (856 kB)
31.91    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 856.7/856.7 kB 7.2 MB/s eta 0:00:00
31.96 Downloading pyOpenSSL-24.2.1-py3-none-any.whl (58 kB)
31.99    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.4/58.4 kB 2.0 MB/s eta 0:00:00
31.99 Using cached PyQt5_sip-12.15.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.whl (281 kB)                                                                                                               
32.42 Downloading service_identity-24.1.0-py3-none-any.whl (12 kB)                                                                                                                                                 
32.50 Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)                                                                                                                                                
32.59 Downloading zope.interface-6.4.post2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (255 kB)                                                              
32.63    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 255.7/255.7 kB 6.9 MB/s eta 0:00:00                                                                                                                              
32.86 Downloading pyasn1-0.6.0-py2.py3-none-any.whl (85 kB)                                                                                                                                                        
32.89    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 85.3/85.3 kB 2.4 MB/s eta 0:00:00                                                                                                                                
33.06 Downloading pyasn1_modules-0.4.0-py3-none-any.whl (181 kB)                                                                                                                                                   
33.10    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 181.2/181.2 kB 5.1 MB/s eta 0:00:00                                                                                                                              
33.44 Downloading pycparser-2.22-py3-none-any.whl (117 kB)                                                                                                                                                         
33.48    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 117.6/117.6 kB 3.2 MB/s eta 0:00:00                                                                                                                              
33.91 Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)                                                                                                                                                          
34.03 Building wheels for collected packages: rmview                                                                                                                                                               
34.03   Building wheel for rmview (pyproject.toml): started
34.36   Building wheel for rmview (pyproject.toml): finished with status 'error'
34.37   error: subprocess-exited-with-error
34.37   
34.37   × Building wheel for rmview (pyproject.toml) did not run successfully.
34.37   │ exit code: 1
34.37   ╰─> [27 lines of output]
34.37       Traceback (most recent call last):
34.37         File "/rmview/setup.py", line 36, in <module>
34.37           from build import *
34.37       ModuleNotFoundError: No module named 'build'
34.37       Traceback (most recent call last):
34.37         File "/usr/local/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
34.37           main()
34.37         File "/usr/local/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
34.37           json_out['return_val'] = hook(**hook_input['kwargs'])
34.37                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
34.37         File "/usr/local/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
34.37           return _build_backend().build_wheel(wheel_directory, config_settings,
34.37                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
34.37         File "/tmp/pip-build-env-r62117f1/overlay/lib/python3.12/site-packages/poetry/core/masonry/api.py", line 58, in build_wheel
34.37           return WheelBuilder.make_in(
34.37                  ^^^^^^^^^^^^^^^^^^^^^
34.37         File "/tmp/pip-build-env-r62117f1/overlay/lib/python3.12/site-packages/poetry/core/masonry/builders/wheel.py", line 88, in make_in
34.37           wb.build(target_dir=directory)
34.37         File "/tmp/pip-build-env-r62117f1/overlay/lib/python3.12/site-packages/poetry/core/masonry/builders/wheel.py", line 121, in build
34.37           self._build(zip_file)
34.37         File "/tmp/pip-build-env-r62117f1/overlay/lib/python3.12/site-packages/poetry/core/masonry/builders/wheel.py", line 182, in _build
34.37           self._run_build_command(setup)
34.37         File "/tmp/pip-build-env-r62117f1/overlay/lib/python3.12/site-packages/poetry/core/masonry/builders/wheel.py", line 248, in _run_build_command
34.37           subprocess.check_call([
34.37         File "/usr/local/lib/python3.12/subprocess.py", line 413, in check_call
34.37           raise CalledProcessError(retcode, cmd)
34.37       subprocess.CalledProcessError: Command '['/usr/local/bin/python', '/rmview/setup.py', 'build', '-b', '/rmview/build', '--build-purelib', '/rmview/build/lib', '--build-platlib', '/rmview/build/lib.lin
ux-x86_64-cpython-312']' returned non-zero exit status 1.
34.37       [end of output]
34.37   
34.37   note: This error originates from a subprocess, and is likely not a problem with pip.
34.37   ERROR: Failed building wheel for rmview
34.37 Failed to build rmview
34.37 ERROR: Could not build wheels for rmview, which is required to install pyproject.toml-based projects
34.38 
34.38 [notice] A new release of pip is available: 24.0 -> 24.1.2
34.38 [notice] To update, run: pip install --upgrade pip
------
Dockerfile:15
--------------------
  13 |     WORKDIR /rmview
  14 |     COPY pyproject.toml poetry.lock assets bin src README.md ./
  15 | >>> RUN pip install .[tunnel]
  16 |     
  17 |     CMD rmview
--------------------
ERROR: failed to solve: process "/bin/sh -c pip install .[tunnel]" did not complete successfully: exit code: 1 

additional info
docker info

Client: Docker Engine - Community
 Version:    26.0.1
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.13.1
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.26.1
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 143
  Running: 0
  Paused: 0
  Stopped: 143
 Images: 168
 Server Version: 26.0.1
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 nvidia runc
 Default Runtime: nvidia
 Init Binary: docker-init
 containerd version: e377cd56a71523140ca6ae87e30244719194a521
 runc version: v1.1.12-0-g51d5e94
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: builtin
 Kernel Version: 5.15.0-116-generic
 Operating System: Ubuntu 20.04.6 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 16
 Total Memory: 31.05GiB
 Name: 76383lx
 ID: f3065bf7-6a51-4a6c-8ab5-59d30ce98a67
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

@rgon rgon changed the title fix: unable to ./docker-run.sh on Wayland closed - PR added unintentional commits, superseeded by #167 (fix: unable to ./docker-run.sh on Wayland) Jul 30, 2024
@rgon
Copy link
Author

rgon commented Jul 30, 2024

@fosterlynch Thanks for the heads up! It's fixed now, you may git pull.

Sorry, big oops on my part. I kept committing to my fork's :vnc branch forgetting the PR was still open, so those got updated, with the breaking changes you experienced.

My original rgon/rmview :vnc branch is now fixed, and contains a couple of changes from which I have submitted PRs (namely Ed SSH Key support, and a migration to poetry as a dependency management system, to avoid issues such as this one).

However, the fix for this specific problem was in commit 40316f5 of my branch. I have cherry picked it and separated it for a new PR. I am now closing this PR, please refer to this new, properly created PR, so @bordaigorl can merge it without side effects . My fault!

#167

@rgon rgon closed this Jul 30, 2024
@fosterlynch
Copy link

hey @rgon no problem at all! I was curious about some of the changes in the original PR so it makes sense now why they were there! I am pulling now and will follow up shortly if it works!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

libGL error: MESA-LOADER: failed to retrieve device information
2 participants