ec32be73ed
When calling su with a specific script, specify /bin/sh shell to be sure to use posix compliant shell. User shell may not be a one (like fish). Fixes QubesOS/qubes-issues#5135
17 lines
560 B
Bash
Executable File
17 lines
560 B
Bash
Executable File
#!/bin/sh
|
|
|
|
# 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
|
|
else
|
|
su -s /bin/sh -c "$cmd" - "$USERNAME" 2> /dev/null
|
|
fi
|
|
# the above line is _expected_ to be terminated by a signal, don't treat this as a failure
|
|
exit 0
|