Pawel Golik wrote:
> 
> Can you get a SCSI scanner to work in Win4Lin?
No. Sorry.

> BTW: still can't gen fwin to work in X4.0.2, however windowed mode works OK.

XFree4.0.2 exposed some problems in Win4Lin at least on
some systems.  There will be an update to address those problems,
but for now here is the new fwin script that will be in that update.
To make sure you have downloaded it properly, the command
"sum -r fwin" should return:
        19526     5
Let us know if it fixes the problem.

-David
:
# SCCSID(@(#)fwin_lnx.sh        1.3) Merge 5.1 Branch Modified 23:55:11 2/23/01
# SCCSID(@(#)fwin_lnx.sh        1.4) Modified 23:52:56 2/23/01
# This is the "fwin" command for Linux systems.
# Unlike on UnixWare and SCO OpenServer systems, when you run xinit
# on a display that is already in use, it prints an error message and
# hangs, instead of returning an error.  So we have to make sure
# that we try for a display that is not already in use.

ME=$0

# Get the STATICMERGE and VARMERGE settings.
. /etc/mrgssv.sh

XFONTS=/usr/lib/X11/fonts/misc\;/usr/lib/X11/fonts/75dpi\;/usr/lib/X11/fonts/100dpi
XPATH=/usr/bin/X11
SYS_RC_DIR=$STATICMERGE/fullx
SYS_RC_FILE=fwin_start.sh

# If the user already has XPATH in their PATH, don't change the path 
if expr $PATH : ".*\/usr\/bin\/X11" >/dev/null
then :
else 
#  Add XPATH to user's PATH.
        PATH=${PATH}:${XPATH}
fi
export PATH XFONTS

Echo1()
{
        echo -e "$*"
}

Echo2()
{
        echo -e "$*" 1>&2
}


XFree86ver()
{
        XINFO=`xdpyinfo | grep "vendor string"`
        echo $XINFO | grep  XFree86 > /dev/null
        if [ $? -eq 0 ]
        then
                XINFO=`xdpyinfo | grep "vendor release number: "`
                XFREE86_VER=`echo $XINFO \
                         | while read A B C D E ; do echo $D;break;done`
        fi                                       
}
XFREE86_VER=not
XFree86ver

syntax()
{
  Echo2 "Syntax:"
  Echo2 "$ME" '[-auth] [-disp N] [-version] [-help] [<win parameters>]'
  Echo2 "   -auth is used when the '-auth' X server option is required."
  Echo2 "   -disp N is used to specify which console X display to use"
  Echo2 "       instead of it being automatically determined."
  Echo2 "       The number N must be 0, 1, 2, 3, 4, or 5."
  Echo2 "   -version prints out the $MERGENAME build version."
  Echo2 "   -help prints out this syntax explanation."
  Echo2 "Any other parameters are passed on to the 'win' program."
  Echo2 "In addition, the environment variable FWIN_X_ARGS can be used to"
  Echo2 "specify additonal X server parameters."
}

print_xfree_ver()
{
        case $XFREE86_VER in
        33*)
                Echo2 "XFree86 3.3.x"
                ;;
        3*)
                Echo2 "XFree86 3.x"
                ;;
        4001*)
                Echo2 "XFree86 4.0.1"
                ;;
        4002*)
                Echo2 "XFree86 4.0.2"
                ;;
        4*)
                Echo2 "XFree86 4.x"
                ;;
        *)
                Echo2 Not XFree86 3.x or 4.x
                ;;
        esac
}

# Scan for special fwin options
USE_AUTH=no
XX=xx
while true
do
        [ $# -eq 0 ] && break
        case "$1" in
        -help|-h|+h)
                syntax
                exit 1
                ;;
        -version|-v)
                eval `grep "^VERSION=" $VARMERGE/Version`
                eval `grep "^CYCLE=" $VARMERGE/Version`
                eval `grep "^REL_DAY=" $VARMERGE/Version`
                Echo1 $MERGENAME $VERSION '('$CYCLE')' $REL_DAY
                print_xfree_ver
                exit 0
                ;;
        -auth)
                shift
                USE_AUTH=use_auth
                ;;
        -disp)
                if [ $# -lt 2 ] 
                then
                        Echo2 "Invalid parameters"
                        syntax
                        exit 1
                fi
                shift
                case $1 in
                0|1|2|3|4|5)
                        XX=$1
                        shift
                        ;;
                *)
                        Echo2 "Invalid parameters"
                        syntax
                        exit 1
                        ;;
                esac
                ;;
        *)
                break;
                ;;
        esac
done

# Now make sure DISPLAY is set. If not, then set to ":0.0" (i.e. local default 
# display) so clients that don't default reasonably don't choke.

[ "$DISPLAY" = "" ] 
case $? in
0)
        DISPLAY=:0.0
        export DISPLAY
        ;;
esac

[ "$MERGE_POSITION" = "" ]
case $? in
0)
        MERGE_POSITION=fullscreen
        export MERGE_POSITION
        ;;
esac


[ "$MERGE_AUTOBACKGROUND" = "" ]
case $? in
0)
        MERGE_AUTOBACKGROUND=off
        export MERGE_AUTOBACKGROUND
        ;;
esac

print_xfree_ver

find_free_display()
{
        # Look for a display that X is not running on.
        for XX in 0 1 2 3 4 5 allinuse
        do
                if [ "$XX" = "allinuse" ]
                then
                        Echo2 All displays in use.
                        exit 1
                fi
                [ ! -e /tmp/.X${XX}-lock ] && break
                Echo2 X running on ${XX}.
        done
}

if [ "$XX" = "xx" ]
then
        find_free_display
fi
Echo2 Trying display ${XX}.

if [ "$USE_AUTH" = "use_auth" ]
then
        FWIN_MCOOKIE=`mcookie`
        FWIN_HOSTNAME=`hostname -f 2> /dev/null`
        if [ "_$FWIN_HOSTNAME" = "_" ]
        then
                FWIN_HOSTNAME=`hostname 2> /dev/null`
        fi
        if [ "_$FWIN_HOSTNAME" = "_" ]
        then
                FWIN_HOSTNAME=localhost
        fi
        xauth add :$XX . $FWIN_MCOOKIE
        xauth add ${FWIN_HOSTNAME}:$XX . $FWIN_MCOOKIE
        if [ "_$XAUTHORITY" = "_" ]
        then
                FWIN_AUTH_FILE="$HOME/.Xauthority"
        else
                FWIN_AUTH_FILE="$XAUTHORITY"
        fi
        FWIN_X_ARGS="$FWIN_X_ARGS -auth $FWIN_AUTH_FILE"
fi

# Now start X and the intial clients specified in $SYS_RC_DIR/$SYS_RC_FILE

Echo2 xinit /bin/sh ${SYS_RC_DIR}/${SYS_RC_FILE} $* -- :$XX $FWIN_X_ARGS
xinit /bin/sh ${SYS_RC_DIR}/${SYS_RC_FILE} $* -- :$XX $FWIN_X_ARGS

Reply via email to