Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

i-beam cursor switches to black square when typing #342

Open
jkeltz opened this issue Aug 27, 2024 · 4 comments
Open

i-beam cursor switches to black square when typing #342

jkeltz opened this issue Aug 27, 2024 · 4 comments

Comments

@jkeltz
Copy link

jkeltz commented Aug 27, 2024

I have been running latest xrdp and xorgxrdp 0.9 for quite some time.
I compile from source. I'm running Rocky Enterprise Linux 8.10 (RHEL8.10).
Today, I updated to xorgxrdp 0.10.2 and xrdp 0.10.1 and am having one issue.

When I login to my XRDP session, my gnome session starts. I open a terminal. If I hit backspace, I hear the beep (because I've configured sound) and immediately the mouse cursor switches from the (I think it's called) "I-beam" to just a black square! I can get it to switch back to the "I-beam" again by just moving the mouse.
If I start typing in the Terminal window, the cursor switches back to the black square, and again, if I move the mouse it switches back to the I-Beam.
Now, if I click on the terminal so that my text is going to go in there, and move the mouse cursor out of the terminal Window so that it turns to the arrow, then I can type, and my text will go into the window, and the cursor will not change...
So this seems to impact the I-beam cursor only... But why? This has never been an issue for me in the past.

I have this installed on > 150 systems, and the same experience on all of them (unfortunately).

(I believe this is an xorgxrdp issue... My apologies if this is an xrdp issue).

@jkeltz
Copy link
Author

jkeltz commented Aug 27, 2024

I should add that I viewed the xrdp log and see some errors that could be relevant:

[2024-08-27T15:58:51.685-0400] [INFO ] starting xrdp with pid 10427 [2024-08-27T15:58:51.686-0400] [INFO ] address [0.0.0.0] port [3389] mode 1 [2024-08-27T15:58:51.687-0400] [INFO ] listening to port 3389 on 0.0.0.0 [2024-08-27T15:58:51.688-0400] [INFO ] xrdp_listen_pp done [2024-08-27T15:58:58.359-0400] [INFO ] Socket 14: connection accepted from 130.63.94.85:36454 [2024-08-27T15:58:58.361-0400] [INFO ] Using default X.509 certificate: /xconf/xrdp/cert.pem [2024-08-27T15:58:58.362-0400] [INFO ] Using default X.509 key file: /xconf/xrdp/key.pem [2024-08-27T15:58:58.363-0400] [INFO ] Security protocol: configured [SSL|RDP], requested [SSL|HYBRID|RDP], selected [SSL] [2024-08-27T15:58:58.368-0400] [INFO ] Connected client computer name: Guacamole RDP [2024-08-27T15:58:58.369-0400] [WARN ] Physical desktop dimensions (0x0) are invalid [2024-08-27T15:58:58.370-0400] [WARN ] Received [MS-RDPBCGR] TS_UD_HEADER type 0xc006 is unknown (ignored) [2024-08-27T15:58:58.371-0400] [WARN ] Received [MS-RDPBCGR] TS_UD_HEADER type 0xc00a is unknown (ignored) [2024-08-27T15:58:58.968-0400] [INFO ] xrdp_load_keyboard_layout: Keyboard information sent by the RDP client, keyboard_type:[0x04], keyboard_subtype:[0x00], keylayout:[0x00000409] [2024-08-27T15:58:58.970-0400] [INFO ] xrdp_load_keyboard_layout: model [] variant [] layout [us] options [] [2024-08-27T15:58:58.971-0400] [INFO ] TLS connection established from my-ip:36454 TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 [2024-08-27T15:58:59.169-0400] [INFO ] Client supports single-screen resizes by xrdp [2024-08-27T15:58:59.170-0400] [INFO ] xrdp_caps_process_pointer: client supports new(color) cursor [2024-08-27T15:58:59.171-0400] [INFO ] xrdp_process_offscreen_bmpcache: support level 1 cache size 7864320 MB cache entries 2000 [2024-08-27T15:58:59.172-0400] [WARN ] Client Capability: not enough orders supported by client, client wants off screen bitmap but offscreen bitmaps disabled [2024-08-27T15:58:59.173-0400] [INFO ] Client Capability: LARGE_POINTER_FLAG_96x96 supported [2024-08-27T15:58:59.177-0400] [INFO ] Loading keymap file /xconf/xrdp/km-00000409.ini [2024-08-27T15:58:59.179-0400] [WARN ] local keymap file for 0x00000409 found and doesn't match built in keymap, using local keymap file [2024-08-27T15:58:59.180-0400] [WARN ] Static channel 'drdynvc' not found. [2024-08-27T15:58:59.181-0400] [WARN ] Dynamic channels will not be available [2024-08-27T15:58:59.182-0400] [WARN ] No information is available to determine login screen DPI [2024-08-27T15:58:59.183-0400] [WARN ] No DPI value is available to find login font [2024-08-27T15:58:59.184-0400] [WARN ] Using the default_dpi of 96 [2024-08-27T15:58:59.187-0400] [WARN ] Ignoring obsolete SCP port value '3350' [2024-08-27T15:58:59.189-0400] [INFO ] xrdp_wm_log_msg: sesman connect ok [2024-08-27T15:58:59.190-0400] [INFO ] xrdp_wm_log_msg: Performing login request for jas [2024-08-27T15:58:59.422-0400] [INFO ] xrdp_wm_log_msg: login was successful - creating session [2024-08-27T15:58:59.654-0400] [ERROR] xrdp_rdp_recv: xrdp_channel_process failed [2024-08-27T15:59:00.515-0400] [INFO ] xrdp_wm_log_msg: session is available on display 11 for user jas [2024-08-27T15:59:00.516-0400] [INFO ] xrdp_wm_log_msg: Connecting to session [2024-08-27T15:59:00.517-0400] [INFO ] loaded module 'libxup.so' ok, interface size 10416, version 4 [2024-08-27T15:59:00.518-0400] [INFO ] lib_mod_connect: connecting via UNIX socket [2024-08-27T15:59:00.519-0400] [INFO ] lib_mod_log_peer: xrdp_pid=10475 connected to Xorg_pid=10479 Xorg_uid=1004 Xorg_gid=1000 client=130.63.94.85:36454 [2024-08-27T15:59:00.519-0400] [INFO ] xrdp_wm_log_msg: Connecting to chansrv [2024-08-27T15:59:02.525-0400] [INFO ] Received memory_allocation_complete command. width: 2560, height: 1271
In particular, the "Client Capability: not enough orders supported by client, client wants off screen bitmap but offscreen bitmaps disabled".

In the previous xrdp log none of those messages were there...

Jason.

@jkeltz
Copy link
Author

jkeltz commented Aug 27, 2024

I also wanted to add that even though my client is Apache Guacamole, I just tried with remmina as well, and had the same behaviour. I knew that Guacamole wasn't to do with the problem, but just wanted to be 100% sure.

@jsorg71
Copy link
Contributor

jsorg71 commented Aug 27, 2024

With commit 8dc0267, we added large mono cursors and NULL cursors. Since this happens when you start typing I think it's the NULL cursor. It would help me if you could put a add a return; about line 284 in module/rdpCursor.c to turn off NULL cursors.

@jkeltz
Copy link
Author

jkeltz commented Aug 28, 2024

You are correct... I did as you said, and the issue goes away...
I'm happy to give you access to my system if it would help your debugging efforts. I assume this doesn't happen on your system.

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

No branches or pull requests

2 participants