EDITED:
I have a newly installed Ubuntu (Ubuntu 22.04.1 LTS Desktop, x86_64, X11) and connected an old Wacom USB tablet (gd-1218-u , 'Wacom Intuos 12x18' - Intuos(1)) - it worked great, out of the box the pen-pressure sensitivity was input to e.g. Inkscape to vary line width - very cool!
Then i tried a mouse for that tablet (just put it on the tablet, not pressing any buttons), and the system ... crashed? logged out? - i am not sure. The screen goes black for a second (this is reproducible, i have tried many times), then the login screen comes online, where i can click on my username and then input the password. After logging back in, all the windows that were previously open are closed.
Can i somehow enable a complete log of all inputs like a keylogger, but with added surveillance on the mouse/tablet movements (i guess the mouse, whyever, inputs some keyboard combo or somesuch, but it might also just rip the mouse pointer through a sequence of clicks that induce a logout)?
EDIT/ADDED: After setting the mouse onto the tablet at 18:16:00, i got the following log entries from the 'Logs' app, setting 'all', zooming in on the 'Server terminated' message:
18:16:00 Xorg: (EE) Server terminated with error (1). Closing log file.
18:16:00 Xorg: (EE) Server terminated with error (1). Closing log file.
18:16:00 Xorg: (II) AIGLX: Suspending AIGLX clients for VT switch
18:16:00 Xorg: (EE)
18:16:00 Xorg: (EE) Please also check the log file at "/home/loon/.local/share/xorg/Xorg.0.log" for additional information.
18:16:00 Xorg: for help.
18:16:00 Xorg: at http://wiki.x.org
18:16:00 Xorg: Please consult the The X.Org Foundation support
18:16:00 Xorg: (EE)
18:16:00 Xorg: (EE)
18:16:00 Xorg: (EE) Caught signal 6 (Aborted). Server aborting
18:16:00 Xorg: Fatal server error:
18:16:00 Xorg: (EE)
18:16:00 Xorg: (EE)
18:16:00 Xorg: (EE) 15: /lib/x86_64-linux-gnu/libc.so.6 (__xmknodat+0x230) [0x7fdf3bb0ea00]
18:16:00 Xorg: (EE) 14: /lib/x86_64-linux-gnu/libc.so.6 (pthread_condattr_setpshared+0x513) [0x7fdf3ba7cb43]
18:16:00 Xorg: (EE) 13: /usr/lib/xorg/Xorg (input_unlock+0x109) [0x5605448567e9]
18:16:00 Xorg: (EE) 12: /usr/lib/xorg/Xorg (OsCleanup+0x571) [0x560544859101]
18:16:00 Xorg: (EE) 11: /usr/lib/xorg/Xorg (input_unlock+0x2e7) [0x5605448569c7]
18:16:00 Xorg: (EE) 10: /usr/lib/xorg/modules/input/wacom_drv.so (?+0x0) [0x7fdf2aa782f8]
18:16:00 Xorg: (EE) unw_get_proc_name failed: no unwind info found [-10]
18:16:00 Xorg: (EE) 9: /usr/lib/xorg/modules/input/wacom_drv.so (?+0x0) [0x7fdf2aa84114]
18:16:00 Xorg: (EE) unw_get_proc_name failed: no unwind info found [-10]
18:16:00 Xorg: (EE) 8: /usr/lib/xorg/modules/input/wacom_drv.so (?+0x0) [0x7fdf2aa8160f]
18:16:00 Xorg: (EE) unw_get_proc_name failed: no unwind info found [-10]
18:16:00 Xorg: (EE) 7: /usr/lib/xorg/modules/input/wacom_drv.so (?+0x0) [0x7fdf2aa80dbf]
18:16:00 Xorg: (EE) unw_get_proc_name failed: no unwind info found [-10]
18:16:00 Xorg: (EE) 6: /lib/x86_64-linux-gnu/libc.so.6 (__assert_fail+0x46) [0x7fdf3ba21e96]
18:16:00 Xorg: (EE) 5: /lib/x86_64-linux-gnu/libc.so.6 (?+0x0) [0x7fdf3ba1071b]
18:16:00 Xorg: (EE) unw_get_proc_name failed: no unwind info found [-10]
18:16:00 Xorg: (EE) 4: /lib/x86_64-linux-gnu/libc.so.6 (abort+0xd3) [0x7fdf3ba107f3]
18:16:00 Xorg: (EE) 3: /lib/x86_64-linux-gnu/libc.so.6 (raise+0x16) [0x7fdf3ba2a476]
18:16:00 Xorg: (EE) 2: /lib/x86_64-linux-gnu/libc.so.6 (pthread_kill+0x12c) [0x7fdf3ba7ea7c]
18:16:00 Xorg: (EE) 1: /lib/x86_64-linux-gnu/libc.so.6 (__sigaction+0x50) [0x7fdf3ba2a520]
18:16:00 Xorg: (EE) 0: /usr/lib/xorg/Xorg (OsLookupColor+0x139) [0x560544858719]
18:16:00 Xorg: (EE) Backtrace:
18:16:00 Xorg: (EE)
18:16:00 Xorg: Xorg: ./WacomInterface.h:206: wcmAxisValue: Assertion `snprintf(buf, len, "%d", val) < len' failed.
The error seems to refer to https://github.com/linuxwacom/xf86-input-wacom/blob/master/src/WacomInterface.h where there is this object:
static inline void wcmAxisValue(const WacomAxisData *data,
enum WacomAxisType which,
char *buf, size_t len)
{
int val = 0;
int rc;
if (!wcmAxisGet(data, which, &val)) {
rc = snprintf(buf, len, "N/A");
assert(rc > 0 && (size_t)rc < len);
return;
}
rc = snprintf(buf, len, "%d", val);
assert(rc > 0 && (size_t)rc < len);
}
So my guess would be that introducing the mouse somehow changes the length of the messages (would make sense, it is a '4D' mouse after all) - what to do about it, i do not know.
Also, during experimentation i found out that i could leave the mouse on the tablet, even use it, as long as i remained on the login screen. I could use the 4D mouse to choose my user, then i input my password, ... and immediately am back on the login screen.