[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#173357: Dexconf hacked with detect



Package: xserver-common
Version: 4.2.1-4

Hi,

This version only needs one debconf question for monitor size.

Rob.

#!/bin/sh

# /usr/local/sbin/easygui
# Adapted from Dexconf: Debian X Configurator
# Licensed under the GNU GPL, version 2 or (at your option) any later version.
#

DEXCONFTMPDIR="/tmp/gui-tmp-$$"
rm -rf $DEXCONFTMPDIR
mkdir -p $DEXCONFTMPDIR


cat > $DEXCONFTMPDIR/Header << SECTION
# XF86Config-4 (XFree86 server configuration file)
# Edit this file with caution, and see the XF86Config manual page.
# (Type "man XF86Config" at the shell prompt.)
SECTION

### SERVERFLAGS

cat > $DEXCONFTMPDIR/ServerFlags << SECTION
Section "ServerFlags"
EndSection
SECTION

### SERVERLAYOUT

cat > $DEXCONFTMPDIR/ServerLayout << SECTION
Section "ServerLayout"
	Identifier	"Default Layout"
	Screen		"Default Screen"
	InputDevice	"Generic Keyboard"
	InputDevice	"Configured Mouse"
SECTION
printf "EndSection\n" >> $DEXCONFTMPDIR/ServerLayout

### FILES

cat > $DEXCONFTMPDIR/Files << SECTION
Section "Files"
	FontPath	"unix/:7100"		# local font server
	# if the local font server has problems, we can fall back on these
	FontPath	"/usr/lib/X11/fonts/Type1"
	FontPath	"/usr/lib/X11/fonts/Speedo"
	FontPath	"/usr/lib/X11/fonts/100dpi/:unscaled"
	FontPath	"/usr/lib/X11/fonts/75dpi/:unscaled"
	FontPath	"/usr/lib/X11/fonts/misc"
	FontPath	"/usr/lib/X11/fonts/cyrillic"
	FontPath	"/usr/lib/X11/fonts/100dpi"
	FontPath	"/usr/lib/X11/fonts/75dpi"
EndSection
SECTION

### MODULE

cat > $DEXCONFTMPDIR/Module << SECTION
Section "Module"
	Load	"ddc"
	Load	"GLcore"
	Load	"dbe"
	Load	"dri"
	Load	"extmod"
	Load	"glx"
	Load	"record"
	Load	"xie"
	Load	"bitmap"
	Load	"freetype"
	Load	"speedo"
	Load	"type1"
	Load	"vbe"
	Load	"int10"
EndSection
SECTION

### KEYBOARD / INPUTDEVICE
# pc101 keyboard is rare, think it will work with pc104

cat > $DEXCONFTMPDIR/InputDeviceKeyboard << SECTION
Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"keyboard"
	Option		"CoreKeyboard"
	Option		"XkbRules"	"xfree86"
	Option		"XkbModel"	"pc104"
	Option		"XkbLayout"	"us"
EndSection
SECTION

### MOUSE / INPUTDEVICE
# This assumes that these statements are in modules.conf
# alias char-major-13 input
# above input mousedev hid usb-uhci
# Would need to test for arch first, as usb-uhci is only Intel

rm /dev/mouse;
/sbin/modprobe input;
if ((`dmesg | grep input | grep -c 'Mouse'` > 0));
then ln -s /dev/input/mice /dev/mouse;
     MOUSE_PORT="/dev/input/mice";
     MOUSE_PROTOCOL="ImPS/2";
else ln -s /dev/psaux /dev/mouse;
     MOUSE_PORT="/dev/psaux";
     MOUSE_PROTOCOL="PS/2";
fi

printf "Section \"InputDevice\"\n" > $DEXCONFTMPDIR/InputDeviceMouse
printf "\tIdentifier\t\"Configured Mouse\"\n" >> $DEXCONFTMPDIR/InputDeviceMouse
printf "\tDriver\t\t\"mouse\"\n" >> $DEXCONFTMPDIR/InputDeviceMouse
printf "\tOption\t\t\"CorePointer\"\n" >> $DEXCONFTMPDIR/InputDeviceMouse
printf "\tOption\t\t\"Device\"\t\t\"$MOUSE_PORT\"\n" >> $DEXCONFTMPDIR/InputDeviceMouse
printf "\tOption\t\t\"Protocol\"\t\t\"$MOUSE_PROTOCOL\"\n" >> $DEXCONFTMPDIR/InputDeviceMouse
printf "\tOption\t\t\"Emulate3Buttons\"\t\"true\"\n" >> $DEXCONFTMPDIR/InputDeviceMouse
case $MOUSE_PROTOCOL in
ImPS*)  printf "\tOption\t\t\"ZAxisMapping\"\t\t\"4 5\"\n" >> $DEXCONFTMPDIR/InputDeviceMouse
esac
printf "EndSection\n" >> $DEXCONFTMPDIR/InputDeviceMouse

