[main] @type = oneshot @version = @version@ @description = "Set well-know variables for @I user" @user = ( root ) [start] @runas = @I @execute = ( execl-subuidgid backtick -n HOME { homeof @I } importas -u HOME HOME execl-toc -v3 -d @PATH_ENVIRONMENT@ redirfd -w 1 @PATH_ENVIRONMENT@/svscan@@I ## GENERAL VARIABLES if { 66-echo -- HOME=${HOME} } if { 66-echo -- LOGNAME=@I } if { 66-echo -- USER=@I } foreground { importas PATH PATH 66-echo -- PATH=${PATH} } foreground { backtick -D /usr/bin/sh -E shell { pipeline { getent passwd ${UID} } cut -d: -f7 } 66-echo -- SHELL=${shell} } foreground { backtick -E x { sh -c "d=0 ; while true ; do \ if [ ! -e "/tmp/.X$d-lock" -o -S "/tmp/.X11-unix/X$d" ]; then \ 66-echo -- $d ; \ break ; \ fi ; \ d=$(($d + 1)) ; \ done ;" } 66-echo -- DISPLAY=:${x} } ## DBUS if { 66-echo -- DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${UID}/bus } ## XDG variables if { 66-echo -- XDG_RUNTIME_DIR=/run/user/${UID} } if { 66-echo -- XDG_CACHE_HOME=${HOME}/.cache } if { 66-echo -- XDG_CONFIG_HOME=${HOME}/.config } if { 66-echo -- XDG_DATA_HOME=${HOME}/.local/share } if { 66-echo -- XDG_DATA_DIRS=${HOME}/.local/share:/usr/local/share:/usr/share } 66-echo -- XDG_SESSION_CLASS=user )