Skip to content
Snippets Groups Projects
setenv@ 1.48 KiB
Newer Older
  • Learn to ignore specific revisions
  • Eric Vidal's avatar
    Eric Vidal committed
    [main]
    @type = oneshot
    @version = @version@
    @description = "Set well-know variables for @I user"
    @user = ( root )
    
    [start]
    @runas = @I
    
    @execute =
    
    Eric Vidal's avatar
    Eric Vidal committed
    (
    
        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
    
    Eric Vidal's avatar
    Eric Vidal committed
    )