From 96aa933024763ed89676d5c4ace5181b63ebbbd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Wed, 14 Feb 2018 02:19:15 +0100 Subject: [PATCH] Wait for user session as X session owner ... instead of requested user. This makes sure that session startup script will be able to send a signal here to notify about session startup. This is especially needed when the first service started in the VM is called as root (like qubes.InstallUpdatesGUI). Fixes QubesOS/qubes-issues#3526 --- qubes-rpc/qubes.WaitForSession | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/qubes-rpc/qubes.WaitForSession b/qubes-rpc/qubes.WaitForSession index 34bc2b9..d1a0c21 100755 --- a/qubes-rpc/qubes.WaitForSession +++ b/qubes-rpc/qubes.WaitForSession @@ -1,5 +1,11 @@ #!/bin/sh -read -r USERNAME + +# old API - get the user from caller +#read -r IGNORE_USERNAME + +# use default user provided in QubesDB, or hardcoded 'user' - this must be the +# same as the X session owner +USERNAME=$(qubesdb-read /default-user || echo 'user') cmd='echo $$ >> /tmp/qubes-session-waiter; [ ! -f /tmp/qubes-session-env ] && exec sleep inf' if [ "$(id -un)" = "$USERNAME" ]; then sh -c "$cmd" 2>/dev/null