In /usr/bin/startx line 35: [ -e "/tmp/.X$d-lock" -o -S "/tmp/.X11-unix/X$d" ] || break ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined. In /usr/bin/startx line 36: d=$(($d + 1)) ^-- SC2004: $/${} is unnecessary on arithmetic variables. In /usr/bin/startx line 115: if [ x"$serverargs" = x -a x"$display" = x ]; then ^-- SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. In /usr/bin/startx line 157: if [ -z "`hostname --version 2>&1 | grep GNU`" ]; then ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: if [ -z "$(hostname --version 2>&1 | grep GNU)" ]; then In /usr/bin/startx line 158: hostname=`hostname -f` ^-----------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: hostname=$(hostname -f) In /usr/bin/startx line 163: hostname=`hostname` ^--------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: hostname=$(hostname) In /usr/bin/startx line 168: mcookie=`/usr/bin/mcookie` ^----------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: mcookie=$(/usr/bin/mcookie) In /usr/bin/startx line 183: xserverauthfile=`mktemp --tmpdir serverauth.XXXXXXXXXX` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: xserverauthfile=$(mktemp --tmpdir serverauth.XXXXXXXXXX) In /usr/bin/startx line 184: trap "rm -f '$xserverauthfile'" HUP INT QUIT ILL TRAP KILL BUS TERM ^--------------^ SC2064: Use single quotes, otherwise this expands now rather than when signalled. ^--^ SC2173: SIGKILL/SIGSTOP can not be trapped. In /usr/bin/startx line 199: authcookie=`xauth list "$displayname" \ ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^-- SC1087: Use braces when expanding arrays, e.g. ${array[idx]} (or ${var}[.. to quiet). Did you mean: authcookie=$(xauth list "$displayname" \ | sed -n "s/.*$displayname[[:space:]*].*[[:space:]*]//p") 2>/dev/null; In /usr/bin/startx line 207: dummy=$(($dummy+1)); ^----^ SC2004: $/${} is unnecessary on arithmetic variables. In /usr/bin/startx line 218: xinit "$client" $clientargs -- "$server" $display $serverargs ^---------^ SC2086: Double quote to prevent globbing and word splitting. ^---------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: xinit "$client" "$clientargs" -- "$server" $display "$serverargs" In /usr/bin/startx line 224: xauth remove $removelist ^---------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: xauth remove "$removelist" For more information: https://www.shellcheck.net/wiki/SC1087 -- Use braces when expanding arrays,... https://www.shellcheck.net/wiki/SC2173 -- SIGKILL/SIGSTOP can not be trapped. https://www.shellcheck.net/wiki/SC2064 -- Use single quotes, otherwise this...