Xpra-org / xpra-html5

HTML5 client for Xpra
Mozilla Public License 2.0
209 stars 55 forks source link

Copy and Paste does not work properly via Xpra, it just copies plain text instead of the formatted text #273

Closed mykeebot closed 8 months ago

mykeebot commented 9 months ago

Describe the bug Copy and Paste does not work properly via Xpra, it just copies plain text instead of the formatted text

System Information:

Server OS: Rocky Linux release 8.8 (Green Obsidian) Client OS: Windows 10 Home 22H2 Xpra Client Version: 9.0 Xpra Server Version....

[company@iqlr8vm ~]$ rpm -qa | grep xpra
xpra-codecs-5.0.2-10.r0.el8.x86_64
xpra-common-5.0.2-10.r0.el8.x86_64
xpra-audio-5.0.2-10.r0.el8.x86_64
xpra-server-5.0.2-10.r0.el8.x86_64
xpra-html5-9.0-1.r1481.el8.noarch
xpra-client-5.0.2-10.r0.el8.x86_64
xorg-x11-drv-dummy-0.4.1-1.xpra1.el8.x86_64
xpra-codecs-nvidia-5.0.2-10.r0.el8.x86_64
xpra-client-gtk3-5.0.2-10.r0.el8.x86_64
xpra-x11-5.0.2-10.r0.el8.x86_64
xpra-5.0.2-10.r0.el8.x86_64

I have a Rocky 8 VM where our software is sitting and we can access it via Xpra, it works well. My problem is that it seems Xpra ruins somehow the formatted text what I would like to copy from the server (Xpra) to my notebook (windows client) to Excel.

This is the table what I would like to copy...

ScreenShot_16087

...and it looks as follows if I copy this straight from the Virtual Machine to my Excel sheet...

ScreenShot_16088

As you can see above, it kept the formatting. And this is how it looks if I copy the same info from a browser from Xpra...

ScreenShot_16089

ScreenShot_16090

As you can see it just copies the plain text, however I would need the formatted text.

Could you please let me know if there is any solution for my problem?

Many thanks in advance, Mike

totaam commented 9 months ago

Please run both client and server with -d clipboard

5.0.2 is old

v9 does not exist.

mykeebot commented 9 months ago

Many thanks for the quick answer! Should I add this parameter to the xpra.conf file? Or the xpra.service should contain this? Could you please send me the exact syntax?

Many thanks in advance, Mike

totaam commented 9 months ago

I believe this ticket should be moved to the https://github.com/Xpra-org/xpra-html5 project since the screenshot and the "v9" specified seem to indicate that this is the type of client used. Please try with the python client first to verify that the problem is specific to the html5 client.

mykeebot commented 9 months ago

Hello @totaam,

I was following the instructions in the xpra-html5 project...

ScreenShot_16096

...and start the application like that...

ScreenShot_16095

...but it still copies just plain text from the browser to my excel sheet...

ScreenShot_16094

Did I miss something? Should I add somewhere the -d clipboard parameter?

Thanks, Mike

totaam commented 9 months ago

@mykeebot as per my previous comment, try the python client so that we can figure out if the mimetype required can be handled by the server. My guess is that the html5 client does not handle it: https://github.com/Xpra-org/xpra-html5/blob/52742e3f78fee5c098778f68094f7c58e603f22a/html5/js/Client.js#L275

mykeebot commented 9 months ago

Thank you @totaam. Is there any detailed description about how can I use the python client? Sorry if that's too obvious, but I'm not sure if I fully understand this request.

totaam commented 9 months ago

xpra attach tcp://192.168.1.30:10000/

mykeebot commented 9 months ago

Thanks for the input. I can execute the command with my OS user, but I get this...

ScreenShot_16102

[comsearch@iqlr8vm ~]$ xpra attach tcp://192.168.1.30:10000/
2023-12-14 13:53:24,218 Xpra GTK3 X11 client version 5.0.2-r0
2023-12-14 13:53:24,242  running on Linux Rocky Linux 8.8 Green Obsidian
2023-12-14 13:53:24,243  window manager is 'GNOME Shell'
2023-12-14 13:53:26,440 GStreamer version 1.16.1
2023-12-14 13:53:26,638 Warning: cannot create socket '/run/user/1000/xpra/clients/iqlr8vm-5502':
2023-12-14 13:53:26,639  [Errno 13] Permission denied
2023-12-14 13:53:26,639  ($XDG_RUNTIME_DIR has not been created?)
2023-12-14 13:53:26,807 OpenGL_accelerate module loaded
2023-12-14 13:53:26,815 Using accelerated ArrayDatatype
2023-12-14 13:53:27,224 OpenGL enabled on 'llvmpipe (LLVM 15.0.0, 256 bits)'
failed to connect to 192.168.1.30:10000, retrying for 20 seconds
Warning: failed to connect:
 failed to connect to tcp socket 192.168.1.30:10000

If I set the clients folder permission to 777 it does not work neither, because it's expecting 700. I have added my OS user to the root group, but still getting the issue if the clients folder permission is 700.

Thanks, Mike

totaam commented 9 months ago

You can ignore the warnings about permissions, these are not fatal.

I have added my OS user to the root group

Probably not a good idea.

Are you sure that your server is on 192.168.1.30:10000 ? Because the client says: failed to connect to tcp socket 192.168.1.30:10000

mykeebot commented 9 months ago

It's just a test Rocky 8 virtual machine on my notebook, so it does not hurt to add the OS user to the root group :)

Ah okay, now it's a bit better. I did not execute the xpra start command before xpra attach. It looks as follows now...

[comsearch@iqlr8vm ~]$ xpra start --start=xterm --bind-tcp=192.168.1.30:10000
using systemd-run to wrap 'seamless' xpra server subcommand
Running scope as unit: run-r30325e37afd949d580f0c3d49e21cfd1.scope
[comsearch@iqlr8vm ~]$ Entering daemon mode; any further errors will be reported to:
  '/run/user/1000/xpra/S6540/server.log'
Actual display used: :0
Actual log file name is now: '/run/user/1000/xpra/0/server.log'

[comsearch@iqlr8vm ~]$ xpra attach tcp://192.168.1.30:10000/
2023-12-14 14:50:24,964 Xpra GTK3 X11 client version 5.0.2-r0
2023-12-14 14:50:25,006  running on Linux Rocky Linux 8.8 Green Obsidian
2023-12-14 14:50:25,007  window manager is 'GNOME Shell'
2023-12-14 14:50:27,039 GStreamer version 1.16.1
2023-12-14 14:50:27,207 Warning: cannot create socket '/run/user/1000/xpra/clients/iqlr8vm-6881':
2023-12-14 14:50:27,207  [Errno 13] Permission denied
2023-12-14 14:50:27,207  ($XDG_RUNTIME_DIR has not been created?)
2023-12-14 14:50:27,370 OpenGL_accelerate module loaded
2023-12-14 14:50:27,377 Using accelerated ArrayDatatype
2023-12-14 14:50:27,832 OpenGL enabled on 'llvmpipe (LLVM 15.0.0, 256 bits)'
2023-12-14 14:50:27,879  keyboard settings: rules=evdev, model=pc105, layout=us,us
2023-12-14 14:50:27,885  desktop size is 1920x986:
2023-12-14 14:50:27,886   :1.0 (508x260 mm - DPI: 96x96) workarea: 1920x920  at    0x28  
2023-12-14 14:50:27,886     Virtual1         (508x261 mm)
2023-12-14 14:50:28,045 upgrading tcp socket: 192.168.1.30:13912 <- 192.168.1.30:10000 to ssl
2023-12-14 14:50:28,159 Connection failed

ScreenShot_16104

Because of some reason it's still Connection failed.

totaam commented 9 months ago

upgrading tcp socket: ... to ssl Connection failed

The cause of this failure is in your server log. My guess is that your ssl certificates probably are invalid or cannot be verified. If that's the case, run with XPRA_SSL_UPGRADE=0 xpra attach ...

mykeebot commented 9 months ago

Many thanks for your suggestion @totaam. In this case I get a timeout error...

[comsearch@iqlr8vm ~]$ XPRA_SSL_UPGRADE=0 xpra attach tcp://192.168.1.30:10000/
2023-12-14 15:41:08,571 Xpra GTK3 X11 client version 5.0.2-r0
2023-12-14 15:41:08,627  running on Linux Rocky Linux 8.8 Green Obsidian
2023-12-14 15:41:08,628  window manager is 'GNOME Shell'
2023-12-14 15:41:10,434 GStreamer version 1.16.1
2023-12-14 15:41:10,669 created unix domain socket '/run/user/1000/xpra/clients/iqlr8vm-4214'
2023-12-14 15:41:10,865 OpenGL_accelerate module loaded
2023-12-14 15:41:10,871 Using accelerated ArrayDatatype
2023-12-14 15:41:11,336 OpenGL enabled on 'llvmpipe (LLVM 15.0.0, 256 bits)'
2023-12-14 15:41:11,370  keyboard settings: rules=evdev, model=pc105, layout=us,us
2023-12-14 15:41:11,380  desktop size is 1920x986:
2023-12-14 15:41:11,381   :0.0 (508x260 mm - DPI: 96x96) workarea: 1920x920  at    0x28  
2023-12-14 15:41:11,381     Virtual1         (508x261 mm)
2023-12-14 15:41:11,574 unknown packet type: ssl-upgrade
2023-12-14 15:41:32,501 Connection failed: disconnected before the session could be established
2023-12-14 15:41:32,502  ConnectionMessage.LOGIN_TIMEOUT
2023-12-14 15:41:32,559 removing unix domain socket '/run/user/1000/xpra/clients/iqlr8vm-4214'
2023-12-14 15:41:32,560 Warning: server connection failure:
2023-12-14 15:41:32,560  Connection failed: disconnected before the session could be established
2023-12-14 15:41:32,560  ConnectionMessage.LOGIN_TIMEOUT

ScreenShot_16106

...and I have this in the server log...

Dec 14 15:39:10 iqlr8vm org.gnome.Shell.desktop[2871]: Window manager warning: Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0x2a00003
Dec 14 15:39:38 iqlr8vm dbus-daemon[1017]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.549' (uid=0 pid=4111 comm="su - root ")
Dec 14 15:39:38 iqlr8vm systemd[1]: Starting Fingerprint Authentication Daemon...
Dec 14 15:39:39 iqlr8vm dbus-daemon[1017]: [system] Successfully activated service 'net.reactivated.Fprint'
Dec 14 15:39:39 iqlr8vm systemd[1]: Started Fingerprint Authentication Daemon.
Dec 14 15:39:41 iqlr8vm su[4111]: (to root) comsearch on pts/0
Dec 14 15:40:09 iqlr8vm systemd[1]: Starting system activity accounting tool...
Dec 14 15:40:09 iqlr8vm systemd[1]: fprintd.service: Succeeded.
Dec 14 15:40:09 iqlr8vm systemd[1]: sysstat-collect.service: Succeeded.
Dec 14 15:40:09 iqlr8vm systemd[1]: Started system activity accounting tool.
Dec 14 15:40:21 iqlr8vm xpra[1293]: 2023-12-14 15:40:21,671 No valid client connections for 300 seconds, exiting the server
Dec 14 15:40:21 iqlr8vm xpra[1293]: 2023-12-14 15:40:21,672 Proxy Server process ended
Dec 14 15:40:21 iqlr8vm xpra[1293]: 2023-12-14 15:40:21,773 closing sd listen socket [::]:14500
Dec 14 15:40:21 iqlr8vm xpra[1293]: 2023-12-14 15:40:21,773 closing sd listen socket /run/xpra/system
Dec 14 15:40:21 iqlr8vm systemd[1]: xpra.service: Succeeded.
Dec 14 15:41:00 iqlr8vm dbus-daemon[1017]: [system] Activating via systemd: service name='org.freedesktop.timedate1' unit='dbus-org.freedesktop.timedate1.service' requested by ':1.553' (uid=1000 pid=4185 comm="timedatectl ")
Dec 14 15:41:00 iqlr8vm systemd[1]: Starting System clock and RTC settings service...
Dec 14 15:41:00 iqlr8vm dbus-daemon[1017]: [system] Successfully activated service 'org.freedesktop.timedate1'
Dec 14 15:41:00 iqlr8vm systemd[1]: Started System clock and RTC settings service.
Dec 14 15:41:04 iqlr8vm dbus-daemon[1017]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.555' (uid=0 pid=4196 comm="su - root ")
Dec 14 15:41:04 iqlr8vm systemd[1]: Starting Fingerprint Authentication Daemon...
Dec 14 15:41:04 iqlr8vm dbus-daemon[1017]: [system] Successfully activated service 'net.reactivated.Fprint'
Dec 14 15:41:04 iqlr8vm systemd[1]: Started Fingerprint Authentication Daemon.
Dec 14 15:41:09 iqlr8vm org.gnome.Shell.desktop[2871]: Window manager warning: Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0x2a00003
Dec 14 15:41:30 iqlr8vm systemd[1]: timedatex.service: Succeeded.
Dec 14 15:41:34 iqlr8vm systemd[1]: fprintd.service: Succeeded.
Dec 14 15:41:37 iqlr8vm dbus-daemon[1017]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.594' (uid=0 pid=4312 comm="su - root ")
Dec 14 15:41:37 iqlr8vm systemd[1]: Starting Fingerprint Authentication Daemon...
Dec 14 15:41:37 iqlr8vm dbus-daemon[1017]: [system] Successfully activated service 'net.reactivated.Fprint'
Dec 14 15:41:37 iqlr8vm systemd[1]: Started Fingerprint Authentication Daemon.
Dec 14 15:41:39 iqlr8vm su[4312]: (to root) comsearch on pts/0
totaam commented 9 months ago

Add XPRA_SSL_UPGRADE=0 to your server command line.

mykeebot commented 9 months ago

Okay. In this case there is no SSL error, I simply get a connection failed message...

[comsearch@iqlr8vm ~]$ XPRA_SSL_UPGRADE=0
[comsearch@iqlr8vm ~]$ xpra attach tcp://192.168.1.30:10000/
2023-12-14 16:11:25,645 Xpra GTK3 X11 client version 5.0.2-r0
2023-12-14 16:11:25,675  running on Linux Rocky Linux 8.8 Green Obsidian
2023-12-14 16:11:25,691  window manager is 'GNOME Shell'
2023-12-14 16:11:27,387 GStreamer version 1.16.1
2023-12-14 16:11:27,591 created unix domain socket '/run/user/1000/xpra/clients/iqlr8vm-4685'
2023-12-14 16:11:27,763 OpenGL_accelerate module loaded
2023-12-14 16:11:27,768 Using accelerated ArrayDatatype
2023-12-14 16:11:28,171 OpenGL enabled on 'llvmpipe (LLVM 15.0.0, 256 bits)'
failed to connect to 192.168.1.30:10000, retrying for 20 seconds
Warning: failed to connect:
 failed to connect to tcp socket 192.168.1.30:10000
2023-12-14 16:11:48,239 removing unix domain socket '/run/user/1000/xpra/clients/iqlr8vm-4685'

...and here is the related message in the server log...

Dec 14 16:11:26 iqlr8vm org.gnome.Shell.desktop[2871]: Window manager warning: Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0x2a00003

totaam commented 9 months ago

...and here is the related message in the server log...

No. This is not your server log. In your previous comment: https://github.com/Xpra-org/xpra-html5/issues/273#issuecomment-1855894596 The log was '/run/user/1000/xpra/0/server.log'

mykeebot commented 9 months ago

I meant /var/log/messages by the server log.

Under the path what you sent me I cannot find any log file unfortunately...

ScreenShot_16108

totaam commented 9 months ago

Under the path what you sent me

It is your path, not mine. The server tells you where the log file is when it starts.

mykeebot commented 9 months ago

Yes, thanks for the notice. I can find the following details in the /run/user/1000/xpra/1/server.log file...

