Xpra: Ticket #735: Clipboard working incorrect with java-applications (x2go + xpra)

How to repeat

xpra start :100

(launch app1)

xpra start :101

(launch app2)

xpra attach :100
xpra attach :101

Actual result Clipboard working with system and xpra :101 Clipboard working inside only in xpra :100

I unable copy from system to xpra :100. Or from it.

Need result: Clipboard working between all xpra inctances and client-system



Thu, 20 Nov 2014 21:56:45 GMT - Antoine Martin: owner, description changed

Did you look at trac/wiki/Clipboard? Do you have a clipboard manager or a VM? What server / client OS? etc..

Just tested and this works fine here.


Tue, 09 Dec 2014 03:50:05 GMT - Antoine Martin:

Sounds to me like this is covered in the wiki link above. If you still have problems, please post both client and server output with the -d clipboard flag.


Thu, 11 Dec 2014 11:05:24 GMT - dimti:

I have another problem (maybe similar to first of describe issue): Clipboard working its OK. But in Java-applications working not all.

A) I intention to copy text from my browser into my IDE(Java). For complete that task - me need use another programm in xpra session (not java, in this case - geany) So.

  1. On my computer - launched normal X11 session. I open web-browser.
  2. Start xpra on :100. Start Java IDE on DISPLAY=:100.
  3. Ctrl-C text from web-browser.

3.5 Ctrl-V on Java IDE - nothing. I unable paste from cliboard (clipboard is empty)

  1. Open Geany on DISPLAY=:100.
  2. Paste clipboard content into geany.
  3. Copy text-content from geany
  4. Paste from cliboard into Java IDE (working)

For reverse task - I use similar algorythm.

How to I fetch more info about of this problem. Actually start xpra with -d clipboard flag for this reasons?

Thanks you for your patience!


Thu, 11 Dec 2014 18:28:38 GMT - Antoine Martin:

Which Java IDE is causing you problems?

Yes, the -d clipboard flag can be used for both client and server clipboard debugging.


Fri, 12 Dec 2014 02:00:35 GMT - dimti:

I use two java-apps: PHPStorm, Jira CLient (Alm works) In all apps cliboard working with help of non-java app only

-d cliboard on client (copy from default X11-session, paste into PHPStorm (not work), paste into geany, copy from geany, paste into PHPStorm)

