This page printed from: https://www.linuxmonth.com/issue3/articles/settingup/settingup.html?print=1
1 What is X?
X Windows is the name for a system developed in the 1980s to be able to provide Graphical User Interfaces. It provides the ability to draw graphics on the screen, but not to manage those windows. That functionality is provided by a window manager. X is also really cool in how it allows clients to connect to an X server and run X applications remotely, but that's beyond the scope of this article.
Under Linux, you'll probably be using XFree86. What is XFree86? To quote directly from www.xfree86.org
The XFree86 Project, Inc is a non-profit organization that produces XFree86. XFree86 is a freely redistributable implementation of the X Window System that runs on UNIX(R) and UNIX-like operating systems (and OS/2). The XFree86 Project has traditionally focused on Intel x86-based platforms (which is where the `86' in our name comes from), but our current release also supports other platforms. One of our current goals is to increase the range of platforms that XFree86 runs on.
It's a free X server that supports a surprisingly large number of graphics cards. The first thing we'll need to do is configure X. Then we'll start it. Then we'll quit it, and look at a few of the files X relies on. Finally we'll look at window managers, then we'll start up X one last time.
2 Configuring X
This section will cover XFree86 3.x. While X 4.0 is the newest and much better, X 3.x is shipping with most current Linux distributions.
2.1 Is Your Card Supported?
The first thing you'll want to do is to check if your video card is supported; to check this look at https://www.xfree86.org/cardlist.html.
If your card is not listed there you can look at some of the commercial X servers, wait for a newer version of XFree86, or try XF86_SVGA which will work with most cards.
2.2 Configuration Utilities
Once you've determined that your card is supported you'll need to configure X. There are a number of tools for doing this.
2.2.1 Xconfigurator
Under RedHat the utility ``Xconfigurator'' makes configuring X surprisingly useful. It asks you for your graphics card, your mouse type, and your monitor. If your monitor is not listed you can enter custom values; goto https://www.griffintechnology.com/monitor.html to find out the vsync and hsync values for your monitor. This database is an invaluable tool for anyone configuring X.
2.2.2 XF86Setup
Under other distributions you have two choices, xf86config and XF86Setup. XF86Setup is a graphical configuration tool. The first thing you'll want to do is select your mouse. If you move the mouse and the on screen cursor works, you can move on; if it zooms into a corner and doesn't move you'll need to kill XF86Setup and start again (crtl-alt-backspace to kill XF86Setup). If nothing happens, just move the on screen selection box (using the arrow keys on your keyboard). The on-screen help (hit ? to toggle it on), may be helpful at this point. On the mouse selection screen select your mouse type. Generally for serial mice use ``Microsoft'', PS/2 mice use ``PS/2'', Intellimice serial use ``Intellimouse'', Intellimice PS/2 use ``IMPS/2''. If your mouse only has two buttons you'll want to select ``Emulate3Buttons''. If you have a PS/2 mouse of any sort you need to select ``/dev/psaux'' as your mouse device. Hit 'a' and you should be working.
Now click on ``Keyboard'' and select a keyboard layout. The standard should be fine for most x86 keyboards, although you may want to select a 104 key layout for 104 key keyboards. It is important to select Microsoft Natural if you have an MS Natural keyboard.
Next move to ``Card'', here you'll select your graphics card. If your card is on the list, scroll down to it, double click and you're done. If it isn't ,click ``Detailed Setup'' and try a server that matches your chipset,. If none do, select SVGA and hope for the best. You can specify other more complicated options here, though you shouldn't need to.
We're almost there. Click ``Monitor''. You'll probably want to check https://www.griffintechnology.com/monitor.html to find out the vsync and hsync values for your monitor, or you can take a guess and select one of the presets. Enter the Hsync and Vsync values in the boxes on top and move to ``ModeSelection''.
In Modeselection you'll be selecting the resolution and color depth to to run X at. Click the resolutions you want (and think your card/monitor can run comfortably) and select a color depth, 16 for older cards, 32 for newer (rule of thumb).
Great! Hopefully everything worked! Click Done. This should start X and bring up xvidtune, in which you'll be able to adjust your picture. If you get an error ``Can't connect'' hit crtl-c, or if X looks really bad, like shaking or your monitor blanks, quickly do a crtl-alt-backspace. This probably means a bad configuration, try XF86Setup again, perhaps selected a lower resolution to run X at, or a less powerful monitor profile.
2.2.3 xf86config
As a last resort, if XF86Setup cannot be run because the VGA16 server doesn't work with your card, you can try xf86config, which is a complex command line tool. I'm going to briefly go over howto use it (the onscreen instructions aren't half bad). Select a mouse protocol by number, mouse device (/dev/ttySX for serial, where X is the serial port number ttyS0=com1, ttyS1=com2, /dev/psaux for ps2 mice). Select a keyboard layout, then select a monitor profile or enter custom ranges. Feel free to type anything for the monitor definition; you'll probably want to look at the card database, go through it and select your card by number. On the next screen you'll want to answer ``5'', meaning use the X server that the card you selected recommended. You want to modify the Xserver file. Enter your video ram (or a close approximation). Enter anything for your video card definition. You probably won't need a RAMDAC, so type q. You probably won't need a clockchip, so just hit enter. On the next screen you'll want to answer ``5'' again. Use the modes recommended by the video card you chose. Tell it to write the configuration file, and you're done! Sorry if that was a little hectic, but if you need to use xf86config, follow the onscreen instructions and you should do fine.
3 Starting X
There are two ways to start X if you login at the command line (think ``looks like dos''). Type startx to start X (logical, wow!). If you login via xdm, kdm, or gdm (you have graphics as soon as you boot and a mouse cursor), then you'll automatically be launched into X.
If you login via the command-line, startx looks at $HOME/.xinitrc for what it should start when you start X. xdm/gdm/kdm should look at your .xsession when you start X.
4 Window Managers
The window manager is responsible for making the windows movable, and allowing you to change focus, among other things. We now have desktop environments that are also window managers, like KDE.
For ease of use, I suggest KDE. if you want something that looks nice and is incredibly customizable, try enlightenment (affectionately referred to as 'E'). For a lightweight, traditional and fairly pretty window manager try Window Maker. You can find all of these at https://www.freshmeat.net, or thier respective sites, https://ww.kde.org, https://www.enlightenment.org , and https://www.windowmaker.org.
To tell X which to start up put exec enlightenment, exec wmaker, exec kde, or exec other window manager at the end of your X config file (.xinitrc or .xsession).
5 Some Parting Words
Now start up X one last time with your choice of window managers. If you start an xterm/kterm/gterm/SOMETHING-term you'll have basically a console in a window, and you can launch both console apps (which will run in the term) or X apps, which will run in a new window.
Window Maker and Enlightenment have root menus which can be accessed with mouse clicks on the background. KDE has a ``K'' button which is similar to the windows start button.
To find out howto configure your window manager checkout its web-site.
6 Links
7 HOWTOs
XFree86-HOWTO
XWindow-User-HOWTO
This document was translated from LATEX by HEVEA.
Other Articles by David Blackman
So You're Crazy?
A crash course introduction to linux.