Com Sci 501
System Administration in Linux

[back] Department of Computer Science
[] The University of Chicago

Local Documentation

Installing and Configuring XFree

This is the trickiest part of your Linux installation. I'll try to lead you through a pretty good configuration, which you may perfect later.

  1. Gather the most precise information that you can get regarding the following hardware:
    Mouse
    This is particularly annoying, and you will get nowhere until you identify your mouse correctly. In principle, X should be able to work with the arrow keys in the absence of a mouse, but XFree fails utterly unless it can configure your mouse. The brand name is not enough. For example, at home I have a mouse from Logitech. But, the ``logitech'' description doesn't work. ``logitech'' refers to an old protocol, invented by Logitech, but replaced by others. My mouse has a special round connector that attaches it to the bus. But, it's not a ``busmouse''. After much puzzling, I discovered that I have a PS/2 mouse, which is identified to XFree as ``ps/2'', but corresponds to the Linux device ``psaux''. Collect all the buzzwords from your manual and packing materials, ask around, experiment until you get it right.
    Monitor
    You can usually get a pretty good result if you just find the range of horizontal and vertical scan rates in the manual. Further technical description will be helpful when you perfect your XFree configuration.
    Video Card
    You may get by without this if you're lucky. It's very helpful to have at least the model name of the card.
    Video Chips (on the card)
    You probably won't use this explicitly in the initial configuration. But, it may help you identify the model of the card, particularly if your video card is integrated on the mother board, as mine is. When you perfect your configuration, you can use all the details you can discover here, particularly detailed information about the pixel clocks.
  2. Read my instructions on using Dselect.
  3. Login as root, execute dselect, and install the following packages:
    xbase
    Basic functions for all XFree configurations. In particular, xbase contains the xdm program, which we will use to manage the X display.
    xcontrib
    More general-purpose X stuff.
    xserver-vga16
    This is a primitive X server that you will probably not use, but the package contains a configuration program, called XF86Setup, that provides the easiest way to get a pretty-good XFree configuration going with any of the packaged servers.
    xserver-svga
    This is the X server to use first. It gives a very good display with lots of different hardware. When you perfect your configuration, you may replace it with a free or proprietary server fine-tuned to your particular hardware.
    fvwm-common
    Window-manager stuff for FVWM2.
    fvwm2
    This is a window manager, with lots of flexibility and useful features, that is reasonably easy to customize. It is marked as a ``beta test'' version, but I've been running it for more than 6 months with no trouble. If trouble develops, you can fall back on fvwm.
  4. This time through Dselect, some very interesting stuff will happen in the [I]nstall step:
    1. Say ``n'' to xserver-vga16 as the default X server. You loaded that package only for its configuration help.
    2. Say ``y'' to xserver-svga as the default X server.
    3. Say ``y'' to xdm as your method for starting X.
    4. Say ``n'' to starting xdm immediately. You need to configure things first.
    5. Say ``y'' to configuring the X system. XF86Setup will start automatically. This is the hard and important part. XF86Setup has an OK-but-not-great graphical interface with menus. But, one of the first things to configure is the mouse, and that part is real clumsy. Try not to touch the mouse until you have it configured. Unfortunately, if you goof up with XF86Setup, you have to start over.
      1. XF86Setup sometimes offers to provide defaults from a previous configuration. This always seems to crash, so choose ``No''.
      2. Choose the graphical interface.
      3. You see a series of tabs, and the cursor is located on the ``Mouse'' tab. The buttons at the very bottom have to do with the whole XF86Setup program, not the individual steps. So, don't select ``Done'' until you've finished all of the steps. Type [Enter] without moving the cursor.
      4. Read the instructions regarding mouse configuration. They are mostly right, except that typing ``a'' for ``Apply'' actually seems to do ``Abort'' instead. So, you have to work the cursor over to the ``Apply'' button when you get to that point. When you mostly understand the instructions, type [Enter].
      5. You see a fairly complicated page full of buttons dealing with the mouse. You can navigate with the arrows and the [Tab] key, which do different things, but I can't explain the difference. Trial & error are OK, since you can repeat until you get it right.
      6. The upper two rows of buttons select your basic mouse type. Hope that you got it right.
      7. A box in the upper left area selects the Linux device name for the mouse. If you have a serial mouse, it's probably /dev/tty0 or /dev/tty1. It's OK to try each. If you have a PS/2 mouse, it's /dev/psaux. I don't know all the other possibilities.
      8. If you have a mouse with only 2 buttons, I suggest that you buy one with 3. But, for now you can select ``Emulate 3 Buttons'', and pressing both buttons together will have the effect of pressing the middle button that isn't there.
      9. You can probably ignore the sliders in the middle.
      10. Somehow, work the cursor onto ``Apply'' and type [Enter].
      11. Try moving the mouse. If the pointer follows you, move it away from those sliders in the middle, and try the buttons. If they work, the schematic buttons on the picture to the right will darken. If this doesn't work, repeat the previous steps and hope you guessed better this time. If repeating this interface gets too painful, you might want to go back to the gpm configuration, just to learn about your mouse, then come back to XF86Setup armed with that knowledge.
      12. Once you succeed with the mouse configuration, the interaction for the rest of the setup is easy, using your newly configured mouse.
    6. In the keyboard section, you can take all the defaults. I like to disable the [Caps Lock], by setting it to be another [Ctrl] (using a button on the right of the keyboard page). Choose ``Apply'' when you're done.
    7. In the video card section, there is a long menu of cards. Try to find one that sounds like yours. I'm not sure what happens if you're not accurate here.
    8. In the monitor section, type in the ranges of horizontal and vertical scan frequencies from your monitor manual. If you really can't find those, try some menu selections. XFree comes with a lot of pre-cooked video configurations. The information that you give here mainly lets XF86Setup choose the best video modes that are clearly within the capabilities of your monitor. It usually does pretty well.
    9. In the last section, leave the defaults alone, and select ``Done'' from the bottom of the screen.
    10. If your combination of smarts and luck was strong enough, you'll get a decent graphical display, with a message asking whether you want to use xvidtune to fine-tune the display. xvidtune is a mildly clunky interface that allows you to center your picture and expand it to fill the screen, within some limits. Skip it for now. Select ``Save your configuration and exit''.
  5. As root, execute ``shutdown -r now'' to reboot Linux. If you've got everything right, xdm will greet you with a graphical login window. Log in as yourself, and experiment with X and Fvwm2.
  6. If xdm and/or your X server fail (usually spectacularly, with strange diagonal bands of color flashing), try to get a text console by typing [Ctrl]-[Alt]-[F1]. Check out other means of Escaping When Linux is Stuck. [Ctrl]-[Alt]-[F7] takes you back to the console that is running X.
  7. If your first trek through XF86Setup does not succeed, you may run it again. Log in as root, and execute ``/usr/X11R6/bin/XF86Setup''. If you don't succeed in an hour or so, hang it up, and we'll try other methods for configuring XFree.
  8. Take a look at /etc/X11/XF86Config. That's what XF86setup just produced for you. Do ``mkdir RCS'' and ``ci XF86Config'' right now, so you don't risk losing your working configuration if you try to create a better one.
When you're ready to improve your X configuration, first check out an alternate configuration tool, called xf86config. Then, read the Linux XFree86 HOWTO.


Michael J. O'Donnell
Last modified: Fri Oct 17 16:37:51 CDT