[dimti@local ~]$ xpra attach -d clipboard :100
2014-12-12 04:56:04,704 unknown logging category: x265
2014-12-12 04:56:04,707  cannot import dec_avcodec2 (avcodec2 decoder): libx265.so.31: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
2014-12-12 04:56:04,727 xpra client version 0.14.10
2014-12-12 04:56:04,729 video decoder dec_avcodec2 could not be loaded: libx265.so.31: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
2014-12-12 04:56:04,730 OpenGL support could not be enabled:
2014-12-12 04:56:04,730  No module named gdkgl
2014-12-12 04:56:04,773 keyboard layouts: us,ru
2014-12-12 04:56:04,816 detected keyboard: rules=base, model=pc104, layout=us,ru
2014-12-12 04:56:04,817 desktop size is 1680x1028 with 1 screen(s):
2014-12-12 04:56:04,817   ':51.0' (485x297 mm) workarea: 1680x988 at 0x24
2014-12-12 04:56:04,817     monitor 1 1680x1003
2014-12-12 04:56:04,874 mmap is enabled using 128MB area in /tmp/xpra.W3slJT.mmap
2014-12-12 04:56:04,874 server: Linux Linux-3.17.3-1-ARCH-x86_64-with-glibc2.0, Xpra version 0.14.10 (r7983)
2014-12-12 04:56:04,875 make_clipboard_helper() server_clipboards=['CLIPBOARD', 'PRIMARY', 'SECONDARY'], local clipboards=['CLIPBOARD', 'PRIMARY', 'SECONDARY'], common=['CLIPBOARD', 'PRIMARY', 'SECONDARY']
2014-12-12 04:56:04,875 make_clipboard_helper() clipboard_options=[('xpra.clipboard.gdk_clipboard', 'GDKClipboardProtocolHelper', {'clipboards': ['CLIPBOARD', 'PRIMARY', 'SECONDARY']}), ('xpra.clipboard.clipboard_base', 'DefaultClipboardProtocolHelper', {'clipboards': ['CLIPBOARD', 'PRIMARY', 'SECONDARY']})]
2014-12-12 04:56:04,875 setup_clipboard_helper(<class 'xpra.clipboard.gdk_clipboard.GDKClipboardProtocolHelper'>, (), {'clipboards': ['CLIPBOARD', 'PRIMARY', 'SECONDARY']})
2014-12-12 04:56:04,876 <class 'xpra.clipboard.gdk_clipboard.GDKClipboardProtocolHelper'>.init_proxies : {'CLIPBOARD': <ClipboardProxy object at 0xeba0dc34 (xpra+clipboard+clipboard_base+ClipboardProxy at 0x9c070c8)>, 'PRIMARY': <ClipboardProxy object at 0xeba0dd24 (xpra+clipboard+clipboard_base+ClipboardProxy at 0x9c07110)>, 'SECONDARY': <ClipboardProxy object at 0xeba0ddec (xpra+clipboard+clipboard_base+ClipboardProxy at 0x9c07158)>}
2014-12-12 04:56:04,876 Attached to :100 (press Control-C to detach)
2014-12-12 04:56:04,883 clipboard_toggled((<XpraClient object at 0xf457602c (xpra+client+gtk2+client+XpraClient at 0x9abb3a0)>,)) enabled=True, server_supports_clipboard=True
2014-12-12 04:56:04,883 send clipboard token: CLIPBOARD
2014-12-12 04:56:04,883 send clipboard token: PRIMARY
2014-12-12 04:56:04,883 send clipboard token: SECONDARY
2014-12-12 04:56:04,884 clipboard_notify(0)
2014-12-12 04:56:21,398 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2014-12-12 04:56:21,398 process_clipboard_packet(['clipboard-request', 98, 'CLIPBOARD', 'TARGETS']) level=1
2014-12-12 04:56:21,399 process clipboard packet type=clipboard-pending-requests
2014-12-12 04:56:21,399 clipboard_progress(None, 1)
2014-12-12 04:56:21,400 clipboard_notify(1)
2014-12-12 04:56:21,401 process clipboard packet type=clipboard-request
2014-12-12 04:56:21,401 process clipboard request, request_id=98, selection=CLIPBOARD, local name=CLIPBOARD, target=TARGETS
2014-12-12 04:56:21,401 get_contents(TARGETS,<function got_contents at 0xeba224c4>) selection=CLIPBOARD
2014-12-12 04:56:21,404 got_targets(<gtk.Clipboard object at 0xeba0dc84 (GtkClipboard at 0x9c45910)>, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'SAVE_TARGETS', 'UTF8_STRING', 'COMPOUND_TEXT', 'TEXT', 'STRING'), (None,))
2014-12-12 04:56:21,404 got_contents(ATOM, 32, <type 'tuple'>:8) data=0x282754494d455354414d50272c202754415247455453272c20274d554c5449504c45272c2027534156455f54415247455453272c2027555446385f535452494e47272c2027434f4d504f554e445f54455854272c202754455854272c2027535452494e472729..
2014-12-12 04:56:21,405 _filter_targets(('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'SAVE_TARGETS', 'UTF8_STRING', 'COMPOUND_TEXT', 'TEXT', 'STRING'))=['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'UTF8_STRING', 'TEXT', 'STRING']
2014-12-12 04:56:21,405 clipboard raw -> wire: ('ATOM', 32, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'SAVE_TARGETS', 'UTF8_STRING', 'COMPOUND_TEXT', 'TEXT', 'STRING')) -> ('atoms', ['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'UTF8_STRING', 'TEXT', 'STRING'])
2014-12-12 04:56:21,406 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2014-12-12 04:56:21,408 process clipboard packet type=clipboard-pending-requests
2014-12-12 04:56:21,408 clipboard_progress(None, 0)
2014-12-12 04:56:21,408 clipboard_notify(0)
2014-12-12 04:56:21,439 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2014-12-12 04:56:21,439 process_clipboard_packet(['clipboard-request', 99, 'CLIPBOARD', 'TARGETS']) level=1
2014-12-12 04:56:21,439 process clipboard packet type=clipboard-pending-requests
2014-12-12 04:56:21,440 clipboard_progress(None, 1)
2014-12-12 04:56:21,440 clipboard_notify(1)
2014-12-12 04:56:21,441 process clipboard packet type=clipboard-request
2014-12-12 04:56:21,441 process clipboard request, request_id=99, selection=CLIPBOARD, local name=CLIPBOARD, target=TARGETS
2014-12-12 04:56:21,441 get_contents(TARGETS,<function got_contents at 0xeba2295c>) selection=CLIPBOARD
2014-12-12 04:56:21,441 got_targets(<gtk.Clipboard object at 0xeba0dc84 (GtkClipboard at 0x9c45910)>, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'SAVE_TARGETS', 'UTF8_STRING', 'COMPOUND_TEXT', 'TEXT', 'STRING'), (None,))
2014-12-12 04:56:21,441 got_contents(ATOM, 32, <type 'tuple'>:8) data=0x282754494d455354414d50272c202754415247455453272c20274d554c5449504c45272c2027534156455f54415247455453272c2027555446385f535452494e47272c2027434f4d504f554e445f54455854272c202754455854272c2027535452494e472729..
2014-12-12 04:56:21,442 _filter_targets(('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'SAVE_TARGETS', 'UTF8_STRING', 'COMPOUND_TEXT', 'TEXT', 'STRING'))=['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'UTF8_STRING', 'TEXT', 'STRING']
2014-12-12 04:56:21,442 clipboard raw -> wire: ('ATOM', 32, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'SAVE_TARGETS', 'UTF8_STRING', 'COMPOUND_TEXT', 'TEXT', 'STRING')) -> ('atoms', ['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'UTF8_STRING', 'TEXT', 'STRING'])
2014-12-12 04:56:21,443 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2014-12-12 04:56:21,443 process clipboard packet type=clipboard-pending-requests
2014-12-12 04:56:21,443 clipboard_progress(None, 0)
2014-12-12 04:56:21,443 clipboard_notify(0)
2014-12-12 04:56:39,230 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2014-12-12 04:56:39,230 process_clipboard_packet(['clipboard-request', 100, 'CLIPBOARD', 'UTF8_STRING']) level=1
2014-12-12 04:56:39,230 process clipboard packet type=clipboard-pending-requests
2014-12-12 04:56:39,231 clipboard_progress(None, 1)
2014-12-12 04:56:39,231 clipboard_notify(1)
2014-12-12 04:56:39,231 process clipboard packet type=clipboard-request
2014-12-12 04:56:39,232 process clipboard request, request_id=100, selection=CLIPBOARD, local name=CLIPBOARD, target=UTF8_STRING
2014-12-12 04:56:39,232 get_contents(UTF8_STRING,<function got_contents at 0xeba227d4>) selection=CLIPBOARD
2014-12-12 04:56:39,232 unpack <gtk.Clipboard object at 0xeba0dc84 (GtkClipboard at 0x9c45910)>: <type 'gtk.SelectionData'>
2014-12-12 04:56:39,233 unpack: <GtkSelectionData at 0x9c69a60>
2014-12-12 04:56:39,233 unpack(..) type=UTF8_STRING, format=8, data=<type 'str'>:106
2014-12-12 04:56:39,233 got_contents(UTF8_STRING, 8, <type 'str'>:106) data=0x49207573652074776f206a6176612d617070733a2050485053746f726d2c204a69726120434c69656e742028416c6d20776f726b73290a496e20616c6c206170707320636c69626f61726420776f726b696e672077697468206e6f6e2d6a61766120617070206f6e6c79..
2014-12-12 04:56:39,233 _do_munge_raw_selection_to_wire(UTF8_STRING, UTF8_STRING, 8, <type 'str'>:106)
2014-12-12 04:56:39,233 clipboard raw -> wire: ('UTF8_STRING', 8, 'I use two java-apps: PHPStorm, Jira CLient (Alm works)\nIn all apps cliboard working with non-java app only') -> ('bytes', 'I use two java-apps: PHPStorm, Jira CLient (Alm works)\nIn all apps cliboard working with non-java app only')
2014-12-12 04:56:39,234 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2014-12-12 04:56:39,234 process clipboard packet type=clipboard-pending-requests
2014-12-12 04:56:39,234 clipboard_progress(None, 0)
2014-12-12 04:56:39,235 clipboard_notify(0)
2014-12-12 04:56:41,379 process_clipboard_packet(['clipboard-token', 'PRIMARY']) level=1
2014-12-12 04:56:41,380 process clipboard packet type=clipboard-token
2014-12-12 04:56:41,380 process clipboard token selection=PRIMARY, local clipboard name=PRIMARY, proxy=ClipboardProxy(PRIMARY)
2014-12-12 04:56:41,380 got token, selection=PRIMARY, targets=None, target_data=None
2014-12-12 04:56:43,206 process_clipboard_packet(['clipboard-token', 'CLIPBOARD']) level=1
2014-12-12 04:56:43,207 process clipboard packet type=clipboard-token
2014-12-12 04:56:43,207 process clipboard token selection=CLIPBOARD, local clipboard name=CLIPBOARD, proxy=ClipboardProxy(CLIPBOARD)
2014-12-12 04:56:43,207 got token, selection=CLIPBOARD, targets=None, target_data=None
2014-12-12 04:56:43,222 do_selection_request_event(<gtk.gdk.Event at 0xf433cd70: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=UTF8_STRING, property=NX_CUT_BUFFER_CLIENT>)
2014-12-12 04:56:43,222 target for CLIPBOARD: 'UTF8_STRING'
2014-12-12 04:56:43,222 do_selection_request_event(<gtk.gdk.Event at 0xf433cd70: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=UTF8_STRING, property=NX_CUT_BUFFER_CLIENT>) target=UTF8_STRING, selection=CLIPBOARD
2014-12-12 04:56:43,222 do_selection_get(<GtkSelectionData at 0xff926870>, 0, 1010195542) selection=CLIPBOARD
2014-12-12 04:56:43,222 get clipboard from remote handler id=0
2014-12-12 04:56:43,223 clipboard_progress(1, None)
2014-12-12 04:56:43,223 clipboard_notify(1)
2014-12-12 04:56:43,226 process_clipboard_packet(['clipboard-contents', 0, 'CLIPBOARD', 'UTF8_STRING', 8, 'bytes', 'I use two java-apps: PHPStorm, Jira CLient (Alm works)\nIn all apps cliboard working with non-java app only']) level=2
2014-12-12 04:56:43,226 process clipboard packet type=clipboard-contents
2014-12-12 04:56:43,226 process clipboard contents, selection=CLIPBOARD, type=UTF8_STRING, format=8
2014-12-12 04:56:43,226 _munge_wire_selection_to_raw(bytes, UTF8_STRING, 8, <type 'str'>:106:['I', ' ', 'u', 's', 'e', ' ', 't', 'w', 'o', ' ', 'j', 'a', 'v', 'a', '-', 'a', 'p', 'p', 's', ':', ' ', 'P', 'H', 'P', 'S', 't', 'o', 'r', 'm', ',', ' ', 'J', 'i', 'r', 'a', ' ', 'C', 'L', 'i', 'e', 'n', 't', ' ', '(', 'A', 'l', 'm', ' ', 'w', 'o', 'r', 'k', 's', ')', '\n', 'I', 'n', ' ', 'a', 'l', 'l', ' ', 'a', 'p', 'p', 's', ' ', 'c', 'l', 'i', 'b', 'o', 'a', 'r', 'd', ' ', 'w', 'o', 'r', 'k', 'i', 'n', 'g', ' ', 'w', 'i', 't', 'h', ' ', 'n', 'o', 'n', '-', 'j', 'a', 'v', 'a', ' ', 'a', 'p', 'p', ' ', 'o', 'n', 'l', 'y'])
2014-12-12 04:56:43,226 wire selection to raw, encoding=bytes, type=UTF8_STRING, format=8, len(data)=106
2014-12-12 04:56:43,226 clipboard wire -> raw: ('UTF8_STRING', 8, 'bytes', 'I use two java-apps: PHPStorm, Jira CLient (Alm works)\nIn all apps cliboard working with non-java app only') -> 'I use two java-apps: PHPStorm, Jira CLient (Alm works)\nIn all apps cliboard working with non-java app only'
2014-12-12 04:56:43,227 got clipboard contents for id=0 len=106, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0xeba28aec> (type=UTF8_STRING, format=8)
2014-12-12 04:56:43,227 get clipboard from remote result(0)={'data': 'I use two java-apps: PHPStorm, Jira CLient (Alm works)\nIn all apps cliboard working with non-java app only', 'type': 'UTF8_STRING', 'format': 8}
2014-12-12 04:56:43,227 clipboard_progress(0, None)
2014-12-12 04:56:43,227 clipboard_notify(0)
2014-12-12 04:56:43,228 do_selection_get(<GtkSelectionData at 0xff926870>,0,1010195542) calling selection_data.set(UTF8_STRING, 8, <type 'str'>:106)
2014-12-12 04:57:02,192 do_selection_clear_event(<gtk.gdk.Event at 0xf433cf50: GDK_SELECTION_CLEAR selection=PRIMARY, target=, property=>) have_token=True, block_owner_change=False selection=PRIMARY
2014-12-12 04:57:02,192 send clipboard token: PRIMARY
2014-12-12 04:57:02,192 remove_block(())

Fri, 12 Dec 2014 02:31:37 GMT - Antoine Martin:

Your log file is not annotated, so I am not 100% sure what is happening when. You have not answered the questions about which OS / distro / version you are using for both client and server.

But:

copy from default X11-session


How do you do this exactly?

Did you have a look at the wiki/Clipboard link? I suspect that some of your applications are copy+pasting from the CLIPBOARD clipboard, and others from PRIMARY. You can very this using xclip in your xpra session to inspect the contents of the clipboard.

I strongly suspect that this not really a bug in xpra - the best we could do would be to allow you to choose which clipboard we sync to/from.


Fri, 12 Dec 2014 08:11:11 GMT - dimti:

Annotated:

Insertion clipboard into java (unable to insert)
2014-12-12 10:43:48,886 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2014-12-12 10:43:48,886 process clipboard packet type=clipboard-pending-requests
2014-12-12 10:43:48,886 process_clipboard_packet(['clipboard-request', 103, 'CLIPBOARD', 'TARGETS']) level=1
2014-12-12 10:43:48,886 clipboard_progress(None, 1)
2014-12-12 10:43:48,887 clipboard_notify(1)
2014-12-12 10:43:48,903 process clipboard packet type=clipboard-request
2014-12-12 10:43:48,903 process clipboard request, request_id=103, selection=CLIPBOARD, local name=CLIPBOARD, target=TARGETS
2014-12-12 10:43:48,903 get_contents(TARGETS,<function got_contents at 0xebac36f4>) selection=CLIPBOARD
2014-12-12 10:43:48,906 got_targets(<gtk.Clipboard object at 0xebab1c34 (GtkClipboard at 0x94cc2e8)>, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'SAVE_TARGETS', 'text/html', 'text/_moz_htmlcontext', 'text/_moz_htmlinfo', 'UTF8_STRING', 'COMPOUND_TEXT', 'TEXT', 'STRING', 'text/x-moz-url-priv'), (None,))
2014-12-12 10:43:48,907 got_contents(ATOM, 32, <type 'tuple'>:12) data=0x282754494d455354414d50272c202754415247455453272c20274d554c5449504c45272c2027534156455f54415247455453272c2027746578742f68746d6c272c2027746578742f5f6d6f7a5f68746d6c636f6e74657874272c2027746578742f5f6d6f7a5f68746d6c696e666f272c2027555446385f535452494e47272c2027434f4d504f554e445f54455854272c202754455854272c2027535452494e47272c2027746578742f782d6d6f7a2d75726c2d707269762729..
2014-12-12 10:43:48,907 _filter_targets(('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'SAVE_TARGETS', 'text/html', 'text/_moz_htmlcontext', 'text/_moz_htmlinfo', 'UTF8_STRING', 'COMPOUND_TEXT', 'TEXT', 'STRING', 'text/x-moz-url-priv'))=['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'text/html', 'text/_moz_htmlcontext', 'text/_moz_htmlinfo', 'UTF8_STRING', 'TEXT', 'STRING', 'text/x-moz-url-priv']
2014-12-12 10:43:48,907 clipboard raw -> wire: ('ATOM', 32, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'SAVE_TARGETS', 'text/html', 'text/_moz_htmlcontext', 'text/_moz_htmlinfo', 'UTF8_STRING', 'COMPOUND_TEXT', 'TEXT', 'STRING', 'text/x-moz-url-priv')) -> ('atoms', ['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'text/html', 'text/_moz_htmlcontext', 'text/_moz_htmlinfo', 'UTF8_STRING', 'TEXT', 'STRING', 'text/x-moz-url-priv'])
2014-12-12 10:43:48,909 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2014-12-12 10:43:48,909 process clipboard packet type=clipboard-pending-requests
2014-12-12 10:43:48,909 clipboard_progress(None, 0)
2014-12-12 10:43:48,909 clipboard_notify(0)
2014-12-12 10:43:48,938 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2014-12-12 10:43:48,939 process_clipboard_packet(['clipboard-request', 104, 'CLIPBOARD', 'TARGETS']) level=1
2014-12-12 10:43:48,939 process clipboard packet type=clipboard-pending-requests
2014-12-12 10:43:48,939 clipboard_progress(None, 1)
2014-12-12 10:43:48,939 clipboard_notify(1)
2014-12-12 10:43:48,968 process clipboard packet type=clipboard-request
2014-12-12 10:43:48,969 process clipboard request, request_id=104, selection=CLIPBOARD, local name=CLIPBOARD, target=TARGETS
2014-12-12 10:43:48,969 get_contents(TARGETS,<function got_contents at 0xebac3d84>) selection=CLIPBOARD
2014-12-12 10:43:48,974 got_targets(<gtk.Clipboard object at 0xebab1c34 (GtkClipboard at 0x94cc2e8)>, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'SAVE_TARGETS', 'text/html', 'text/_moz_htmlcontext', 'text/_moz_htmlinfo', 'UTF8_STRING', 'COMPOUND_TEXT', 'TEXT', 'STRING', 'text/x-moz-url-priv'), (None,))
2014-12-12 10:43:48,974 got_contents(ATOM, 32, <type 'tuple'>:12) data=0x282754494d455354414d50272c202754415247455453272c20274d554c5449504c45272c2027534156455f54415247455453272c2027746578742f68746d6c272c2027746578742f5f6d6f7a5f68746d6c636f6e74657874272c2027746578742f5f6d6f7a5f68746d6c696e666f272c2027555446385f535452494e47272c2027434f4d504f554e445f54455854272c202754455854272c2027535452494e47272c2027746578742f782d6d6f7a2d75726c2d707269762729..
2014-12-12 10:43:48,974 _filter_targets(('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'SAVE_TARGETS', 'text/html', 'text/_moz_htmlcontext', 'text/_moz_htmlinfo', 'UTF8_STRING', 'COMPOUND_TEXT', 'TEXT', 'STRING', 'text/x-moz-url-priv'))=['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'text/html', 'text/_moz_htmlcontext', 'text/_moz_htmlinfo', 'UTF8_STRING', 'TEXT', 'STRING', 'text/x-moz-url-priv']
2014-12-12 10:43:48,974 clipboard raw -> wire: ('ATOM', 32, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'SAVE_TARGETS', 'text/html', 'text/_moz_htmlcontext', 'text/_moz_htmlinfo', 'UTF8_STRING', 'COMPOUND_TEXT', 'TEXT', 'STRING', 'text/x-moz-url-priv')) -> ('atoms', ['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'text/html', 'text/_moz_htmlcontext', 'text/_moz_htmlinfo', 'UTF8_STRING', 'TEXT', 'STRING', 'text/x-moz-url-priv'])
2014-12-12 10:43:48,976 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2014-12-12 10:43:48,976 process clipboard packet type=clipboard-pending-requests
2014-12-12 10:43:48,976 clipboard_progress(None, 0)
2014-12-12 10:43:48,976 clipboard_notify(0)
insert into geany (insert successfully)
2014-12-12 10:44:07,090 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2014-12-12 10:44:07,090 process clipboard packet type=clipboard-pending-requests
2014-12-12 10:44:07,090 process_clipboard_packet(['clipboard-request', 105, 'CLIPBOARD', 'UTF8_STRING']) level=1
2014-12-12 10:44:07,090 clipboard_progress(None, 1)
2014-12-12 10:44:07,091 clipboard_notify(1)
2014-12-12 10:44:07,092 process clipboard packet type=clipboard-request
2014-12-12 10:44:07,092 process clipboard request, request_id=105, selection=CLIPBOARD, local name=CLIPBOARD, target=UTF8_STRING
2014-12-12 10:44:07,092 get_contents(UTF8_STRING,<function got_contents at 0xebac39cc>) selection=CLIPBOARD
2014-12-12 10:44:07,092 unpack <gtk.Clipboard object at 0xebab1c34 (GtkClipboard at 0x94cc2e8)>: <type 'gtk.SelectionData'>
2014-12-12 10:44:07,093 unpack: <GtkSelectionData at 0x9562a60>
2014-12-12 10:44:07,093 unpack(..) type=UTF8_STRING, format=8, data=<type 'str'>:140
2014-12-12 10:44:07,093 got_contents(UTF8_STRING, 8, <type 'str'>:140) data=0x6e74706461746520706f6f6c2e6e74702e6f7267203331204175672031323a33313a3539206e7470646174655b333130385d3a20746865204e545020736f636b657420697320696e207573652c2065786974696e672e2069206a757374207265626f6f7465642c206920646f206e6f74206b6e6f7720686f7720616e797468696e672063616e20626520696e..
2014-12-12 10:44:07,093 _do_munge_raw_selection_to_wire(UTF8_STRING, UTF8_STRING, 8, <type 'str'>:140)
2014-12-12 10:44:07,093 clipboard raw -> wire: ('UTF8_STRING', 8, 'ntpdate pool.ntp.org 31 Aug 12:31:59 ntpdate[3108]: the NTP socket is in use, exiting. i just rebooted, i do not know how anything can be in') -> ('bytes', 'ntpdate pool.ntp.org 31 Aug 12:31:59 ntpdate[3108]: the NTP socket is in use, exiting. i just rebooted, i do not know how anything can be in')
2014-12-12 10:44:07,094 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2014-12-12 10:44:07,094 process clipboard packet type=clipboard-pending-requests
2014-12-12 10:44:07,094 clipboard_progress(None, 0)
2014-12-12 10:44:07,094 clipboard_notify(0)
select all in geany
2014-12-12 10:44:14,420 process_clipboard_packet(['clipboard-token', 'PRIMARY']) level=1
2014-12-12 10:44:14,420 process clipboard packet type=clipboard-token
2014-12-12 10:44:14,421 process clipboard token selection=PRIMARY, local clipboard name=PRIMARY, proxy=ClipboardProxy(PRIMARY)
2014-12-12 10:44:14,421 got token, selection=PRIMARY, targets=None, target_data=None
copy from geany
2014-12-12 10:44:22,095 cannot handle window transparency on screen <gtk.gdk.ScreenX11 object at 0xebae3a54 (GdkScreenX11 at 0x93b80d0)>
2014-12-12 10:44:26,418 process_clipboard_packet(['clipboard-token', 'CLIPBOARD']) level=1
2014-12-12 10:44:26,418 process clipboard packet type=clipboard-token
2014-12-12 10:44:26,418 process clipboard token selection=CLIPBOARD, local clipboard name=CLIPBOARD, proxy=ClipboardProxy(CLIPBOARD)
2014-12-12 10:44:26,418 got token, selection=CLIPBOARD, targets=None, target_data=None
insert into java (log is empty, insert is successfully, realy no log)

Code with header "Testing the clipboard" (by link) - work is ok. Xclip set and show correctly content

default X11-session - that launched on x2go. Xpra attached into x2go-session (desktop environment - xfce4)

OS ArchLinux?. xpra server and xpra client on same computer. OS launched with systemd-nspawn container (Modified chroot).

I suspect that some of your applications are copy+pasting from the CLIPBOARD clipboard, and others from PRIMARY. You can very this using xclip in your xpra session to inspect the contents of the clipboard.

When i copy content from X11-xfce4. I have that in CLIPBOARD, and in PRIMARY buffer. When i copy content from geany (helper programm, launhced on xpra session), i have similar situation. Content available from PRIMARY and from CLIPBOARD.

But, if i not use geany-helper-app, i unable to insert that content into java-app.

PS: If i launch java-app on X11-xfce4. I unable to copy-paste from xpra into x11-xfce4. (If use geany-helper (started on x11-xfce4) - copy-paste is work)


Mon, 15 Dec 2014 21:05:38 GMT - dimti:

Please - change heading of this bug: Clipboard working incorrect with java-applications (x2go + xpra)


Fri, 26 Dec 2014 03:33:10 GMT - Antoine Martin: status, summary changed; resolution set

In the future, please mention x2go from the onset!

I don't think we want to support this sort of setup: just like having multiple clipboard managers, this is unlikely to work.

If you can reproduce this bug without using any clipboard manager or x2go, we can take a look.


Thu, 05 Feb 2015 13:48:18 GMT - dimti:

I check interest log-message on attached xpra client:

2015-02-05 19:19:23,327 clipboard toggled to off by the server, reason: more than 10 clipboard requests per second!

Some that bug in x2go client - x2go sniffing clipboard. After turn off x2go clipboard sync features - xpra and x2go clipboard worked perfectly


Sat, 23 Jan 2021 05:04:26 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/735