X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=stage4%2Fconfigure-xorg;h=a47d6d917cf79fe9033e5291c46aae134703f959;hb=23534737a153c4084e3dd44a3e6cdcf2537aee01;hp=95bc530139516ca100ec9754c17eff0a97f89be2;hpb=5837862ba64bfafa96ff8007aceed581d28fb133;p=hvlinux.git diff --git a/stage4/configure-xorg b/stage4/configure-xorg index 95bc530..a47d6d9 100755 --- a/stage4/configure-xorg +++ b/stage4/configure-xorg @@ -1,12 +1,6 @@ -#!/bin/sh -set -o errexit - -# First argument of this script is the package name. +#!/bin/bash -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list +source ../functions/main # Used by startx cat > /etc/skel/.xinitrc << "EOF" @@ -15,11 +9,13 @@ cat > /etc/skel/.xinitrc << "EOF" dbus-launch --exit-with-session wmaker EOF -cat > /etc/skel/.Xdefaults << "EOF" +X_RESOURCES_FILE="Xresources" + +cat > /etc/skel/.${X_RESOURCES_FILE} << "EOF" xterm*scrollBar: false xterm*rightScrollBar: false xterm*saveLines: 1000 -xterm*geometry: 120x45+70+50 +xterm*geometry: 160x60+70+50 xterm*background: #000000 xterm*foreground: #A8A8A8 xterm*color0: #000000 @@ -49,6 +45,13 @@ usermodmap=$HOME/.Xmodmap sysresources=/usr/lib/X11/xinit/.Xresources sysmodmap=/usr/lib/X11/xinit/.Xmodmap +if [ -r /etc/profile ]; then + . /etc/profile +fi +if [ -r ~/.bash_profile ]; then + . ~/.bash_profile +fi + # merge in defaults and keymaps if [ -f $sysresources ]; then @@ -67,8 +70,10 @@ if [ -f "$usermodmap" ]; then xmodmap "$usermodmap" fi -# now, we see if xdm/gdm/kdm has asked for a specific environment +# To fix bug "Cannot open display..." when running commands as su root: +xhost +localhost +# now, we see if xdm/gdm/kdm has asked for a specific environment case $# in 1) case $1 in @@ -96,9 +101,6 @@ EOF chmod 755 /etc/skel/.xsession -cp /etc/skel/.{xinitrc,Xdefaults,xsession} /root -cp /etc/skel/.{xinitrc,Xdefaults,xsession} /home/${REGUSER} - # When needed, the X Window System creates the directory /tmp/.ICE-unix if it # does not exist. If this directory is not owned by root, the X Window System # delays startup by a few seconds and also appends a warning to the logfile. @@ -109,12 +111,13 @@ cat >> /etc/sysconfig/createfiles << "EOF" /tmp/.ICE-unix dir 1777 root root EOF -# Packages in Xorg store their configuration files in $XORG_PREFIX/lib/X11 +# Packages in Xorg store their configuration files in /usr/lib/X11 # by default. This is strictly against FHS guidelines. Correct the # installation /etc/X11 and create symlinks in the original location: mkdir -v -p /etc/X11 -for file in ${XORG_PREFIX}/{lib/X11/{xinit,xdm},share/X11/app-defaults}; do - if [ ! -h ${file} ]; then + +for file in /usr/{lib/X11/{xinit,xdm},share/X11/app-defaults}; do + if [ -f ${file} -a ! -h ${file} ]; then mv -v ${file} /etc/X11/ 2> /dev/null ln -svfT /etc/X11/$(basename $file) $file fi @@ -128,132 +131,40 @@ if [ "x${INST_TYPE}" = "xltsp-server" ]; then chmod 444 /etc/X11/xdm/Xaccess fi -# Many package are still trying to find X in /usr/X11R6. -# Until then, you can create a symbolic link to satisfy the /usr/X11R6 -# requirement so that you won't be inconvenienced with a package build -# failure due to this known issue. -#ln -scfT ${XORG_PREFIX} /usr/X11R6 - +# Header cat > /etc/X11/xorg.conf << "EOF" # xorg.conf -# -# ********************************************************************** -# Files section. -# ********************************************************************** -Section "Files" - RgbPath "/usr/X11R6/lib/X11/rgb" - ModulePath "/usr/X11R6/lib/modules" # Module search path - FontPath "_HV_FONTS_PATH_/TrueType" - - # Standard XFree86 Fonts - FontPath "/usr/X11R6/lib/X11/fonts/TTF" - FontPath "/usr/X11R6/lib/X11/fonts/Type1" - FontPath "/usr/X11R6/lib/X11/fonts/misc/:unscaled" - FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled" - FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled" - FontPath "/usr/X11R6/lib/X11/fonts/local" - FontPath "/usr/X11R6/lib/X11/fonts/Speedo" - FontPath "/usr/X11R6/lib/X11/fonts/misc/" - FontPath "/usr/X11R6/lib/X11/fonts/100dpi/" - FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" -EndSection - -# ********************************************************************** -# Dynamically loadable modules section. -# ********************************************************************** -Section "Module" - Load "dbe" # Double buffer extension - - # This loads the miscellaneous extensions module, and disables - # initialisation of the XFree86-DGA extension within that module. - SubSection "extmod" - Option "omit xfree86-dga" # don't initialise the DGA extension - EndSubSection - - # This loads the Type1 and FreeType font modules - Load "type1" - Load "speedo" - Load "freetype" - Load "glx" - Load "dri" -EndSection - -# ********************************************************************** -# Input devices. -# ********************************************************************** -Section "InputDevice" - Identifier "Keyboard1" - Driver "keyboard" - Option "XkbRules" "xfree86" - Option "XkbModel" "pc105" - Option "XkbLayout" "_XF86_KEYBOARD_LAYOUT_" - Option "XkbVariant" "_XF86_KEYBOARD_VARIANT_" - Option "XkbOptions" "_XF86_KEYBOARD_OPTIONS_" - Option "AutoRepeat" "500 30" -EndSection +EOF -Section "InputDevice" - Identifier "Mouse1" - Driver "mouse" - Option "Emulate3Buttons" - Option "Protocol" "auto" - Option "Device" "/dev/input/mice" - Option "ZAxisMapping" "4 5" - Option "Buttons" "5" +# Keyboard section, if applicable +if [ -n ${XORG_KEYBOARD_LAYOUT} ]; then + cat >> /etc/X11/xorg.conf << "EOF" +Section "InputClass" + Identifier "Keyboard Defaults" + MatchIsKeyboard "yes" +EOF + echo "Option \"XkbLayout\" \"${XORG_KEYBOARD_LAYOUT}\"" >> /etc/X11/xorg.conf + if [ -n ${XORG_KEYBOARD_VARIANT} ]; then + echo "Option \"XkbVariant\" \"${XORG_KEYBOARD_VARIANT}\"" >> /etc/X11/xorg.conf + fi + cat >> /etc/X11/xorg.conf << "EOF" EndSection -# ********************************************************************** -# Monitor section -# No need to specify VertRefresh and HorizSync, as DDC2 data will -# be used (if monitor is recent and supports it). -# ********************************************************************** -Section "Monitor" - Identifier "Monitor1" - VendorName "Unknown" - ModelName "Unknown" -EndSection +EOF +fi -# ********************************************************************** -# Device (video card) section -# ********************************************************************** +# Video driver section +cat >> /etc/X11/xorg.conf << "EOF" Section "Device" Identifier "VideoCard1" Driver "_VIDEO_CARD_DRIVER_" EndSection - -# ********************************************************************** -# Screen section -# ********************************************************************** -Section "Screen" - Identifier "Screen1" - Device "VideoCard1" - Monitor "Monitor1" - DefaultColorDepth 24 - Subsection "Display" - Depth 24 - Modes "1024x768" "800x600" - ViewPort 0 0 - EndSubsection -EndSection - -# ********************************************************************** -# Layout(s) section -# ********************************************************************** -Section "ServerLayout" - Identifier "Default" - Screen "Screen1" - InputDevice "Mouse1" "CorePointer" - InputDevice "Keyboard1" "CoreKeyboard" -EndSection - EOF -# The ! character is the SED delimiter -sed -i -e "s!_HV_FONTS_PATH_!${HV_FONTS_PATH}!g" /etc/X11/xorg.conf -sed -i -e "s!_VIDEO_CARD_DRIVER_!${XF86_CARD_DRIVER}!g" /etc/X11/xorg.conf -sed -i -e "s!_XF86_KEYBOARD_LAYOUT_!${HV_XF86_KEYBOARD_LAYOUT}!g" /etc/X11/xorg.conf -sed -i -e "s!_XF86_KEYBOARD_VARIANT_!${HV_XF86_KEYBOARD_VARIANT}!g" /etc/X11/xorg.conf -sed -i -e "s!_XF86_KEYBOARD_OPTIONS_!${HV_XF86_KEYBOARD_OPTIONS}!g" /etc/X11/xorg.conf +sed -i -e "s!_VIDEO_CARD_DRIVER_!${XORG_VIDEO_DRIVER}!g" /etc/X11/xorg.conf + +# Updating font information cache. +fc-cache -f exit $?