[Bug]: VBoxClient clipboard conflicts with XRDP clipboard in Linux guests

Aperta
#926 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 6 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
42/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
c, linux
Ambito
desktop

Direzione di ricerca

Start by reading /etc/X11/Xsession.d/98vboxadd-xclient and /etc/xdg/autostart/vboxclient.desktop, the two startup paths named in the report, and trace how Guest Additions handle XRDP sessions. The workaround reports that suppressing VBoxClient in XRDP restores clipboard transfers and the XFCE wallpaper. Done means XRDP clipboard redirection works without disrupting the session, while local X11 startup remains available.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug
Version

7.2.20

Host OS Type

Linux

Host OS name + version

Lubuntu 24.04.3

Host Architecture

x86

Guest OS Type

Linux

Guest Architecture

x86

Guest OS name + version

Ubuntu 22.04.3

Component

Guest Additions/Shared Clipboard

What happened?

Environment

VirtualBox host OS: Lubuntu 24.04 (Linux)

VirtualBox host version: 7.2.20

Guest OS: Linux with XFCE desktop and XRDP

Guest Additions tested: 7.0.14 and 7.2.20

RDP client: FreeRDP (xfreerdp)

Guest networking: VirtualBox NAT with TCP port forwarding (host 127.0.0.1:3390 → guest port 3389)

The host itself is accessed remotely from Windows, resulting in the following connection chain:

Windows (MSTSC) → Lubuntu host (XRDP) → FreeRDP → VirtualBox Linux guest (XRDP)

Problem

When connecting to the Linux VirtualBox guest via XRDP with clipboard redirection enabled (+clipboard), clipboard synchronization becomes unreliable or stops working.

Observed symptoms:

Copy/paste between the RDP client and the Linux guest fails or hangs.

Clipboard synchronization can also affect the upstream RDP connection between Windows and the Linux host.

Windows applications using the clipboard (e.g. Notepad++) may become unresponsive.

The XFCE desktop wallpaper in the guest disappears and the desktop background becomes black.

Disabling RDP clipboard redirection (-clipboard) prevents these symptoms, but clipboard sharing is then unavailable.

The problem was reproduced using VirtualBox 7.2.20 on the host, with both Guest Additions 7.0.14 and 7.2.20 in the guest.

Updating the Guest Additions to match the host version did not resolve the problem.

Suspected cause

VirtualBox Guest Additions automatically start VBoxClient --clipboard inside the XRDP X11 session.

At the same time, XRDP starts xrdp-chansrv, which provides its own clipboard synchronization.

Both components therefore attempt to manage clipboard operations within the same X11 session.

Two VirtualBox autostart mechanisms were identified:

/etc/X11/Xsession.d/98vboxadd-xclient

/etc/xdg/autostart/vboxclient.desktop (starts VBoxClient-all)

The X11 startup script excludes SSH sessions but does not exclude XRDP sessions.

How can we reproduce this?

Steps to reproduce

Install a Linux guest with XFCE and XRDP in VirtualBox 7.2.20.

Install VirtualBox Guest Additions (tested with 7.0.14 and 7.2.20).

Configure VirtualBox NAT port forwarding for XRDP (host port 3390 → guest port 3389).

Connect using FreeRDP with clipboard redirection enabled:

xfreerdp /v:127.0.0.1:3390 /u:xuser /cert:ignore +clipboard

Check for VBoxClient processes inside the XRDP session.

Test clipboard transfers between the guest, the host and the upstream Windows client.

Confirmed workaround

Prevent VirtualBox's clipboard client from starting inside XRDP sessions while keeping XRDP clipboard redirection enabled.

  1. Mark XRDP sessions

In /etc/xrdp/startwm.sh, before starting XFCE:

export XRDP_SESSION=1
startxfce4

  1. Modify the VirtualBox X11 startup script

In /etc/X11/Xsession.d/98vboxadd-xclient, change:

elif test -z "${SSH_CONNECTION}"; then

to:

elif test -z "${SSH_CONNECTION}" && [ -z "${XRDP_SESSION}" ]; then

This prevents VBoxClient from being started by this script in XRDP sessions while preserving its startup in local X11 sessions.

  1. Disable the additional desktop autostart

Create a user-specific override:

mkdir -p ~/.config/autostart
cp /etc/xdg/autostart/vboxclient.desktop ~/.config/autostart/
echo 'Hidden=true' >> ~/.config/autostart/vboxclient.desktop

This disables the additional VBoxClient-all desktop autostart for the affected user.

Results after applying the workaround

No VBoxClient processes are started inside the XRDP session.

Clipboard redirection with FreeRDP +clipboard works correctly.

Copy/paste works across the complete connection chain: Windows ↔ Linux host ↔ VirtualBox guest.

The XFCE wallpaper remains visible.

The workaround continues to work after rebooting the guest.

The workaround works with both Guest Additions 7.0.14 and 7.2.20.

Reverting from Guest Additions 7.2.20 to 7.0.14 after applying the workaround did not reintroduce the problem.

This indicates that the issue is related to VBoxClient startup and clipboard interaction rather than a mismatch between the VirtualBox host and Guest Additions versions.

Suggested improvement

VirtualBox Guest Additions should detect XRDP sessions and avoid automatically starting VBoxClient --clipboard when XRDP already provides clipboard redirection.

Alternatively, the Guest Additions startup scripts should provide a documented mechanism for excluding XRDP sessions.

Note: The conflict between VBoxClient and XRDP clipboard handling is strongly suggested by the successful workaround. The exact internal failure mechanism has not yet been isolated.

Did you upload all of your necessary log files, screenshots, etc.?
  • Yes, I've uploaded all pertinent files to this issue.
Lingua principale
C
Stelle
1.4k
Fork
219
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di VirtualBox/virtualbox

Tutte le issue di VirtualBox/virtualbox

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.