# Setup XFree86 in GNU #### Table Of Content %TOC% This is a brief helper on how to setup X-Window on GNU. ### Mouse & Keyboard See [[HurdConsole]] for more details. First, set up the keyboard translator. Using `/hurd/kbd` and `/hurd/mouse` are not supported. You should instruct Hurd console to repeat keyboard events to `/dev/cons/kbd`, and mouse events to `/dev/cons/mouse`: # console -d vga -d pc_kbd --repeat=kbd -d generic_speaker \ -d pc_mouse --repeat=mouse --protocol=ps/2 -c /dev/cons /dev/vcs Symbolic link needed for `kbd` should be created too: # ln -s /dev/cons/kbd /dev ### 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/cons/mouse" Option "Protocol" "osmouse" EndSection Section "InputDevice" Identifier "Generic Mouse" Driver "mouse" Option "SendCoreEvents" "true" Option "Device" "/dev/cons/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 `/hurd/kbd` is no longer supported. -- [[Main/OgnyanKulev]] - 11 Aug 2004 `/hurd/mouse` is deprecated. -- [[Main/OgnyanKulev]] - 21 Sep 2004