Bug#511717: startx mis-parses initial client and server arguments which begin with / or ./
If you invoke startx with a client whose initial command-line arguments
begin with / or ./, it uses the last such argument as the base command
for the client. E.g.:
startx /usr/bin/xterm /usr/bin/mutt
will use /usr/bin/mutt as the client to run instead of /usr/bin/xterm.
This is because of the way in which startx parses its arguments. It's a
loop over a case with three clauses; the bug is in the first. When it's
looking at one of startx's args it checks to see if $clientargs is empty
in order to see if it should set $client or add the argument to
$clientargs. It should probably check to see whether $client is set
There is a similar bug in parsing server args, where it checks to see if
$serverargs is empty to decide whether to set $server.
Big Fish Games, Inc. A New Game Every Day!