Quantcast
Viewing all articles
Browse latest Browse all 5224

Troubleshooting • Re: raspberrypi-ui-mods update package today - kills remote login

Code:

/etc/X11/Xsession: 31: [: [: unexpected operator
Can you post your /etc/X11/Xsession file? (e.g. pastebinit /etc/X11/Xsession).

For me line 31 is just a "}", so the error message about "[: [: unexpected operator" seems surprising (unless your file is different).
My file only has } on line 31 which looks weird for the message too. The full /etc/X11/Xsession file is:

Code:

#!/bin/sh## /etc/X11/Xsession## global Xsession file -- used by display managers and xinit (startx)# $Id: Xsession 967 2005-12-27 07:20:55Z dnusinow $set -ePROGNAME=Xsessionmessage () {  # pretty-print messages of arbitrary length; use xmessage if it  # is available and $DISPLAY is set  MESSAGE="$PROGNAME: $*"  echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2  if [ -n "$DISPLAY" ] && command -v xmessage > /dev/null 2>&1; then    echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -  fi}message_nonl () {  # pretty-print messages of arbitrary length (no trailing newline); use  # xmessage if it is available and $DISPLAY is set  MESSAGE="$PROGNAME: $*"  echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2;  if [ -n "$DISPLAY" ] && command -v xmessage > /dev/null 2>&1; then    echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -  fi}errormsg () {  # exit script with error  message "$*"  exit 1}internal_errormsg () {  # exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message  # One big call to message() for the sake of xmessage; if we had two then  # the user would have dismissed the error we want reported before seeing the  # request to report it.  errormsg "$*" \           "Please report the installed version of the \"x11-common\"" \           "package and the complete text of this error message to" \           "<debian-x@lists.debian.org>."}# initialize variables for use by all session scriptsOPTIONFILE=/etc/X11/Xsession.optionsSYSRESOURCES=/etc/X11/XresourcesUSRRESOURCES=$HOME/.XresourcesSYSSESSIONDIR=/etc/X11/Xsession.dUSERXSESSION=$HOME/.xsessionUSERXSESSIONRC=$HOME/.xsessionrcALTUSERXSESSION=$HOME/.XsessionERRFILE=$HOME/.xsession-errorsOPTIONS="$(  if [ -r "$OPTIONFILE" ]; then    cat "$OPTIONFILE"  fi  if [ -d /etc/X11/Xsession.options.d ]; then    run-parts --list --regex '\.conf$' /etc/X11/Xsession.options.d | xargs -d '\n' cat  fi)"has_option() {  # Ensure that a later no-foo overrides an earlier foo  if [ "$(echo "$OPTIONS" | grep -Eo "^(no-)?$1\>" | tail -n 1)" = "$1" ]; then    return 0  else    return 1  fi}# attempt to create an error file; abort if we cannotif (umask 077 && touch "$ERRFILE") 2> /dev/null && [ -w "$ERRFILE" ] &&  [ ! -L "$ERRFILE" ]; then  chmod 600 "$ERRFILE"elif ERRFILE=$(mktemp 2> /dev/null); then  if ! ln -sf "$ERRFILE" "${TMPDIR:=/tmp}/xsession-$USER"; then    message "warning: unable to symlink \"$TMPDIR/xsession-$USER\" to" \             "\"$ERRFILE\"; look for session log/errors in" \             "\"$TMPDIR/xsession-$USER\"."  fielse  errormsg "unable to create X session log/error file; aborting."fiexec >>"$ERRFILE" 2>&1echo "$PROGNAME: X session started for $LOGNAME at $(date)"# sanity check; is our session script directory present?if [ ! -d "$SYSSESSIONDIR" ]; then  errormsg "no \"$SYSSESSIONDIR\" directory found; aborting."fi# Attempt to create a file of non-zero length in /tmp; a full filesystem can# cause mysterious X session failures.  We do not use touch, :, or test -w# because they won't actually create a file with contents.  We also let standard# error from mktemp and echo go to the error file to aid the user in# determining what went wrong.WRITE_TEST=$(mktemp)if ! echo "*" >>"$WRITE_TEST"; then  message "warning: unable to write to ${WRITE_TEST%/*}; X session may exit" \          "with an error"firm -f "$WRITE_TEST"# use run-parts to source every file in the session directory; we source# instead of executing so that the variables and functions defined above# are available to the scripts, and so that they can pass variables to each# otherSESSIONFILES=$(run-parts --list $SYSSESSIONDIR)if [ -n "$SESSIONFILES" ]; then  set +e  for SESSIONFILE in $SESSIONFILES; do    . $SESSIONFILE  done  set -efiexit 0# vim:set ai et sts=2 sw=2 tw=80:
I was getting a bit desperate as it is a live system, so I purged raspberrypi-ui-mods, lxde and lxsession and went with a stock build of xfce4 (which is what I use on my other Debian and Ubuntu servers), and that works just fine. Hope that is useful data point for you but obviously I cannot test anything now with the out of the box UI for you. If it helps, the system runs headless with the desktop environment only accessed via xrdp.

Statistics: Posted by BainesPi — Tue Mar 12, 2024 3:31 pm



Viewing all articles
Browse latest Browse all 5224

Trending Articles