2023-12-15 00:26:49,252 found 0 virtual video devices for webcam forwarding^[[0m
2023-12-15 00:26:49,636 xpra is ready.^[[0m
2023-12-15 00:26:49,663 xpra X11 seamless server version 5.0.2-r0^[[0m
2023-12-15 00:26:49,663  uid=1000 (comsearch), gid=1000 (iqlink)^[[0m
2023-12-15 00:26:49,663  running with pid 4816 on Linux Rocky Linux 8.8 Green Obsidian^[[0m
2023-12-15 00:26:49,949  connected to X11 display :1 with 24 bit colors^[[0m
2023-12-15 00:26:49,993 GStreamer version 1.16.1^[[0m
2023-12-15 00:26:52,345 loaded 42 start menu entries from 7 sub-menus in 3.2 seconds^[[0m
2023-12-15 00:26:52,957 printer forwarding enabled using postscript and pdf^[[0m
2023-12-15 00:26:53,085 2.9GB of system memory^[[0m
2023-12-15 00:26:54,249 OpenGL is supported on display ':1'^[[0m
2023-12-15 00:26:54,249  using 'llvmpipe (LLVM 15.0.0, 256 bits)' renderer^[[0m
2023-12-15 00:26:54,259 started command `xterm` with pid 4970^[[0m
2023-12-15 00:26:54,284 started command `ibus-daemon` with pid 4971^[[0m
2023-12-15 00:27:59,656 New tcp connection received^[[0m
2023-12-15 00:27:59,657  from '192.168.1.30:18446'^[[0m
2023-12-15 00:27:59,657  on '192.168.1.30:10000'^[[0m
2023-12-15 00:27:59,702 sending ssl upgrade for tcp socket: 192.168.1.30:10000 <- 192.168.1.30:18446^[[0m
^[[33m2023-12-15 00:27:59,703 Warning: failed to load '/etc/xpra/ssl-cert.pem'^[[0m
^[[33m2023-12-15 00:27:59,703  [Errno 13] Permission denied: '/etc/xpra/ssl-cert.pem'^[[0m
^[[31m2023-12-15 00:27:59,841 Error: failed to create SSL socket^[[0m
^[[31m2023-12-15 00:27:59,842  from tcp socket: <socket.socket fd=13, family=AddressFamily.AF_INET, type=2049, proto=0, laddr=('192.168.1.30', 10000), raddr=('192.168.1.30', 18446)>^[[0m
^[[31m2023-12-15 00:27:59,842  no certificate paths specified^[[0m
^[[31m2023-12-15 00:27:59,842  [Errno 13] Permission denied^[[0m
2023-12-15 00:27:59,850 Disconnecting client Protocol(None):^[[0m
2023-12-15 00:27:59,850  failed to upgrade socket to ssl^[[0m
2023-12-15 00:29:05,255 New tcp connection received^[[0m
2023-12-15 00:29:05,255  from '192.168.1.30:30510'^[[0m
2023-12-15 00:29:05,255  on '192.168.1.30:10000'^[[0m
2023-12-15 00:29:05,301 sending ssl upgrade for tcp socket: 192.168.1.30:10000 <- 192.168.1.30:30510^[[0m
^[[33m2023-12-15 00:29:05,302 Warning: failed to load '/etc/xpra/ssl-cert.pem'^[[0m
^[[33m2023-12-15 00:29:05,302  [Errno 13] Permission denied: '/etc/xpra/ssl-cert.pem'^[[0m
^[[31m2023-12-15 00:29:05,435 Error: failed to create SSL socket^[[0m
^[[31m2023-12-15 00:29:05,435  from tcp socket: <socket.socket fd=13, family=AddressFamily.AF_INET, type=2049, proto=0, laddr=('192.168.1.30', 10000), raddr=('192.168.1.30', 30510)>^[[0m
^[[31m2023-12-15 00:29:05,435  no certificate paths specified^[[0m
^[[31m2023-12-15 00:29:05,435  [Errno 13] Permission denied^[[0m
2023-12-15 00:29:05,435 Disconnecting client Protocol(None):^[[0m
2023-12-15 00:29:05,435  failed to upgrade socket to ssl^[[0m

NOTE: It's important to mention here that I have started previously xpra.service and xpra.socket

You may find below the content of the xpra.service file...

[Unit]
Description=Xpra System Server
Wants=avahi-daemon.socket
Documentation=https://github.com/Xpra-org/xpra/blob/master/docs/Usage/Service.md man:xpra
After=network.target xpra.socket
Requires=xpra.socket

[Service]
Type=simple
EnvironmentFile=-/etc/sysconfig/xpra
ExecStart=/usr/bin/xpra proxy :14500 --daemon=no \
    --tcp-auth=${TCP_AUTH} \
    --ssl-cert=/etc/xpra/ssl-cert.pem --ssl=on \
    --bind=none --auth=${AUTH} --socket-permissions=666 \
    --log-dir=/var/log --pidfile=/run/xpra/proxy/server.pid --debug=${DEBUG}
#rely on SIGKILL which returns 128+15=143
SuccessExitStatus=0 143
Restart=on-abnormal
PIDFile=/run/xpra/proxy/server.pid
ProtectSystem=strict
ReadWritePaths=/run/xpra /tmp /var/tmp /opt/iqlink
#PrivateDevices=true
ProtectKernelTunables=true
ProtectControlGroups=true

[Install]
WantedBy=multi-user.target

Thanks, Mike

totaam commented 9 months ago

It's still trying to do an ssl upgrade and failing:

Permission denied: '/etc/xpra/ssl-cert.pem

Because you're not running as root this time.

You haven't specified your command line, my guess is that you're using the one for root. Don't. I also hope that this isn't a proxy command line, to keep it simple. I would just use:

xpra start --bind-tcp=0.0.0.0:10000 --no-daemon --ssl=no
mykeebot commented 9 months ago

I would like to keep the server's IP if that's not real problem? I think it's getting better. I did two kind of tests...

1.) With my OS user

I restarted my VM and started everything from scratch just in case. I executed the following command in a Terminal

[comsearch@iqlr8vm ~]$ xpra start --bind-tcp=192.168.1.30:10000 --no-daemon --ssl=no

...and this is the startup log...

using systemd-run to wrap 'seamless' xpra server subcommand
Running scope as unit: run-rf9652c660b9c43cf9157af5c031083f1.scope
2023-12-15 13:23:39,297 created tcp socket '192.168.1.30:10000'
2023-12-15 13:23:39,312 no uinput module (not usually needed)
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running

X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
Build Operating System:  4.18.0-425.3.1.el8.x86_64 
Current Operating System: Linux iqlr8vm 4.18.0-477.27.1.el8_8.x86_64 #1 SMP Wed Sep 20 15:55:39 UTC 2023 x86_64
Kernel command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-477.27.1.el8_8.x86_64 root=/dev/mapper/rl-root ro resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap rhgb quiet transparent_hugepage=never numa=off
Build Date: 23 February 2023  08:27:54AM
Build ID: xorg-x11-server 1.20.11-15.el8 
Current version of pixman: 0.38.4
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(++) Log file: "/run/user/1000/xpra/S3516/Xorg.log", Time: Fri Dec 15 13:23:39 2023
(++) Using config file: "/etc/xpra/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
2023-12-15 13:23:41,272 pointer device emulation using XTest
2023-12-15 13:23:41,451 serving html content from '/usr/share/xpra/www'
2023-12-15 13:23:41,451 wrote pid 3516 to '/run/user/1000/xpra/1/server.pid'
2023-12-15 13:23:41,518 created unix domain socket '/run/user/1000/xpra/iqlr8vm-1'
2023-12-15 13:23:41,519 cannot create group socket '/run/xpra/iqlr8vm-1'
2023-12-15 13:23:41,519  [Errno 13] Permission denied
2023-12-15 13:23:41,522 created unix domain socket '/home/comsearch/.xpra/iqlr8vm-1'
2023-12-15 13:23:41,524 created unix domain socket '/run/user/1000/xpra/1/socket'
2023-12-15 13:23:41,526 xvfb pid=3617
2023-12-15 13:23:41,801 setting dummy crtc and output 0 to:
2023-12-15 13:23:41,801  8192x4096 50Hz (1445x722 mm, dpi=144)
2023-12-15 13:23:41,802 monitor 0 is 'VFB-0' 8192x4096
2023-12-15 13:23:41,991 pulseaudio server started with pid 3645
2023-12-15 13:23:41,992  private server socket path:
2023-12-15 13:23:41,992  '/run/user/1000/xpra/1/pulse/pulse/native'
2023-12-15 13:23:41,995 watching for applications menu changes in:
2023-12-15 13:23:41,995  '/usr/local/share/applications'
2023-12-15 13:23:41,995  '/usr/share/applications'
2023-12-15 13:23:42,566 Warning: webcam forwarding is disabled
2023-12-15 13:23:42,566  the virtual video directory '/sys/devices/virtual/video4linux' was not found
2023-12-15 13:23:42,567  make sure that the 'v4l2loopback' kernel module is installed and loaded
2023-12-15 13:23:42,567  or use the 'webcam=no' option
2023-12-15 13:23:42,567 found 0 virtual video devices for webcam forwarding
2023-12-15 13:23:43,073 xpra is ready.
2023-12-15 13:23:43,077 xpra X11 seamless server version 5.0.2-r0
2023-12-15 13:23:43,077  uid=1000 (comsearch), gid=1000 (iqlink)
2023-12-15 13:23:43,077  running with pid 3516 on Linux Rocky Linux 8.8 Green Obsidian
2023-12-15 13:23:43,561  connected to X11 display :1 with 24 bit colors
2023-12-15 13:23:43,570 GStreamer version 1.16.1
2023-12-15 13:23:46,036 loaded 42 start menu entries from 7 sub-menus in 3.9 seconds
2023-12-15 13:23:46,954 printer forwarding enabled using postscript and pdf
2023-12-15 13:23:47,290 2.9GB of system memory
2023-12-15 13:23:48,456 OpenGL is supported on display ':1'
2023-12-15 13:23:48,456  using 'llvmpipe (LLVM 15.0.0, 256 bits)' renderer
2023-12-15 13:23:48,463 started command `ibus-daemon` with pid 3688

Then I opened a new terminal and set the XPRA_SSL_UPGRADE=0...

[comsearch@iqlr8vm ~]$ XPRA_SSL_UPGRADE=0

...then I executed xpra attach tcp://192.168.1.30:10000/ but I got the SSL error...

[comsearch@iqlr8vm ~]$ xpra attach tcp://192.168.1.30:10000/
2023-12-15 13:27:18,106 Xpra GTK3 X11 client version 5.0.2-r0
2023-12-15 13:27:18,167  running on Linux Rocky Linux 8.8 Green Obsidian
2023-12-15 13:27:18,168  window manager is 'GNOME Shell'
2023-12-15 13:27:20,067 GStreamer version 1.16.1
2023-12-15 13:27:20,243 created unix domain socket '/run/user/1000/xpra/clients/iqlr8vm-3884'
2023-12-15 13:27:20,421 OpenGL_accelerate module loaded
2023-12-15 13:27:20,428 Using accelerated ArrayDatatype
2023-12-15 13:27:20,811 OpenGL enabled on 'llvmpipe (LLVM 15.0.0, 256 bits)'
2023-12-15 13:27:20,866  keyboard settings: rules=evdev, model=pc105, layout=us,us
2023-12-15 13:27:20,875  desktop size is 1920x986:
2023-12-15 13:27:20,875   :0.0 (508x260 mm - DPI: 96x96) workarea: 1920x920  at    0x28  
2023-12-15 13:27:20,875     Virtual1         (508x261 mm)
2023-12-15 13:27:21,129 upgrading tcp socket: 192.168.1.30:23102 <- 192.168.1.30:10000 to ssl
2023-12-15 13:27:21,243 Connection failed
2023-12-15 13:27:21,291 removing unix domain socket '/run/user/1000/xpra/clients/iqlr8vm-3884'

...and I also got and error in the original Terminal where I started Xpra...

ScreenShot_16121

I'm not sure why, because I did as you suggested with the --ssl-no option and XPRA_SSL_UPGRADE=0.

Since it was still a Permission issue on the cert file, I did the same tests, but with root.

2.) With root user

I restarted my VM and started everything from scratch just in case. I logged in with root and executed the following command in a Terminal...

[root@iqlr8vm ~]# xpra start --bind-tcp=192.168.1.30:10000 --no-daemon --ssl=no

...and this is the startup log...

Warning: running as root

using systemd-run to wrap 'seamless' xpra server subcommand
Running scope as unit: run-ra649387c3aa049fba0be8bb4b552cd00.scope

Warning: running as root

Warning: running as root

2023-12-15 13:51:16,857 created tcp socket '192.168.1.30:10000'
2023-12-15 13:51:16,868 no uinput module (not usually needed)
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running

X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
Build Operating System:  4.18.0-425.3.1.el8.x86_64 
Current Operating System: Linux iqlr8vm 4.18.0-477.27.1.el8_8.x86_64 #1 SMP Wed Sep 20 15:55:39 UTC 2023 x86_64
Kernel command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-477.27.1.el8_8.x86_64 root=/dev/mapper/rl-root ro resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap rhgb quiet transparent_hugepage=never numa=off
Build Date: 23 February 2023  08:27:54AM
Build ID: xorg-x11-server 1.20.11-15.el8 
Current version of pixman: 0.38.4
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(++) Log file: "/run/xpra/S3377/Xorg.log", Time: Fri Dec 15 13:51:16 2023
(++) Using config file: "/etc/xpra/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
2023-12-15 13:51:18,909 pointer device emulation using XTest
2023-12-15 13:51:19,152 serving html content from '/usr/share/xpra/www'
2023-12-15 13:51:19,153 wrote pid 3377 to '/run/xpra/1/server.pid'
2023-12-15 13:51:19,220 created unix domain socket '/run/user/0/xpra/iqlr8vm-1'
2023-12-15 13:51:19,222 created unix domain socket '/run/xpra/iqlr8vm-1'
2023-12-15 13:51:19,227 created unix domain socket '/root/.xpra/iqlr8vm-1'
2023-12-15 13:51:19,229 created unix domain socket '/run/xpra/1/socket'
2023-12-15 13:51:19,232 xvfb pid=3444
2023-12-15 13:51:19,533 setting dummy crtc and output 0 to:
2023-12-15 13:51:19,533  8192x4096 50Hz (1445x722 mm, dpi=144)
2023-12-15 13:51:19,535 monitor 0 is 'VFB-0' 8192x4096
2023-12-15 13:51:19,664 pulseaudio server started with pid 3477
2023-12-15 13:51:19,666  private server socket path:
2023-12-15 13:51:19,666  '/run/xpra/1/pulse/pulse/native'
W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
2023-12-15 13:51:19,823 watching for applications menu changes in:
2023-12-15 13:51:19,824  '/usr/local/share/applications'
2023-12-15 13:51:19,824  '/usr/share/applications'
2023-12-15 13:51:20,012 Warning: webcam forwarding is disabled
2023-12-15 13:51:20,012  the virtual video directory '/sys/devices/virtual/video4linux' was not found
2023-12-15 13:51:20,018  make sure that the 'v4l2loopback' kernel module is installed and loaded
2023-12-15 13:51:20,018  or use the 'webcam=no' option
2023-12-15 13:51:20,018 found 0 virtual video devices for webcam forwarding
2023-12-15 13:51:20,563 xpra is ready.
2023-12-15 13:51:20,622 xpra X11 seamless server version 5.0.2-r0
2023-12-15 13:51:20,622  uid=0 (root), gid=0 (root)
2023-12-15 13:51:20,622  running with pid 3377 on Linux Rocky Linux 8.8 Green Obsidian

Warning: running as root

2023-12-15 13:51:21,170  connected to X11 display :1 with 24 bit colors
2023-12-15 13:51:21,365 GStreamer version 1.16.1
2023-12-15 13:51:24,355 printer forwarding enabled using postscript and pdf
2023-12-15 13:51:24,949 loaded 42 start menu entries from 7 sub-menus in 5.0 seconds
2023-12-15 13:51:25,223 2.9GB of system memory
2023-12-15 13:51:25,231 started command `ibus-daemon` with pid 3507

Then I opened a new terminal and set the XPRA_SSL_UPGRADE=0...

...then I executed xpra attach tcp://192.168.1.30:10000/ ...

[root@iqlr8vm ~]# XPRA_SSL_UPGRADE=0
[root@iqlr8vm ~]# xpra attach tcp://192.168.1.30:10000/

Warning: running as root

2023-12-15 13:54:09,408 Xpra GTK3 Wayland client version 5.0.2-r0
2023-12-15 13:54:09,442  running on Linux Rocky Linux 8.8 Green Obsidian
2023-12-15 13:54:09,443  window manager is 'GNOME on wayland'

Warning: running as root

Warning: running as root

2023-12-15 13:54:10,370 GStreamer version 1.16.1
2023-12-15 13:54:10,772 created unix domain socket '/run/user/0/xpra/clients/iqlr8vm-3679'
2023-12-15 13:54:11,061 Warning: incomplete keymap support under Wayland
2023-12-15 13:54:11,122  keyboard settings: layout=us
2023-12-15 13:54:11,125  desktop size is 1920x986:
2023-12-15 13:54:11,125   wayland-0 (508x261 mm - DPI: 96x96)
2023-12-15 13:54:11,195 upgrading tcp socket: 192.168.1.30:22290 <- 192.168.1.30:10000 to ssl
Exception in thread ssl-upgrade:
Traceback (most recent call last):
  File "/usr/lib64/python3.6/threading.py", line 937, in _bootstrap_inner
    self.run()
  File "/usr/lib64/python3.6/threading.py", line 885, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib64/python3.6/site-packages/xpra/client/base/client_base.py", line 795, in ssl_upgrade
    ssl_sock = ssl_handshake(ssl_sock)
  File "/usr/lib64/python3.6/site-packages/xpra/net/socket_util.py", line 1012, in ssl_handshake
    raise InitExit(status, f"SSL handshake failed: {e}") from None
xpra.scripts.config.InitExit: SSL handshake failed: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:897)

In this case there was no cert permission issue, but I still got a certificate verification error. Below you may find the output of the original Terminal window where I started Xpra...

ScreenShot_16122

I'm a bit loss at this point. I'm trying to follow your instructions but it does not work because of some reason. Sorry if I miss something obvious.

Thanks, Mike

totaam commented 9 months ago
XPRA_SSL_UPGRADE=0 xpra start --bind-tcp=192.168.1.30:10000 --no-daemon --ssl=no

Then

XPRA_SSL_UPGRADE=0 xpra attach tcp://192.168.1.30:10000/

Or even:

xpra attach tcp://192.168.1.30:10000/ --ssl-server-verify-mode=none

Also note that 5.0.2-r0 is not the latest version, try using the current version.

mykeebot commented 9 months ago

Thank you totaam. I was out for the weekend, but I will give a try as soon as possible and get back to you with the result.

mykeebot commented 9 months ago

Hello @totaam,

Following your new instructions with the root user, I still got errors...

ScreenShot_16125

...but it started correctly our application at the end...

ScreenShot_16124

This application is configured in the xpra.conf file. I believe that's why it started with the xpra attach tcp://192.168.1.30:10000/ command. But the application does not work properly in this case.

Could you please let me know what kind of test should I do know? As you may remember, at the beginning of the ticket I described that the copy and paste function works OK if I do this straight from my virtual machine, copying the text to my excel sheet on my notebook. But if I do this from the browser with Xpra, it breaks the formatting and I just get a plain text in my Excel.

Thanks, Mike

totaam commented 9 months ago

This application is configured in the xpra.conf file.

How and why?

I believe that's why it started with the xpra attach tcp://192.168.1.30:10000/ command

And that's why you should probably not do that. Start your applications with xpra start, connect with xpra attach. Mixing is confusing.

But the application does not work properly in this case.

How so?

the copy and paste function works OK if I do this straight from my virtual machine

Does this work with the xpra client? (not the html5 client) If the xpra python client can copy the correct mime type, the html5 client can be taught to do the same. If not, then that's going to be much harder.

mykeebot commented 9 months ago

Hi @totaam,

So let's start with some background info. We have a Qt based software, running under linux and we use Xpra to be able to access the software via a web browser on port 14500. The /etc/xpra/xpra.conf file looks as follows...

#
# This is the default configuration file for Xpra
#
# You can provide default values for most command line
# options here.
#
# The configuration files in the conf.d directory will
# be parsed first.
#
# Each user may also define its own options in the file
# ~/.xpra/xpra.conf which will take precedence over this file.
#
# Most options can also be overriden on the xpra command line.
# See "xpra -h" or the man page for details.
#
# Syntax:
# - Options which can be turned on or off will accept
#   the following values: 1, 0, true, false, yes, no
# - Options which can accept multiple values
#   may just be specified multiple times.
# - You may break a long line into multiple lines
#   by ending each line with a backslash '\'.
# Starting iQ.link automatically after logging into Xpra
start-on-connect=/opt/iqlink/current_version/start_link

# Terminate all the child commands on server stop. Default: no
terminate-children=yes

# Terminate the server when the last client disconnects. Default: no
# exit-with-client=yes

# Disconnects the client when idle (0 to disable). Default: 0 seconds
idle-timeout=0

# Exits the server when idle (0 to disable). Default: 0 seconds
server-idle-timeout=300

# Key file to use:
# ssl-key = /etc/xpra/key.pem

# Certifcate file to use:
ssl-cert = /etc/xpra/ssl-cert.pem

# Use a fixed DPI. Default: 0 (automatic)
# dpi=96
dpi=0

# Automatically open uploaded files (potentially dangerous). Default: 'auto'.
open-files=no

# Limit the bandwidth used. The value is specified in bits per second,
# use the value '0' to disable restrictions. Default: 'auto'.
# 393216 = 384 kbps
# bandwidth-limit=393216
bandwidth-limit=384k

# Which image compression algorithm to use. Default: auto.
# auto - default mode: the built-in heuristics will choose the most appropriate encoding
# png - compressed and lossless, can be quite slow.
# png/P - compressed and lossy: it uses a colour palette, which means better compression but still slow.
# png/L - compressed and lossy: grayscale only using a palette.
# rgb - a raw pixel format (lossless) compressed with lz4, lzo or zlib (see compressors) the compression ratio is lower, but it is by far the fastest encoding available.
# webp - can be used in lossy or lossless mode, useful for graphical applications, it compresses better than jpeg and is reasonably fast except at high resolutions.
# jpeg - can be useful for graphical applications, it is lossy and usually very fast.
# vp8 - lossy video encoding which always uses colour subsampling. Fast at encoding and decoding.
# vp9 - Video encoding which supports both lossy and lossless modes, available if your ffmpeg library version is recent enough.
# h264 - One of the best encoding available: it is fast, efficient and tunable via the quality and speed options.
# h265 - Far too slow at encoding, avoid.
# encoding=h264
encoding=auto

# This option sets a fixed image compression quality for lossy encodings (jpeg, webp, h264/h265 and vp8/vp9). First, one of those
# lossy encodings must be enabled with --encoding or when using the default auto mode. Values range from 1 (lowest quality, high
# compression - generally unusable) to 100 (highest quality, low compression). Specify a value of zero to let the system tune the
# quality dynamically to achieve the best bandwidth usage possible. It is usually best not to use this option and use min-quality instead.
# quality=0

# This option sets the minimum encoding quality allowed when the quality option is set to automatic mode. See quality above.
min-quality=5

# This option sets the encoding speed, from 1 (slowest) to 100 (fastest). Slower compresses better and will use less bandwidth,
# faster will give better latency as long as there is sufficient bandwidth. The system normally uses a variable speed, this option
# forces a fixed speed setting to be used instead. It is usually best not to use this option and use min-speed instead.
# speed=50

# This option sets the minimum encoding speed allowed when the speed option is set to automatic mode. See speed above.
min-speed=5

# Whether to try to verify the client’s certificates
# and how to behave if verification fails.
ssl-client-verify-mode=none

# To disable the bandwidth notifications
bandwidth-detection=no

# To disable the pop-up notifications in general
notifications=no

Everything is smooth with these options. Our software mainly works as expected in a browser via Xpra. I have also sent you the content of the xpra.service in one of my previous comment.

Our problem is that if I copy a text from our software via Xpra, it only copies a plain text into Excel on our notebook. If I do exactly the same, but not from the browser but straight from the linux virtual machine, it works OK. It keeps all the HTML formatting. That's why I reported this ticket.

Since I'm not an expert, I just tried to follow your instructions, using the linux virtual machine where our software and Xpra is sitting. It's a LAB (test) environment actually. So I was following the instructions and at the end I could use the commands suggested by you (with root), but that's just started the software which is configured in our xpra.conf file. On this way it does not work properly, I cannot open the menus, the buttons are blinking, etc...

I just really would like to find the way to be able to copy and keep the formatted text from a browser via Xpra.

Thanks, Mike

totaam commented 9 months ago

You are still not testing with the current version. And also not answering the key question: do you get the correct clipboard data type using the python client, yes or no?

mykeebot commented 9 months ago

Hi @totaam,

Finally I managed to work this... The problem was that when I executed the XPRA_SSL_UPGRADE=0 command in the terminal, I did not use the export XPRA_SSL_UPGRADE command right after that. So, I executed the following as the root user...

[root@iqlr8vm ~]# XPRA_SSL_UPGRADE=0
[root@iqlr8vm ~]# export XPRA_SSL_UPGRADE
[root@iqlr8vm ~]# env | grep XPRA
XPRA_SSL_UPGRADE=0
[root@iqlr8vm ~]# xpra start --bind-tcp=192.168.1.30:10000 --no-daemon

...and below is the output...

Warning: running as root

using systemd-run to wrap 'seamless' xpra server subcommand
Running scope as unit: run-r19d0fea9e32b407da0cef2deb0cfbe57.scope

Warning: running as root

Warning: running as root

2023-12-18 16:46:41,310 created tcp socket '192.168.1.30:10000'
2023-12-18 16:46:41,316 no uinput module (not usually needed)
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running

X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
Build Operating System:  4.18.0-425.3.1.el8.x86_64 
Current Operating System: Linux iqlr8vm 4.18.0-477.27.1.el8_8.x86_64 #1 SMP Wed Sep 20 15:55:39 UTC 2023 x86_64
Kernel command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-477.27.1.el8_8.x86_64 root=/dev/mapper/rl-root ro resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap rhgb quiet transparent_hugepage=never numa=off
Build Date: 23 February 2023  08:27:54AM
Build ID: xorg-x11-server 1.20.11-15.el8 
Current version of pixman: 0.38.4
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(++) Log file: "/run/xpra/S4956/Xorg.log", Time: Mon Dec 18 16:46:41 2023
(++) Using config file: "/etc/xpra/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
2023-12-18 16:46:43,347 pointer device emulation using XTest
2023-12-18 16:46:43,621 serving html content from '/usr/share/xpra/www'
2023-12-18 16:46:43,622 wrote pid 4956 to '/run/xpra/1/server.pid'
2023-12-18 16:46:43,721 created unix domain socket '/run/user/0/xpra/iqlr8vm-1'
2023-12-18 16:46:43,726 created unix domain socket '/run/xpra/iqlr8vm-1'
2023-12-18 16:46:43,729 created unix domain socket '/root/.xpra/iqlr8vm-1'
2023-12-18 16:46:43,731 created unix domain socket '/run/xpra/1/socket'
2023-12-18 16:46:43,734 xvfb pid=5019
2023-12-18 16:46:43,934 setting dummy crtc and output 0 to:
2023-12-18 16:46:43,934  8192x4096 50Hz (1445x722 mm, dpi=144)
2023-12-18 16:46:43,936 monitor 0 is 'VFB-0' 8192x4096
2023-12-18 16:46:44,106 pulseaudio server started with pid 5068
2023-12-18 16:46:44,107  private server socket path:
2023-12-18 16:46:44,107  '/run/xpra/1/pulse/pulse/native'
W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
2023-12-18 16:46:44,231 watching for applications menu changes in:
2023-12-18 16:46:44,231  '/usr/local/share/applications'
2023-12-18 16:46:44,231  '/usr/share/applications'
2023-12-18 16:46:44,405 Warning: webcam forwarding is disabled
2023-12-18 16:46:44,405  the virtual video directory '/sys/devices/virtual/video4linux' was not found
2023-12-18 16:46:44,405  make sure that the 'v4l2loopback' kernel module is installed and loaded
2023-12-18 16:46:44,406  or use the 'webcam=no' option
2023-12-18 16:46:44,406 found 0 virtual video devices for webcam forwarding
2023-12-18 16:46:44,882 xpra is ready.
2023-12-18 16:46:44,929 xpra X11 seamless server version 5.0.2-r0
2023-12-18 16:46:44,929  uid=0 (root), gid=0 (root)
2023-12-18 16:46:44,929  running with pid 4956 on Linux Rocky Linux 8.8 Green Obsidian

Warning: running as root

2023-12-18 16:46:45,218  connected to X11 display :1 with 24 bit colors
2023-12-18 16:46:45,455 GStreamer version 1.16.1
2023-12-18 16:46:48,615 printer forwarding enabled using postscript and pdf
2023-12-18 16:46:49,411 loaded 42 start menu entries from 7 sub-menus in 5.0 seconds
2023-12-18 16:46:49,693 2.9GB of system memory
2023-12-18 16:46:51,096 OpenGL is supported on display ':1'
2023-12-18 16:46:51,096  using 'llvmpipe (LLVM 15.0.0, 256 bits)' renderer
2023-12-18 16:46:51,109 started command `ibus-daemon` with pid 5113
2023-12-18 16:47:04,546 New tcp connection received
2023-12-18 16:47:04,547  from '192.168.1.30:34662'
2023-12-18 16:47:04,547  on '192.168.1.30:10000'
2023-12-18 16:47:04,593 Handshake complete; enabling connection
2023-12-18 16:47:04,698  mmap is enabled using 512MB area in /run/user/1000/xpra/xpra.yuh3nwfb.mmap
2023-12-18 16:47:04,699 Python/GTK3 Linux Rocky Linux 8.8 Green Obsidian x11 client version 5.0
2023-12-18 16:47:04,708  OpenGL is enabled with llvmpipe LLVM 15.0.0, 256 bits
2023-12-18 16:47:04,708 Error setting up ssh agent socket symlink
2023-12-18 16:47:04,711  [Errno 18] Invalid cross-device link: '/run/user/1000/keyring/ssh' -> '/run/xpra/1/ssh/b10fe60687a42bddc5560c8b282293e84d972194a974258bf4b0c8fafae5a6d4'
2023-12-18 16:47:04,726 setting key repeat rate from client: 500ms delay / 30ms interval
2023-12-18 16:47:04,733 setting keymap: rules=evdev, model=pc105, layout=us,us
2023-12-18 16:47:04,996  client root window size is 1920x986
2023-12-18 16:47:04,996   :0.0 (508x260 mm - DPI: 96x96) workarea: 1920x920  at    0x28  
2023-12-18 16:47:04,996     Virtual1         (508x261 mm)
2023-12-18 16:47:05,018 setting dummy crtc and output 0 to:
2023-12-18 16:47:05,018  1920x986 60Hz (508x261 mm, dpi=96)
2023-12-18 16:47:05,027 monitor 0 is 'Virtual1' 1920x986
2023-12-18 16:47:05,034  automatic picture encoding enabled, also available:
2023-12-18 16:47:05,035   vp8, png, png/P, png/L, webp, avif, rgb24, rgb32, jpeg, jpega, scroll
2023-12-18 16:47:05,138 started command `/opt/iqlink/current_version/start_link` with pid 5229
2023-12-18 16:47:05,201 client   1 @03.549 Xpra X11 seamless server version 5.0
2023-12-18 16:47:05,473 client   1 @03.833 Warning: appindicator library not found
2023-12-18 16:47:05,474 client   1 @03.833  you may want to install libappindicator
2023-12-18 16:47:05,474 client   1 @03.833  to enable the system tray.
2023-12-18 16:47:05,474 client   1 @03.833  With gnome-shell, you may also need some extensions:
2023-12-18 16:47:05,474 client   1 @03.834  'top icons plus' and / or 'appindicator'
2023-12-18 16:47:05,486 client   1 @03.839 failed to load StatusIcon tray: name 'tray_classes' is not defined
2023-12-18 16:47:05,486 client   1 @03.840 Attached to xpra server at tcp://192.168.1.30:10000/
2023-12-18 16:47:05,486 client   1 @03.840  (press Control-C to detach)
2023-12-18 16:47:05,538 client   1 @03.874 running
2023-12-18 16:47:06,022 setting keymap: rules=evdev, model=pc105, layout=us,us
2023-12-18 16:47:06,171 client   1 @04.523 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
INFO: Launching iQ.link from /opt/iqlink/mlds_v1100
find: No match.
[1] 5310
2023-12-18 16:47:07,194 using pulseaudio device:
2023-12-18 16:47:07,195  'Monitor of Xpra Speaker'
2023-12-18 16:47:07,317 client   1 @05.677 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)

Warning: running as root

2023-12-18 16:47:08,404 client   1 @06.764 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:08,870 using 'opus' audio codec
2023-12-18 16:47:09,490 client   1 @07.851 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:10,580 client   1 @08.941 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:11,602 client   1 @09.963 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:12,626 client   1 @10.987 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:13,664 client   1 @12.025 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:14,674 client   1 @13.035 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:15,699 client   1 @14.060 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:16,723 client   1 @15.084 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:17,811 client   1 @16.172 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:18,834 client   1 @17.195 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:19,873 client   1 @18.232 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:20,883 client   1 @19.244 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:21,906 client   1 @20.267 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:22,931 client   1 @21.292 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:23,954 client   1 @22.315 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:24,130 Error: wss request failure
2023-12-18 16:47:24,130  errno=0
2023-12-18 16:47:24,133  for client 192.168.1.5:64343:
2023-12-18 16:47:24,133  request as hex: '16030100f3010000ef030345bf74052951a2666fb602628b18bf0fb644a8f84448d5c5eba2f335abe3f22820ca0de5956c14b7403024368e5d83c295c6849a9992346dbf142d0c45f3f66c970020130113021303c02bc02fc02cc030cca9cca8c013c014009c009d002f003500ff01000086000b00040300010200'
2023-12-18 16:47:24,133  [Errno 0] Error
2023-12-18 16:47:24,987 client   1 @23.346 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:26,066 client   1 @24.427 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:27,090 client   1 @25.451 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:28,114 client   1 @26.475 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:29,138 client   1 @27.499 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:30,163 client   1 @28.523 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:31,187 client   1 @29.548 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:32,210 client   1 @30.571 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:33,234 client   1 @31.595 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:34,261 client   1 @32.622 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:35,282 client   1 @33.643 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:36,306 client   1 @34.667 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:37,330 client   1 @35.691 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:38,354 client   1 @36.715 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:39,380 client   1 @37.741 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:40,402 client   1 @38.763 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:41,426 client   1 @39.787 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:42,451 client   1 @40.811 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:43,474 client   1 @41.835 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:44,500 client   1 @42.861 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:45,586 client   1 @43.947 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:46,611 client   1 @44.971 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:47,634 client   1 @45.995 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:48,660 client   1 @47.022 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:49,750 client   1 @48.108 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:50,903 client   1 @49.263 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:51,985 client   1 @50.347 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:53,010 client   1 @51.371 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:54,034 client   1 @52.395 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:55,145 client   1 @53.502 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:56,210 client   1 @54.571 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:57,234 client   1 @55.595 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:58,292 client   1 @56.652 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:47:59,354 client   1 @57.715 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:00,440 client   1 @58.800 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:01,522 client   1 @59.883 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:02,550 client   1 @00.910 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:03,637 client   1 @01.997 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:04,659 client   1 @03.020 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:05,682 client   1 @04.043 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:06,724 client   1 @05.085 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:07,798 client   1 @06.157 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:08,882 client   1 @07.243 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:09,972 client   1 @08.332 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:11,073 client   1 @09.434 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:12,147 client   1 @10.508 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:13,270 client   1 @11.630 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:14,261 client   1 @12.622 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:15,347 client   1 @13.708 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:16,434 client   1 @14.795 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:17,522 client   1 @15.883 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:18,610 client   1 @16.971 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:19,640 client   1 @18.001 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:20,658 client   1 @19.019 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:21,682 client   1 @20.043 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:22,706 client   1 @21.067 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:23,730 client   1 @22.091 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:24,773 client   1 @23.134 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:25,780 client   1 @24.141 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:26,801 client   1 @25.163 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:27,826 client   1 @26.187 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:28,849 client   1 @27.211 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:29,874 client   1 @28.235 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:30,903 client   1 @29.264 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:31,922 client   1 @30.283 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:32,946 client   1 @31.307 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:33,971 client   1 @32.332 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:34,994 client   1 @33.355 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:36,020 client   1 @34.382 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:37,112 client   1 @35.470 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:38,260 client   1 @36.621 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 16:48:38,808 Warning: client expects an authentication challenge,
2023-12-18 16:48:38,809  sending a fake one
2023-12-18 16:48:38,849 Handshake complete; enabling connection
2023-12-18 16:48:38,851 Disconnecting client 192.168.1.30:34662:
2023-12-18 16:48:38,851  ConnectionMessage.NEW_CLIENT (the new client does not wish to share)
2023-12-18 16:48:38,904 Python/GTK3 client 1 disconnected.
2023-12-18 16:48:38,910 HTML5 Microsoft Windows Chrome client version 9.0
2023-12-18 16:48:38,910  connected as 'comsearch'
2023-12-18 16:48:38,949 setting keyboard layout to 'us'
2023-12-18 16:48:39,102 stopping
2023-12-18 16:48:39,168  client root window size is 1920x983
2023-12-18 16:48:39,168   Not_A Brand 8 (508x260 mm - DPI: 96x96)
2023-12-18 16:48:39,185 setting dummy crtc and output 0 to:
2023-12-18 16:48:39,185  1920x983 50Hz (508x260 mm, dpi=96)
2023-12-18 16:48:39,191 monitor 0 is 'Canvas' 1920x983
2023-12-18 16:48:39,194  automatic picture encoding enabled, also available:
2023-12-18 16:48:39,195   jpeg, png, png/P, png/L, rgb32, rgb24, webp, avif
2023-12-18 16:48:39,274 client   2 title= iQ.link - Login
2023-12-18 16:48:39,277 client   2 title= Main Engineering
2023-12-18 16:48:39,280 client   2 title= Link Summary
2023-12-18 16:48:39,298 started command `/opt/iqlink/current_version/start_link` with pid 5706
2023-12-18 16:48:39,323 client   2 startup complete
2023-12-18 16:48:39,323 client   2 connection-established
2023-12-18 16:48:39,483 client   2 update encodings: encodings,encodings.core,encodings.allowed,encodings.lossless,encodings.with_speed,encodings.with_quality,encodings.with_lossless_mode
2023-12-18 16:48:40,174 the remote printer 'HTML5 client' has been configured
INFO: Launching iQ.link from /opt/iqlink/mlds_v1100
find: No match.
[1] 5791
2023-12-18 16:48:40,930 client   2 title= iQ.link - Login
2023-12-18 16:48:46,266 Request timed out: timeout('The read operation timed out',)
2023-12-18 16:48:57,264 client   2 visibilitychange hidden= true connected= true
2023-12-18 16:49:41,129 client   2 visibilitychange hidden= false connected= true
2023-12-18 16:49:42,964 client   2 visibilitychange hidden= true connected= true
2023-12-18 16:53:38,935 No valid client connections for 300 seconds, exiting the server
2023-12-18 16:53:38,935 xpra X11 seamless server is terminating
2023-12-18 16:53:38,937 Disconnecting client 192.168.1.5:64504:
2023-12-18 16:53:38,937  server shutdown
2023-12-18 16:53:38,985 removed remote printer 'HTML5 client'
2023-12-18 16:53:38,986 HTML5 client 2 disconnected.
2023-12-18 16:53:39,026 stopping pulseaudio with pid 5068
2023-12-18 16:53:39,182 removing private directory '/run/xpra/1/pulse'
2023-12-18 16:53:39,187 closing tcp socket 192.168.1.30:10000
2023-12-18 16:53:39,188 removing unix domain socket '/run/user/0/xpra/iqlr8vm-1'
2023-12-18 16:53:39,188 removing unix domain socket '/run/xpra/iqlr8vm-1'
2023-12-18 16:53:39,189 removing unix domain socket '/root/.xpra/iqlr8vm-1'
2023-12-18 16:53:39,189 removing unix domain socket '/run/xpra/1/socket'
2023-12-18 16:53:39,191 killing xvfb with pid 5019
(II) Server terminated successfully (0). Closing log file.

Then in an other terminal with my OS user I attached to the session with...

[comsearch@iqlr8vm ~]$ XPRA_SSL_UPGRADE=0
[comsearch@iqlr8vm ~]$ export XPRA_SSL_UPGRADE
[comsearch@iqlr8vm ~]$ env | grep XPRA
XPRA_SSL_UPGRADE=0
[comsearch@iqlr8vm ~]$ xpra attach tcp://192.168.1.30:10000/ --ssl-server-verify-mode=none

...and below you may find the output...

[comsearch@iqlr8vm ~]$ xpra attach tcp://192.168.1.30:10000/ --ssl-server-verify-mode=none
2023-12-18 17:17:49,471 Xpra GTK3 X11 client version 5.0.2-r0
2023-12-18 17:17:49,492  running on Linux Rocky Linux 8.8 Green Obsidian
2023-12-18 17:17:49,493  window manager is 'GNOME Shell'
2023-12-18 17:17:51,280 GStreamer version 1.16.1
2023-12-18 17:17:51,464 created unix domain socket '/run/user/1000/xpra/clients/iqlr8vm-7281'
2023-12-18 17:17:51,638 OpenGL_accelerate module loaded
2023-12-18 17:17:51,654 Using accelerated ArrayDatatype
2023-12-18 17:17:52,136 OpenGL enabled on 'llvmpipe (LLVM 15.0.0, 256 bits)'
2023-12-18 17:17:52,187  keyboard settings: rules=evdev, model=pc105, layout=us,us
2023-12-18 17:17:52,195  desktop size is 1920x986:
2023-12-18 17:17:52,196   :0.0 (508x260 mm - DPI: 96x96) workarea: 1920x920  at    0x28  
2023-12-18 17:17:52,196     Virtual1         (508x261 mm)
2023-12-18 17:17:52,852 enabled fast mmap transfers using 512MB shared memory area
2023-12-18 17:17:52,864 enabled remote logging
2023-12-18 17:17:52,865 Xpra X11 seamless server version 5.0
2023-12-18 17:17:53,098 Warning: appindicator library not found
2023-12-18 17:17:53,098  you may want to install libappindicator
2023-12-18 17:17:53,098  to enable the system tray.
2023-12-18 17:17:53,099  With gnome-shell, you may also need some extensions:
2023-12-18 17:17:53,099  'top icons plus' and / or 'appindicator'
2023-12-18 17:17:53,116 failed to load StatusIcon tray: name 'tray_classes' is not defined
2023-12-18 17:17:53,117 Attached to xpra server at tcp://192.168.1.30:10000/
2023-12-18 17:17:53,117  (press Control-C to detach)

2023-12-18 17:17:53,170 running
2023-12-18 17:17:53,458 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 17:17:54,512 audio playback using pulseaudio device:
2023-12-18 17:17:54,512 audio playback  'Dummy Output'
2023-12-18 17:17:54,564 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 17:17:55,126 audio playback using 'opus' audio codec
2023-12-18 17:17:55,634 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 17:17:56,722 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)
2023-12-18 17:17:57,745 Warning: ignoring ClientMessage type=VBOX_CLIENT_SEAMLESS_HEARTBEAT with format=8 (!=32)

This started our software and I could do the requested test. I copied the text...

ScreenShot_16130

...and pasted into Excel...

ScreenShot_16131

All looked OK.

After that I connected from browser to the session which attached to the previously started session on the server...

ScreenShot_16132

I also copied the same text, but this time via browser and it just copied the plain text...

ScreenShot_16133

So it seems the problem is with the html5 client. I know that v5.0.2 is not the latest one. If you want, I will update Xpra later and I will re-do these tests.

Thanks, Mike

totaam commented 9 months ago

Ok, so I guessed correctly when i moved this ticket to the html5 client.

Please run your server with -d clipboard and post the log. With the bare minimum actions needed as the log grows quickly.

mykeebot commented 9 months ago

Hello @totaam,

Yes, you were right.

Do you mean...

xpra start --bind-tcp=192.168.1.30:10000 --no-daemon -d clipboard

...or?

totaam commented 9 months ago

Yes.

mykeebot commented 9 months ago

Hello @totaam,

That was in the terminal after I hit Ctrl+C...

2023-12-19 10:05:52,707 do_xpra_selection_clear(<X11:SelectionClear {'serial': '39f2', 'delivered_to': 'a0000d', 'window': 'a0000d', 'selection': 'CLIPBOARD', 'time': '446288'}>)
2023-12-19 10:05:52,707 do_xpra_selection_clear(<X11:SelectionClear {'serial': '39f2', 'delivered_to': 'a0000d', 'window': 'a0000d', 'selection': 'CLIPBOARD', 'time': '446288'}>) was owned=True
2023-12-19 10:05:52,707 do_owner_changed()
2023-12-19 10:05:52,707 do_xpra_xfixes_selection_notify_event(<X11:XFSelectionNotify {'serial': '39f2', 'delivered_to': 'a0000d', 'window': 'a0000d', 'subtype': '0', 'owner': '18874372', 'selection': 'CLIPBOARD', 'timestamp': '446290', 'selection_timestamp': '446288'}>)
2023-12-19 10:05:52,707 do_selection_notify_event(<X11:XFSelectionNotify {'serial': '39f2', 'delivered_to': 'a0000d', 'window': 'a0000d', 'subtype': '0', 'owner': '18874372', 'selection': 'CLIPBOARD', 'timestamp': '446290', 'selection_timestamp': '446288'}>) owned=False, was False (owner=0x1200004, xid=0xa0000d), enabled=True, can-send=True
2023-12-19 10:05:52,708 do_owner_changed()
2023-12-19 10:05:52,708 get_contents(TARGETS, <function ClipboardProxy.schedule_emit_token.<locals>.got_targets at 0x7ff61eee98c8>) owned=False, have-token=True
2023-12-19 10:05:52,708 requesting local XConvertSelection from ['Qt Selection Owner for mlds', 'xid=1200004', 'pid=4356'] as 'TARGETS' into 'CLIPBOARD-TARGETS'
2023-12-19 10:05:52,709 do_xpra_property_notify_event(<X11:PropertyNotify {'serial': '39fd', 'delivered_to': 'a0000d', 'window': 'a0000d', 'atom': 'CLIPBOARD-TARGETS', 'time': '446298'}>)
2023-12-19 10:05:52,709 do_property_notify(<X11:PropertyNotify {'serial': '39fd', 'delivered_to': 'a0000d', 'window': 'a0000d', 'atom': 'CLIPBOARD-TARGETS', 'time': '446298'}>)
2023-12-19 10:05:52,709 CLIPBOARD-TARGETS=b'\xd3\x01\x00\x00\x00\x00\x00\x00\xeb\x00\x00\x .. x00\x00\x00\x00\x89\x01\x00\x00\x00\x00\x00\x00' (ATOM : 32)
2023-12-19 10:05:52,710 filter_data(ATOM, 32, 80 <class 'bytes'>, False, None)
2023-12-19 10:05:52,710 got_local_contents: calling <function ClipboardProxy.schedule_emit_token.<locals>.got_targets at 0x7ff61eee98c8>('ATOM', 32, b'\xd3\x01\x00\x00\x00\x00\x00\x00\xeb\x00\x00\x .. x00\x00\x00\x00\x89\x01\x00\x00\x00\x00\x00\x00')
2023-12-19 10:05:52,710 got_targets: ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'text/html', 'application/vnd.oasis.opendocument.text', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS')
2023-12-19 10:05:52,710 get_contents(text/plain, <function ClipboardProxy.schedule_emit_token.<locals>.with_targets.<locals>.got_text_target at 0x7ff61dc84158>) owned=False, have-token=True
2023-12-19 10:05:52,711 requesting local XConvertSelection from ['Qt Selection Owner for mlds', 'xid=1200004', 'pid=4356'] as 'text/plain' into 'CLIPBOARD-text/plain'
2023-12-19 10:05:52,738 do_xpra_property_notify_event(<X11:PropertyNotify {'serial': '3a13', 'delivered_to': 'a0000d', 'window': 'a0000d', 'atom': 'CLIPBOARD-text/plain', 'time': '446327'}>)
2023-12-19 10:05:52,738 do_property_notify(<X11:PropertyNotify {'serial': '3a13', 'delivered_to': 'a0000d', 'window': 'a0000d', 'atom': 'CLIPBOARD-text/plain', 'time': '446327'}>)
2023-12-19 10:05:52,738 CLIPBOARD-text/plain=b"\n\xef\xbf\xbc iQ\xe2\x80\xa2link - Main Engin .. Second:\n18792\n\n\nDate Printed: 19-DEC-2023\n" (text/plain : 8)
2023-12-19 10:05:52,739 filter_data(text/plain, 8, 4093 <class 'bytes'>, False, None)
2023-12-19 10:05:52,739 got_local_contents: calling <function ClipboardProxy.schedule_emit_token.<locals>.with_targets.<locals>.got_text_target at 0x7ff61dc84158>('text/plain', 8, b"\n\xef\xbf\xbc iQ\xe2\x80\xa2link - Main Engin .. Second:\n18792\n\n\nDate Printed: 19-DEC-2023\n")
2023-12-19 10:05:52,739 got_text_target(text/plain, 8, b"\n\xef\xbf\xbc iQ\xe2\x80\xa2link - Main Engin .. Second:\n18792\n\n\nDate Printed: 19-DEC-2023\n")
2023-12-19 10:05:52,739 _send_clipboard_token_handler(X11ClipboardProxy(CLIPBOARD), (('text/plain', 'UTF8_STRING', 'STRING', 'TEXT') .. cond:\n18792\n\n\nDate Printed: 19-DEC-2023\n")))
2023-12-19 10:05:52,739 _munge_raw_selection_to_wire('text/plain', 'text/plain', 8, '\\n iQâ\x80¢link - Main Engineering Report\\n\\n \\nSite .. s Per Second:\\n18792\\n\\n\\nDate Printed: 19-DEC-2023\\n')
2023-12-19 10:05:52,739 _do_munge_raw_selection_to_wire(text/plain, text/plain, 8, <class 'bytes'>:4093)
2023-12-19 10:05:52,739 send_clipboard_token_handler CLIPBOARD to CLIPBOARD

ScreenShot_16136

Thanks, Mike

totaam commented 9 months ago

I assume that this a log for a failing copy? Because it's sending the data as text/plain:

2023-12-19 10:05:52,739 _do_munge_raw_selection_to_wire(text/plain, text/plain, 8, <class 'bytes'>:4093)

Do you have the same log but for a successful copy?

It will choose one of the other targets:

2023-12-19 10:05:52,710 got_targets: ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'text/html', 'application/vnd.oasis.opendocument.text', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS')

Perhaps application/vnd.oasis.opendocument.text According to Mime Content Types used in OpenOffice.org, that's OpenDocument Text. Odd when they have other datatypes for structured data, but who knows, maybe that's enough for the spreadsheet.

Assuming that this is the case, we may be able to use ClipboardItems. I'm not sure that evt.clipboardData.setDatacan be used here.

mykeebot commented 9 months ago

Hi @totaam,

Yes, below you may find the output of the successful copy...

2023-12-19 15:40:47,534 do_xpra_selection_clear(<X11:SelectionClear {'serial': '2ea2', 'delivered_to': 'a0000d', 'window': 'a0000d', 'selection': 'CLIPBOARD', 'time': '523158'}>)
2023-12-19 15:40:47,535 do_xpra_selection_clear(<X11:SelectionClear {'serial': '2ea2', 'delivered_to': 'a0000d', 'window': 'a0000d', 'selection': 'CLIPBOARD', 'time': '523158'}>) was owned=True
2023-12-19 15:40:47,535 do_owner_changed()
2023-12-19 15:40:47,535 do_xpra_xfixes_selection_notify_event(<X11:XFSelectionNotify {'serial': '2ea2', 'delivered_to': 'a0000d', 'window': 'a0000d', 'subtype': '0', 'owner': '18874372', 'selection': 'CLIPBOARD', 'timestamp': '523159', 'selection_timestamp': '523158'}>)
2023-12-19 15:40:47,535 do_selection_notify_event(<X11:XFSelectionNotify {'serial': '2ea2', 'delivered_to': 'a0000d', 'window': 'a0000d', 'subtype': '0', 'owner': '18874372', 'selection': 'CLIPBOARD', 'timestamp': '523159', 'selection_timestamp': '523158'}>) owned=False, was False (owner=0x1200004, xid=0xa0000d), enabled=True, can-send=True
2023-12-19 15:40:47,535 do_owner_changed()
2023-12-19 15:40:47,535 _send_clipboard_token_handler(X11ClipboardProxy(CLIPBOARD), ())
2023-12-19 15:40:47,535 send_clipboard_token_handler CLIPBOARD to CLIPBOARD
2023-12-19 15:40:47,542 process clipboard request, request_id=0, selection=CLIPBOARD, local name=CLIPBOARD, target=TARGETS
2023-12-19 15:40:47,543 get_contents(TARGETS, <function ClipboardProtocolHelperCore._process_clipboard_request.<locals>.got_contents at 0x7f686c801b70>) owned=False, have-token=False
2023-12-19 15:40:47,543 requesting local XConvertSelection from ['Qt Selection Owner for mlds', 'xid=1200004', 'pid=4072'] as 'TARGETS' into 'CLIPBOARD-TARGETS'
2023-12-19 15:40:47,544 do_xpra_property_notify_event(<X11:PropertyNotify {'serial': '2eae', 'delivered_to': 'a0000d', 'window': 'a0000d', 'atom': 'CLIPBOARD-TARGETS', 'time': '523169'}>)
2023-12-19 15:40:47,544 do_property_notify(<X11:PropertyNotify {'serial': '2eae', 'delivered_to': 'a0000d', 'window': 'a0000d', 'atom': 'CLIPBOARD-TARGETS', 'time': '523169'}>)
2023-12-19 15:40:47,545 CLIPBOARD-TARGETS=b'\xd2\x01\x00\x00\x00\x00\x00\x00\xeb\x00\x00\x .. x00\x00\x00\x00\x89\x01\x00\x00\x00\x00\x00\x00' (ATOM : 32)
2023-12-19 15:40:47,552 filter_data(ATOM, 32, 80 <class 'bytes'>, False, None)
2023-12-19 15:40:47,553 got_local_contents: calling <function ClipboardProtocolHelperCore._process_clipboard_request.<locals>.got_contents at 0x7f686c801b70>('ATOM', 32, b'\xd2\x01\x00\x00\x00\x00\x00\x00\xeb\x00\x00\x .. x00\x00\x00\x00\x89\x01\x00\x00\x00\x00\x00\x00')
2023-12-19 15:40:47,553 proxy_got_contents(0, CLIPBOARD, TARGETS, ATOM, 32, <class 'bytes'>:80) data=0xd201000000000000eb000000000000001f000000000000009d01000000000000d301000000000000d4010000000000008601000000000000870100000000000088010000000000008901000000000000..
2023-12-19 15:40:47,554 _filter_targets(text/plain, UTF8_STRING, STRING, TEXT, text/html, application/vnd.oasis.opendocument.text, TARGETS, MULTIPLE, TIMESTAMP, SAVE_TARGETS)=('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'text/html', 'application/vnd.oasis.opendocument.text', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS')
2023-12-19 15:40:47,554 clipboard raw -> wire: ('ATOM', 32, b'\xd2\x01\x00\x00\x00\x00\x00\x00\xeb\x00\x00\x .. x00\x00\x00\x00\x89\x01\x00\x00\x00\x00\x00\x00') -> ('atoms', ('text/plain', 'UTF8_STRING', 'STRING' .. GETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS'))
2023-12-19 15:40:47,775 process clipboard request, request_id=1, selection=CLIPBOARD, local name=CLIPBOARD, target=UTF8_STRING
2023-12-19 15:40:47,775 get_contents(UTF8_STRING, <function ClipboardProtocolHelperCore._process_clipboard_request.<locals>.got_contents at 0x7f686c801f28>) owned=False, have-token=False
2023-12-19 15:40:47,776 requesting local XConvertSelection from ['Qt Selection Owner for mlds', 'xid=1200004', 'pid=4072'] as 'UTF8_STRING' into 'CLIPBOARD-UTF8_STRING'
2023-12-19 15:40:47,844 do_xpra_property_notify_event(<X11:PropertyNotify {'serial': '2ed3', 'delivered_to': 'a0000d', 'window': 'a0000d', 'atom': 'CLIPBOARD-UTF8_STRING', 'time': '523470'}>)
2023-12-19 15:40:47,846 do_property_notify(<X11:PropertyNotify {'serial': '2ed3', 'delivered_to': 'a0000d', 'window': 'a0000d', 'atom': 'CLIPBOARD-UTF8_STRING', 'time': '523470'}>)
2023-12-19 15:40:47,846 CLIPBOARD-UTF8_STRING=b"\n\xef\xbf\xbc iQ\xe2\x80\xa2link - Main Engin .. Second:\n18792\n\n\nDate Printed: 19-DEC-2023\n" (UTF8_STRING : 8)
2023-12-19 15:40:47,846 filter_data(UTF8_STRING, 8, 4093 <class 'bytes'>, False, None)
2023-12-19 15:40:47,846 got_local_contents: calling <function ClipboardProtocolHelperCore._process_clipboard_request.<locals>.got_contents at 0x7f686c801f28>('UTF8_STRING', 8, b"\n\xef\xbf\xbc iQ\xe2\x80\xa2link - Main Engin .. Second:\n18792\n\n\nDate Printed: 19-DEC-2023\n")
2023-12-19 15:40:47,847 proxy_got_contents(1, CLIPBOARD, UTF8_STRING, UTF8_STRING, 8, <class 'bytes'>:4093) data=0x0aefbfbc206951e280a26c696e6b202d204d61696e20456e67696e656572696e67205265706f72740a0a200a5369746520410a5369746520420a53697465730a4c6f636174696f6e2049443a0a200a200a53697465202f20536563746f722049443a0a5653333536380a5653303030320a4e616d653a0a536368c3bc7474617573747261c39f652035320a5669656e6e612030320a476f76277420417070726f76616c20233a0a0a0a4c61746974756465202f204c6f6e6769747564653a0a34382d31332d33382e..
2023-12-19 15:40:47,847 _munge_raw_selection_to_wire('UTF8_STRING', 'UTF8_STRING', 8, '\\n iQâ\x80¢link - Main Engineering Report\\n\\n \\nSite .. s Per Second:\\n18792\\n\\n\\nDate Printed: 19-DEC-2023\\n')
2023-12-19 15:40:47,847 _do_munge_raw_selection_to_wire(UTF8_STRING, UTF8_STRING, 8, <class 'bytes'>:4093)
2023-12-19 15:40:47,847 clipboard raw -> wire: ('UTF8_STRING', 8, b"\n\xef\xbf\xbc iQ\xe2\x80\xa2link - Main Engin .. Second:\n18792\n\n\nDate Printed: 19-DEC-2023\n") -> (b'bytes', b"\n\xef\xbf\xbc iQ\xe2\x80\xa2link - .. econd:\n18792\n\n\nDate Printed: 19-DEC-2023\n")
2023-12-19 15:40:47,915 process clipboard request, request_id=2, selection=CLIPBOARD, local name=CLIPBOARD, target=text/html
2023-12-19 15:40:47,915 get_contents(text/html, <function ClipboardProtocolHelperCore._process_clipboard_request.<locals>.got_contents at 0x7f686c801b70>) owned=False, have-token=False
2023-12-19 15:40:47,915 requesting local XConvertSelection from ['Qt Selection Owner for mlds', 'xid=1200004', 'pid=4072'] as 'text/html' into 'CLIPBOARD-text/html'
2023-12-19 15:40:47,916 do_xpra_property_notify_event(<X11:PropertyNotify {'serial': '2edd', 'delivered_to': 'a0000d', 'window': 'a0000d', 'atom': 'CLIPBOARD-text/html', 'time': '523541'}>)
2023-12-19 15:40:47,916 do_property_notify(<X11:PropertyNotify {'serial': '2edd', 'delivered_to': 'a0000d', 'window': 'a0000d', 'atom': 'CLIPBOARD-text/html', 'time': '523541'}>)
2023-12-19 15:40:47,916 CLIPBOARD-text/html=b'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//E .. 2023</span></p></td></tr></table></body></html>' (text/html : 8)
2023-12-19 15:40:47,917 filter_data(text/html, 8, 85771 <class 'bytes'>, False, None)
2023-12-19 15:40:47,917 got_local_contents: calling <function ClipboardProtocolHelperCore._process_clipboard_request.<locals>.got_contents at 0x7f686c801b70>('text/html', 8, b'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//E .. 2023</span></p></td></tr></table></body></html>')
2023-12-19 15:40:47,917 proxy_got_contents(2, CLIPBOARD, text/html, text/html, 8, <class 'bytes'>:85771) data=0x3c21444f43545950452048544d4c205055424c494320222d2f2f5733432f2f4454442048544d4c20342e302f2f454e222022687474703a2f2f7777772e77332e6f72672f54522f5245432d68746d6c34302f7374726963742e647464223e0a3c68746d6c3e3c686561643e3c6d657461206e616d653d227172696368746578742220636f6e74656e743d223122202f3e3c6d65746120687474702d65717569763d22436f6e74656e742d547970652220636f6e74656e743d22746578742f68746d6c3b2063686172..
2023-12-19 15:40:47,917 _munge_raw_selection_to_wire('text/html', 'text/html', 8, '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" .. -2023</span></p></td></tr></table></body></html>')
2023-12-19 15:40:47,918 _do_munge_raw_selection_to_wire(text/html, text/html, 8, <class 'bytes'>:85771)
2023-12-19 15:40:47,918 clipboard raw -> wire: ('text/html', 8, b'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//E .. 2023</span></p></td></tr></table></body></html>') -> (b'bytes', b'<!DOCTYPE HTML PUBLIC "-//W3C//DTD  .. 023</span></p></td></tr></table></body></html>')

Please do let me know if you need any other info from my side.

I hope it helps, Mike

totaam commented 9 months ago

Oh, it's using text/html for the structured data, we should be able to handle that easily enough.

mykeebot commented 9 months ago

Sounds great! :) Please do let me know if you have any update on this!

mykeebot commented 9 months ago

Hello @totaam!

Happy New Year! I hope you are doing great!

I'm just wondering if you have any update on this ticket since then? Do you need any other tests from my side?

Thanks in advance, Mike

totaam commented 9 months ago

@mykeebot there are 37 issues open at time of writing with the xpra-html5 project, and another 270+ with xpra. So no, no progress likely anytime soon.

mykeebot commented 9 months ago

Hi @totaam,

Thanks a lot for your feedback, understood. Do you have any gut feeling about when can you implement this fix? In 1, 3 or 6 months? I just would like to manage my resources.

Kind regards, Mike

totaam commented 8 months ago

Testing with a nested firefox browser for convenience, connecting with chrome.

Selecting text triggers:

got_targets: ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'SAVE_TARGETS', 'text/html', 'text/_moz_htmlcontext', 'text/_moz_htmlinfo', 'UTF8_STRING', 'COMPOUND_TEXT', 'TEXT', 'STRING', 'text/plain;charset=utf-8', 'text/plain', 'text/x-moz-url-priv')

So the browser running in the xpra session does offer text/html5, and the commit above makes the html5 client prefer this format over text/plain. Hopefully this won't cause us too many problems. The browser's clipboard interface is very limited (and convoluted, and not supported with the same features on all browsers...), so we can't easily choose which format to use, or even supply multiple formats it seems.


That's only half the solution unfortunately, on the server side we also need to:

This does not solve the issue of copying in the other direction: text/html5 from the browser to the server. I found some bugs there too...

totaam commented 8 months ago

How can we choose the format to use with DataTransfer.getData? Surely we aren't meant to try mime-types at random?

So now for copying to the server:

Unlike the commit in the comment above, which will be included in the next 10.x release, these two are in git master only, at least for now.

@mykeebot does that work for you? I have pushed some updated builds for rocklylinux 8.8 in the beta repository.

What browsers do you have for testing? What client OS and browsers are you targetting?

mykeebot commented 8 months ago

Hello @totaam,

Many thanks for your input! I need some time to review the details and make the necessary changes, then test it. I will get back to you as soon as possible.

Talk to you later, Mike

mykeebot commented 8 months ago

Hi @totaam,

Hello @totaam,

I had some time so I went through on your comments. Based on my best understanding, I had to modify the clipboard.py and core.py files. I could find these on my virtual server (where Xpra is sitting)...

/usr/lib64/python3.6/site-packages/xpra/x11/gtk_x11/clipboard.py /usr/lib64/python3.6/site-packages/xpra/clipboard/clipboard_core.py

I made the changes what you have suggested in your first comment five days ago, then I restarted the server. Now, when I execute the following commands...

[root@iqlr8vm comsearch]# XPRA_SSL_UPGRADE=0
[root@iqlr8vm comsearch]# export XPRA_SSL_UPGRADE
[root@iqlr8vm comsearch]# env | grep XPRA
XPRA_SSL_UPGRADE=0
[root@iqlr8vm comsearch]# xpra start --bind-tcp=10.0.2.15:10000 --no-daemon

...I get an error...

[root@iqlr8vm comsearch]# xpra start --bind-tcp=10.0.2.15:10000 --no-daemon

Warning: running as root

using systemd-run to wrap 'seamless' xpra server subcommand
Running scope as unit: run-rd5646b0d7f9e4f32988659f1506f7d7c.scope

Warning: running as root

Warning: running as root

2024-01-25 14:03:52,671 created tcp socket '10.0.2.15:10000'
2024-01-25 14:03:52,690 no uinput module (not usually needed)
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running

X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
Build Operating System:  4.18.0-425.3.1.el8.x86_64 
Current Operating System: Linux iqlr8vm 4.18.0-477.27.1.el8_8.x86_64 #1 SMP Wed Sep 20 15:55:39 UTC 2023 x86_64
Kernel command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-477.27.1.el8_8.x86_64 root=/dev/mapper/rl-root ro resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap rhgb quiet transparent_hugepage=never numa=off
Build Date: 23 February 2023  08:27:54AM
Build ID: xorg-x11-server 1.20.11-15.el8 
Current version of pixman: 0.38.4
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(++) Log file: "/run/xpra/S3667/Xorg.log", Time: Thu Jan 25 14:03:52 2024
(++) Using config file: "/etc/xpra/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
2024-01-25 14:03:54,652 pointer device emulation using XTest
2024-01-25 14:03:54,841 serving html content from '/usr/share/xpra/www'
2024-01-25 14:03:54,842 wrote pid 3667 to '/run/xpra/1/server.pid'
2024-01-25 14:03:54,926 created unix domain socket '/run/user/0/xpra/iqlr8vm-1'
2024-01-25 14:03:54,930 created unix domain socket '/run/xpra/iqlr8vm-1'
2024-01-25 14:03:54,932 created unix domain socket '/root/.xpra/iqlr8vm-1'
2024-01-25 14:03:54,934 created unix domain socket '/run/xpra/1/socket'
2024-01-25 14:03:54,936 xvfb pid=3733
2024-01-25 14:03:55,186 setting dummy crtc and output 0 to:
2024-01-25 14:03:55,186  8192x4096 50Hz (1445x722 mm, dpi=144)
2024-01-25 14:03:55,188 monitor 0 is 'VFB-0' 8192x4096
2024-01-25 14:03:55,313 Error: failed to setup clipboard helper
Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/xpra/server/mixins/clipboard.py", line 126, in init_clipboard
    module = __import__(mod, {}, {}, [parts[-1]])
  File "/usr/lib64/python3.6/site-packages/xpra/x11/gtk_x11/clipboard.py", line 22, in <module>
    from xpra.clipboard.clipboard_core import (
  File "/usr/lib64/python3.6/site-packages/xpra/clipboard/clipboard_core.py", line 39, in <module>
    "UTF8_STRING,TEXT,STRING,text/plain,text/html").split(",")
TypeError: 'type' object is not subscriptable
2024-01-25 14:03:55,341 pulseaudio server started with pid 3778
2024-01-25 14:03:55,341  private server socket path:
2024-01-25 14:03:55,341  '/run/xpra/1/pulse/pulse/native'
W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
2024-01-25 14:03:55,504 watching for applications menu changes in:
2024-01-25 14:03:55,505  '/usr/local/share/applications'
2024-01-25 14:03:55,505  '/usr/share/applications'
2024-01-25 14:03:55,719 Warning: webcam forwarding is disabled
2024-01-25 14:03:55,719  the virtual video directory '/sys/devices/virtual/video4linux' was not found
2024-01-25 14:03:55,721  make sure that the 'v4l2loopback' kernel module is installed and loaded
2024-01-25 14:03:55,721  or use the 'webcam=no' option
2024-01-25 14:03:55,721 found 0 virtual video devices for webcam forwarding
2024-01-25 14:03:56,218 xpra is ready.
2024-01-25 14:03:56,277 xpra X11 seamless server version 5.0.2-r0
2024-01-25 14:03:56,277  uid=0 (root), gid=0 (root)
2024-01-25 14:03:56,277  running with pid 3667 on Linux Rocky Linux 8.8 Green Obsidian

Warning: running as root

2024-01-25 14:03:56,723  connected to X11 display :1 with 24 bit colors
2024-01-25 14:03:56,864 GStreamer version 1.16.1
2024-01-25 14:03:59,442 loaded 42 start menu entries from 7 sub-menus in 3.8 seconds
2024-01-25 14:03:59,825 printer forwarding enabled using postscript and pdf
2024-01-25 14:04:00,131 2.9GB of system memory
2024-01-25 14:04:01,336 OpenGL is supported on display ':1'
2024-01-25 14:04:01,337  using 'llvmpipe (LLVM 15.0.0, 256 bits)' renderer
2024-01-25 14:04:01,349 started command `ibus-daemon` with pid 3815

ScreenShot_16248

I have already double-checked the code changes what I have made and I think it's OK. I used spaces and not tabulators in the code of course.

Do you have any idea about what could be the problem?

Thanks in advance, Mike

totaam commented 8 months ago

Based on my best understanding, I had to modify the clipboard.py and core.py files

No. I specifically said: I have pushed some updated builds for rocklylinux 8.8 in the beta repository.

TypeError: 'type' object is not subscriptable

My guess is that you applied the commits from git master to your v5.x installation. That's not going to work as RHEL 8 uses python3.6 and xpra v6 requires python3.10 or later. Either use the commits for the v5.x branch: https://github.com/Xpra-org/xpra/commit/eaf2e5472b7a3f775d2fd3a6944804eaa833f268 + https://github.com/Xpra-org/xpra/commit/0da4d81741fed523e1d356f8ab3fce209cdbd221 or use the beta builds provided.

And if you want to test with v5 rather than v6, this is also available from the beta repository:

dnf list xpra --showduplicates

Then choose your version from there, ie:

dnf install xpra-5.0.5-10.r36.el8
mykeebot commented 8 months ago

Hi @totaam,

Sorry, I thought I still have something to do before I go with the beta binaries. So what I did...

1.) I configured the Xpra Rocky Linux 8 beta repository on my VM....

[root@iqlr8vm yum.repos.d]# dnf -v repolist
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, kpatch, needs-restarting, playground, repoclosure, repodiff, repograph, repomanage, reposync, system-upgrade
DNF version: 4.7.0
cachedir: /var/cache/dnf
Xpra Beta 8 - x86_64                                                                                                                                                               930  B/s | 1.5 kB     00:01    
Repo-id            : appstream
Repo-name          : Rocky Linux 8 - AppStream
Repo-revision      : 8.9
Repo-distro-tags      : [cpe:/o:rocky:rocky:8]:  ,  , 8, L, R, c, i, k, n, o, u, x, y
Repo-updated       : Fri 19 Jan 2024 04:44:03 AM CET
Repo-pkgs          : 7,366
Repo-available-pkgs: 5,960
Repo-size          : 14 G
Repo-mirrors       : https://mirrors.rockylinux.org/mirrorlist?arch=x86_64&repo=AppStream-8
Repo-baseurl       : http://quantum-mirror.hu/mirrors/pub/rocky/8.9/AppStream/x86_64/os/ (66 more)
Repo-expire        : 172,800 second(s) (last: Thu 25 Jan 2024 02:41:34 PM CET)
Repo-filename      : /etc/yum.repos.d/Rocky-AppStream.repo

Repo-id            : appstream_dvd
Repo-name          : Rocky Linux v8.8 - AppStream DVD
Repo-revision      : 8.8
Repo-distro-tags      : [cpe:/o:rocky:rocky:8]:  ,  , 8, L, R, c, i, k, n, o, u, x, y
Repo-updated       : Thu 18 May 2023 01:32:04 AM CEST
Repo-pkgs          : 6,879
Repo-available-pkgs: 5,563
Repo-size          : 9.4 G
Repo-baseurl       : file:///var/repo/rocky8/AppStream
Repo-expire        : 172,800 second(s) (last: Thu 25 Jan 2024 02:35:17 PM CET)
Repo-filename      : /etc/yum.repos.d/Rocky-AppStream_DVD.repo

Repo-id            : baseos
Repo-name          : Rocky Linux 8 - BaseOS
Repo-revision      : 8.9
Repo-distro-tags      : [cpe:/o:rocky:rocky:8]:  ,  , 8, L, R, c, i, k, n, o, u, x, y
Repo-updated       : Fri 19 Jan 2024 04:44:09 AM CET
Repo-pkgs          : 1,906
Repo-available-pkgs: 1,902
Repo-size          : 2.7 G
Repo-mirrors       : https://mirrors.rockylinux.org/mirrorlist?arch=x86_64&repo=BaseOS-8
Repo-baseurl       : http://quantum-mirror.hu/mirrors/pub/rocky/8.9/BaseOS/x86_64/os/ (66 more)
Repo-expire        : 172,800 second(s) (last: Thu 25 Jan 2024 02:41:46 PM CET)
Repo-filename      : /etc/yum.repos.d/Rocky-BaseOS.repo

Repo-id            : baseos_dvd
Repo-name          : Rocky Linux v8.8 - BaseOS - DVD
Repo-revision      : 8.8
Repo-distro-tags      : [cpe:/o:rocky:rocky:8]:  ,  , 8, L, R, c, i, k, n, o, u, x, y
Repo-updated       : Thu 18 May 2023 01:28:52 AM CEST
Repo-pkgs          : 1,734
Repo-available-pkgs: 1,732
Repo-size          : 1.4 G
Repo-baseurl       : file:///var/repo/rocky8/BaseOS
Repo-expire        : 172,800 second(s) (last: Thu 25 Jan 2024 02:35:17 PM CET)
Repo-filename      : /etc/yum.repos.d/Rocky-BaseOS_DVD.repo

Repo-id            : epel
Repo-name          : Extra Packages for Enterprise Linux 8 - x86_64
Repo-revision      : 1706143799
Repo-updated       : Thu 25 Jan 2024 01:50:49 AM CET
Repo-pkgs          : 10,010
Repo-available-pkgs: 10,006
Repo-size          : 18 G
Repo-metalink      : https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=x86_64&infra=$infra&content=pub/rocky
  Updated          : Thu 25 Jan 2024 02:42:57 PM CET
Repo-baseurl       : http://ftp.bme.hu/epel/8/Everything/x86_64/ (206 more)
Repo-expire        : 172,800 second(s) (last: Thu 25 Jan 2024 02:42:57 PM CET)
Repo-filename      : /etc/yum.repos.d/epel.repo

Repo-id            : powertools
Repo-name          : Rocky Linux 8 - PowerTools
Repo-revision      : 8.9
Repo-distro-tags      : [cpe:/o:rocky:rocky:8]:  ,  , 8, L, R, c, i, k, n, o, u, x, y
Repo-updated       : Fri 19 Jan 2024 04:43:30 AM CET
Repo-pkgs          : 2,480
Repo-available-pkgs: 2,369
Repo-size          : 22 G
Repo-mirrors       : https://mirrors.rockylinux.org/mirrorlist?arch=x86_64&repo=PowerTools-8
Repo-baseurl       : http://quantum-mirror.hu/mirrors/pub/rocky/8.9/PowerTools/x86_64/os/ (66 more)
Repo-expire        : 172,800 second(s) (last: Thu 25 Jan 2024 02:41:53 PM CET)
Repo-filename      : /etc/yum.repos.d/Rocky-PowerTools.repo

Repo-id            : xpra-beta
Repo-name          : Xpra Beta 8 - x86_64
Repo-revision      : 1706170308
Repo-updated       : Thu 25 Jan 2024 09:11:48 AM CET
Repo-pkgs          : 182
Repo-available-pkgs: 177
Repo-size          : 210 M
Repo-baseurl       : https://xpra.org/beta/rockylinux/8/x86_64/
Repo-expire        : 86,400 second(s) (last: Thu 25 Jan 2024 02:27:46 PM CET)
Repo-filename      : /etc/yum.repos.d/Xpra-beta.repo
Total packages: 30,557

2.) Then I executed the dnf xpra ugprade command...

[root@iqlr8vm yum.repos.d]# dnf upgrade xpra
Last metadata expiration check: 0:00:19 ago on Thu 25 Jan 2024 02:44:16 PM CET.
Dependencies resolved.
===================================================================================================================================================================================================================
 Package                                                          Architecture                             Version                                               Repository                                   Size
===================================================================================================================================================================================================================
Upgrading:
 xpra                                                             x86_64                                   6.0-10.r35010.el8                                     xpra-beta                                    81 k
 xpra-audio                                                       x86_64                                   6.0-10.r35010.el8                                     xpra-beta                                   165 k
 xpra-client                                                      x86_64                                   6.0-10.r35010.el8                                     xpra-beta                                   198 k
 xpra-client-gtk3                                                 x86_64                                   6.0-10.r35010.el8                                     xpra-beta                                   704 k
 xpra-codecs                                                      x86_64                                   6.0-10.r35010.el8                                     xpra-beta                                   610 k
 xpra-codecs-nvidia                                               x86_64                                   6.0-10.r35010.el8                                     xpra-beta                                   638 k
 xpra-common                                                      x86_64                                   6.0-10.r35010.el8                                     xpra-beta                                   1.9 M
 xpra-server                                                      x86_64                                   6.0-10.r35010.el8                                     xpra-beta                                   1.0 M
Installing dependencies:
 blas                                                             x86_64                                   3.8.0-8.el8                                           appstream                                   426 k
 lapack                                                           x86_64                                   3.8.0-8.el8                                           appstream                                   8.6 M
 libimagequant                                                    x86_64                                   2.12.5-1.el8                                          epel                                         63 k
 mpdecimal                                                        x86_64                                   2.5.1-3.el8                                           appstream                                    92 k
 openh264                                                         x86_64                                   2.4.0-1                                               xpra-beta                                   437 k
 python3.11                                                       x86_64                                   3.11.5-1.el8_9                                        appstream                                    29 k
 python3.11-cairo                                                 x86_64                                   1.23.0-3.el8                                          xpra-beta                                   125 k
 python3.11-cffi                                                  x86_64                                   1.15.1-1.el8                                          appstream                                   292 k
 python3.11-gobject                                               x86_64                                   3.44.1-2.el8                                          xpra-beta                                    31 k
 python3.11-gobject-base                                          x86_64                                   3.44.1-2.el8                                          xpra-beta                                   179 k
 python3.11-gobject-base-noarch                                   noarch                                   3.44.1-2.el8                                          xpra-beta                                   120 k
 python3.11-libs                                                  x86_64                                   3.11.5-1.el8_9                                        appstream                                    10 M
 python3.11-numpy                                                 x86_64                                   1:1.26.3-1.el8                                        xpra-beta                                   7.3 M
 python3.11-pillow                                                x86_64                                   10.2.0-1.el8                                          xpra-beta                                   971 k
 python3.11-pip-wheel                                             noarch                                   22.3.1-4.el8                                          appstream                                   1.4 M
 python3.11-ply                                                   noarch                                   3.11-1.el8                                            appstream                                   134 k
 python3.11-pycparser                                             noarch                                   2.20-1.el8                                            appstream                                   146 k
 python3.11-pycuda                                                x86_64                                   2024.1-1                                              xpra-beta                                   729 k
 python3.11-setuptools-wheel                                      noarch                                   65.5.1-2.el8                                          appstream                                   719 k
 xpra-filesystem                                                  noarch                                   6.0-10.r35010.el8                                     xpra-beta                                   6.4 M
 xxhash-libs                                                      x86_64                                   0.8.1-3.el8                                           appstream                                    39 k
Installing weak dependencies:
 python3.11-cryptography                                          x86_64                                   37.0.2-5.el8                                          appstream                                   1.1 M
 python3.11-dbus                                                  x86_64                                   1.3.2-2.el8                                           xpra-beta                                   152 k
 python3.11-dns                                                   noarch                                   2.2.1-2.el8                                           epel                                        444 k
 python3.11-pynvml                                                x86_64                                   12.535.133-1                                          xpra-beta                                    81 k
 python3.11-pyopengl                                              x86_64                                   3.1.7-4.el8                                           xpra-beta                                   3.1 M
 python3.11-pysocks                                               noarch                                   1.7.1-1.el8                                           appstream                                    39 k
 python3.11-pyu2f                                                 x86_64                                   0.1.5-3                                               xpra-beta                                    66 k
 python3.11-pyxdg                                                 noarch                                   0.28-1.el8                                            xpra-beta                                   128 k

Transaction Summary
===================================================================================================================================================================================================================
Install  29 Packages
Upgrade   8 Packages

Total download size: 49 M
Is this ok [y/N]: y
Downloading Packages:
(1/37): mpdecimal-2.5.1-3.el8.x86_64.rpm                                                                                                                                            43 kB/s |  92 kB     00:02    
(2/37): blas-3.8.0-8.el8.x86_64.rpm                                                                                                                                                171 kB/s | 426 kB     00:02    
(3/37): python3.11-3.11.5-1.el8_9.x86_64.rpm                                                                                                                                        69 kB/s |  29 kB     00:00    
(4/37): python3.11-cffi-1.15.1-1.el8.x86_64.rpm                                                                                                                                    375 kB/s | 292 kB     00:00    
(5/37): python3.11-cryptography-37.0.2-5.el8.x86_64.rpm                                                                                                                            675 kB/s | 1.1 MB     00:01    
(6/37): python3.11-pip-wheel-22.3.1-4.el8.noarch.rpm                                                                                                                               621 kB/s | 1.4 MB     00:02    
(7/37): python3.11-ply-3.11-1.el8.noarch.rpm                                                                                                                                       495 kB/s | 134 kB     00:00    
(8/37): python3.11-pycparser-2.20-1.el8.noarch.rpm                                                                                                                                 592 kB/s | 146 kB     00:00    
(9/37): python3.11-pysocks-1.7.1-1.el8.noarch.rpm                                                                                                                                  261 kB/s |  39 kB     00:00    
(10/37): python3.11-libs-3.11.5-1.el8_9.x86_64.rpm                                                                                                                                 2.2 MB/s |  10 MB     00:04    
(11/37): python3.11-setuptools-wheel-65.5.1-2.el8.noarch.rpm                                                                                                                       850 kB/s | 719 kB     00:00    
(12/37): xxhash-libs-0.8.1-3.el8.x86_64.rpm                                                                                                                                        107 kB/s |  39 kB     00:00    
(13/37): lapack-3.8.0-8.el8.x86_64.rpm                                                                                                                                             901 kB/s | 8.6 MB     00:09    
(14/37): python3.11-cairo-1.23.0-3.el8.x86_64.rpm                                                                                                                                   77 kB/s | 125 kB     00:01    
(15/37): python3.11-gobject-3.44.1-2.el8.x86_64.rpm                                                                                                                                364 kB/s |  31 kB     00:00    
(16/37): openh264-2.4.0-1.x86_64.rpm                                                                                                                                               226 kB/s | 437 kB     00:01    
(17/37): python3.11-gobject-base-noarch-3.44.1-2.el8.noarch.rpm                                                                                                                    1.0 MB/s | 120 kB     00:00    
(18/37): python3.11-dbus-1.3.2-2.el8.x86_64.rpm                                                                                                                                    342 kB/s | 152 kB     00:00    
(19/37): python3.11-gobject-base-3.44.1-2.el8.x86_64.rpm                                                                                                                           1.0 MB/s | 179 kB     00:00    
(20/37): python3.11-pycuda-2024.1-1.x86_64.rpm                                                                                                                                     883 kB/s | 729 kB     00:00    
(21/37): python3.11-pillow-10.2.0-1.el8.x86_64.rpm                                                                                                                                 1.0 MB/s | 971 kB     00:00    
(22/37): python3.11-pynvml-12.535.133-1.x86_64.rpm                                                                                                                                 474 kB/s |  81 kB     00:00    
(23/37): python3.11-pyu2f-0.1.5-3.x86_64.rpm                                                                                                                                       440 kB/s |  66 kB     00:00    
(24/37): python3.11-pyxdg-0.28-1.el8.noarch.rpm                                                                                                                                    666 kB/s | 128 kB     00:00    
(25/37): python3.11-numpy-1.26.3-1.el8.x86_64.rpm                                                                                                                                  2.2 MB/s | 7.3 MB     00:03    
(26/37): python3.11-pyopengl-3.1.7-4.el8.x86_64.rpm                                                                                                                                1.1 MB/s | 3.1 MB     00:02    
(27/37): libimagequant-2.12.5-1.el8.x86_64.rpm                                                                                                                                      69 kB/s |  63 kB     00:00    
(28/37): xpra-6.0-10.r35010.el8.x86_64.rpm                                                                                                                                         511 kB/s |  81 kB     00:00    
(29/37): xpra-audio-6.0-10.r35010.el8.x86_64.rpm                                                                                                                                   1.1 MB/s | 165 kB     00:00    
(30/37): python3.11-dns-2.2.1-2.el8.noarch.rpm                                                                                                                                     618 kB/s | 444 kB     00:00    
(31/37): xpra-client-6.0-10.r35010.el8.x86_64.rpm                                                                                                                                  1.2 MB/s | 198 kB     00:00    
(32/37): xpra-filesystem-6.0-10.r35010.el8.noarch.rpm                                                                                                                              1.9 MB/s | 6.4 MB     00:03    
(33/37): xpra-codecs-6.0-10.r35010.el8.x86_64.rpm                                                                                                                                  2.3 MB/s | 610 kB     00:00    
(34/37): xpra-codecs-nvidia-6.0-10.r35010.el8.x86_64.rpm                                                                                                                           1.5 MB/s | 638 kB     00:00    
(35/37): xpra-client-gtk3-6.0-10.r35010.el8.x86_64.rpm                                                                                                                             629 kB/s | 704 kB     00:01    
(36/37): xpra-server-6.0-10.r35010.el8.x86_64.rpm                                                                                                                                  1.9 MB/s | 1.0 MB     00:00    
(37/37): xpra-common-6.0-10.r35010.el8.x86_64.rpm                                                                                                                                  1.9 MB/s | 1.9 MB     00:00    
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                              2.8 MB/s |  49 MB     00:17     
Extra Packages for Enterprise Linux 8 - x86_64                                                                                                                                     1.6 MB/s | 1.6 kB     00:00    
Importing GPG key 0x2F86D6A1:
 Userid     : "Fedora EPEL (8) <epel@fedoraproject.org>"
 Fingerprint: 94E2 79EB 8D8F 25B2 1810 ADF1 21EA 45AB 2F86 D6A1
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
Is this ok [y/N]: y
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                                           1/1 
  Installing       : python3.11-gobject-base-noarch-3.44.1-2.el8.noarch                                                                                                                                       1/45 
  Installing       : python3.11-gobject-base-3.44.1-2.el8.x86_64                                                                                                                                              2/45 
  Installing       : xpra-filesystem-6.0-10.r35010.el8.noarch                                                                                                                                                 3/45 
  Running scriptlet: xpra-filesystem-6.0-10.r35010.el8.noarch                                                                                                                                                 3/45 
  Installing       : blas-3.8.0-8.el8.x86_64                                                                                                                                                                  4/45 
  Running scriptlet: blas-3.8.0-8.el8.x86_64                                                                                                                                                                  4/45 
  Installing       : lapack-3.8.0-8.el8.x86_64                                                                                                                                                                5/45 
  Running scriptlet: lapack-3.8.0-8.el8.x86_64                                                                                                                                                                5/45 
  Installing       : python3.11-numpy-1:1.26.3-1.el8.x86_64                                                                                                                                                   6/45 
  Installing       : python3.11-pyopengl-3.1.7-4.el8.x86_64                                                                                                                                                   7/45 
  Installing       : libimagequant-2.12.5-1.el8.x86_64                                                                                                                                                        8/45 
  Installing       : python3.11-pillow-10.2.0-1.el8.x86_64                                                                                                                                                    9/45 
  Installing       : python3.11-pyxdg-0.28-1.el8.noarch                                                                                                                                                      10/45 
  Installing       : python3.11-pyu2f-0.1.5-3.x86_64                                                                                                                                                         11/45 
  Installing       : python3.11-pynvml-12.535.133-1.x86_64                                                                                                                                                   12/45 
  Installing       : python3.11-pycuda-2024.1-1.x86_64                                                                                                                                                       13/45 
  Installing       : python3.11-dbus-1.3.2-2.el8.x86_64                                                                                                                                                      14/45 
  Installing       : openh264-2.4.0-1.x86_64                                                                                                                                                                 15/45 
  Installing       : xxhash-libs-0.8.1-3.el8.x86_64                                                                                                                                                          16/45 
  Installing       : python3.11-setuptools-wheel-65.5.1-2.el8.noarch                                                                                                                                         17/45 
  Installing       : python3.11-pip-wheel-22.3.1-4.el8.noarch                                                                                                                                                18/45 
  Installing       : mpdecimal-2.5.1-3.el8.x86_64                                                                                                                                                            19/45 
  Installing       : python3.11-3.11.5-1.el8_9.x86_64                                                                                                                                                        20/45 
  Running scriptlet: python3.11-3.11.5-1.el8_9.x86_64                                                                                                                                                        20/45 
  Installing       : python3.11-libs-3.11.5-1.el8_9.x86_64                                                                                                                                                   21/45 
  Installing       : python3.11-ply-3.11-1.el8.noarch                                                                                                                                                        22/45 
  Installing       : python3.11-pycparser-2.20-1.el8.noarch                                                                                                                                                  23/45 
  Installing       : python3.11-cffi-1.15.1-1.el8.x86_64                                                                                                                                                     24/45 
  Installing       : python3.11-cryptography-37.0.2-5.el8.x86_64                                                                                                                                             25/45 
  Installing       : python3.11-pysocks-1.7.1-1.el8.noarch                                                                                                                                                   26/45 
  Installing       : python3.11-cairo-1.23.0-3.el8.x86_64                                                                                                                                                    27/45 
  Installing       : python3.11-gobject-3.44.1-2.el8.x86_64                                                                                                                                                  28/45 
  Installing       : python3.11-dns-2.2.1-2.el8.noarch                                                                                                                                                       29/45 
  Upgrading        : xpra-common-6.0-10.r35010.el8.x86_64                                                                                                                                                    30/45 
  Upgrading        : xpra-codecs-nvidia-6.0-10.r35010.el8.x86_64                                                                                                                                             31/45 
  Upgrading        : xpra-codecs-6.0-10.r35010.el8.x86_64                                                                                                                                                    32/45 
  Upgrading        : xpra-client-6.0-10.r35010.el8.x86_64                                                                                                                                                    33/45 
  Running scriptlet: xpra-client-6.0-10.r35010.el8.x86_64                                                                                                                                                    33/45 
  Upgrading        : xpra-audio-6.0-10.r35010.el8.x86_64                                                                                                                                                     34/45 
  Upgrading        : xpra-client-gtk3-6.0-10.r35010.el8.x86_64                                                                                                                                               35/45 
  Running scriptlet: xpra-client-gtk3-6.0-10.r35010.el8.x86_64                                                                                                                                               35/45 
  Upgrading        : xpra-server-6.0-10.r35010.el8.x86_64                                                                                                                                                    36/45 
  Running scriptlet: xpra-server-6.0-10.r35010.el8.x86_64                                                                                                                                                    36/45 
  Upgrading        : xpra-6.0-10.r35010.el8.x86_64                                                                                                                                                           37/45 
  Cleanup          : xpra-5.0.2-10.r0.el8.x86_64                                                                                                                                                             38/45 
  Running scriptlet: xpra-server-5.0.2-10.r0.el8.x86_64                                                                                                                                                      39/45 
  Cleanup          : xpra-server-5.0.2-10.r0.el8.x86_64                                                                                                                                                      39/45 
  Running scriptlet: xpra-server-5.0.2-10.r0.el8.x86_64                                                                                                                                                      39/45 
  Cleanup          : xpra-client-gtk3-5.0.2-10.r0.el8.x86_64                                                                                                                                                 40/45 
  Running scriptlet: xpra-client-gtk3-5.0.2-10.r0.el8.x86_64                                                                                                                                                 40/45 
  Cleanup          : xpra-codecs-5.0.2-10.r0.el8.x86_64                                                                                                                                                      41/45 
  Cleanup          : xpra-client-5.0.2-10.r0.el8.x86_64                                                                                                                                                      42/45 
  Running scriptlet: xpra-client-5.0.2-10.r0.el8.x86_64                                                                                                                                                      42/45 
  Cleanup          : xpra-audio-5.0.2-10.r0.el8.x86_64                                                                                                                                                       43/45 
  Cleanup          : xpra-common-5.0.2-10.r0.el8.x86_64                                                                                                                                                      44/45 
  Cleanup          : xpra-codecs-nvidia-5.0.2-10.r0.el8.x86_64                                                                                                                                               45/45 
  Running scriptlet: xpra-client-gtk3-6.0-10.r35010.el8.x86_64                                                                                                                                               45/45 
  Running scriptlet: xpra-codecs-nvidia-5.0.2-10.r0.el8.x86_64                                                                                                                                               45/45 
  Verifying        : blas-3.8.0-8.el8.x86_64                                                                                                                                                                  1/45 
  Verifying        : lapack-3.8.0-8.el8.x86_64                                                                                                                                                                2/45 
  Verifying        : mpdecimal-2.5.1-3.el8.x86_64                                                                                                                                                             3/45 
  Verifying        : python3.11-3.11.5-1.el8_9.x86_64                                                                                                                                                         4/45 
  Verifying        : python3.11-cffi-1.15.1-1.el8.x86_64                                                                                                                                                      5/45 
  Verifying        : python3.11-cryptography-37.0.2-5.el8.x86_64                                                                                                                                              6/45 
  Verifying        : python3.11-libs-3.11.5-1.el8_9.x86_64                                                                                                                                                    7/45 
  Verifying        : python3.11-pip-wheel-22.3.1-4.el8.noarch                                                                                                                                                 8/45 
  Verifying        : python3.11-ply-3.11-1.el8.noarch                                                                                                                                                         9/45 
  Verifying        : python3.11-pycparser-2.20-1.el8.noarch                                                                                                                                                  10/45 
  Verifying        : python3.11-pysocks-1.7.1-1.el8.noarch                                                                                                                                                   11/45 
  Verifying        : python3.11-setuptools-wheel-65.5.1-2.el8.noarch                                                                                                                                         12/45 
  Verifying        : xxhash-libs-0.8.1-3.el8.x86_64                                                                                                                                                          13/45 
  Verifying        : openh264-2.4.0-1.x86_64                                                                                                                                                                 14/45 
  Verifying        : python3.11-cairo-1.23.0-3.el8.x86_64                                                                                                                                                    15/45 
  Verifying        : python3.11-dbus-1.3.2-2.el8.x86_64                                                                                                                                                      16/45 
  Verifying        : python3.11-gobject-3.44.1-2.el8.x86_64                                                                                                                                                  17/45 
  Verifying        : python3.11-gobject-base-3.44.1-2.el8.x86_64                                                                                                                                             18/45 
  Verifying        : python3.11-gobject-base-noarch-3.44.1-2.el8.noarch                                                                                                                                      19/45 
  Verifying        : python3.11-numpy-1:1.26.3-1.el8.x86_64                                                                                                                                                  20/45 
  Verifying        : python3.11-pillow-10.2.0-1.el8.x86_64                                                                                                                                                   21/45 
  Verifying        : python3.11-pycuda-2024.1-1.x86_64                                                                                                                                                       22/45 
  Verifying        : python3.11-pynvml-12.535.133-1.x86_64                                                                                                                                                   23/45 
  Verifying        : python3.11-pyopengl-3.1.7-4.el8.x86_64                                                                                                                                                  24/45 
  Verifying        : python3.11-pyu2f-0.1.5-3.x86_64                                                                                                                                                         25/45 
  Verifying        : python3.11-pyxdg-0.28-1.el8.noarch                                                                                                                                                      26/45 
  Verifying        : xpra-filesystem-6.0-10.r35010.el8.noarch                                                                                                                                                27/45 
  Verifying        : libimagequant-2.12.5-1.el8.x86_64                                                                                                                                                       28/45 
  Verifying        : python3.11-dns-2.2.1-2.el8.noarch                                                                                                                                                       29/45 
  Verifying        : xpra-6.0-10.r35010.el8.x86_64                                                                                                                                                           30/45 
  Verifying        : xpra-5.0.2-10.r0.el8.x86_64                                                                                                                                                             31/45 
  Verifying        : xpra-audio-6.0-10.r35010.el8.x86_64                                                                                                                                                     32/45 
  Verifying        : xpra-audio-5.0.2-10.r0.el8.x86_64                                                                                                                                                       33/45 
  Verifying        : xpra-client-6.0-10.r35010.el8.x86_64                                                                                                                                                    34/45 
  Verifying        : xpra-client-5.0.2-10.r0.el8.x86_64                                                                                                                                                      35/45 
  Verifying        : xpra-client-gtk3-6.0-10.r35010.el8.x86_64                                                                                                                                               36/45 
  Verifying        : xpra-client-gtk3-5.0.2-10.r0.el8.x86_64                                                                                                                                                 37/45 
  Verifying        : xpra-codecs-6.0-10.r35010.el8.x86_64                                                                                                                                                    38/45 
  Verifying        : xpra-codecs-5.0.2-10.r0.el8.x86_64                                                                                                                                                      39/45 
  Verifying        : xpra-codecs-nvidia-6.0-10.r35010.el8.x86_64                                                                                                                                             40/45 
  Verifying        : xpra-codecs-nvidia-5.0.2-10.r0.el8.x86_64                                                                                                                                               41/45 
  Verifying        : xpra-common-6.0-10.r35010.el8.x86_64                                                                                                                                                    42/45 
  Verifying        : xpra-common-5.0.2-10.r0.el8.x86_64                                                                                                                                                      43/45 
  Verifying        : xpra-server-6.0-10.r35010.el8.x86_64                                                                                                                                                    44/45 
  Verifying        : xpra-server-5.0.2-10.r0.el8.x86_64                                                                                                                                                      45/45 

Upgraded:
  xpra-6.0-10.r35010.el8.x86_64                 xpra-audio-6.0-10.r35010.el8.x86_64    xpra-client-6.0-10.r35010.el8.x86_64   xpra-client-gtk3-6.0-10.r35010.el8.x86_64   xpra-codecs-6.0-10.r35010.el8.x86_64  
  xpra-codecs-nvidia-6.0-10.r35010.el8.x86_64   xpra-common-6.0-10.r35010.el8.x86_64   xpra-server-6.0-10.r35010.el8.x86_64  
Installed:
  blas-3.8.0-8.el8.x86_64                           lapack-3.8.0-8.el8.x86_64                                libimagequant-2.12.5-1.el8.x86_64                     mpdecimal-2.5.1-3.el8.x86_64                  
  openh264-2.4.0-1.x86_64                           python3.11-3.11.5-1.el8_9.x86_64                         python3.11-cairo-1.23.0-3.el8.x86_64                  python3.11-cffi-1.15.1-1.el8.x86_64           
  python3.11-cryptography-37.0.2-5.el8.x86_64       python3.11-dbus-1.3.2-2.el8.x86_64                       python3.11-dns-2.2.1-2.el8.noarch                     python3.11-gobject-3.44.1-2.el8.x86_64        
  python3.11-gobject-base-3.44.1-2.el8.x86_64       python3.11-gobject-base-noarch-3.44.1-2.el8.noarch       python3.11-libs-3.11.5-1.el8_9.x86_64                 python3.11-numpy-1:1.26.3-1.el8.x86_64        
  python3.11-pillow-10.2.0-1.el8.x86_64             python3.11-pip-wheel-22.3.1-4.el8.noarch                 python3.11-ply-3.11-1.el8.noarch                      python3.11-pycparser-2.20-1.el8.noarch        
  python3.11-pycuda-2024.1-1.x86_64                 python3.11-pynvml-12.535.133-1.x86_64                    python3.11-pyopengl-3.1.7-4.el8.x86_64                python3.11-pysocks-1.7.1-1.el8.noarch         
  python3.11-pyu2f-0.1.5-3.x86_64                   python3.11-pyxdg-0.28-1.el8.noarch                       python3.11-setuptools-wheel-65.5.1-2.el8.noarch       xpra-filesystem-6.0-10.r35010.el8.noarch      
  xxhash-libs-0.8.1-3.el8.x86_64                   

Complete!
[root@iqlr8vm yum.repos.d]# 

3.) At this point I restarted the VM 4.) Then I tried to start Xpra...

[root@iqlr8vm ~]# XPRA_SSL_UPGRADE=0
[root@iqlr8vm ~]# export XPRA_SSL_UPGRADE
[root@iqlr8vm ~]# env | grep XPRA
XPRA_SSL_UPGRADE=0
[root@iqlr8vm ~]# xpra start --bind-tcp=10.0.2.15:10000 --no-daemon

Warning: running as root

using systemd-run to wrap 'seamless' xpra server subcommand
Running scope as unit: run-r939f82776e9c47bd8d8bd220b833359b.scope

Warning: running as root

you must install `xpra-x11` to use `seamless

5.) Because of the error message I installed xpra-x11...

[root@iqlr8vm ~]# dnf install xpra-x11
Last metadata expiration check: 0:11:26 ago on Thu 25 Jan 2024 02:44:16 PM CET.
Package xpra-x11-5.0.2-10.r0.el8.x86_64 is already installed.
Dependencies resolved.
===================================================================================================================================================================================================================
 Package                                               Architecture                                 Version                                                  Repository                                       Size
===================================================================================================================================================================================================================
Upgrading:
 xpra-x11                                              x86_64                                       6.0-10.r35010.el8                                        xpra-beta                                       1.2 M
Installing weak dependencies:
 python3.11-lxml                                       x86_64                                       4.9.2-3.el8                                              appstream                                       1.4 M

Transaction Summary
===================================================================================================================================================================================================================
Install  1 Package
Upgrade  1 Package

Total download size: 2.5 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): xpra-x11-6.0-10.r35010.el8.x86_64.rpm                                                                                                                                       405 kB/s | 1.2 MB     00:02    
(2/2): python3.11-lxml-4.9.2-3.el8.x86_64.rpm                                                                                                                                      396 kB/s | 1.4 MB     00:03    
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                              675 kB/s | 2.5 MB     00:03     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                                           1/1 
  Installing       : python3.11-lxml-4.9.2-3.el8.x86_64                                                                                                                                                        1/3 
  Upgrading        : xpra-x11-6.0-10.r35010.el8.x86_64                                                                                                                                                         2/3 
  Cleanup          : xpra-x11-5.0.2-10.r0.el8.x86_64                                                                                                                                                           3/3 
  Running scriptlet: xpra-x11-5.0.2-10.r0.el8.x86_64                                                                                                                                                           3/3 
  Verifying        : python3.11-lxml-4.9.2-3.el8.x86_64                                                                                                                                                        1/3 
  Verifying        : xpra-x11-6.0-10.r35010.el8.x86_64                                                                                                                                                         2/3 
  Verifying        : xpra-x11-5.0.2-10.r0.el8.x86_64                                                                                                                                                           3/3 

Upgraded:
  xpra-x11-6.0-10.r35010.el8.x86_64                                                                                                                                                                                
Installed:
  python3.11-lxml-4.9.2-3.el8.x86_64                                                                                                                                                                               

Complete!
[root@iqlr8vm ~]#

6.) I restarted the server again 7.) I started Xpra with the following command...

xpra start --bind-tcp=192.168.1.30:10000 --no-daemon --ssl-cert=/etc/xpra/ssl-cert.pem --ssl=on

...and here is the startup log....

[root@iqlr8vm comsearch]# xpra start --bind-tcp=192.168.1.30:10000 --no-daemon --ssl-cert=/etc/xpra/ssl-cert.pem --ssl=on

Warning: running as root

using systemd-run to wrap 'seamless' xpra server subcommand
Running scope as unit: run-r53f0ba38a29b4073a8ed42b11a7a4c00.scope

Warning: running as root

Warning: running as root

2024-01-25 16:21:01,701 Warning: cannot enable SSH socket upgrades
2024-01-25 16:21:01,702  `paramiko` module not found
2024-01-25 16:21:01,702 created tcp socket '192.168.1.30:10000'
2024-01-25 16:21:01,713 no uinput module (not usually needed)
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running

X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
Build Operating System:  4.18.0-425.3.1.el8.x86_64 
Current Operating System: Linux iqlr8vm 4.18.0-477.27.1.el8_8.x86_64 #1 SMP Wed Sep 20 15:55:39 UTC 2023 x86_64
Kernel command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-477.27.1.el8_8.x86_64 root=/dev/mapper/rl-root ro resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap rhgb quiet transparent_hugepage=never numa=off
Build Date: 23 February 2023  08:27:54AM
Build ID: xorg-x11-server 1.20.11-15.el8 
Current version of pixman: 0.38.4
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(++) Log file: "/run/xpra/S3633/Xorg.log", Time: Thu Jan 25 16:21:01 2024
(++) Using config file: "/etc/xpra/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
2024-01-25 16:21:03,707 pointer device emulation using XTest
2024-01-25 16:21:03,833 wrote pid 3633 to '/run/xpra/1/server.pid'
2024-01-25 16:21:03,968 created unix domain sockets:
2024-01-25 16:21:03,968  '/run/user/0/xpra/iqlr8vm-1'
2024-01-25 16:21:03,968  '/run/xpra/iqlr8vm-1'
2024-01-25 16:21:03,968  '/root/.xpra/iqlr8vm-1'
2024-01-25 16:21:03,968  '/run/xpra/1/socket'
2024-01-25 16:21:03,970 xvfb pid 3693
2024-01-25 16:21:04,275 setting dummy crtc and output 0 to:
2024-01-25 16:21:04,275  8192x4096 50Hz (1445x722 mm, dpi=144)
2024-01-25 16:21:04,276 monitor 0 is 'VFB-0' 8192x4096
2024-01-25 16:21:04,366 D-Bus notification forwarding is available
2024-01-25 16:21:04,389 Warning: cannot watch for application menu changes without pyinotify:
2024-01-25 16:21:04,389  No module named 'pyinotify'
2024-01-25 16:21:04,435 pulseaudio server started with pid 3737
2024-01-25 16:21:04,435  private server socket path:
2024-01-25 16:21:04,435  '/run/xpra/1/pulse/pulse/native'
W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
2024-01-25 16:21:04,845 Warning: webcam forwarding is disabled
2024-01-25 16:21:04,845  the virtual video directory '/sys/devices/virtual/video4linux' was not found
2024-01-25 16:21:04,845  make sure that the 'v4l2loopback' kernel module is installed and loaded
2024-01-25 16:21:04,845  or use the 'webcam=no' option
2024-01-25 16:21:04,845 found 0 virtual video devices for webcam forwarding

Warning: running as root

2024-01-25 16:21:05,323 xpra is ready.
2024-01-25 16:21:05,401 xpra X11 seamless server version 6.0-r35010 (g404dbc173) beta
2024-01-25 16:21:05,401  uid=0 (root), gid=0 (root)
2024-01-25 16:21:05,401  running with pid 3633 on Linux
2024-01-25 16:21:05,401  cpython 3.11
2024-01-25 16:21:05,935 GStreamer version 1.16.1
2024-01-25 16:21:05,960  connected to X11 display :1 with 24 bit colors
2024-01-25 16:21:06,164 2.9GB of system memory
2024-01-25 16:21:08,681 OpenGL is supported on display ':1'
2024-01-25 16:21:08,681  using 'llvmpipe (LLVM 15.0.0, 256 bits)' renderer
2024-01-25 16:21:08,685 started command `ibus-daemon` with pid 3760
2024-01-25 16:21:09,039 loaded 56 start menu entries from 7 sub-menus in 4.5 seconds

8.) After that I used Brave browser on my machine and accessed Xpra like this...

ScreenShot_16249

9.) After the log in, I accepted and enabled the Clipboard

ScreenShot_16250

ScreenShot_16251

10.) Then I copied the necessary data from the HTML table...

ScreenShot_16252

...but when I tried to paste the data into my Excel, I got some kind of garbage data...

ScreenShot_16253

Did I miss something?

Thanks, Mike

FYI: If I run the application straight on the server I could copy the data properly into my excel...

ScreenShot_16254

totaam commented 8 months ago

How did you copy to the clipboard? Have you tried using control-c? Xpra may not be able to access the clipboard from pointer events.

Also, it doesn't look like you have an updated xpra-html5 package installed, I may have forgotten to push new beta builds of this component.

If that's not the cause then it is possible that Excel needs a different mimetype.

I will look into why xpra-x11 required an extra step to upgrade, it should not be needed.

mykeebot commented 8 months ago

How did you copy to the clipboard?

Ctrl + A, then Ctrl + V, then trying to pate with Ctrl + V.

Have you tried using control-c?

Yes.

Xpra may not be able to access the clipboard from pointer events.

I'm not sure what does pointer events mean.

Do you need any further tests from me now?

totaam commented 8 months ago

I'm not sure what does pointer events mean.

The pointer is usually driven by the mouse device. Click, move, scroll, etc..

Do you need any further tests from me now?

Yes, please try with the updated xpra-html5 package. It was missing because of this issue which caused the RHEL 8 builds to fail: e384d3ff64c3362a1ae11c79e90ce0a29c8b157f

mykeebot commented 8 months ago

Hello @totaam,

Many thanks for your feedback! So I just have to dnf upgade xpra-html5, then re-do my tests?

Thanks, Mike

totaam commented 8 months ago

So I just have to dnf upgade xpra-html5, then re-do my tests?

Yes, make sure that xpra-html5 is updated when you do. dnf clean metadata if needed.

mykeebot commented 8 months ago

Hi @totaam,

I'm happy to confirm that with the latest xpra-html5 upgrade the Copy & Paste function works OK and keeps the formatting as expected....

ScreenShot_16265

Will you keep these binaries in the beta repository? I would like to do the same upgrade in the production environment soon.

Many thanks in advance, Mike