diff -rub a/scripts/startxfce4.in b/scripts/startxfce4.in --- a/scripts/startxfce4.in 2016-05-03 05:02:14.000000000 +0800 +++ b/scripts/startxfce4.in 2019-05-20 18:52:01.014092674 +0800 @@ -66,13 +66,22 @@ if test "x$XDG_DATA_DIRS" = "x" then - if test "x@_datadir_@" = "x/usr/local/share" -o "x@_datadir_@" = "x/usr/share"; then + if test "x@_datadir_@" = "x/usr/local/share" -o test "x@_datadir_@" = "x/usr/share"; then XDG_DATA_DIRS="/usr/local/share:/usr/share" else XDG_DATA_DIRS="@_datadir_@:/usr/local/share:/usr/share" fi else + case $XDG_DATA_DIRS in + *:@_datadir_@:*) + ;; + *) XDG_DATA_DIRS="$XDG_DATA_DIRS:@_datadir_@" +esac +fi +if test -d "@_datadir_@/xfce" +then + XDG_DATA_DIRS="@_datadir_@/xfce:$XDG_DATA_DIRS" fi export XDG_DATA_DIRS @@ -84,7 +93,12 @@ XDG_CONFIG_DIRS="/etc/xdg:@_sysconfdir_@/xdg" fi else + case $XDG_CONFIG_DIRS in + *:@_sysconfdir_@/xdg:*) + ;; + *) XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS:@_sysconfdir_@/xdg" + esac fi export XDG_CONFIG_DIRS diff -rub a/scripts/xinitrc.in.in b/scripts/xinitrc.in.in --- a/scripts/xinitrc.in.in 2019-05-11 04:05:58.000000000 +0800 +++ b/scripts/xinitrc.in.in 2019-05-20 18:55:49.566603360 +0800 @@ -44,12 +44,6 @@ fi [ -d "$XDG_CACHE_HOME" ] || mkdir "$XDG_CACHE_HOME" -# set up XDG user directores. see -# http://freedesktop.org/wiki/Software/xdg-user-dirs -if command -v xdg-user-dirs-update >/dev/null 2>&1; then - xdg-user-dirs-update -fi - # For now, start with an empty list XRESOURCES="" @@ -81,14 +75,11 @@ # check if we start xfce4-session with ck-launch-session. this is only # required for starting from a console, not a login manager if test "x$XFCE4_SESSION_WITH_CK" = "x1"; then - if command -v ck-launch-session >/dev/null 2>&1; then - exec ck-launch-session xfce4-session - else - echo - echo "You have tried to start Xfce with consolekit support, but" - echo "ck-launch-session is not installed." - echo "Aborted startup..." - echo + if ! ck-launch-session xfce4-session; then + cat >&2 <<'EOF' +Failed to start Xfce with consolekit support. +Aborted startup... +EOF exit 1 fi else