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.

Reply via email to