## Setup XFree86 in GNU This is a brief helper on how to setup X-Window on GNU. ---- ### Mouse & Keyboard First, set up the keyboard translator: # cd /dev # ./MAKEDEV kbd Then the mouse translator. For a serial port mouse this is along the lines of: # settrans -c /dev/mouse /hurd/mouse --device=com0 --protocol=microsoft Make sure that `/dev/com0` actually exists. If it does not, create it using `MAKEDEV` in the usual fashion. PS/2 mice do not require a device. It is simple a matter of: # settrans -c /dev/mouse /hurd/mouse --protocol=ps/2 For other mice, run `/hurd/mouse --help` to get a listing of supported types. ### Selecting & Configuring Packages You will need several X packages. The `x-window-system-core` brings you most of what you need: * `xserver-xfree86` * `xfonts-base` * `xfonts-100dpi` * `xfonts-75dpi` * `xfonts-scalable` * `xbase-clients` * `xutils` * `rxvt` * ... as well as your window manager of choice: * WindowMaker, `wmaker` * FVWM, `fvwm` * Blackbox, `blackbox` * TWM, `twm` The recommended way of configuring X is using the `xserver-xfree86` debconf template, eg: # dpkg-reconfigure xserver-xfree86 It may be easier to just copy a working configuration from another operation system on the same computer and place it in `/etc/X11/XF86Config-4`, but this is discouraged as you would have to remove some sections by hand. **_IMPORTANT:_** when you configure X, make sure you do **NOT** enable the `speedo` and `dri` modules because they are currently broken. ### Edit XF86Config-4 Now you have to edit the file manually to ensure that the mouse sections look like this: Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/mouse" Option "Protocol" "osmouse" EndSection Section "InputDevice" Identifier "Generic Mouse" Driver "mouse" Option "SendCoreEvents" "true" Option "Device" "/dev/mouse" Option "Protocol" "osmouse" EndSection You may also enable the Emulate3Buttons option, but nothing else will work. Option "Emulate3Buttons" "true" ### Dynamic Linking The Hurd does not use `ld.so.conf`, it is necessary to add the following to `/etc/profile` to be sure that the libraries are found: LD_LIBRARY_PATH=/X11R6/lib:$LD_LIBRARY_PATH "This is a linker issue. GNU/Hurd expects that \`RPATH' is used, however, Debian takes certain measures to avoid this. Note that this does not cut it for suid binaries because of security implications. We expect to rectify this by using \`RUNPATH', which is specified in the new ELF standard." -- [Why does X not work?](http://www.gnu.org/software/hurd/faq.en.html#q4-8) ### Starting X Finally, run `startx` However, there are several caveats to be aware of: * `xterm` does not work correctly; try `rxvt`. * `update-menu` does not yet work. As such, there are no fine Debian menus. * GNOME can now be ported with the new pthreads, but is still being worked on. Window Maker, TWM, Blackbox and FVWM all work. ---- Created. -- [[Main/RobertMillan]] - 21 Nov 2002 Some text formatting. -- [[Main/OgnyanKulev]] - 05 Dec 2002 Dito. -- [[Main/JoachimNilsson]] - 12 Jan 2003