Skip to content

Instantly share code, notes, and snippets.

@acanakoglu
Created April 7, 2026 15:43
Show Gist options
  • Select an option

  • Save acanakoglu/7f061bd37082b7bf5e8cf94d095a79ba to your computer and use it in GitHub Desktop.

Select an option

Save acanakoglu/7f061bd37082b7bf5e8cf94d095a79ba to your computer and use it in GitHub Desktop.

🧩 XRDP Keyboard Layout Issue (US vs Italian)

Horizon β†’ XRDP β†’ Red Hat Linux


πŸ“Œ Overview

When connecting from a Windows machine (US keyboard) using Omnissa Horizon Client to a Linux (Red Hat) environment via XRDP, the keyboard layout at the login screen may be incorrect (e.g., Italian instead of US).

This causes:

  • ❌ Incorrect characters while typing
  • ❌ Login failures (especially with symbols like @, ", :)

πŸ–₯️ Architecture


[ Windows (US Keyboard) ]
β”‚
β–Ό
[ Omnissa Horizon Client ]
β”‚
β–Ό
[ XRDP Login Screen ❗ ]
β”‚
β–Ό
[ Linux Session (Red Hat) ]

πŸ‘‰ The issue occurs at the XRDP login layer, before the Linux session starts.


🎯 Root Cause

XRDP uses its own keyboard layout configuration, independent of:

  • Local OS keyboard (Windows)
  • Linux session settings (setxkbmap, localectl)

By default, it may be set to:


Italian (0x00000410)


βœ… Solution

1. Edit XRDP configuration

sudo nano /etc/xrdp/xrdp.ini

2. Add or fix the following lines:

xrdp.override_keyboard_type=0x04
xrdp.override_keyboard_subtype=0x01
xrdp.override_keylayout=0x00000409

πŸ” Parameter Explanation

Parameter Meaning
keyboard_type=0x04 Standard PC/AT keyboard
keyboard_subtype=0x01 Standard subtype
keylayout=0x00000409 US keyboard layout

πŸ” Apply Changes

sudo systemctl restart xrdp

πŸ§ͺ Verification

grep override /etc/xrdp/xrdp.ini

Expected output:

xrdp.override_keyboard_type=0x04
xrdp.override_keyboard_subtype=0x01
xrdp.override_keylayout=0x00000409

🧠 Key Takeaways

  • πŸ”΄ Problem is NOT Horizon
  • πŸ”΄ Problem is NOT Linux session
  • 🟒 Problem is XRDP login screen
  • 🟒 Fix must be applied in XRDP config

βœ… Result

After applying the fix:

  • βœ” XRDP login uses US keyboard layout
  • βœ” Password input works correctly
  • βœ” No more symbol mismatch

🏷️ Keywords

  • XRDP keyboard layout fix
  • Horizon Linux keyboard issue
  • Italian vs US keyboard XRDP
  • xrdp.override_keylayout

πŸ“Ž Optional Improvements

If you also want consistency after login:

localectl set-keymap us
localectl set-x11-keymap us

πŸ‘€ Author Note

This issue commonly appears in enterprise DaaS environments where:

  • Base images are localized (e.g., Italian)
  • XRDP defaults are not aligned with user keyboards

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment