I (still) have a strange problem with copy/paste on my setup. When x2go client is active, copy/paste stops working *locally *(nevermind if it works between local and remote).
Client is using kde, server is mate.
Any ideas?
-- *Those who don't understand recursion are doomed to repeat it*
On Tue, Aug 11, 2020 at 5:19 PM Neal Becker <ndbecker2@gmail.com> wrote:
I (still) have a strange problem with copy/paste on my setup. When x2go client is active, copy/paste stops working locally (nevermind if it works between local and remote).
Client is using kde, server is mate.
sigh... Neverending story. This might be related to the internal clipboard manager in kde. As I don't know every kde version around please research how to disable that for your version.
Do you have a strict procedure to trigger this behaviour?
Does it start workin again when you suspend the session?
Since nx-libs 3.5.99.24 we have a keystroke for dumping the clipboard state. Please check if it is active in /etc/x2go/keystrokes, look for line similar to this: <keystroke action="dump_clipboard" Control="1" Shift="1" AltMeta="1" key="c" />
If not, add it. The either suspend/resume the session or press the "reread keystrokes" keystroke.
When the situation happens again please press the configured keystroke and send me the server side log ~/.x2go/.../session.log. There's no clipboard content in the log but you can double check if in doubt ;-)
Uli
/----- Clipboard internal status ----- current time (Time) [3736281024] agentClipboardInitialized (Bool) [True] clientAccum (int) [0] nxagentMaxSelections (int) [2] NumCurrentSelections (int) [8] serverWindow (Window) [0x780062d] nxagentLastClipboardClient (int) [0] Clipboard mode [Both] lastServer lastServerRequestor (Window) [0x0] lastServerProperty (Atom) [ 362][_QT_SELECTION] lastServerTarget (Atom) [ 423][UTF8_STRING] lastServerTime (Time) [888492462] lastClient lastClientWindowPtr (WindowPtr) [0x5651cb5142c0] ([0xc0002a]) lastClientClientPtr (ClientPtr) [6] (addr [0x5651cb42d940] PID [389124] Cmd [clipit]) lastClientRequestor (Window) [0xc0002a] lastClientProperty (Atom) [ 294][GDK_SELECTION] lastClientSelection (Atom) [ 1][PRIMARY] lastClientTarget (Atom) [ 81][UTF8_STRING] lastClientTime (Time) [3736280915] ([119]ms ago) lastClientReqTime (Time) [3736280915] ([119]ms ago) lastClientPropertySize (unsigned long) [262144] lastClientStage (ClientSelectionStage) [4][WaitData] PRIMARY owner is inside nxagent? no lastSelectionOwner[].client (null) lastSelectionOwner[].window [0x0] lastSelectionOwner[].windowPtr - lastSelectionOwner[].lastTimeChanged [3736280701] lastSelectionOwner[].selection [ 1][PRIMARY] (remote X server) CurrentSelections[].client [(nil)] index [-1] PID [-1] Cmd [(null)] CurrentSelections[].window [0x139] CLIPBOARD owner is inside nxagent? yes lastSelectionOwner[].client [6] (addr [0x5651cb42d940] PID [389124] Cmd [clipit]) lastSelectionOwner[].window [0xc0002a] lastSelectionOwner[].windowPtr [0x5651cb5142c0] ([0xc0002a] lastSelectionOwner[].lastTimeChanged [3736280477] lastSelectionOwner[].selection [ 355][CLIPBOARD] (inside nxagent) CurrentSelections[].client [0x5651cb42d940] index [6] PID [389124] Cmd [clipit] CurrentSelections[].window [0xc0002a] Atoms (remote X server) serverTARGETS [ 357][TARGETS] serverTIMESTAMP [ 359][TIMESTAMP] serverTEXT [ 422][TEXT] serverCOMPOUND_TEXT [ 636][COMPOUND_TEXT] serverUTF8_STRING [ 423][UTF8_STRING] serverTransToAgentProperty [ 704][NX_CUT_BUFFER_SERVER] serverTransFromAgentProperty [ 701][NX_SELTRANS_FROM_AGENT] serverLastRequestedSelection [ 355][CLIPBOARD] Atoms (inside nxagent) clientTARGETS [ 75][TARGETS] clientTIMESTAMP [ 80][TIMESTAMP] clientTEXT [ 76][TEXT] clientCOMPOUND_TEXT [ 85][COMPOUND_TEXT] clientUTF8_STRING [ 81][UTF8_STRING] clientCLIPBOARD [ 79][CLIPBOARD] clientCutProperty [ 252][NX_CUT_BUFFER_CLIENT] \------------------------------------------------------------------------------
On Tue, Aug 11, 2020 at 1:42 PM Norm Green <norm.green@gemtalksystems.com> wrote:
-- *Those who don't understand recursion are doomed to repeat it*
On Tue, Aug 11, 2020 at 8:14 PM Neal Becker <ndbecker2@gmail.com> wrote:
Clipit is a clipboard manager. For me on Debian it is deprecated and non-functional. Can you please disable clipit on the server side and watch for a while?
This looks like _internal_ the communication in nxcomp/nxagent has not been completed and nxagent is waiting for some answer. If the problem re-appears please generate this log mulitple times (e.g. every 5s) for about half a minute.
yes, sorry.
Uli
I killed all clipboard managers on client and server. After unsuspending my session, a first test of bi-directional clipboard is working. Local copy/paste on client is also working. I will continue testing.
On Tue, Aug 11, 2020 at 5:31 PM Ulrich Sibiller <uli42@gmx.de> wrote:
-- *Those who don't understand recursion are doomed to repeat it*
Hi Uli,
Copy from Windows and paste into x2go just stopped working (the opposite direction still works). Here's the dump from the session log:
Xlib: unexpected async reply (sequence 0x8165dd07)! /----- Clipboard internal status ----- current time (Time) [130983810] agentClipboardInitialized (Bool) [True] clientAccum (int) [0] nxagentMaxSelections (int) [2] NumCurrentSelections (int) [9] serverWindow (Window) [0x2004dd] nxagentLastClipboardClient (int) [3] Clipboard mode [Both] lastServer lastServerRequestor (Window) [0x0] lastServerProperty (Atom) [ 327][CYGX_CUT_BUFFER] lastServerTarget (Atom) [ 241][UTF8_STRING] lastServerTime (Time) [0] lastClient lastClientWindowPtr (WindowPtr) [0x55773a7784a0] ([0x1c000ae]) lastClientClientPtr (ClientPtr) [14] (addr [0x55773a70d790] PID [29724] Cmd [/usr/bin/emacs25]) lastClientRequestor (Window) [0x1c000ae] lastClientProperty (Atom) [ 434][_EMACS_TMP_] lastClientSelection (Atom) [ 79][CLIPBOARD] lastClientTarget (Atom) [ 81][UTF8_STRING] lastClientTime (Time) [130972951] ([10859]ms ago) lastClientReqTime (Time) [130972958] ([10852]ms ago) lastClientPropertySize (unsigned long) [262144] lastClientStage (ClientSelectionStage) [4][WaitData] PRIMARY owner is inside nxagent? no lastSelectionOwner[].client (null) lastSelectionOwner[].window [0x0] lastSelectionOwner[].windowPtr - lastSelectionOwner[].lastTimeChanged [130970930] lastSelectionOwner[].selection [ 1][PRIMARY] (remote X server) CurrentSelections[].client [(nil)] index [-1] PID [-1] Cmd [(null)] CurrentSelections[].window [0xf5] CLIPBOARD owner is inside nxagent? no lastSelectionOwner[].client (null) lastSelectionOwner[].window [0x0] lastSelectionOwner[].windowPtr - lastSelectionOwner[].lastTimeChanged [130970930] lastSelectionOwner[].selection [ 326][CLIPBOARD] (remote X server) CurrentSelections[].client [(nil)] index [-1] PID [-1] Cmd [(null)] CurrentSelections[].window [0xf5] Atoms (remote X server) serverTARGETS [ 329][TARGETS] serverTIMESTAMP [ 338][TIMESTAMP] serverTEXT [ 335][TEXT] serverCOMPOUND_TEXT [ 328][COMPOUND_TEXT] serverUTF8_STRING [ 241][UTF8_STRING] serverTransToAgentProperty [ 339][NX_CUT_BUFFER_SERVER] serverTransFromAgentProperty [ 334][NX_SELTRANS_FROM_AGENT] serverLastRequestedSelection [ 326][CLIPBOARD] Atoms (inside nxagent) clientTARGETS [ 75][TARGETS] clientTIMESTAMP [ 80][TIMESTAMP] clientTEXT [ 76][TEXT] clientCOMPOUND_TEXT [ 85][COMPOUND_TEXT] clientUTF8_STRING [ 81][UTF8_STRING] clientCLIPBOARD [ 79][CLIPBOARD] clientCutProperty [ 261][NX_CUT_BUFFER_CLIENT] \------------------------------------------------------------------------------
On 8/11/2020 10:29 AM, Ulrich Sibiller wrote:
On Wed, Aug 19, 2020 at 7:43 PM Norm Green <norm.green@gemtalksystems.com> wrote:
Hmm, we had the same value here in your previous dump. So it looks like you somehow managed to trigger a code path where this does not get reset. Or some message is not reaching the nxagent so it never gets over this stage. Somehow we need to detect this situation and do the stage reset without the expected message after some timeout. Hmm...
There are already some timeout in the code, most of them are 5s. So if your connection is really slow these might trigger. Do you have a slow connection? Do you see delays in clipboard operations?
As a further measure I suggest you compile an own version of nxagent. If want to do that please let me know. I'll give you some instructions how to change the code to get more information in the log.
Uli