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