I'm trying to create a template in Qubes based on CRUX (https://crux.nu/). I seem to have been able to get so far as a working qrexec-agent, but I am stuck at the last bit where the X windows just aren't being forwarded to dom0.
Background: I'm using the same git commits as I did on my existing Linux from Scratch template that is known working on this Qubes 4.0 deployment. qubes-vmm-xen: git checkout 95ff837fafba3f23f6b4ffddb582c8be16cb617b qubes-core-vchan-xen: git checkout 5ba7ae177a8b820d4fade4fe2253998172892713 qubes-linux-utils: git checkout 610e7d8f3e22c25955a217ef1876bea37b02d33c qubes-core-agent-linux: git checkout 7d7f6a3e69377bb702c574381d995a347dd2b8f0 qubes-gui-common: git checkout 830c5fb20137cac34777a6789d3c562d6d9c7333 qubes-core-qubesdb: git checkout 1483c29c722d714dbf0a8f2e02a994369b7605a9 qubes-gui-agent-linux: git checkout bc54e44b63ceb20a4b6b2a24361433c5f5670aef As best as I can tell, the above versions are designed for 4.0 and that combination worked well on my systemd LFS template. Tested: [will@dom0 ~]$ qvm-run --pass-io --user user crux 'whoami' user [will@dom0 ~]$ qvm-run --pass-io --user user --no-gui crux 'whoami' user It appears that qvm-run works, with or without --no-gui. stracing qrexec-agent gives me this: https://pastebin.com/DPejhfnW 1. read(4, "\36\0\0\0", 4) = 4 2. write(4, "\36\0\0\0", 4) = 4 3. rt_sigprocmask(SIG_UNBLOCK, [CHLD], NULL, 8) = 0 4. ioctl(4, IOCTL_EVTCHN_NOTIFY, 0x7ffd2858d944) = 0 5. openat(AT_FDCWD, "/etc/qubes/rpc-config/qubes.WaitForSession", O_RDONLY) = 8 6. fstat(8, {st_mode=S_IFREG|0755, st_size=549, ...}) = 0 7. read(8, "#!/bin/sh\n\n# old API - get the u"..., 4096) = 549 8. read(8, "", 4096) = 0 9. close(8) = 0 10. socket(AF_UNIX, SOCK_STREAM, 0) = 8 11. connect(8, {sa_family=AF_UNIX, sun_path="/var/run/qubes/qrexec-server.user.sock"}, 40) = 0 12. write(8, "\0\2\0\0\0\0\0\0\1\2\0\0#\0\0\0", 16) = 16 13. write(8, "QUBESRPC qubes.WaitForSession do"..., 35) = 35 The 'old API' is the obvious red flag here, but I'm unsure which API or which specific qubes component I've installed that is mismatching. I have subsequently tried installing qubes-core-agent-linux from HEAD expecting not for it to work, but for the error to at least change; unfortunately, the same 'old API' remained. Here's what .xsession-errors looks like: Starting qubes-session... syntax error: line 1 of stdin last scanned symbol is: include Errors encountered in stdin; not compiled. execv: No such file or directory executed QUBESRPC qubes.WaitForSession dom0 pid 553 send exit code 0 pid 553 exited with 0 executed (nowait) QUBESRPC qubes.StartApp+xterm dom0 pid 573 send exit code 0 executed QUBESRPC qubes.WaitForSession dom0 pid 591 send exit code 0 pid 591 exited with 0 Any ideas on this API error? Thanks in advance! -- You received this message because you are subscribed to the Google Groups "qubes-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to qubes-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-devel/493641e4-4e70-44ba-8445-6dc21ee72371%40googlegroups.com.