### DEVICE
# For the other drivers, need to know what video card appears
# in the cat /proc/pci output. Only nvidia has been tested.

case `cat /proc/pci | grep VGA` in
nvidia) DEVICE_DRIVER=nv;;
radeon|ati) DEVICE_DRIVER=ati;;
matrox) DEVICE_DRIVER=mga;;
voodoo) DEVICE_DRIVER=tdfx;;
*) echo
   echo "Found this video card "
   cat /proc/pci | grep 'VGA'
   echo
   echo "Some examples - video card=video driver, nvidia=nv"
   echo "alliance=apm, matrox=mga, number nine=i128, voodoo=tdfx"
   echo
   echo "Available video drivers:"
   echo "apm, ark, ati, chips, cirrus, cyrix, glint, i128, i740, i810"
   echo "imstt, mga, neomagic, nv, rendition, s3virge, savage"
   echo "siliconmotion, sis, tdfx, tga, trident, tseng, vga"
   echo
   read -p 'Enter video driver to use: ' DEVICE_DRIVER
   echo;;
esac
printf "Section \"Device\"\n" > $DEXCONFTMPDIR/Device
printf "\tIdentifier\t\"Default Device\"\n" >> $DEXCONFTMPDIR/Device
printf "\tDriver\t\t\"$DEVICE_DRIVER\"\n" >> $DEXCONFTMPDIR/Device
printf "EndSection\n" >> $DEXCONFTMPDIR/Device

### MONITOR
# On i386 use read-edid, else ask debconf question
# Only 14" has been tested, got other ranges from debconf database

echo
read -p 'Enter your monitor size in inches [14/15/17/19]: ' MON_SIZE
echo
case $MON_SIZE in
14)  HSYNC="32.0 - 64.0";  VSYNC="50.0 - 100.0";;
15)  HSYNC="30.0 - 65.0";  VSYNC="50.0 - 100.0";;
17)  HSYNC="31.0 - 70.0";  VSYNC="50.0 - 100.0";;
19)  HSYNC="30.0 - 96.0";  VSYNC="50.0 - 140.0";;
*)   HSYNC="32.0 - 64.0";  VSYNC="50.0 - 100.0";;
esac
printf "Section \"Monitor\"\n" > $DEXCONFTMPDIR/Monitor
printf "\tIdentifier\t\"Default Monitor\"\n">> $DEXCONFTMPDIR/Monitor
printf "\tHorizSync\t$HSYNC\n" >> $DEXCONFTMPDIR/Monitor
printf "\tVertRefresh\t$VSYNC\n" >> $DEXCONFTMPDIR/Monitor
printf "\tOption\t\t\"DPMS\"\n" >> $DEXCONFTMPDIR/Monitor
printf "EndSection\n" >> $DEXCONFTMPDIR/Monitor

### SCREEN

printf "Section \"Screen\"\n" > $DEXCONFTMPDIR/Screen
printf "\tIdentifier\t\"Default Screen\"\n" >> $DEXCONFTMPDIR/Screen
printf "\tDevice\t\t\"Default Device\"\n" >> $DEXCONFTMPDIR/Screen
printf "\tMonitor\t\t\"Default Monitor\"\n" >> $DEXCONFTMPDIR/Screen
printf "\tDefaultDepth\t16\n" >> $DEXCONFTMPDIR/Screen
for DEPTH in 8 15 16 24; do
  printf "\tSubSection \"Display\"\n" >> $DEXCONFTMPDIR/Screen
  printf "\t\tDepth\t\t$DEPTH\n" >> $DEXCONFTMPDIR/Screen
  printf "\t\tModes\t\t\"800x600\" \"640x480\" \"1024x768\"\n" >> $DEXCONFTMPDIR/Screen
  printf "\tEndSubSection\n" >> $DEXCONFTMPDIR/Screen
done
printf "EndSection\n" >> $DEXCONFTMPDIR/Screen

### DRI

cat > $DEXCONFTMPDIR/DRI << SECTION
Section "DRI"
	Mode	0666
EndSection
SECTION

# all done, spit it out

rm -f /etc/X11/XF86Config-4

for SECTION in Header Files ServerFlags ServerLayout Module InputDeviceKeyboard InputDeviceMouse Device Monitor Screen DRI; do
    cat $DEXCONFTMPDIR/$SECTION >> /etc/X11/XF86Config-4
    printf "\n" >> /etc/X11/XF86Config-4
done

printf "# end of XF86Config\n" >> /etc/X11/XF86Config-4

rm -r $DEXCONFTMPDIR

exit 0




Reply to: