qrexec: launch services in login shell

Previously the script was called through shell as:
    execl(shell, "-sh", "-c", "/usr/lib/qubes/qubes-rpc-multiplexer
            ...", 0);
This tells the shell to load login scripts, including /etc/profile.
Since 5512e4eada this is no longer the
case and the script is called directly. Since most services do expect
proper user session initialized (/etc/profile loaded etc), adjust the
script's shebang to behave like a login shell and load those startup
scripts.

Fixes QubesOS/qubes-issues#3615
This commit is contained in:
Marek Marczykowski-Górecki 2018-02-22 00:49:46 +01:00
parent d7957e8baa
commit f0b057479e
No known key found for this signature in database
GPG Key ID: 063938BA42CFA724

View File

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/sh -l
# write stderr to both calling party and local log; be very careful about
# closing file descriptors here - if either stdout or stderr will not be closed