--- /usr/X11R6/bin/startx 2005-02-20 16:28:27.000000000 -0600 +++ ./fixed_startx 2005-02-22 04:01:47.358442269 -0600 @@ -45,31 +45,32 @@ whoseargs="client" while [ x"$1" != x ]; do + arg=`echo "$1" | sed "/'/ { s/'/'\\\\''/} ; s/.*/'&'/"` case "$1" in /''*|\.*) if [ "$whoseargs" = "client" ]; then if [ "x$clientargs" = x ]; then - clientargs="$1" + clientargs="$arg" else - clientargs="$clientargs $1" + clientargs="$clientargs $arg" fi else if [ "x$serverargs" = x ]; then - serverargs="$1" + serverargs="$arg" else - serverargs="$serverargs $1" + serverargs="$serverargs $arg" fi fi ;; --) whoseargs="server" ;; *) if [ "$whoseargs" = "client" ]; then if [ "x$clientargs" = x ]; then - clientargs="$defaultclientargs $1" + clientargs="$defaultclientargs $arg" else - clientargs="$clientargs $1" + clientargs="$clientargs $arg" fi else case "$1" in - :[0-9]*) display="$1"; serverargs="$serverargs $1";; - *) serverargs="$serverargs $1" ;; + :[0-9]*) display="$1"; serverargs="$serverargs $arg";; + *) serverargs="$serverargs $arg" ;; esac fi ;; esac @@ -147,7 +148,7 @@ trap cleanup 0 -xinit $clientargs -- $serverargs -deferglyphs 16 & +eval xinit $clientargs -- $serverargs -deferglyphs 16 & PID=$!