Home
XFree Local Multi-User HOWTO - The Linux Documentation Project
Contents
1. Pr esac done lt PROCDIR devices S how we were called case 51 in start input boot events mr stop not supported currently Pr status echo INPUT status for kernel uname srm echo echo INPUT devices if r SPROCDIR devices then grep INHP SPROCDIR devices else echo SPROCDIR devices not available ESL echo 1 echo INPUT handlers if r SPROCDIR handlers then cat SPROCDIR handlers else echo SPROCDIR handlers not available 1630 echo Pr restart always invoke by absolute path else PATH SPATH 0 stop amp amp 0 start vr echo Usage 0 start stop status restart Appendix C Scripts XFree Local Multi User HOWTO e di esac C 3 hotplug amp XFree supporting event devices input agent etc hotplug input agent bin bash cd etc hotplug a IM cjolwMeG Penne esikoras DEBUG yes export DEBUG export ARG _SEP 002 erqoowi VAL Simp 99S roe es ain des ung S1 db uoa zo grep evdev do export dev tmp X11 unix S dev bin sh c echo e 2 1 ARG SEP NAMES VAL SEP NAM done E S ARG SEPJ PHYSS VAL S EP S PHYS S ARG C 4 Wrapper for starting X using Nvidia 1ibGL so bin bash HH at Hat HH HE aE EH EE HE aE EE HE EE EE EE EE usr X11R6 bin XNV script to start XFree with in order to use Nvidia GL Hate HH HEH HH EH HH
2. do aie Selas VES JUNE gae Ww Jg tle continue ica ais echo Sims mcs SIRENS PATITI 27 Cev mall Tog them case ACTION in add cd dev input rm f SYM LINK ln s DEV MOUSE SYM LINK debug mesg Input mouse device NAME on S PHYS linked to SYM LINK Pr remove rm f dev input SYM LINK debug mesg Input mouse device link SYM LINK removed Pr esac return iat done debug_mesg Found no fitting mouse device aue dp UU SvAGabIORWU E E Ena mesg Bad input agent invocation exit 1 ftat DEV HANDLERS grep E Phys Handlers proc bus input devices awk VL Slie sou printr VES Ve SO Count ta de Eile d prine SMP counto y graa SREMS eus Ae loriot GR eea eye older grep do not support o SDEV EVENT echo SMATCHED grep oE event 0 9 4 DEV_MOUSE echo SMATCHED grep oE mouse 0 9 4 DEV KBD echo SMATCHED grep o kbd Appendix C Scripts 82 N XFree Local Multi User HOWTO DEV EVENT echo DEV_HANDLERS M awk F for n 1 nj n n 1 if n event DEV_MOUSE echo DEV_HANDLERS awk F for n 1 n n n 1 if n mouse DEV KBD echo DEV HANDLERS joncalinie Sup V panime um ahs U W ii por lasla Sinema aie Uem las orae abus What to do with this input device event case SACTION i
3. security If any distributions ship with this one off they should be shot Tails aber que lo car MS Omens Quedby cot sawv lO SUE TeS Vier AUI want to minimize possibility of breakin AllowRoot true If you want to be paranoid turn this one off AllowRemoteRoot tru This will allow remote timed login AllowRemoteAutoLogin false 0 is the most anal 1 allows group write permissions 2 allows all write permissions RelaxPermissions 0 Ret ryDelay 3 Appendix B Example configuration files 71 XFree Local Multi User HOWTO Maximum size of a file we wish to read This makes it hard for a user to DoS us by using a large file UserMaxFile 65536 Maximum size of the session file This is larger because it matters less as we never keep it all in memory Just has an upper limit so that we don t go into too long oi a loos SessionMaxFile 524388 XDMCP is the protocol that allows remote login If you want to log into gdm remotely I d never turn this on on open network use ssh for such remote usage that You can then run X with query thishost to log in or indirect thishost to run a chooser Look for the Terminal server EMIS eit ime loo omi Qi Eins uibs aca en xdmcp Distributions Ship with this off It is never a safe thing to leave out on the net Alternatively you can set up etc hosts allow and etc hosts deny to only allow say local access Enable false Honour indirect queries we run a chooser for these and t
4. NVIDIA Linux x86 1 0 4349 run no opengl headers xfree86 prefix usr X11R6NV opengl 3 Copy the installed files to usr X11R6 1ibNV Gol ugis oxiLIEGNNlxs Se ie ew tar sare meus xl lb JL 39V 4 Restore the backed up GL libraries cd XFree prefix tar xvfp libGL backup tar amp amp ldconfig Chapter 4 Setting up the X servers 26 Chapter 5 More on configuring input devices Here you will find more details on configuring input devices and dealing with secondary keyboard interfaces found in USB multimedia keyboards If you feel comfortable under Linux please review and test the experimental service ruby init The service the configuration file and the README can be found in Appendix D Any kind of feedback is highly appreciated Please please drop a line with comments Note If you are configuring a system with two displays 2 keyboards 2 mice you probably can skip to Chapter 6 Configuring display managers but if you want to use a single system for more users you will find really useful information in this chapter 5 1 Finding the real devices We will need this information later on to be able to assign a given keyboard mouse to a given X server Display To find the PHYS ID s the addresses or the name quite oft it differs from the one labeled on the device of your input devices you have to read the file proc bus input devices Here is what I have 0 amp 0 tljo svetl
5. Chapter 5 More on configuring input devices 35 XFree Local Multi User HOWTO KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK Sk Sk ck ko ko kc kckck ko Pointer section KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK ko ko ko kokockok Section InputDevice Identifier Mousel Driver mouse QjoiE3uoim ViEseOIE OCIO Jani SAZU Option Device dev input mouse0br Option ZAxisMapping 4 5 ChordMiddle is an option for some 3 button Logitech mice Option Emulate3Buttons Option ChordMiddle EndSection Section InputDevice Identifier Mouse2 Driver mouse Op pu VEO OCIO V IMPS 2 Option Device dev input mouselbr Option ZAxisMapping 4 5 ChordMiddle is an option for some 3 button Logitech mice Option Emulate3Buttons Option ChordMiddle EndSection 5 4 2 with XFree with event interface support Using the Dev Phys option of XFree with event device support and USB input devices enables us to use almost identical configuration of the input devices for all X servers The only difference will be in the part of the usb id which reflects the port of the primary USB hub Note The examples below are for multiple XFree configuration files if you use a single XFree configuration file you have to adjust the identifiers The configuration for the input devices for the 1st display would look
6. Screen screenl Option WSsevepleXCeurel Wise InputDevice Mousel CorePointer InputDevice Keyboardl CoreKeyboard EndSection B 2 Display managers Appendix B Example configuration files XFree Local Multi User HOWTO B 2 1 xdm and kdm etc X11 xdm Xservers 0 SX TIS OTI T My WS coo y LS 937 09 20 1430330 g TTE GI Xservers file workstation prototype look like XTerminalName 0 foreign sg S XFree86 xc programs xdm config Xserv ws cpp v 1 1 1 1 12 2 1998 10 04 15 23 14 hohndel This file should contain an entry to start the server on the local display if you have more than one display not screen you can add entries to the list one per line If you also have some X terminals connected which do not support XDMCP you can add them here as well Each X terminal line should 70 Locale bin nac sn to USE XIMh bumxesdeeebgilyphsml omi etc X11 xdm Xservers 1 GoXClewawskouciEsLUNUS OXexexcwuawsccieo w dos 93 09 29 45909599 gana a Xservers file workstation prototype look like XTerminalName 0 foreign 80 local Asia ieties m 10 Ausis XLIUs ean x0 20 Cleiceucieilyjoloys BIS S XFree86 xc programs xdm config Xserv ws cpp v 1 1 1 1 12 2 1998 10 04 15 23 14 hohndel This file should contain an entry to start the server on the local display if you have more than one display not screen you can add entries to the list one per line If you also have some
7. Uncomment this to disable the lt Crtl gt lt Alt gt lt KP gt lt KP mode switching Sequences This allows clients to receive these key events DontZoom This allows the server to start up even if the mouse device can t be opened initialised AllowMouseOpenFail EndSection Ck Ck ck ck ck ck KKK KKK Ck Sk ck KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK KKK kk kc ko kck ko Input devices KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK I I I I I I S amp S S amp S amp S amp M amp M amp M amp M amp x x A amp KM KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK ko ko kc kk KKK Keyboard section ck ck ck Ck ck Ck Ck ck ck ck Ck ck ck Ck ck ck ck ck Ck ck ck ck ck koc ck Ck ck ck ck ck ck ck ck ck ck Ck ck ck KK ck ck ck ck ock kk ok koc ck Kk ock kk ck kk ck Mk Sk kv kx ko ko ko ko Section InputDevice Identifier Keyboardl Driver Keyboard Option AutoRepeat 250 30 Option XkbRules xfree86 Option XkbModel pc105 Option XkbLayout de nodeadkeys EndSection KKK KK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK Pointer section KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK KK KKK KKK KKK ko ko ko kockok Section InputDevice Identifier Mousel Driver mouse Option Protocol TESTE Appendix B Example configuration files 65 XFree Lo
8. 1 2nd Note the VTAllocation and FirstVT keys on Linux Don t add any vt lt number gt arguments if VTAllocation is on and set FirstVT to be the first vt available that your gettys don t grab gettys are usually dumb and grab even a vt that has already been taken Using 7 will work pretty much for all Linux distributions VTAllocation is not currently implemented on anything but Linux since I don t own any non Linux systems Feel fr to send patches X servers will just not get any extra arguments then Note If you want O Terminal query or for a chooser to run an X terminal you could add an X server such as this serverhostname optionally serverhostname could be localhost O Terminal indir Definition of server Standard ct serverhostname the standard X server name Standard server command usr X11R6 bin X0 flexible true Definition of server 2nd name 2nd server command usr X11R6 bin X1 flexible true server Terminal anyway flexible false Appendix B Example configuration files 0 deferglyphs 16 vt7 the second X server 1 xf86config etc X11 XF86Config 4 X1 deferglyphs 16 vt17 To use this server type you should add query host or indirect host to the command line name Terminal server Add terminate to make things behav command usr X11R6 bin X terminate Make this not appear in th and terminate would be bad for xdmcp more n
9. MGASDRAM On Option ipei NOEN Screen 0 BusID MASc eile eo EndSection Section Device Identifier g550 2 VendorName BoardName Ud Driver mga Clock lines Uncomment following option if you see a big white block instead of the cursor Option sy Civic syoie Option AGPMode 4 Option MGASDRAM On d Option VENOUS OTO Option Msiicuicsore V Win Appendix B Example configuration files XFree Local Multi User HOWTO Option DPMS WORSE WI Screen 1 BusID UE Ce TL e 9r 9 w EndSection KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK kk kc kckck ko kck ko Screen sections KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK ko ko ko ko ko ko ckokokok Section Screen iokeysicalieneye Vsieias sad Device Ves LV Monitor monitor2 DefaultColorDepth 16 Subsection Display Depth 8 Modes UA 305 102A o AE 6330 06001 Vaga eg ViewPort 40 EndSubsection Subsection Display Depth 15 Modes 1280x1024 1024x768 800x600 640x480 ViewPort 0 0 EndSubsection Subsection Display Depth lE Modes 1280x1024 1024x768 800x600 640x480 ViewPort 0 O EndSubsection Subsection Display Depth 24 Modes qa ggsgz4w wig ise Vai 41509 ViewPort 0 0 EndSubsection EndSection Section ServerLayout Identifier layoutl Screen screenl Option SingleCard true InputDevice Mous
10. gdm gdm conf From Greeter for local non xdmcp logins get the new graphical greeter Greeter usr bin gdmgreeter to Greeter for local non xdmcp logins get the new graphical greeter Greeter usr bin gdmlogin Chapter 7 Tweaking it Change gdmlogin to gdmgreeter to Change gdmlogin to gdmgreeter to 47 XFree Local Multi User HOWTO 2 Copy the file etc X11 gdm Init Default to etc X11 gdm Init 0 and etc X11 gdm Init 1 3 Add these lines to use the background that kdm uses you can use another image file as well just change the full path to it if r usr share mdk backgrounds default png a x usr bin giv then usr bin qiv z usr share mdk backgrounds default png else usr X11R6 bin xsetroot solid 21449c feat You can also specify a different background color with Ansi Rio on Se coco sollael Hyori exl V Modified etc X11 gdm Init 0 bin sh if r usr share mdk backgrounds default png a x usr bin qiv then usr bin qiv z usr share mdk backgrounds default png else usr X11R6 bin xsetroot solid 21449c ies ais enECu XL 1 salinalic ie aslkewloyoyeticrel Tien etc X11 xinit fixkeyboard ies exit 0 etc X11 gdm Init 1 bin sh if r usr share mdk backgrounds flower jpg a x usr bin qiv then usr bin qiv z usr share mdk backgrounds flower jpg else usr X11R6 bin xsetroot solid 421449C feel abit p f
11. handling long time wondering what was missing Local mul a mess Ebene Is OPINO saul pw 12 2 99 5 11 7151 TAIS 6402 Ge EG got it actually running use amp dev null to load variables from the config file Local multi user HOWTO xml v 1 12 2003 11 11 14 52 42 gferg E l release PATH sbin bin usr sbin usr bin source function library Ad p i euge ism obiumeriees 5 Eben lere rantes C Te vuskeie L ONS elir x ete recy inico runet ions p then etc rc d init d functions feat source defaults ais E See SiySicwoinitiG ely Come Jp tunen iW Inver CO Gere ric Que dele so Se ele quiu else etc sysconfig ruby conf amp dev null RUBY CONF etc sysconfig ruby conf ae on uo tancs Con co ua Boni ciie muisisishiove JI ono itrelbeie ex ail Appendix D Experimental Backstreet Ruby configuration Script Service ti user HOWTO xml v 1 12 2003 11 11 14 52 42 E don t exit silently if hackvideo or modules loading is deactivated Exp Exp Exp 91 XFree Local Multi User HOWTO function get status run hackvideo status d prefbus used print dumb_con get_kbds and curr active VTs function get_ext_status run_input_re status run_hackvideo status prefbus_used print dumb_con get_kbds and curr active VTs get_links mouse get_links event ruacan seIbin_Cleenee_scssnceucie 1 load_modules run_hackvideo start iWin boote Te
12. BusID Section ServerLayout Identifier E omcc 0 InputDevice InputDevice yS dg n ScreenO 0 0 Mouse0 CorePointer Keyboard0 CoreKeyboard OQjsitiom WiExeestixSUUDM Sirs EndSection Section ServerLayout Identifier Screen 0 InputDevice InputDevice mop n US cmc comi 10 0 Mousel CorePointer Keyboard0 CoreKeyboard Go on Eee EBS E EB Qu EndSection or for Debian Sid s XFree86 and Mandrake s xorg x11 Section ServerLayout Identifier SEREEN 0 InputDevice InputDevice US n ScreenO 0 0 Mouse0 CorePointer Keyboard0 CoreKeyboard Option IsolateDevice 1 0 0 EndSection Section ServerLayout Identifier Screen 0 InputDevice InputDevice UL n Screenl 0 0 Mousel CorePointer Keyboard0 CoreKeyboard Option IsolateDevice 0 13 0 EndSection using the prefbusid option at XFree start up requires as argument a valid BusID or for Debian Sid s XFree86 and Mandrake s xorg x11 use isolateDevice instead Chapter 4 Setting up the X servers see a big white block 16 XFree Local Multi User HOWTO d Caution For the older version 1 Preferred Bus ID XFree Server only this choice is valid For example on command line root svetljo mnt starts usr X11R6 bin X0 0 prefbusid 1 0 0 vt7 or from a display manager gdm Definition of the standard X server server Standard name Standard server command usr X11R6 bin
13. E HEH EE AE FE EE EEE EE EEE HE HE FE FEAE EH HHT EH HEH EEE EE EEE EE EEE EE XConsortium Xserv ws cpp v 1 3 93 09 28 14 30 30 gildea Exp SMG GOLR Riel Aoneeepesmis xelny ciem a p SSR as scopo w lois 12 2 3999 10 92 15423114 hohncel lego B start the server on the one display not screen per line If you also which do not support XDMCP X terminal line should 0 local bin nice n 10 usr X11R6 bin X0 0 deferglyphs 16 vt7 gil local onm imiees a lt 10 as RG Ain ES gt E3 Geo lo 6 se AS COE e TENHEZ well 7 HEHE HEE HH EH HT AE E FE AE FE FE AE a EE EE EEE EE FE FE FE FE aE If you have more video cards just add more lines 2 local bin nice n 10 usr X11R6 bin X2 2 xf86config etc X11 XF86Config 4 your 3rd card Oboe er If you use a single XFree configuration file Chapter 6 Configuring display managers 40 XFree Local Multi User HOWTO HHAHAAHAAAEHAAAAHA AHHH AAPA AAPA AAAHAAAAHAAAAHAAAAAA AAPA AA EEEE XConsortium Xserv ws cpp v 1 3 93 09 28 14 30 30 gildea Exp SSeS Hael fonctolepecinlss s lt oluy CONE s p ox etes owes Clo wv oil sil 12 2 1996 10 02 15323114 honcel mas Xservers file workstation prototype This file should contain an entry to start the server on the local display if you have more than one display not screen you can add entries to the list one per line If you also have some X terminals connected which do not support XDMCP you can add them he
14. HE EH EE HH Td different LIBRARY PATH libraries and T XFree GL libraries at the same time EH PHT FE AE THEE E FE AE FE FE E FE AE FE EH AE FE FE AE HE E HE H AE HE AE FE AE AE FE AE FE FE AE FE HE AE FE AE HH FE HE E FE HEFE F export LD_LIBRARY_PATH usr X11R6 libNV exec usr X11R6 bin XO C 5 For installing Nvidia drivers for parallel use with DRI bin bash HEHE HHT HHT EHH HH EH FE AE FE EE EEE usr sbin ruby NVinstaller HEH for usage call it with h or help parameter Td LAA i A HH HHH i i i i A i i HE HH i HE EE HEH EUER sib EIE zZ IS US AL Rn Hl Wey help echo echo Usage echo SO full path to Nvidia installer echo eg 0 root NVIDIA Linux x86 1 0 4349 run exit 1 feat if z OPENWINHOME then Appendix C Scripts then 86 s k XFree Local Multi User HOWTO echo echo OPENWINHOME not defined echo Please set th nvironment variable OPENWINHOME echo pointing to your XFree prefix eg usr X11R6 Schoor lexevsi m Sleyelil gl echo export OPENWINHOME usr X11R6 exit 1 ia P cd SOPENWINHOM echo echo backup file for XFree s GL libraries echo is SOPENWINHOME libGL backup tar at x dise Gi loevelsuje ice le elem echo old backup exist deleting amp amp rm libGL backup tar P echo find lib name IibGL o name
15. Only makes sense if TitleBar is on LockPosition false Set a position rather then just centering the window If you enter negative values for the position it is taken as an offset from the right or bottom edge SetPosition false PositionX 0 PositionY 0 Xinerama screen we use to display the greeter on Not for true multihead currently only works for Xinerama XineramaScreen 0 Background settings for the standard greeter Type can be 0 None 1 Image 2 Color BackgroundType 2 BackgroundImage BackgroundScaleToFit true BackgroundColor 21449c XDMCP session should only get a color this is the sanest setting since you don t want to take up too much bandwidth BackgroundRemoteOnlyColor true Program to run to draw the background in the standard greeter Perhaps something like an xscreensaver hack or some such BackgroundProgram if this is true then the background program is run always otherwise it is only run when the BackgroundType is 0 None RunBackgroundProgramAlways false Show the chooser you can choose a specific saved gnome session session ShowGnomeChooserSession fals Show the Failsafe sessions These are much MUCH nicer focus for xterm for example and more failsafe then those supplied by scripts so distros should use this rather then just running an xterm from a script ShowGnomeFailsafeSession fals ShowXtermFailsafeSession fals Always use 24 hour clock no matter what the locale Use24Clock false Use
16. The installation of Ruby 2 6 is not fully covered partly because there are almost no differences compared to the installation of Linux 2 6 kernel partly because I have not gathered enough experience with Ruby 2 6 yet so any comments and questions are welcomed If you are going to use Ruby 2 6 please do install Linux 2 6 without the Ruby 2 6 patch first and configure your system for it in order to avoid tracking Ruby 2 6 Bugs which are actually due to a not properly configured system because of the Linux 2 4 Linux 2 6 changes A good starting point is probably _http www codemonkey org uk docs post halloween 2 6 txt 3 1 Installing the Backstreet Ruby Ruby 2 6 kernel Now it s time to install the kernel The easiest way would be to pull an already prepared binary kernel there are packages for some distributions currently only Mandrake and Debian or a source package and rebuild it on your system If for some reason you cannot use them or have problems using them you can also build your own kernel with the Backstreet Ruby Ruby 2 6 patch For more information how to do this visit the Backstreet Ruby page on building and installing the kernel http startx times lv or some of the mirrors gt Documentation Quick Kernel If you are new to Linux reading The Linux Kernel HOWTO http tldp org HOWTO Kernel HOWTO html could be very helpful You can find binary kernel packages for Mandrake at_http karlovo d
17. The mouse side of the patch 031 lnx evdev keyboard diff The keyboard side of the patch The binaries for Debian include these patches For hot plugging you will also need the etc hotplug input agent which you can find under the above address and in Appendix Scripts Then you have to configure XFree to use the event devices The configuration section for a mouse should look something like this Section InputDevice Identifier Mousel Driver mouse Option U 66691 evdev Option Dev Name A4Tech USB Optical Mouse Chapter 5 More on configuring input devices 32 XFree Local Multi User HOWTO Option Dev Phys viS ba atm ob Option Menores y Mo Option UzadsqMegspsuee Ug y f e EndSection The configuration section for a keyboard should look something like this Section InputDevice Identifier Keyboardl Driver kalo Clu Option Ee Omo corey evdev Option Dev Name SILITEK USB Keyboard Option Dev Phys usb input0 Option AutoRepeat ZSO 50 Option XkbRules xfree86 Option XkbModel woei 9 1L W Option XkbLayout dvorak EndSection For Dev Name and Dev Phys the wildcats and work you MUST have at least one of the two if you have both then the device must match on both a non existent entry is the same as one consisting of 5 4 Using the Phys descriptor and USB devices Using the Phys descriptor of input devices simplifies a lot the configuration of input devices
18. Version 4 0 X4 0 which allows applications and window managers to use the two or more physical displays as one large virtual display In case Xinerama is not used applications can only reside on one of the displays and can not be moved between the two Window managers had to be specially written to support the two displays With Xinerama window managers and applications don t have to be specially written to support the larger Virtual Desktop Xinerama creates Just the opposite the primary goal of a system configured according to this HOWTO is to offer multiple independent displays for several users on a single PC system For more information on Xinerama read e Xinerana HOWTO Using Xinerama to MultiHead XFree86 v 4 0 Chapter 2 Before we begin 6 XFree Local Multi User HOWTO 2 4 Binary packages Binary rpms of modified XFree servers are currently available for Mandrake 8 2 9 9 1 9 2 Red Hat 8 9 SuSE 8 1 If you re running other rpm based distributions please help me to prepare and rebuild packages so other users can get pre compiled binaries Currently the binary rpm packages are not mirrored and are only available from http karlovo demon co uk svetlio ruby contrib Binary packages for Debian Sid are also available thanks to Andreas Schuldei at http www schuldei org debian bruby or as apt repository deb http www schuldei org debian bruby Chapter 2 Before we begin Chapter 3 Installing the kernel
19. X0 0 layout first Xserver deferglyphs 16 ac prefbusid 1 flexible true server Second name Second server command usr X11R6 bin X1 1 layout second Xserver deferglyphs 16 prefbusid 0 13 flexible true and for xdm kdm s0 local oilm miles m 10 Juss X 1UUR6 lokio X0 20 claiteiagiyons 16 preidousicl 18030 wi gi local fo im mice a 10 iusi RG Mowm Ox gil E Gen G Vetex ATSC COn a c TERN 4 3 Creating symbolic links The symbolic links are needed for properly starting several XFree instances as well for properly exiting an X session This applies for both starting X from console and the automatic starting of X by the display manager kdm gdm xdm You need to create as many symbolic links to the modified X server binary or to the original X server in case you do not need a modified one as the number of your video cards X sessions I assume that you will have to use a modified X server but in case you do not need it use the following commands to create the links to your original X server cd usr X11R6 bin ln s XFree modified X0 ln s XFree modified X1 ln s XFree modified X2 In case you use the provided rpm packages you ll only need this if you want more than 4 parallel running X servers X sessions as the rpm creates 4 symbolic links to the X server binary 4 4 Using independent keyboards with XFree Once you install the Backstreet Ruby Ruby 2 6 kernel and start it with dumbcon n yo
20. X11 gdm PreSession Distributions If you have some script that runs an X server in say VGA mode allowing a login could you please send it to me FailsafeXServer if X keeps crashing on us we run this script The default one does a bunch of cool stuff to figure out what to tell the user and such and can run an X configuration program XKeepsCrashing etc X11 gdm XKeepsCrashing Reboot Halt and suspend commands you can add different commands separated by a semicolon and gdm will use the first one it can find RebootCommand sbin shutdown r now usr sbin shutdown r now HaltCommand usr bin poweroff sbin poweroff sbin shutdown h now usr sbin shutdown h now SuspendCommand Probably should not touch the below this is the standard setup ServAuthDir var lib gdm SessionDir etc X11 gdm Sessions Better leave this blank and HOME will be used You can use syntax below to indicate home directory of the user UserAuthDir Fallback if home directory not writable UserAuthFBDir tmp UserAuthFile Xauthority The X server to use if we can t figure out what else to run StandardXServer usr X11R6 bin X The maximum number of flexible X servers to run FlexibleXServers 5 the X nest command Xnest usr X11R6 bin Xnest name Xnest Automatic VT allocation Right now only works on Linux This way we force X to use specific vts turn VTAllocation to false if this is causing problems FirstVT 7 VTAllocation false
21. Xsetup 0 DisplayManager 0 startup etc X11 xdm GiveConsole DisplayManager 0 reset etc X11 xdm TakeConsole DisplayManager 0 startAttempts 1 4 Repeat the procedure for each additional X server Check here for additional customising options Linux Journal Issue 68 Linux Apprentice Customising the XDM Login Screen CA 7 2 2 Using kdm I m not really sure This area requires feedback Modify usr share config kdm kdmrc from X 0 Core Authorize true AutoLoginlst true AutoLoginEnable false Reset etc X11 xdm TakeConsole Setup etc X11 xdm Xsetup 0 Chapter 7 Tweaking it XFree Local Multi User HOWTO Startup etc X11 xdm GiveConsole X 1 Core Authorize true X 0 Core Authorize true AutoLoginlst true AutoLoginEnable false Reset etc X11 xdm TakeConsole Setup etc X11 xdm Xsetup 0 Startup etc X11 xdm GiveConsole Ple ens c Authorize true AutoLoginlst true AutoLoginEnable false Reset etc X11 xdm TakeConsole Setup etc X11 xdm Xsetup 1 Startup etc X11 xdm GiveConsole x sf Core Authorize true Check for additional customising options at the KDE Help Center 7 2 3 Using gdm This requires gdmlogin to be used instead of gdmgreater because using different themes for different displays is not yet implemented in gdm In case you want to use gdm themes you ll have the same theme on all displays 1 Switch to gdmlogin by making this changes in etc X11
22. can find it here http startx times lv There are also several mirrors 1 in the United States http people debian org andreas aivils 2 in Germany http www schuldei org aivils 3 in the United Kingdom http karlovo demon co uk svetlio aivils The address of the Linux Console Project is http linuxconsole sf net Chapter 1 Introduction 1 XFree Local Multi User HOWTO 1 2 About this document This document explains how to configure your system for multiple local XFree users using the enchanted console input subsystem in the Backstreet Ruby Ruby 2 6 kernel I will use e Backstreet Ruby or BRuby to refer to the back port to Linux 2 4 e Ruby or Ruby 2 6 to refer to the original Ruby kernel tree for Linux 2 6 Every mention of Backstreet Ruby should be replaceable by Ruby Ruby 2 6 unless else mentioned 2 Note Currently it is not possible to set up systems for multiple console users There are two ways of setting up multiple local XFree users 1 Modify the kernel to ignore input from USB keyboards and add the handling of USB keyboards to a modified Xserver This solution was developed by Miguel Freitas Visit his page on the topic at http cambuca ldhs cetuc puc rio br multiuser for instructions on how to set up such a system 2 Use the Backstreet Ruby kernel which supports independent keyboards I ll concentrate on configuring a system for multiple local XFree users using the Backstreet Ruby ke
23. cheis iile losy aina NOCES thaer gdmsetup does not tweak every option here just the ones most users would care about Rest is for special setups and distro specific tweaks If you edit this file you should send the HUP or USR1 signal to the daemon so that it restarts Assuming you have not changed PidFile kill USR1 cat var run gdm pid HUP will make gdm restart immediately while USR1 will make gdm not kill existing sessions and will only restart gdm after all users log out You can also use the gdm restart and gdm safe restart scripts which just do the above for you Have fun Georg daemon Automatic login if true the first local screen will automatically logged in as user as set with AutomaticLogin key AutomaticLoginEnable false AutomaticLogin Timed login useful for kiosks Log in a certain user after a certain amount of time imedLoginEnable false imedLogin imedLoginDelay 30 A comma separated list of users that will be logged in without having to authenticate on local screens not over xdmcp Note that root is ignored and will always have to authenticate LocalNoPasswordUsers If you are having trouble with using a single server for a long time and want gdm to kill restart the server turn this on AlwaysRestartServer fals The gdm configuration program that is run from the login screen you should probably leave this alone Configurator usr sbin gdmsetup disable sound disable crash di
24. circles in the password field Looks kind of cool actually UseCirclesInEntry false These two keys are for the new greeter Circles is the standard shipped theme GraphicalTheme mdk GraphicalThemeDir usr share gdm themes The chooser is what s displayed when a user wants an indirect XDMCP session chooser Appendix B Example configuration files 78 XFree Local Multi User HOWTO Default image for hosts DefaultHostImg usr share pixmaps nohost png Directory with host images they are named by the hosts HostImageDir usr share hosts Time we scan for hosts well only th scanning actually ScanTime 3 A comma separated lists of hosts to automatically add a query of course You can use this reach BOSE Gi Broadcast a query to get all hosts on Broadcast true host or host png mew c SiS cT user w aE if they answer to to reach hosts that broadcast cannot the current network that answer debug This will enable debugging into the syslog usually not neccessary and it creates a LOT of spew of random stuff to the syslog However it can be useful in determining when something is going very wrong Enable false servers These are the standard servers You can add as many you want here and they will always be started Each line must start with a unique number and that will be the display number of that server Usually just the 0 server is used 0 Standard
25. copies of this configuration file for the number of video cards you have and then only adjust the BusID PCI x xx x field in the configuration file You can do this with the help of Ispci XFree86 scanpci verbose or other similar distribution specific tools You could use a similar approach if you have only monitors or video cards of the same type Most modern distributions also have advanced tools for easier configuration of Xinerama You can use these tools to set up the system for Xinerama and then use this configuration file for generating the configuration files for the different X servers You can use an example configuration file replacing video card and monitor section by the corresponding sections from the Xinerama XFConfig 4 file Other useful resources The Linux XFree86 HOWTO e XFree86 Video Timings HOWTO e X Window System Architecture Overview HOWTO e The X Window User HOWTO 2 3 Reusing Xinerama configured XFree If you have a system configured for Xinerama you can easily adjust the XFree configuration file so you can use it for multiple users This will allow you to easily switch between a multi user environment and a Xinerama multi monitor environment What is Xinerama and how does the system configured using this HOWTO differ from a system using the Xinerama extensions in XFree The Xinerama extensions were introduced to the XFree86 system in version 4 0 Xinerama is an extension to XFree86 Release 6
26. etc X11 gdm is a symbolic link to et c gdm so you can use both paths Red Hat and Gentoo use etc X11 XF86Config Modifications 6 2 1 Changes Part 1 servers These are the standard servers You can add as many you want here and they will always be started Each line must start with a unique number and that will be the display number of that server Usually just the 0 server is used 0 Standard 1 Second Here you ll have only 0 Standard For each additional X server you should add a definition like here for 1 Second 6 2 2 Changes Part 2 Definition of the standard X server server Standard name Standard server command usr X11R6 bin X0 0 deferglyphs 16 ac vt7 flexible true server Second name Second server command usr X11R6 bin X1 1 deferglyphs 16 xf86config etc X11 XF86Config 4 your card vt17 flexible true And here the exact definition of the command line for starting the X server very similar to the definitions in etc X11 xdm Xservers the definition of server Second is the additional one If you use a single XFree configuration file Definition of the standard X server server Standard Chapter 6 Configuring display managers 42 XFree Local Multi User HOWTO name Standard server command usr X11R6 bin X0 0 layout first Xserver deferglyphs 16 ac vt7 flexible true server Second name Second server command usr X11R6 bin X1 1 la
27. in XFree especially when a bigger number of displays are used As USB devices are connecting in a tree form you can really easy specify the way keyboard and mice devices are bound to a specified X display You have to use one USB hub with number of ports equal or bigger to the number of the X displays to this hub are connected smaller 2 4 port hubs or keyboards with integrated hub To the first port of the smaller integrated hub are connected the keyboards to the second the mice in case there are free ports you can connect usb audio devices to them This results in the following layout of the usb id s in case the primary USB hub is the first USB device S Note In the following explanations and examples I use for first device on the secondary integrated hub keyboard device because my keyboard is internally connected to the 1st port of the integrated hub I assume this will apply for most of the keyboards with integrated hub but in case the one you own uses different port you will have to make small adjustments on the 1st port of the primary hub 1 1 USB hub integrated 1 1 1 USB keyboard 1 1 2 USB mouse 1 1 3 usb audio other usb device on the 2nd port 1 2 USB hub integrated 1 2 1 USB keyboard 1 2 2 USB mouse Chapter 5 More on configuring input devices 33 XFree Local Multi User HOWTO 1 2 3 usb audio other usb device e on the 3rd port 1 3 USB hub integrated 1 3 1 US
28. input devices 34 XFree Local Multi User HOWTO and we have to adjust the XFree configuration files so XFree uses the symbolic links instead of the actual devices If you already configured independent mice you have only to append br to each of the mouse devices Change each dev input mouse n to dev input mouse n br For the first display Ck Ck ck ck ck ck KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK KKK ko ko kc kckck ko Pointer section KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKKKKKKKKK Section InputDevice Identifier Mousel Driver mouse QpE3uou ViEseoIEOCOl Jani S ZAN Option Device dev input mouse0br Option ZAxisMapping 4 5 ChordMiddle is an option for some 3 button Logitech mice Option Emulate3Buttons Option ChordMiddle EndSection Ck CK ck ck ck ck KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK KKK KKK KKK KK KKK KKK Pointer section KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK Section InputDevice Identifier Mousel Driver mouse Op ONEN Pr OLOCO IMPS 2 Option Device dev input mouselbr Option ZAxisMapping 4 5 ChordMiddle is an option for some 3 button Logitech mice Option Emulate3Buttons Option ChordMiddle EndSection and so on Or in case a single XFree configuration file is used
29. setup PidFile var run gdm pid PostSessionScriptDir etc X11 gdm PostSession PreSessionScriptDir etc X11 gdm PreSession Distributions If you have some script that runs an X server in say VGA mode allowing a login could you please send it to me FailsafeXServer if X keeps crashing on us we run this script The default one does a bunch of cool stuff to figure out what to tell the user and such and can run an X configuration program XKeepsCrashing etc X11 gdm XKeepsCrashing Reboot Halt and suspend commands you can add different commands separated by a semicolon and gdm will use the first one it can find RebootCommand sbin shutdown r now usr sbin shutdown r now HaltCommand usr bin poweroff sbin poweroff sbin shutdown h now usr sbin shutdown h now SuspendCommand Probably should not touch the below this is the standard setup ServAuthDir var lib gdm SessionDir etc X11 gdm Sessions Better leave this blank and HOME will be used You can use syntax below to indicate home directory of the user UserAuthDir Fallback if home directory not writable UserAuthFBDir tmp UserAuthFile Xauthority The X server to use if we can t figure out what else to run StandardXServer usr X11R6 bin X0 The maximum number of flexible X servers to run FlexibleXServers 5 the X nest command Xnest usr X11R6 bin Xnest name Xnest Automatic VT allocation Right now only works on Linux This way we force X to use specific vts turn
30. the XFree86 DGA extension within that module SubSection extmod Option omit xfree86 dga Appendix B Example configuration files 61 XFree Local Multi User HOWTO EndSubSection This loads the Typel and FreeType font modules Load typel Load freetype EndSection cb Ton ADRIE Mode 0666 EndSection KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK KKK KKK KK KKK Monitor section ck ck ck ck kk Sk Ck 0k kk Ck kkk kkk kk KKK KKK Sk Ck ck kk Sk KK Sk Ck ck kk Sk ck ck ck ck ck Ck ck kk ok ck ck kk Sk kk ko ke ko ko ko ko KKK Any number of monitor sections may be present Sect emn Mens Identifier Generic Monitor that can do 1600x1200 at 70 Hz VendorName Unknown ModelName Unknown HorizSync is in kHz unless units are specified HorizSync may be a comma separated list of discrete values or a comma separated list of ranges of values NOTE THE VALUES HERE ARE EXAMPLES ONLY REFER TO YOUR MONITOR S USER MANUAL FOR THE CORRECT NUMBERS Hense ME 098 VertRefresh is in Hz unless units are specified VertRefresh may be a comma separated list of discrete values or a comma separated list of ranges of values NOTE THE VALUES HERE ARE EXAMPLES ONLY REFER TO YOUR MONITOR S USER MANUAL FOR THE CORRECT NUMBERS VertRefresh 50 160 This is
31. 5 3 7 sLioyonone 0 event2br velo 90 2 10 il 3 7 imut IL event3br ceb 00 c 3 9 3L 1L 2 ap e end input device configuration Appendix D Experimental Backstreet Ruby configuration Script Service D 3 The ruby init service etc init d ruby init XFree Local Multi User HOWTO The etc init d ruby init service configures activates most of the settings specific to a Backstreet Ruby system bin sh WON L0 chkconfi descript Comi LE TODO Siecle arse AUN Sres S Sa t This scripts configures cold pluging for bruby loads additional input modules manages the XFree and display manager configuration files os 2345 02 E 8 ion Configures the Bruby input subsystem and manages XFree and display manager configuration files etc sysconfig ruby conf show config handle commented out PciOsConfig status ext status check wether curr configuration matches setup make it work when hotplug files not installed currently it will just just inform that they are not installed and exit Local mul e script to the end Local mul tus ext sta mic Stele sete LACE Sek ds what Grels XXe iele cis EE KONO snl LAA ZOOS ILL LAR 52842 qtue show keyboard status per VT use sed instead of head head is in usr Cus amp evdev links Local mul e hackvideo ci use s EONWTO S xem vw 1 12 2005 71713 1495294 qe
32. 60 l 1E c 1L apo ute 0 Or if I want to use the USB keyboard for the primary Display and for the VGA console Chapter 5 More on configuring input devices 29 XFree Local Multi User HOWTO keyboard configuration vt name device physicaly location VTO usb 00310 1 1 1 amjoue yE isa0060 serio0 inputO you could also use instead of the pci function of the USB controller keyboard configuration vt name device physicaly location VTO usb sc Tuy impu WEIL isa0060 serio0 inputO For mouse devices you have to edit etc hotplug mouse conf mouse device configuration sym link device physicaly location mouse0br iilo 00 amp LO 1L 1 5 A asiu O mouselbr BIH 5 1 2 53 gf abiere mouse2br isa0060 seriol and adjust the XFree configuration file For the first mouse change OjgnE3toxm UiBexEGeoL IMPS 2 Option Device dev input mouse0 Option ZAxisMapping 4 5 Gorrion MPG eco IMPS 2 Option Device dev input mouse0br Option ZAxisMapping 4 5 Option Bot ocold IMPS 2 Option Device dev input mousel Option ZAxisMapping 4 5 Chapter 5 More on configuring input devices 30 XFree Local Multi User HOWTO to OysiE3pum Exe V WMS 22 Option Device dev input mouselbr Option ZAxisMapping 4 5 and so on For Event devices edit et c hotplug event conf input event device config file symbolic link device physicaly location e
33. 8 1 Hardware problems While not exactly problems some graphic cards do not work well or even at all in multi user environments If you are building such a system from the beginning check the Video Compatibility list before buying video hardware Sometimes secondary graphic card s for now reported only by Nvidia owners will refuse to start even if they have worked flowlessly for months One of the following sollutions should fix the problem Running usr X11R6 bin X probeonly on the secondary card s before initializing starting XFree on the primary graphic card Some examples usr X11R6 bin X probeonly layout X2 usr X11R6 bin X probeonly layout X1 Or usr X11R6 bin X probeonly xf86config etc X11 XF86Config 4 X2 usr X11R6 bin X probeonly xf86config etc X11 XF86Config 4 X1 e Switching the secondary graphic card to primary starting the system to initialize the card as primary and reverting the card to secondary n case this is the only secondary card you can try switching the order of the graphic cards permanently 8 2 Software problems For details on solving software problems see Chapter 9 Special notes on some distributions 8 2 1 Ihcompatible userspace program s 1 gpm freezy mouse under XFree86 With the current XFree86 you are losing VGA virtual consoles anyway Recommended disable 2 RedHat 8 0 9 bin sysfont You can use RedHat 7 3 consolechars instead 3 SUSE 8 1 etc
34. A IPIOn es 408 5 iclexexai mesg Bad input agent invocation Appendix D Experimental Backstreet Ruby configuration Script Service 97 XFree Local Multi User HOWTO toli EI DEV_HANDLERS grep E Phys Handlers proc bus input devices am E eote 0 4 oine US EUIS eoe Jj use ae SUP xexowuoc 0p Je JU Grad SBHMS awk HNO orione 512 S80 Ue e msc LS DEV EVENT echo S DEV HANDLERS awk F for n 1 n n n 1 if n event print Sa DEV MOUSE echo DEV HANDLERS awk E or n 1 Sn n n 1 if n mouse print Sa DEV KBD echo DEV HANDLERS awk PU U UOS us dpunpiamedl LE ha JJuoxoU paiso Gun 4 What to do with this input device event case SACTION in add setup input Pr remove setup_input PI 5 debug mesg Input SACTION event not supported return 1 Pr esac Notes 1 All the features in Backstreet Ruby are included proc interface amp hot plugging video hack support for Framebuffer devices support for single Framebuffer console which takes over the VGA console support for multiple independent Framebuffer consoles is not yet implemented Appendix D Experimental Backstreet Ruby configuration Script Service 98
35. B keyboard 1 3 2 USB mouse 1 3 3 usb audio other usb device e on the 4th port 1 4 USB hub integrated 1 4 1 USB keyboard 1 4 2 USB mouse 1 4 3 usb audio other usb device Based on this we can bind all devices connected to a specified USB port to a given X server 5 4 1 with Input Agent An example for a 4 user system using the Phys descriptor with Input Agent and USB input devices 2 Note Here the PCI function of the USB controller is masked by so it should work both under Backstreet Ruby and Ruby 2 6 If you use more then one USB controller you ll have to use different mask for example usb 0 xx x or specify the full PHYS ID hs For Backstreet Ruby you should have PHYS ID usb 00 xx x For Ruby 2 6 you should have PHYS ID usb 0000 00 xx x We ll use the vt n parameter when starting X and the following configuration file for the keyboards etc hotplug kbd conf keyboard configuration vt name device physicaly location VTO usb gt Ihe Als sbsyeXu E 0 Wir i iugis wa ZI anyone O WEZ silom 2 ilS ainne VS Uso TNI ESSO For mouse devices the configuration file etc hotplug mouse conf will look like this mouse device configuration sym link device physicaly location mouseObr iUis fL s dL niekuo mouselbr uso 422 3599 mouse2br wslo i 3 2 166510 mouse3br iiio S9 L 5445 2 slinjouieO Chapter 5 More on configuring
36. Er D e ee Ceres ebore ieu pa arto badedeevbvedeeeabandsabendesunacaeeres 2 13r Related Doct mentattOn 3 5 creto e pete roter oe rere rede a eue e EA PERS a d 2 1 4 New versions of this document eeeseeeeeeeeeeeeeeenee eene aa aa aa aaa aaa aaa 3 1 5 Copyright and License ine ay kas abe ia i y aa a a a o eT es ia 3 156 DISClatm erz 2 Ret etie a a ai eese a as Gas SSD e aede eere Aaa a od Ded sa FERT 3 1 7 Credits ContrIDULOEs i a rece ei a S O S a ehe Re EE Race S a ee aa aa 4 1 8 Peedback Bug Reporting kadais begins sa a k a Ee e a ia aa a aa ee eR US 4 Chapter 2 Before we DEL esssiisvdsvosesssu e s sss no eae sonet eoe S Sass sv e vno Foe kasos s ss Ls nos Ks sasas a i as i 5 2 1 KNOW emi TAn LOI 5545525 A A rete A Ni EEA AET aaa 5 2 2 XFree contiguration files i e qe re EE FO SO UE e ERU EAE E AES Eaa an 6 2 3 Reusing Xinerama configured XFree sssssssesesseeseeeee ener aaa aaa aaa 6 2 4 Binary Packages stele dive cde etre its a a ente eu M idee tere TEE e EA Res 7 Chapter 3 Installing the kernel ccsscssscssssesssssessssessssesvcsonssonssssnocsssesssessssecesseansdesnsssenssoessesesessoosessnsesensssoneses 8 3 1 Installing the Backstreet Ruby Ruby 2 6 kernel sess 8 3 2 Notes on building your own Kernel cee aaa aaa ease aaa aaa aaa aaa aaa nennen aaa 8 3 9 Creating needed device files Lee ee aa ad ee aa a te eu a 9 3 4 Notes on using multi
37. Firewire hard disks CD DVD drives ZIP Floppy drives memory sticks e USB Firewire printers scanners cameras In case you succeed in configuring such devices for independent usage by multiple users please share with us how you did it S Note This doesn t mean that the devices won t work but that every user will have access to all devices Currently under Backstreet Ruby Ruby you can have a maximum of 16 Virtual Terminals 8 for Backstreet Ruby released before 7 Oct 2003 This means that without hotplug configured if you are using USB keyboards with fancy keys you are limited to maximum of 8 independent users for older versions Backstreet Ruby 4 users So do use hotplug if you are going to setup a system for more then 4 users even systems with 2 attached USB keyboards benefit from using hotplug If you are using hotplug the maximal number of independent users is 16 for Backstreet Ruby Ruby 2 6 and 8 for older versions Backstreet Ruby Chapter 2 Before we begin 5 XFree Local Multi User HOWTO 2 2 XFree configuration files You should configure each of your video cards to work properly with a single X server which is actually beyond the scope of this document You should refer to the documentation that came with your distribution but some general hints couldn t hurt The easiest way would be to use the same kind of monitors amp video cards you could then configure only the first card monitor pair make
38. NUS The default picture in the browser DefaultFace usr share mdk faces default png These are things excluded from the face browser not from logging in Appendix B Example configuration files 72 XFree Local Multi User HOWTO Exclude bin daemon adm lp sync shutdown halt mail news uucp operator nobody gdm postgres pvm rpm As an alternative to the above this is the minimum uid to show MinimalUID 500 If user or user png exists in this dir it will be used as his picture GlobalFaceDir usr share faces Icon we use Icon usr share pixmaps gdm png File which contains the locale we show to the user Likely you want to use the one shipped with gdm and edit it It is not a standard locale alias file although gdm will be able to read a standard locale alias file as well LocaleFile etc X11 gdm locale alias Logo shown in the standard greeter Logo usr share pixmaps gdm screen png The standard greeter should shake if a user entered the wrong username or password Kind of cool looking Quiver true The system menu is shown in the greeter SystemMenu true Note to distributors if you wish to have a different Welcome string and wish to have this translated you can have entries such as Welcome cs Vitejte na n Just make sure the string is in utf 8 Welcome Welcome to n Don t allow user to move the standard greeter window Only makes sense abit rabipdledekeue a6 GA LockPosition false Set a posit
39. PC with ssh or something similar to load the required modules For AT PS2 keyboards turn on not modules Input device support Serial i o support Input device support gt i8042 PC Keyboard controller Input device support gt Keyboards Input device support gt AT keyboard support For a USB keyboard turn on not modules Input device support gt Keyboards USI Sulppeieic gt Support ie SIE USB Usi gt lU SlE lore Control JDie3bwexes USB support USB Human Interface Device full HID support USB support HID input layer support 4 If you are new to Linux do not try to patch an already patched kernel heavily patched kernels like the ones that ship with most distributions Use a kernel from www kernel org and take a look at the Linux Kernel HOWTO Note In Backstreet Ruby the patch for a 2 4 Linux kernel does not support frame buffer devices and for that reason is disabled In Ruby the patch for 2 6 Linux kernel if you want to disable change to modules support for PS2 input devices you have to first activate enable General setup gt Remove kernel features for embedded systems 3 3 Creating needed device files If you are not using the devfs file system you might need to create several device files needed for the new input sub system in the Backstreet Ruby kernel amp Note Most current distributions should already provide the necessary device files so try b
40. RV200 OW Radeon 750 root svetljo mnt With XFree86 scanpci verbose or in case XFree is already running XFree86 1 scanpci verbose and look for your graphic cards root svetljo mnt XFree86 1 scanpci verbose Chapter 4 Setting up the X servers 14 XFree Local Multi User HOWTO 0 13 0 unknown card 0x1462 0x8852 using a nVidia Corporation NV17 GeForce4 MX 1 0 0 unknown card 0x1002 0x0f2a using a ATI Technologies Inc Radeon RV200 QW 3 Configure XFree PrefBusID You have the following choices with the same effect Use the XFree config file option SingleCard requires as argument a boolean value true false added in patch version 3 For use in multi user environment set to true for standard XFree behavior single X server allowed to false or comment out delete the line This functionality is inlcuded the xorg x11 packages for Mandrake and in Debian Sid XFree86 packages Use the XFree config file option PrefBusID requires as argument a valid BusID added in patch version 2 For use in multi user environment include the option with a valid BusID for standard XFree behavior single X server allowed comment out or delete This functionality is inlcuded the xorg x11 packages for Mandrake and in Debian Sid XFree86 packages but the option name is changed to IsolateDevice Use the XFree command line option prefbusid x x x requires as argument a valid BusID initial release of the p
41. TPLUG RC input yes AUTO DM controls wether the display manager configuration files is adjusted upon the boot argument dumbcon number AUTO XFree controls wether the XFr configuration file is adjusted upon XFree string argument For Mandrake users this always activated in etc rc d rc sysinit and can not be disabled AUTO DM no AUTO XFree no Appendix D Experimental Backstreet Ruby configuration Script Service 89 XFree Local Multi User HOWTO LOAD MODULES controls wether the additional modules listed below should be loaded when a ruby kernel is running LOAD_MODULES yes input modules configuration module arguments needed for all mice mousedev Ow USE aiMjouie hid fom 192 impu serio 18042 atkbd psmouse keyboard devices configuration vt name device physicaly location VTO isa0060 serio0 inputO VT1 So OO e 1L 0 c 1 1 1L imot VTO isa0060 serio0 inputO war wislo 5 i aimjouie 0 multimedia keys configuration vt_name device_physicaly_location Wied ise 0 0 S10 T 1 aimpuiel Ww usb e gt il aLoyeune mouse devices configuration sym_link device_physicaly_location mouseObr isa0060 seriol input0 mouselbr ibis 00 9 IL 5 hal B atinyouutie 0 mouse2br Musio 000272 ANH mouselbr velo 99 210 5 1L 2 ninja 0 event devices configuration sym link device physicaly location event0br isa0060 seriol inputO eventlbr Slo 00 2 10 3L 1L
42. UAL FOR THE CORRECT NUMBERS He 2 S o S09 VertRefresh is in Hz unless units are specified VertRefresh may be a comma separated list of discrete values or a Appendix B Example configuration files 66 XFree Local Multi User HOWTO comma separated list of ranges of values EXAMPLES ONLY 3r NOTE THE VALUES HERE ARE R EE ER TO YOUR MONITOR S USER MANUAL FOR THE CORRECT NUMBERS VertRefresh 50 160 Hie CMS C Of Sony Weave OST DS Wid WAN 2 1024x480 85 6 Hz 48 kHz hsync ModeLine 1024x480 65 00 1024 1032 VOCS IG WS m ModeLine 768x576 768x576 100 Hz ModeLine 768x576 50 kHz hsync 50 00 Ee G32 61 6 kHz hsync 63 07 768 800 EndSection Section Monitor TOENE ieee Mo Ei So E 2 VendorName Unknown ModelName Unknown HorizSync 30 98 VertRefresh 50 160 HorizSync 0 50 VertRefresh 50 120 EndSection 1176 1344 480 488 494 xtended mode timings typically used for laptop V fullscreen mode or DVD fullscreen output These are available along with standard mode timings DES Heyne wise 846 1000 S716 S90 595 630 960 1024 975 575 90 116 Ck Ck ck ck ck ck KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK KKK KKKKKKKKKKK Graphics device section KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK KKK k
43. VTAllocation to false if this is causing problems FirstVT 7 VTAllocation false security If any distributions ship with this one off they should be shot this is only local so it s only for say kiosk use when you want to minimize possibility of breakin AllowRoot true If you want to be paranoid turn this one off AllowRemoteRoot tru This will allow remote timed login AllowRemoteAutoLogin false 0 is the most anal 1 allows group write permissions 2 allows all write permissions RelaxPermissions 0 Ret ryDelay 3 Maximum size of a file we wish to read This makes it hard for a user to DoS us by using a large file UserMaxFile 65536 Maximum size of the session file This is larger because it matters less as we never keep it all in memory Just has an upper limit so that we don t go into too loue o amp loos SessionMaxFile 524388 Appendix B Example configuration files 76 XFree Local Multi User HOWTO XDMCP is the protocol that allows remote login If you want to log into gdm remotely I d never turn this on on open network use ssh for such remote usage that You can then run X with query lt thishost gt to log in or indirect thishost to run a chooser Look for the Terminal server type at the bottom of this config file xadmcp Distributions Ship with this off It is never a safe thing to leave out on the net Alternatively you can set up etc hosts allow and etc hosts deny to only
44. X terminals connected which do not support XDMCP you can add them here as well Each X terminal line should 16 vt7 Exp Ego ai ileeail Agm m es a 10 Ausis dide lokio L aL sdroxroudbde eeu X1 PMT Glos Le 4 lt i releitex syl Not really used by me etc X11 xdm Xservers 2 GoWClewwsxoueiesLUMUS Mew WEC wv los 95 09 29 145909599 xol Xservers file workstation prototype Appendix B Example configuration files uso S XFree86 xc programs xdm config Xserv ws cpp v 1 1 1 1 12 2 1998 10 04 15 23 14 hohndel This file should contain an entry to start the server on the local display if you have more than one display not screen you can add entries to the list one per line If you also have some X terminals connected which do not support XDMCP 69 Ege XFree Local Multi User HOWTO you can add them here as well Each X terminal line should look like XTerminalName 0 foreign 0 local bin nice n 10 usr X11R6 bin X0 0 deferglyphs 16 vt7 si local omnes m 10 rsr BEO Aosta ES 8lde cm lg Jeu XI PAT oComiradc 4 il e rero ANS 232 local Afsrn mies 10 sr XALAURG loklia 2 2 r oxeloimuE ae cle Mle SES O COME 4 Cem Serer Kolas B 2 2 gdm etc X11 gdm gdm conf 0 GDM Configuration file You can use gdmsetup program to graphically edit this or you can optionally just edit this file by hand Note that gdmsetup does not tweak every option here just t
45. XF86Con ig 4 so in both scenarios XFree can be started with the proper configuration file for the first X server And what about the other X servers Under a standard kernel you cannot use several independent X servers so you should use the other XFree configuration files only under Ruby Backstreet Ruby there is no need for different configuration files under standard amp bruby kernels 7 4 Number X servers started by Display managers Here is a modified version of the previous approach Add this to your init scripts I bet it s missing the same like XF86Config but for gdm conf amp Xservers for i in xdm Xservers gdm gdm conf do ai euc XLL S p Basiai DumbCon sed n s dumbcon 0 9 1 p proc cmdline n SDumbCon DumbCon 0 e W ercePxilil Sal Sosa J wie doa SE LS eo II SS Damo Go S ce BIS Ss IE done echo Setting up display managers for expr DumbCon 1 Xservers Chapter 7 Tweaking it 49 XFree Local Multi User HOWTO This will adjust the proper etc X11 xdm Xservers and etc X11 gdm gdm config according to the boot line argument dumbcon n remember n 1 number of X users sessions You have to create the configuration files following these assumptions i only stands for etc X11 xdm Xserver and etc X11 gdm gdm conf e 1 0 is used for a single X server when dumbcon n is not specified or dumbcon 0 e 1 1 is used by the display manager when dumbc
46. XFree Local MultiCUser HOWTO Svetoslav Slavtchev lt svetoslav at users sourcefourge net gt Aug 2004 Revision History Revision 1 4 2004 08 14 Revised by SS add some info on the new IsolateDevice XFree X org drop some stalled comments about ruby 2 6 a lot more must be removed linux 2 6 is table now Revision 1 3 2003 11 11 Revised by SS Ruby 2 6 is working sync to new BRuby add config file paths for Gentoo Revision 1 2 2003 09 17 Revised by SS Lots lots of stuff the most major things XFree PrefBusID v3 input rc and exp service ruby init add Known Limitations Revision 1 1 2003 07 14 Revised by SS sync input agent with examples a bit more about ruby less Fix Me s additions to video compatibility Revision 1 0 2003 05 13 Revised by TP Initial release reviewed by LDP This HOWTO explains one of the ways to get a working multiple local X user capable PC system for up to 16 users It is based on using a modified Linux kernel with support for multiple independent users The second way is not covered here but on the web page of it s author the pioneer Miguel Freitas XFree Local Multi User HOWTO Table of Contents Chapter T Tntrodu ction cicscscicstssconstessscssssgnctescenssoonsossecessssssongseseoccncesebesseeecessadssessnssseessbescesedesdoeseetesssenssseenstes 1 1 1 About Backstreet Ruby Ruby ne terrere eh eer E LU Ense e ERE aa ERS 1 1 2 About this doc mient iae ie er
47. a set of extended mode timings typically used for laptop TV fullscreen mode or DVD fullscreen output These are available along with standard mode timings Somy Vano Cll OK XSi Via VN 2 1024x480 85 6 Hz 48 kHz hsync ModeLine 1024x480 65 00 1024 1032 1176 1344 480 488 494 563 hsync vsync WSs C C 79 kar 50 ikiz neyime ModeLine 768x576 50 00 768 832 846 1000 75 S590 595 30 TOSTE C OO tha Gil Ish lacie ModeLine 768x576 63 07 7680 H00 96O L024 SIG 57e 590 G6 EndSection Section Monitor Identifier monitor2 VendorName Unknown ModelName Unknown Appendix B Example configuration files 62 XFree Local Multi User HOWTO HorizSync SO Sh VertRefresh 50 160 EndSection Section Monitor Teleme kere ON EO oN VendorName Unknown ModelName Unknown HorizSync 1555 c 0 VertRefresh 56 0 75 0 EndSection KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK KKK KKK KKK KKK KKK KK Graphics device section KEK ck ck ck KK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KK KKK KKK KE ck ko ck ck kk ck cko ck kk ck ko ck ko Sk ck Mk Sk kv kx ko KK Section Device Identifier Generic VGA Driver sse yel EndSection Section Device Identifier g550 1 VendorName BoardName n Driver mga Clock lines Uncomment following option if you see a big white block 4 instead of the cursor Option wy CUSO Y Option AGPMode 4 d Option TENCAS O OE Option hebes ONN Option
48. aaa aaa 29 25 2 1mput deetit ote reo a a ai aa aaa aa ie a E aa a a ana 29 522 APU TC x c sai oes i aa o a dn e eet Te ete et a i sa a a be bee a REFERS 31 5 3 Using XFree with event interface support aaa aaa aaa aaa aa aaa 32 5 4 Using the Phys descriptor and USB devices sse 33 SAV with Input Agent Reese oen te eer eere REG EH EE EE GER Ue Ree aa eere e ataete 34 5 4 2 with XFree with event interface support enne enne 36 Chapter 6 Configuring display managers e eeeee esee eee eene seses seen asas soto as eaae es seses sese esae seems 39 6 1 Configuring xdm and kdi iieiea E OVE EE tenen nennt enne nein trennen ens 39 ERLOEA EPA RUTAS UENIRE 41 XFree Local Multi User HOWTO Table of Contents Chapter 6 Configuring display managers 6 2 1 Changes Parts oi ose e eere ence PO SY RE VEU PORTU ERR Re e RATES e a E 42 6 2 2 Changes Part 2 inanes ve Lies olere tod vii la dore be ey ia 42 Chapter 7 BLCPAS IPRC HM eos 44 7 1 Using independent sound cards peiiini nee e ai aE a E E A an ES SS 44 PALL UsingaRtsdaemoti e eE NEE ETE Vai Aaaa Doe EEE 44 7 2 Customising the login SCreen siai ika ossis e ETE E a i e a EE ena ee ete eee Re 45 7 21 SIS KOM 5 eer e EP Ee RR EC aa EIU ERN T ie dS Vd 45 FD 2 BEIDE Gu E 46 1 253 WISIN edm 2 dere bee ette ER e a i GER U a aere e gael 47 7 3 1st X server configurati
49. al display in 0 artsd F 10 S 4096 D dev dsp s 5 m artsmessage 1 3 f amp Pr 1 aegsel i 10 4096 D gckew espi s 5 m suiteuneseege L 3 amp PI 2 a ese 10 4095 a alga D miz 0 e 5 m a Esme S age 1 3 i amp ot esac And at the end of the file artsshell q terminat Here is an example for usr X11R6 bin startenlightenment bin sh License GPL real_display echo DISPLAY sed s sed s N case real display in 0 Chapter 7 Tweaking it 44 XFree Local Multi User HOWTO artsd F 10 S 4096 D dev dsp s 5 m artsmessage 1 3 f amp 17 1 artsd F 10 S 4096 D dev dspl s 5 m artsmessage 1 3 f amp PI 2 eue H 140 S 4096 a eles D lowy82 0 s 19 i a Esme S sage l 39 i amp rt esac usr X11R6 bin enlightenment artsshell q terminat This will start 3 aRts daemons for 3 X servers Daemon will use the first OSS sound device for the 1st X server 2 Daemon will use the second OSS sound device for the 2nd X server 3 Daemon will use the Alsa sound device for the 3rd X server requires feedback 7 2 Customising the login screen 7 2 1 Using xdm Copy etc X11 xdm Xsetup 0 to etc X11 xdm Xsetup 1 For additional X servers create the file s etc X11 xdm Xsetup n where n is the number of the X server starting from 0 1 Modify the line containing the background image to adjust the path to your i
50. allow say local access Enable false Honour indirect queries we run a chooser for these and then redirect the user to the chosen host Otherwise we just log the user in locally HonorIndirect true Maximum pending requests MaxPending 4 MaxPendingIndirect 4 Maximum open XDMCP sessions at any point in time MaxSessions 16 Maximum wait times MaxWait 15 MaxWaitIndirect 15 How many times can a person log in from a single host Usually better to keep at 1 to fend off DoS attacks by running many logins from a single host DisplaysPerHost 1 The port 177 is the standard port so better keep it that way Porte Willing script none is shipped and by default we ll send hostname system id But if you supply something here the output of this script will be sent as status of this host so that the chooser can display it You could for example send load or mail details for some user or some such Willing etc X11 gdm Xwilling gui The theme By default we re using the default gtk theme Of course assuming that gtk got installed in the same prefix if not change this GtkRC usr share themes Default gtk gtkrc Maximum size of an icon larger icons are scaled down MaxIconWidth 128 MaxIconHeight 128 greeter Greeter has a nice title bar that the user can move itleBar true Configuration is available from the system menu of the greeter ConfigAvailable true Face browser is enabled This only wo
51. alog GnomeDefaultSession usr share gnome default session The chooser program Must output the chosen host on stdout probably you should leave this alone Chooser usr bin gdmchooser Default path to set The profile scripts will likely override this DefaultPath bin usr bin usr bin X11 usr X11R6 bin usr local bin usr bin Default path for root The profile scripts will likely override this RootPath sbin usr sbin bin usr bin usr bin X11 usr X11R6 bin usr local bin usr bin DisplayInitDir etc X11 gdm Init Greeter for local non xdmcp logins Change gdmlogin to gdmgreeter to get the new graphical greeter Greeter usr bin gdmgreeter Greeter for xdmcp logins usually you want a less graphically intensive greeter here so it s better to leave this with gdmlogin RemoteGreeter usr bin gdmlogin User and group that gdm should run as Probably should be gdm and gdm and you should create these user and group Anyone found running this as someone too privilaged will get a kick in the ass This should have access to only the gdm directories and files Appendix B Example configuration files 75 XFree Local Multi User HOWTO User gdm Group gdm 4 To try to kill all clients started at greeter time or in the Init script doesn t always work only if those clients have a window of their own KillInitClients true LogDir var lib gdm 4 You should probably never change this value unless you have a weird
52. and Configuring XFree PrefBusID 1 Install the modified XFree server Install an already built but not packaged modified X server and create the necessary symbolic links You can get such binaries from the Backstreet Ruby home page at http startx times lv Help us as well other people using your distribution in building an rpm or binary for your distribution we lack systems installed with all available distributions so we are not able to build packages for every distribution To patch and rebuild XFree from source using the instructions on the Backstreet Ruby page Go to the Documentation section at http startx times lv or some of the mirrors Documentation gt Quick XFree 2 Find the BusID of your graphic cards 2 Note For AGP cards something similar to 1 0 0 For PCI cards something similar to 0 xx 0 In most cases you will find the BusID already set in the device section of the XFree configuration file Virtually always in case XFree is configured for Xinerama If itis missing you can use lspci XFree86 scanpci verbose or other similar tools that came with your distribution With Ispci look for VGA compatible controller or other similar tools that came with your distribution root svetljo mnt lspci grep VGA compatible controller 00 0d 0 VGA compatible controller nVidia Corporation NV17 GeForce4 MX 420 rev a 01 00 0 VGA compatible controller ATI Technologies Inc Radeon
53. atch For use in multi user environment pass the option with a valid BusID to XFree at start up for standard XFree behavior single X server allowed don t specify the option This functionality is inlcuded the xorg x11 packages for Mandrake and in Debian Sid XFree86 packages but the option name is changed to isolateDevice x x x Note For Mandrake and Debian users the XFree configuration files are normally etc X11 XF86Config 4 For Red Hat Gentoo SuSE users the XFree configuration files are normally etc X11 XF86Config using the SingleCard option Section ServerLayout Identifier TXOR Screen 0 Screen0 0 0 InputDevice Mouse0 CorePointer InputDevice Keyboard0 CoreKeyboard Option Us umgile eame c EndSection Section ServerLayout Identifier TKM Screen 0 6 WiSiexeexeitil 0 InputDevice Mousel CorePointer Chapter 4 Setting up the X servers 15 XFree Local Multi User HOWTO InputDevice Option EndSection Note The BusID have to be specified in the Device Section of the XFree configuration file SECON INDEVE Keyboard0 CoreKeyboard KSN OCh eite ou iglemesitaeie yN VendorName BoardName m Driver Aay co labeo Clock lines Uncomment following option if you instead of the cursor Option Sw cursor Option awWeiexeyo ori BusID Viera 8 135107 EndSection using the PrefBusID IsolateDevice option requires as argument a valid
54. atch released before Oct 7 2003 use first keyboard found gt VTO ttyO0 tty7 second gt VT1 tty8 tty15 third gt VT2 tty16 tty23 The order of detecting the keyboards depends on the configuration of your kernel e If you are using kernel with integrated USB input the USB keyboard devices will be registered first then the AT PS2 keyboards will follow when the modules are loaded e If you are using kernel with integrated PS2 input the AT PS2 keyboard devices will be registered first then the USB Keyboards will follow when the modules are loaded e If you are using kernel with integrated PS2 amp USB input the AT PS2 keyboard devices will be registered first then the USB keyboards will follow But there are some caveats Most USB keyboards represent themselves as more than one keyboard it is common that the multimedia keys or the number pad identify themselves as a different keyboard device So if you are running a kernel with integrated USB input and have one USB keyboard with multimedia keys and one PS2 keyboard the USB keyboard will be bound to VTO real keyboard and VT1 multimedia keys the PS2 keyboard will be bound to VT2 in case you have enough DUMB consoles There are several ways to work around these issues Here I ll explain the easiest way to follow It s definitely not the best one but the shortest explanation and I just want to make it clear to you that the problem is not that big The better solutions will fol
55. bled for Nvidia and enabled for others If you find a simpler way please email it me and I ll include it D Caution This can not be used as is on SuSE Linux In order to make it easy for the user to switch between Mesa XFree and Nvidia GL libraries SuSE uses a very complicated setup for the GL libraries To use this setup you have to switch your configuration to XFree86 s GL libraries 4 7 1 Example 1 This is the configuration that I use on my system ATI AIW Radeon 7500 AGP and Nvidia TNT2 M64 PCI XFree configuration files 1 Create a directory usr X11R6 1ibNV mkdir usr X11R6 libNV 2 Create links to the original usr X11R6 lib cd usr X11R6 libNV Indir silent ignorelinks lib 3 Install the Nvidia driver and libraries in usr X11R6 1ibNV 4 Install Nvidia s 11bGLcore so 1 0 driver version or better 1TibGLcore so l1 in usr lib Make a symbolic link from usr X11R6 1ibNV 1libGLcore so 1 to usr lib libGLcore so 1 this will allow you to easily update your Nvidia drivers cd usr lib In s X11R6 libNV libGLcore so 1 Note the Nvidia 11bGL so is installed usr X11R6 1ibNV so it s invisible to the system unless you tell the system about the existence of usr X11R6 1ibNV For this setup you must not do this as it will break the standard X server start up But you can use the XFree GL libraries with the Nvidia graphic card and Nvidia closed source drivers with a non Nvidia graphic card using XFre
56. bsys ruby Pr stop run hackvideo stop iUd shiajoyotic_ 106 SETS rm f var lock subsys ruby Pr force reload awia ote IE SEXO eh ajotie 3xegj SC Bue touch var lock subsys ruby mr gprintf Usage s start stop restart status ext status force_reload n exit 3 Pr esac eye ir Se S ee morol neue e lt 46 Roko o pu lorem P ien action Input input rc and input agent installed but not executable bin false action Input Please check the file permissions bin false else action Input Failed to configure cold plugged devices bin false action Uiliajeiuje alinjowWlic re Cie imour Agent missing Mora ralse fi D 4 Modified hotplug input agent etc hotplug input agent This etc hotplug input agent is modified to use the global configuration file bin sh Please place this file etc hotplug input specific hotplug policy agent Kernel Input params are ACTION add PHYS pysical location of device NAME Name of the devic HISTORY 15 Sep 2003 modified to use single configuration file etc sysconfig ruby conf by me Svetoslav Slavtchev added handling for multimedia keys but doesn t work as expected LS JUNZA removed paste Appendix D Experimental Backstreet Ruby configuration Script Service 95 XFree Local Multi User HOWTO 07 MAY 2003 remake by Aivils Stoss proc manipulation added parse kbd conf event conf mouse conf create necessary symbolic links ifj 2EE 2002 In
57. c X11 xdm Xservers to etc kde3 kdm Xservers in order to use the same configuration file for xdm and kdm Red Hat and Gentoo use etc X11 XF86Config Chapter 6 Configuring display managers 39 XFree Local Multi User HOWTO For every additional X server you should add a single line You can copy the existing line change the X server binary and display number and append x 86config your configuration file My original xdm Xservers local display if you have more you can add entries to the list have some X terminals connected you can add them here as well look like XTerminalName 0 foreign and the modified version local display if you have more you can add entries to the list have some X terminals connected you can add them here as well look like XTerminalName 0 foreign Xservers file workstation proto Xservers file workstation prototype This file should contain an entry to than one Each Cype This file should contain an entry to than one Each EHH EH HT EHH EH HEH HE HE HE EEE aE XConsortium Xserv ws cpp v 1 3 93 09 28 14 30 30 gildea Exp SNCS R sc prog ams Adm Clone aCe KSS ry WE Clo w 11 141 12542 1999 10 94 35823914 inolounclsil mga start the server on the one display not screen per line If you also which do not support XDMCP X terminal line should s0 local Aazia iaes a 10 wise R LAURG lokio X gO eee 1 wie 7 a HHH EH EH HE
58. cal Multi User HOWTO Option Device dev input mouse0 Option Emulate3Buttons Option ZAxisMapping 4 5 ChordMiddle is an option for some 3 button Logitech mice Option ChordMiddle EndSection Section Module This loads the DBE extension module Load dbe Load cri Load ybe Load Dae b This loads the Video for Linux module Load Arat qw This loads the miscellaneous extensions module and disables initialisation of the XFree86 DGA extension within that module SubSection extmod Option omit xfree86 dga EndSubSection 4 This loads the Typel and FreeType font modules Load typel Load freetype EndSection SECTION puc Mode 0666 EndSection CkCK Ck ck ck ck kk ck kk ck Ck Sk Ck Ck Ck kk Ck kk Ck Sk ck kk ck Ck Sk ck kk Ck kk Ck kk Ck kk kk ck kk Ck kk ko kk Ck kk kk Sk kc k Sk ko KKK KKK Monitor section ck ck ck ck kk Sk Ck a kk Ck Ck ck kk Sk KKK KKK KKK Sk Ck ck kk Sk KK kk Sk Ck kk kk ck ck kk KKK KK KK KKK KKK ko ko ko ko ko k ko ko koc Any number of monitor sections may be present Section Monitor dE db db db dk Identifier Generic Monitor that can do 1600x1200 at 70 Hz VendorName Unknown ModelName Unknown HorizSync is in kHz unless units are specified HorizSync may be a comma separated list of discrete values or a comma separated list of ranges of values NOTE THE VALUES HERE ARE EXAMPLES ONLY REFER TO YOUR MONITOR S USER MAN
59. ckck ck kk ko Section Device Identifier Generic VGA Driver E EndSection Section Device Identifier VendorName BoardName IEN Driver Uiakipakio teet Clock lines ng Uncomment following option if you see a big white block 4 instead of the cursor Option Wane CUSO Option UseIntl0Module off Option ConnectedMonitor CRT Option rnor ED Urge Tg Option IE exper MB TM Appendix B Example configuration files 67 XFree Local Multi User HOWTO Option DPMS WOWEdE Option JaWoabexerow Wu BusID PCL a 9 g LORON EndSection Ck CK Ck ck ck ck KKK KK KKK KKK KK KKK KKK KKK KKK KKK KKK KKK KEK KK KKK KKK KKK KKK KKK KK KKK k k ko KKK Screen sections KKK KK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK ko KK Section Screen reemer iei exeaerexeno ll Y Device RONAN Monitor Mri ness O2 DefaultColorDepth 24 Subsection Display Depth 8 Modes 800x600 640x480 ViewPort 0 0 EndSubsection Subsection Display Depth US Modes 800x600 640x480 ViewPort 0 0 EndSubsection Subsection Display Depth 16 Modes 800x600 640x480 ViewPort 0 0 EndSubsection Subsection Display Depth 24 Modes 1024x768 800x600 640x480 ViewPort 0 EndSubsection Subsection Display Depth 52 Modes 1280x1024 800x600 640x480 ViewPort 0 0 EndSubsection EndSection Section ServerLayout Identifier layoutl
60. d root me contrib cat proc filesystems grep devfs nodev devfs nodev usbdevfs root mc contrib mount grep devfs none on proc bus usb type usbdevfs rw none on dev type devfs rw root mc contrib 3 4 Notes on using multiple VT s amp VGA console As the frame buffer layer is not back ported to Linux 2 4 only the primary graphic card is initialized during the boot process Secondary graphic cards can only be initialized by an X server so under Backstreet Ruby Chapter 3 Installing the kernel 10 XFree Local Multi User HOWTO you will have a single VGA text console on the primary graphic card Ruby for Linux 2 6 supports framebuffer devices and single framebuffer console which takes over the VGA console but support for multiple VT s through framebuffer consoles is not yet ready To keep VGA console properly working it is important first to be started the XFree instance which will drive the graphic card which is used for VGA console the graphic card defined as primary in BIOS 3 5 Keyboard numbering order of detection In the following chapters you will read about 1st keyboard 2nd keyboard and so on so here I will explain what is meant by n th keyboard When a keyboard device is found it is bound to a free VT given that there are free VT s The first keyboard found will be bound to VTO tty1 tty16 the second to VT1 tty17 the third to VT2 tty18 8 Note Older versions of the bruby p
61. d the source rpm on http www rpmfind net Then install it rpm Uvh usr src redhat RPMS i386 console tools 19990829 40 1386 rpm I still seem to have some kind of problem because on the console I always get findfont no such file or directory unable to setfont xxx But everything else seems okay 9 3 Debian There are no known problems Chapter 9 Special notes on some distributions 54 XFree Local Multi User HOWTO 9 4 SUSE 1 In etc init d kbd add this line in the very beginning of the file eID IIMS ecw EE ies EE EVO wie EVS After modifications bin sh Copyright c 1995 2001 SuSE GmbH Nuernberg Germany Author Burchard Steinbild lt bs suse de gt Werner Fink lt werner suse de gt etc init d kbd cuml anle aper Jobs sbin rckbd BEGIN INIT INFO Provides kbd Required Start remote fs Required Stop X SuSE Should Start fbset serial XS OUSE S i9 Default Ste cis NT 3 5 Default Stop Description Keyboard settings don t disable END INIT INFO etc rc status etc sysconfig console etc sysconfig keyboard MACHINE bin uname m 2 dev null if SMACHINE sparc o SMACHINE sparc64 then Test if we have a serial console test c dev ttyl amp amp gt dev ttyl gt dev nuli 2 gt amp 1 exit 0 PL The variable NON_SUSE_KERNEL determines whether we need to chvt to a console before s
62. dei andreas at schuldei org cd etc hotplug hotplug functions DEBUG yes export DEBUG es KBD_CONFIG kbd conf EVENT CONFIG event conf OUSE CONFIG mouse conf setup kbd while read VT NUM PHYS PATTERN NAME PATTER do age eeno USA JURO graa TARO Te ehen continue ia aie sene DENIS o Sp SPs GIVEN 2 AS V asla EE EE WiS Selo VEV NOME sel Vaywi av K pein BUS 02AU ESO UR ie e foros comsole SN T Then echo SPHYS gt proc bus console VT keyboard debug mesg Input device NAME on SPHYS mapping as secondary to VTSVT return else debug mesg Trying to configure keyboard for VTS VT but not enough VT s availabl itat IPL done debug_mesg Found no fitting VT setup_event while read SYM_LINK PHYS_PATTERN NAME_PATTERN do Appendix C Scripts 81 XFree Local Multi User HOWTO aie Selas VOS LINA quse PAG Tg iles continue 162 ii Selas USES we SEDIS OAT BS elew iowlilil jg ile case SACTION in add cd dev input rm f SYM LINK ln s DEV EVENT SYM LINK debug mesg Input event device SNAME on SPHYS linked to SYM LINK Pr remove rm f dev input SYM LINK debug mesg Input event device link SYM LINK removed Pr esac return iE SL done debug_mesg Found no fitting event device setup_mouse while read SYM_LINK PHYS_PATTERN NAME_PATTERN
63. devices 28 XFree Local Multi User HOWTO USB keyboard is N Name Logitech USB Keyboard P Phys usb 00 10 1 1 1 input0 H Handlers kbd The P Phys field the physical descriptor address consorts of 1 Bus type usb 2 PCI function of the USB controller 00 10 1 for Ruby 2 6 0000 00 10 1 3 USB device id 1 1 4 The string input 5 Interface number 0 5 2 Using hotplug with input agent and input rc Using the input agent will allow you to manage input devices based on their PHYS ID The input rc script will run the input agent with appropriate arguments for drivers that are built in the kernel or are loaded before hotplug is available 5 2 1 input agent The input agent uses 3 configuration files e etc hotplug kbd conf e etc hotplug mouse conf e etc hotplug event conf Note The explanations here are using Backstreet Ruby usb devices have PHYS ID usb 00 xx x if you are running Ruby 2 6 for usb devices you should have PHYS ID usb 0000 00 xx x but you should be able to use the same configuration files both under Backstreet Ruby and Ruby 2 6 by specifying usb 0 xx x To configure the keyboards you have to adjust etc hotplug kbd conf If I wanted to use the PS2 keyboard for the primary Display and for the VGA console I would have keyboard configuration vt_name device_physicaly_location VTO isa0060 serio0 inputO Wied uaa OO 15
64. ducts or brands should not be seen as endorsements Chapter 1 Introduction 3 XFree Local Multi User HOWTO 1 7 Credits Contributors In this document I have the pleasure of acknowledging e James Simmons jsimmons at transvirtual com for working so hard on Linux console project for developing the new framebuffer VT console subsystem e Vojtech Pavlik lt vojtech at suse cz gt for rewriting the input subsystem and working hard on the Linux console project e Aivils Stoss lt Aivils Stoss at unibanka lv for back porting Ruby to linux 2 4 and providing his back port and experiences to the world e Andreas Schuldei lt andreas at schuldei org gt for providing Debian packages comments about Debian 1 8 Feedback Bug Reporting Feedback is most certainly welcome for this document Send your additions comments and criticisms to the following email address lt svetoslav at users sourcefourge net gt In case you experiance troubles in configuring the system feel free to contact me or the linuxcosnole mailing list Please send as much details as possible the most important information would be from a running Backstreet Ruby kernel output from dmesg e output from Ismod output from cat proc bus console contents of proc bus input devices e contents of proc bus usb devices e contents of the XFree configuration file s etc X11 XF86Config 4 e contents of the XFree86 log files var 1lo
65. e Stere run_auto_dm run_auto_xfree EUINCETLOM IN TUspexnE see d Ro INC ain S e no Bilio nipais e do evel los T HONE UG IRC Lioroxine NU aie Siclome wee Se Wisi des S dakus d 2 Telex continue al SRC Sil sea ff WILY EEAS ISA action Moruby Contiguring COolce plugec devices Y SINC Sil fi done WAGE som 3ejhol lsvewelewakolexo 0 4 eval doit V NSHACK VIDEO ENABLEV if Sdoit yes J then aie SL Siras R la o echo XFree hackvideo not configured ita return ia ase oo e aus ise nac les ok chen sa cec tic XM BISIG 9 Ordi qe 2I ts re m xf file etc X11 XF86Config 4 elif etc X1T1 XF86Config then xf file etc X11 XF86Config else action bruby XFree configuration file not found exit 1 aE dL dfi eval xf hackvideo sed n d s PciOsConfig aie Veras lewelsyxolg Wil T Elas case 1 in Appendix D Experimental Backstreet Ruby configuration Script Service bin false ffi Sake GE lke sed 92 c XFree Local Multi User HOWTO start action bruby Enabling XFree hackvideo workaound bin true bin echo 1 proc bus pci hackvideo Pr stop action bruby Disabling XFree hackvideo workaound bin echo 0 gt proc bus pci hackvideo PI status eval hack enabled cat proc bus pci hackvideo att l Sheck enabled 1 Js Taen echo XFree hackvideo activated else echo XFree hackvideo not activated echo b
66. e s DRI which the GL library from Nvidia cannot do 5 Add a line in the XFree configuration file for the Nvidia card to point the X server to the right location of the library and module path Section Files ModulePath usr X11R6 1libNV modules EndSection Chapter 4 Setting up the X servers 24 XFree Local Multi User HOWTO 6 Install the Nvidia kernel driver Now everything should be fine and you should be able to use DRI and Nvidia GLX at the same time You will have a bit smaller performance in comparison to a setup which uses Nvidia s libGL amp libGLcore but the difference is not that big on my PC 4 7 2 Example 2 This example will give you the full performance of both the Nvidia card s and the non Nvidia card since XFree s libGL is used for the non Nvidia card and Nvidia s libGL is used for Nvidia cards But this will require one more X server to be precise a simple wrapper to add the path to the Nvidia libraries and symbolic links to it for additional Nvidia cards It is almost the same as the previous scenario with the difference that the X servers for the Nvidia cards should start with an environment where Nvidia s libGL is known while the X servers for non Nvidia cards shouldn t know anything about the Nvidia libGL This requires a wrapper to be used for starting the X servers driving Nvidia cards Install the Nvidia libraries and kernel driver like in the previous example You may skip step 4 as libGLco
67. e same like XF86Config but for gdm conf amp Xservers for i in xdm Xservers gdm gdm conf do We ok Jee xdu Saw Ip meum DumbCon sed n s dumbcon 0 9 1 p proc cmdline L n uspumbcon II Dumb on 0 eae E ce EO SSE SBUumocon ij a a SE cU XI SS Dum tam 1 Sc e CIL IL SaL fti done action bruby configuring display manager bin true echo Setting up display managers for expr DumbCon 1 Xservers function get kbds j 0 for i in proc bus console do echo j Ser S3 ae dl phys cat i keyboard Le Eni en echo VT basename i keyboard not attached else Sela Y yi Das nMame Si using sY grep n2 Sphys proc bus input devices sed DA BLS B E grep B2 Al Sphys proc bus input devices sed s t IRAE done echo scho Joel or J WIS aAyialaola function get links echo for a im dev anput iilb sb i do Dedi lae SUE lev mul sed SA devi pu BS ZA Ute el j 00 Jp then echo i sed e P Nac E T ils SL E EIU ADESSET V pikos bus input oe else exit 0 fid done wie Se xor les CONSON o n tmp unam i eee i ssculoyssp Ie ilem iit SX See inoirjolue rmjoure we a i ero hnorolvtg inanc acent lp than case S1 in start restart suns Is Lala eG IE Appendix D Experimental Backstreet Ruby configuration Script Service 94 XFree Local Multi User HOWTO ad status Jet Status touch var lock subsys ruby ii ext status ger ext cere Lus touch var lock su
68. ed then hotplug event notifications get dropped To make up for such cold boot errors we synthesize all the hotplug events w xpect to have seen already They can be out of order and some might be duplicates input boot events if r SPROCDIR devices then echo can t synthesize input events PROCDIR devices missing return iE aL ACTION add export ACTION export PRODUCT NAME PHYS EV KEY REL ABS MSC LED SND FF input reset state declare line the following reads from proc bus input devices It is inherently racy esp as this file may be changed by input agent invocation 4 but so far input devices do not appear in sysfs while read line do case line in I product ID eval S line I PRODUCT Bus Vendor Product Version tk name eval S line N NAME SName fis y Physical Calera CERAM PHYS S Phys Appendix C Scripts 84 XFree Local Multi User HOWTO TE iege D Controls supported line S line B jJ eval S lineS S line Pr ur End of block debug mesg Invoking input agent debug mesg PRODUCT SPRODUCT debug mesg NAME SNAME debug mesg PHYS SPHYS debug mesg EV SEV debug mesg KEY SKEY debug mesg REL SREL debug mesg ABS SABS debug mesg MSC MSC debug mesg LED SLED debug mesg SND SSND debug mesg FF FF etc hotplug input agent dev null input reset state
69. ee OL saline icsbodeeyloxYsue z Eie etc X11 xinit fixkeyboard ipa exit 0 4 Repeat the procedure for each additional X server using file s etc X11 gdm Init n where n is the number of the display 5 Check here for additional customising options Gnome Display Manager Reference Manual Chapter 7 Tweaking it 48 XFree Local Multi User HOWTO 7 3 1st X server configuration file A small part of the Mandrake init scripts etc rc d rc sysinit you can append it to yours if you are missing something similar pixel a kind of profile for XF86Config if no XFree XXX given on kernel command line restore XF86Config standard for i in XF86Config XF86Config 4 do abu qp 5 UexRey uda Je eem XFree sed n s XFree N Nw N N1 p proc cmdline n SXFree XFree standard e Uyewe xJL Su Sxduees be lm gt Si SXI ree U ere xI Ss ira done Move your XF8 6Config 4 file the one for standard kernel to XF86Con ig 4 standard create a symbolic link from it to XF86Config 4 and move the XF86Config 4 file the one for Backstreet Ruby to XF86Config 4 bruby For Ruby Backstreet Ruby kernels add to the append line in etc lilo conf oron boot prompt XFree bruby leave the standard kernel as is Results Booting with XFree standard or without XFree boot prompt or 1ilo conf will result in linking XF86Config 4 standardto XF86Config 4 booting with XFree bruby will link XF86Config 4 bruby to
70. el CorePointer InputDevice Keyboardl CoreKeyboard EndSection B 1 2 2nd XFree server configuration file File generated by XFdrake KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK kk Sk ko k ko ko KKK Refer to the XF86Config 4 5 man page for details about the format of this file KKK KKK KK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK ko ko kc ko kck ko de E db HE Section Files RgbPath usr X11R6 lib X11 rgb Appendix B Example configuration files 64 XFree Local Multi User HOWTO ModulePath usr X11R6 libNV modules Multiple FontPath entries are allowed they are concatenated together By default Mandrake 6 0 and later now use a font server independent of the X server to render fonts EndSection KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK KKK KKK KKK KKK KK KKK Server flags section ck ck ck ck ck KKK KKK KKK KKK KKK KKK KK KKK KK KKK KK KKK KKK KKK KKK ck ck kk ck oko ck ko ck ck ko ck ko Sk ck Mk Sk kx kx ko KK Section ServerFlags Uncomment this to cause a core dump at the spot where a signal is received This may leave the console in an unusable state but may provide a better stack trace in the core dump to aid in debugging NoTrapSignals Uncomment this to disable the lt Crtl gt lt Alt gt lt BS gt server abort sequence This allows clients to receive this key event DontZap
71. emon co uk svetlio ruby contrib Debian binary kernel packages are available at_http www schuldei org debian bruby or as apt repository deb http www schuldei org debian bruby 2 Note e If you are going to use USB input devices it s recommended to use the hid driver instead of usbkbd usbmouse Upon loading the hid driver you might get the following error message root svetljo RPM modprobe hid modprobe Can t locate module keybdev which is needed for hid root svetljo RPM The reason is that in some version of the module utils package this dependency is hardcoded but overrideable so you should override it by adding above hid usbcore to your etc modules conf 3 2 Notes on building your own kernel There are some things I would like to mention although I won t go in details as the Backstreet Ruby page on compiling the kernel discusses this topic Chapter 3 Installing the kernel 8 XFree Local Multi User HOWTO 1 You have to follow this order PUCES UPLOG Virtual Terminal support Console drivers for all required options to be available selectable 2 You have to use built in input support Input device support gt Input devices needed for keyboard mouse Input device support gt Mouse support 3 I would suggest you also include at least one keyboard built in not as a module You can also use modules but I find it safer to be able to use a keyboard instead of trying to find a
72. endent of the X server to render fonts EndSection KKK KK KKK KKK KKK KKK KKK KKK Ck Sk ck KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK k ko ko KKK Server flags section ck ck ck ck ck Ck ck KK KKK KKK KKK KK KKK KKK KK KKK KK KKK KK KKK KKK KKK ck ck kk ck ck ock kk ck ko ck ko Sk ck Mk Sk kx kx ko ko Section ServerFlags Uncomment this to cause a core dump at the spot where a signal is received This may leave the console in an unusable state but may provide a better stack trace in the core dump to aid in debugging NoTrapSignals Uncomment this to disable the lt Crtl gt lt Alt gt lt BS gt server abort sequence This allows clients to receive this key event DontZap Uncomment this to disable the lt Crtl gt lt Alt gt lt KP gt lt KP mode switching Sequences This allows clients to receive these key events DontZoom This allows the server to start up even if the mouse device can t be opened initialised AllowMouseOpenFail EndSection KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK KKK KKK kc ko k ko kk ko Input devices KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK I I I I I I S S S amp S amp S amp S amp M amp x M amp x amp x x x amp x KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK KKKKKKKKKKK Keyboard section ck ck ck Ck ck Ck ck ck ck ck Ck ck ck Ck ck ck ck ck Ck ck ck Ck ck ck ck ck c
73. erver Screen Screen 2 InputDevice Mouse2 CorePointer InputDevice Keyboardl CoreKeyboard EndSection Which should result in these layout definitions Section ServerLayout Identifier Xinerama Screen Screen 2 Screen Screen 1 RightOf Screen 2 InputDevice Mousel CorePointer Chapter 4 Setting up the X servers 21 XFree Local Multi User HOWTO InputDevice Keyboardl CoreKeyboard EndSection Section ServerLayout Identifier first Xserver Screen Screen 1 InputDevice Mousel CorePointer InputDevice Keyboardl CoreKeyboard EndSection Section ServerLayout Identifier second Xserver Screen Screen 2 InputDevice Mouse2 CorePointer InputDevice Keyboardl CoreKeyboard EndSection Now you can start a single X server with option layout Xinerama and enjoy the Xinerama desktop or You can start 2 independent X servers using 1ayout first Xserver for the first and 1ayout second Xserver for the second Since you will use a single XFree configuration file for all X servers in order to use independent keyboards you have to use following command For 1st X server with the 1st keyboard startx usr X11R6 bin X0 0 layout first Xserver vt7 For 2nd X server with the 2nd keyboard startx usr X11R6 bin X1 1 layout second Xserver vt17 and if you want to use Xinerama startx usr X11R6 bin X layout Xinerama vt7 Note For
74. ervers 19 XFree Local Multi User HOWTO EndSection After modifications for the first X server CkCk ck ck ck ck ck ck ck kk ck Ck Sk ck Ck Sk ck kk Ck Ck Sk Ck kk Ck ck kk ck kk ck kk Ck kk Ck kk kk ck kk Sk kk Ck kk Ck kk Ck kk Sk ko kck kc kc kck ko Pointer section KKK KK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK ko kockockokok Section InputDevice Identifier Mousel Driver mouse Option Protocol Janis Z 2U Option Device dev input mouse0 Option ZAxisMapping 4 5 ChordMiddle is an option for some 3 button Logitech mice Option Emulate3Buttons Option ChordMiddle EndSection For the second X server Ck Ck ck ck ck ck ck ck ck Ck kk Ck Sk Ck Ck Sk ck kk Ck Ck Sk Ck kk Ck kk kk ck kk Ck kk Ck kk Ck kk kk Sk kk Sk kk Sk kk Ck ko Sk Sk ck Sk Sk ko ko kok ck kck ko Pointer section KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK KKK KK KKK KKK KKK ko ko kokockok Section InputDevice Identifier Mousel Driver mouse Qoi 3Lgum EO o ol Varie SU Option Device dev input mousel Option ZAxisMapping 4 5 ChordMiddle is an option for some 3 button Logitech mice Option Emulate3Buttons Option ChordMiddle EndSection and so on Chapter 4 Setting up the X servers XFree Local Multi User HOWTO 4 6 For graphic cards without DRI or reusing Xinerama configured XFree T
75. et ane e etas etse sees tena sean 58 A l Graphic card pairs triples that work perfectly sees 58 A 1 1 Modified X server not needed aaa saaa aaa aaa E aaa aaa aaa n nn aa aa aa aa aa aaa esas nsns neis 58 A 12 Modified X server needed et ai a sis ree aa a as GRE vs ia as a adden 58 A 2 Graphic card pairs triples that work but with some glitches sess 58 Appendix B Example configuration files eee eese seen eerte eerte ee etes sea es sesta setate setas etas e essa aeos 60 BI TXBre8e860 35a spen eto tet toe br vase qu ren eei 60 B 1 1 Ist XFree server configuration file enne enne 60 B 1 2 2nd XFree server configuration file sess nennen 64 B 2 Display matiagets necem trees rete e Ie e e hee E ERN Cars ak lac e tia hei ce Eques 68 B 2 T xdm and KAM ei ui REI iere tive veste ide e I RE Free tede YE PETER 69 B 22 9dmi 22s sederet ue er e Eee dne ea aba eise iae demise ade eec Y sees 70 B 3 Configuration files for Input Agent scree renees aaa aaa aaa aaa aaa aaa aaa aaa aaa 80 B3 1 Keyboard config r tion 5 1 ie ee ne ve aa an ia k aa a RE a 80 B 3 2 Mous configurdtiOn ide er etn er HO TON MORE re a a d a ai a 80 B 3 3 Event device configuration 2 eee ter Nisa ete etre Ere erg beate 80 XFree Local Multi User HOWTO Table of Contents Appendix C SCLIPtss ccssce lt sceccssecsssenssscessseses
76. example with the help of Isusb e Under Ruby 2 6 for usb devices it will look like usb 0000 00 10 x not usb 00 10 x e First we have to find the address of the USB keyboard root svetljo How To lsusb Bus 004 Device 001 ID 0000 0000 Bus 003 Device 001 ID 0000 0000 Bus 003 Device 002 ID 0409 55ab NEC Corp Hub iMac kbd Bus 003 Device 003 ID 046d c303 Logitech Inc Bus 003 Device 004 ID 05fe 0011 Chic Technology Corp Browser Mouse Bus 002 Device 001 ID 0000 0000 Bus 001 Device 001 ID 0000 0000 Here my USB Logitech keyboard is Device 003 on Bus 003 e Now we run lsusb with arguments v s your USB keyboard device id in form Bus Device in my case lsusb v s 003 003 Q Interface Descriptor bLength bDescriptorType bInterfaceNumber bAlternateSetting bNumEndpoints bInterfaceClass bInterfaceSubClass bInterfaceProtocol ilnterface Human Interface Devices Boot Interface Subclass Keyboard Ges p ey 1 Y S Wo Interface Descriptor bLength bDescriptorType bInterfaceNumber bAlternateSetting bNumEndpoints bInterfaceClass bInterfaceSubClass bInterfaceProtocol ilnterface Human Interface Devices No Subclass None O der exc 8 gt mr EF qx Wo So my USB keyboard has two interfaces see bInterfaceNumber the first one is the real keyboard bInterfaceProtocol 1 Keyboard the second bInterfaceProtocol 0 None the additional keys Hence the real Chapter 5 More on configuring input
77. g XFree86 n log Chapter 1 Introduction Chapter 2 Before we begin 2 1 Known Limitations XFree does not support DRI acceleration on multiple graphic cards The only way to get multiple accelerated X sessions is to use Nvidia s closed source driver and GL library or a single card using DRI and multiple cards using Nvidia s closed source drivers XFree extensions not dependent on DRI should work Most of the multiheaded graphic cards can be used only for a single user display In order to start independent X servers the heads have to be explicitly addressable which can not be done with most of the cards It should be possible to use cards with explicitly addressable heads for independent displays but this has not yet been tested In the following cases it might be possible to use a single multiheaded card for multiple independent displays e The card s have different PCI Bus ID s for the different heads for example Matrox MMS G200 G450 The card s register frame buffer device for each head only with the Linux 2 5 2 6 patch Have in mind that the XFree frame buffer driver does not support acceleration and most of the XFree extensions for example Matrox G400DH G450DH G550DH Using configuring independent devices for the independent screens users is pretty hard or not explored Exceptions are the input devices graphic cards and sound thanks artsd Some examples of such unexplored areas e External storage device USB
78. gt arguments if VTAllocation is on and set FirstVT to be the first vt available that your gettys don t grab gettys are usually dumb and grab even a vt that has already been taken Using 7 will work pretty much for all Linux distributions VTAllocation is not currently implemented on anything but Linux since I don t own any non Linux systems Feel fr to send patches X servers will just not get any extra arguments then Note If you want to run an X terminal you could add an X server such as this O Terminal query serverhostname or for a chooser optionally serverhostname could be localhost O Terminal indirect serverhostname Definition of the standard X server server Standard name Standard server command usr X11R6 bin X0 0 deferglyphs 16 vt7 flexible true To use this server type you should add query host or indirect host to the command line server Terminal name Terminal server Add terminate to make things behave more nicely command usr X11R6 bin X terminate Make this not appear in the flexible servers we need extra params anyway and terminate would be bad for xdmcp Appendix B Example configuration files 74 XFree Local Multi User HOWTO flexible false 4 Not local we do not handle the logins for this X server handled false etc X11 gdm gdm conf 1 GDM Configuration file You can use gdmsetup program to graphically xol Cmte oue you eua opietonad ky Jast e
79. he ones most users would care about Rest is for special setups and distro specific tweaks If you edit this file you should send the HUP or USR1 signal to the daemon so that it restarts Assuming you have not changed PidFile kill USR1 cat var run gdm pid HUP will make gdm restart immediately while USR1 will make gdm not kill existing sessions and will only restart gdm after all users log out You can also use the gdm restart and gdm safe restart scripts which just do the above for you Have fun Georg daemon Automatic login if true the first local screen will automatically logged in as user as set with AutomaticLogin key AutomaticLoginEnable false AutomaticLogin Timed login useful for kiosks Log in a certain user after a certain amount of time imedLoginEnable false imedLogin imedLoginDelay 30 A comma separated list of users that will be logged in without having to authenticate on local screens not over xdmcp Note that root is ignored and will always have to authenticate LocalNoPasswordUsers If you are having trouble with using a single server for a long time and want gdm to kill restart the server turn this on AlwaysRestartServer fals The gdm configuration program that is run from the login screen you should probably leave this alone Configurator usr sbin gdmsetup disable sound disable crash dialog GnomeDefaultSession usr share gnome default session The chooser program Must output the chosen host on
80. hen redirect the user to the chosen host Otherwise we just log the user in locally HonorIndirect true Maximum pending requests MaxPending 4 MaxPendingIndirect 4 aximum open XDMCP sessions at any point in time MaxSessions 16 Maximum wait times MaxWait 15 MaxWaitIndirect 15 How many times can a person log in from a single host Usually better to keep at 1 to fend off DoS attacks by running many logins from a single host DisplaysPerHost 1 The port 177 is the standard port so better keep it that way Eget 7 7 Willing script none is shipped and by default we ll send hostname system id But if you supply something here the output of this script will be sent as status of this host so that the chooser can display it You could for example send load or mail details for some user or some such Willing etc X11 gdm Xwilling gui The theme By default we re using the default gtk theme Of course assuming that gtk got installed in the same prefix if not change this GtkRC usr share themes Default gtk gtkrc Maximum size of an icon larger icons are scaled down MaxIconWidth 128 MaxIconHeight 128 greeter Greeter has a nice title bar that the user can move itleBar true Configuration is available from the system menu of the greeter ConfigAvailable true Face browser is enabled This only works currently for the Standard greeter as it is not yet enabled in the graphical greeter BBWS CrS E
81. here could be several reasons for not using DRI As far I know only one graphic card in a system can use DRI The Nvidia closed source driver does not support DRI In case one of this reasons applies to your system you do not need different XFree configuration files for the different displays You can configure your system for Xinerama using the tools provided with your distribution and reading The Xinerama HOWTO so when the system is used by a single user he she could switch to Xinerama desktop and use all available displays for a bigger desktop Once configured for Xinerama only small additions are needed to achieve multiple independent desktops All you have to do is to add new layouts which use single screen definition and have independent input devices well this is actually needed only for the mouse devices as the keyboard is managed through the vt n option If you have configured Xinerama in the following way Section ServerLayout Identifier Simple Layout Screen Screen 2 Screen Screen 1 RightOf Screen 2 InputDevice Mousel CorePointer InputDevice Keyboardl CoreKeyboard EndSection To achieve multiple independent desktops you only have to add layout definitions for a single screen Section ServerLayout Identifier first Xserver Screen Screen 1 InputDevice Mousel CorePointer InputDevice Keyboardl CoreKeyboard EndSection Section ServerLayout Identifier second Xs
82. icely flexible servers we need extra params 79 XFree Local Multi User HOWTO Not local we do not handle the logins for this X server handled false B 3 Configuration files for Input Agent B 3 1 Keyboard configuration etc hotplug kbd conf keyboard configuretion vt_name device_physicaly_location VTO uso 0 0 s iO l 3b aiarene O VT1 isa0060 serio0 inputO VT2 usb 1 input0O B 3 2 Mouse configuration etc hotplug mouse conf mouse device configuration sym link device physicaly location mouse0br vous 90 SIO 5 1L 1L 5 27 scene 0 mouse2br bio 10100 E 1E 0 122715 ap ut 0 mouselbr eis 00 910 31 2 2 a Budo B 3 3 Event device configuration etc hotplug event conf input event device config file symbolic link device physicaly location event0br isa0060 serio0 deventObr isa0060 seriol input0 event3br ueo ana I 3 Appendix B Example configuration files 80 Appendix C Scripts C 1 hotplug input agent etc hotplug input agent bin sh Please place this file etc hotplug input specific hotplug policy agent Kernel Input params are ACTION add PHYS pysical location of device NAME Name of the devic HISTORY 15 JUN 2003 removed paste 07 MAY 2003 remake by Aivils Stoss proc manipulation added parse kbd conf event conf mouse conf create necessary symbolic links 2g 2EE 2002 Initial version from Andreas Schul
83. ing Jum iss ica tea ica 5 3 Using XFree with event interface support This will allow you e if you have input devices with different names to use them with the same Xserver screen wherever you plug or re plug them e if you have input devices with the same names to use them with the same Xserver screen according to the USB port where you plug or re plug them e the ability to use wild cards such as and d Caution Currently hot plugging doesn t seems to work properly I have reports that it works when using the Dev Name option but my primary purpose was to get it working with Dev Phys and this does not currently seem to work Why Dev Phys because if one wants to setup a single system for 4 5 or more users it would be easier to get 4 5 or more pieces of the same keyboard mouse then to find the same number keyboards or mice but from different manufacturer or with different names and i find configuring XFree for such number users is simpler when Dev Phys is used e Warning This section is somewhat abandoned and is not tested under Ruby 2 6 as it didn t work reliably for me For this to work you will have to use XFree with the patches for event interface support developed by Zephaniah Hull You can find them at the following url http people debian org warp evdev To build from source you will need the following patches 029 lnx evdev diff The evdev core patch e 030 1nx evdev mouse diff
84. init d hwscan Recommended disable If you have to install new hardware and want to use this service boot with standard kernel and start it manually Chapter 8 Known problems 52 XFree Local Multi User HOWTO 4 Programs writing directly to tty s like vcst ime cannot be used 8 2 2 Tweaks needed 1 Mandrake 9 1 etc init d numlock You should change the lines including dev tty 0 8 to dev tty 0 7 2 SUSE 8 1 etc init d kbd Add this line in the very beginning of the file IID wars edv iX iis wie TC EY o B V Chapter 8 Known problems 53 Chapter 9 Special notes on some distributions 9 1 Mandrake Almost everything is easy to accomplish probably because I ve used it for 2 3 years at least 1 Just a small tweak in etc init d numlock Jerolim te cl aom exe Mie Oric 2003 04 11 00 58 55 000000000 0200 wane ce Aki ae Anara e 2003 03 19 1 5 3 5 8 30 5009900090 0100 Bu c2 pp oez1 04 8 echo coun SSicSicOMin 19 1 0 5 Ore ew ain ele ATL clo for tey sum eiew iciew LO 7 lp clo setleds D num lt Stty done Pr stop gprintf Disabling numlocks on ttys One tcy ain elisa L0 1p clo for tey in Clew iciew LO 7 1 p clo setleds D num Stty done echo success 9 2 Red Hat 1 Replacing sysfont with consolechars lt needs to be written gt Rebuild console tools 19990829 40 src rpmusing rpmbuild rebuild console tools 19990829 40 src rpm You can fin
85. ion rather then just centering the window If you enter negative values for the position it is taken as an offset from the right or bottom edge SetPosition false PositionX 0 PositionY 0 Xinerama screen we use to display the greeter on Not for true multihead currently only works for Xinerama XineramaScreen 0 Background settings for the standard greeter Type can be 0 None 1 Image 2 Color BackgroundType 2 BackgroundImage BackgroundScaleToFit true BackgroundColor 21449c XDMCP session should only get a color this is the sanest setting since you don t want to take up too much bandwidth BackgroundRemoteOnlyColor true Program to run to draw the background in the standard greeter Perhaps something like an xscreensaver hack or some such BackgroundProgram if this is true then the background program is run always otherwise it is only run when the BackgroundType is 0 None RunBackgroundProgramAlways false Show the chooser you can choose a specific saved gnome session session ShowGnomeChooserSession fals Show the Failsafe sessions These are much MUCH nicer focus for xterm for example and more failsafe then those supplied by scripts so distros should use this rather then just running an xterm from a script ShowGnomeFailsafeSession fals ShowXtermFailsafeSession fals Always use 24 hour clock no matter what the locale Use24Clock false Use circles in the password field Looks kind of cool actua
86. it service and enable them Appendix D Experimental Backstreet Ruby configuration Script Service 88 XFree Local Multi User HOWTO alm exl COI A LOAD MODULES yes if set to yes loads certain input device drivers in case a ruby kernel is running input modules configuration module arguments The list of modules which should be loaded in case ruby kernel is running and LOAD MODULES is set to yes dim Eder xample file are listed all important input drivers keyboards amp mice If you have some of them compiled in the kernel you may disable the loading of the corresponding drivers by commenting them out the ext status argument can give you detailed information about the current configuration and valuable information in case you are in trouble D 2 The global configuration file etc sysconfig ruby conf In etc sysconfig ruby conf are stored all configuration options for the Input subsystem of a Backstreet ruby kernel and wether certain actions services should be run when such kernel is used etc sysconfig ruby conf This file contains defaults for bruby init HACK VIDEO ENABLE controls wether the ruby kernel shoukd ignore certain XFree commands Set to yes in case you are not running the XFree PrefBusID but XFree from your distribution HACK VIDEO ENABLE yes HOTPLUG RC input controls whether the input subsystem is started by Imm we serie V eele yw HO
87. itial version from Andreas Schuldei andreas at schuldei org dE de db db dE dE sk cd etc hotplug hotplug functions DEBUG yes export DEBUG RUBY CONF etc sysconfig ruby conf setup kbd while read VT NUM PHYS PATTERN NAME PATTER do 3st exeo USA JURE graa Ww Te them continue ia aie Gelao SES were RETS OAR Zefclew iowilil 2e loe Vi echo SVTIINUM sed s VI awk printt S020 501 if d proc bus console SVT then echo SPHYS gt proc bus console SVT keyboard debug mesg Input device NAME on PHYS mapping as secondary to VTSVT return else debug mesg Trying to configure keyboard for VTS VT but not enough VT s availabl irat P done debug mesg Found no fitting VT setup mm keys while read VT NUM PHYS PATTERN NAME PATTER do sur P eeng UEW NOMS Grea WAG Gas continue P aie Seno USES sue IESUS IONIAN I2 Ads 7 mali Jp telat War ecg VEV NUM secl S A ewe paini SAOZ SOUS aie C proce b s eonso lt SV hen echo SPHYS gt proc bus console SVT keyboard debug mesg Input device NAME on PHYS mapping as secondary to VTSVT return else debug mesg Trying to configure keyboard for VTSVT but not enough VT s availabl iat ies done debug_mesg Found no fitting VT setup_event while read SYM LINK PHYS PATTERN NAME PATTERN do az Seno VSAM J
88. jo How To cat proc bus input devices Bus 0011 Vendor 0002 Product 0002 Version 0034 Name PS2 Logitech Wheel Mouse Phys isa0060 seriol inputO Handlers mouse0 ts0 EV 7 Knit 01010 O 0 0 9 0 9 O REL 103 U UJ UU m uzincoe Bus 0011 Vendor 0001 Product 0002 Version ab02 Name AT Set 2 keyboard Phys isa0060 serio0 inputO Handlers kbd EV 120003 KEY 4 2000000 8061f9 fbc9d621 efdfffdf ffefffff ffffffff fffffffe ED 7 U UU UJ m U Zi a Bus 0003 Vendor 046d Product c303 Version 0700 Name Logitech USB Keyboard Phys usb 00 10 1 1 1 inputO Handlers kbd EV 120003 KEY 10000 7f ffe00000 7ff ffbeffdf ffffffff ffffffff fffffffe ED 7 U UJ UU m U Zi n Bus 0003 Vendor 046d Product c303 Version 0700 Name Logitech USB Keyboard Phys usb 00 10 1 1 1 inputl Handlers kbd EV 100003 U m U Z uH Chapter 5 More on configuring input devices 27 XFree Local Multi User HOWTO tU a ia alio B LSOGCLOG 10000 0 0 10 I Bus 0003 Vendor 05fe Product 0011 Version 0000 N Name Cypress Sem PS2 USB Browser Combo Mouse P Phys usb 00 10 1 1 2 input0 H Handlers mousel ts1 IBS NW 7 B3 I Teo 000000 0 CO 00 B REL 103 8 Note e proc bus input devices will provide the needed information for all devices except USB multimedia office keyboards For such USB multimedia office keyboards you will have to gather additional information for
89. k ck ck ck ck ck ck ck ck ck ck ck ck Ck ck ck ck ck ck ck ck Ck ck ck ck ck ok ock kk ck kk ck Mk Sk A kx ko kx ko ko Appendix B Example configuration files 60 XFree Local Multi User HOWTO Section InputDevice Identifier Keyboardl Driver Op Op Op Op EndSec tion tion tion tion tion Keyboard AutoRepeat 250 30 XkbRules xfree86 XkbModel pc105 XkbLayout de nodeadkeys Ck Ck Ck ck ck ck KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK KKK kc kok ko kck ko Poin ter section KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK KK KKK KKK KKK ko ko ko kockok Section InputDevice Identifier Mousel Driver mouse Option Wiese xero ILU We Sau Option Devica dev psaux Option Device dev input mousel Option ZAxisMapping 4 5 ChordMiddle is an option for some 3 button Logitech mice Op tion Emulate3Buttons Option ChordMiddle EndSec Section tion Module This loads the DBE extension module Load dbe Load GLcore d Load dga Load Hie yl Load extmod Load Joli Ww pass two from mga mailing lists d Load Moxey Load Usa EU Load bitmap Load record Load ybe Load J sug IL end pass two mga mailing lists This loads the Video for Linux module Load y4 This loads the miscellaneous extensions module and disables initialisation of
90. lIibGLcore Name Vebs sarge tear GoT libGL backup tar amp amp echo backup finished echo echo now running Nvidia installer echo which 1 no opengl headers xfree86 prefix usr X11R6NV opengl prefix usr X11R6NV echo wocheim Sil no opengl headers xfree86 prefix usr X11R6NV opengl prefix usr X11R6NV RETVAL aie Sus WweAg exo T p Edu echo echo Nvidia installer finished echo now coping files to usr X11R6 libNV echo cd usr X11R6NV lib amp amp tar c tar xvC usr X11R6 libNV echo echo restoring backuped GL libraries echo cd SOPENWINHOM tar xvfp libGL backup tar amp amp ldconfig amp amp echo GL libraries restored amp amp rm libGL backup tar fs ES aii SIRI sae 0 p ele echo echo installer aborted not restoring backup echo deleting backup files amp amp rm libGL backup tar ica echo echo script finished Appendix C Scripts 87 Appendix D Experimental Backstreet Ruby configuration Script Service D 1 README ruby init explains how to configure and use the service well have to be written You ll need to install the following scripts and don t forget to make them executable with chmod a x filename etc hotplug input agent etc hotplug input rc JA SEGU ninie Cy TE TUTO VIL dE and the configuration file etc sysconfig ruby conf edit the configuration file to adjust it to your system co
91. lay manager to start the independent X servers once everything is properly configured But don t rush to setup your display manager before the configuration is finished because this could give you serious problems When you are ready with the required configurations you ll reach the section on configuring the display manager 4 5 Using independent mice with XFree To use an independent mouse for each of your independent X servers sessions you just have to modify the input section of the XFree configuration files to point to the proper device files Use dev input mouse n where n is the number of your mouse starting from 0 e Ist mouse gt dev input mouse0 e 2nd mouse dev input mousel e 3rd mouse dev input mouse2 e 4th mouse dev input mouse3 You shouldn t use dev input mice because it merges the input from all mouse devices Here is my configuration before modifications Ck Ck ck ck ck ck KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK KKK kckck ko kck ko Pointer section KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK ko ko ko ko kockok Section InputDevice Identifier Mousel Driver mouse Op tox Ier Xe ZMES Option Vies dev psaux Option ZAxisMapping 4 5 ChordMiddle is an option for some 3 button Logitech mice Option Emulate3Buttons Option ChordMiddle Chapter 4 Setting up the X s
92. lly UseCirclesInEntry false These two keys are for the new greeter Circles is the standard Appendix B Example configuration files 73 XFree Local Multi User HOWTO shipped theme GraphicalTheme mdk GraphicalThemeDir usr share gdm themes The chooser is what s displayed when a user wants an indirect XDMCP session chooser Default image for hosts DefaultHostImg usr share pixmaps nohost png Directory with host images they are named by the hosts host or host png HostImageDir usr share hosts Time we scan for hosts well only the time we tell the user we ar scanning actually ScanTime 3 A comma separated lists of hosts to automatically add if they answer to a query of course You can use this to reach hosts that broadcast cannot reach HOSTS Broadcast a query to get all hosts on the current network that answer Broadcast true debug This will enable debugging into the syslog usually not neccessary and it creates a LOT of spew of random stuff to the syslog However it can be useful in determining when something is going very wrong Enable false servers These are the standard servers You can add as many you want here and they will always be started Each line must start with a unique number and that will be the display number of that server Usually just the 0 server is used 0 Standard 1 Standard Note the VTAllocation and FirstVT keys on Linux Don t add any vt lt number
93. low later in their own section All you need to do is to start the Backstreet Ruby Ruby kernel with dumbconzn where n is the sum of your AT PS2 keyboards plus the sum of your USB keyboards multiplied by 2 I suppose this is the maximum number of interfaces a USB keyboard registers so all keyboards will be bound to a VT Now you should find Chapter 3 Installing the kernel 11 XFree Local Multi User HOWTO out which VT s the real keyboards are bound to the keyboards excluding the multimedia keys and start X using the appropriate tty ranges Thanks to the proc interface integrated in Backstreet Ruby you can easily find the assignment of keyboards to VT s Each VT creates a file proc bus console n keyboard n is the number of the VT for VTO n will be 00 for VT1 01 for VT11 11 reading this file will give you the assigned keyboard root svetljo root cat proc bus console ibis 00 9 ILO AL AL 4 1 atinyountic 0 sio 00 8 ILO AL aL ia ie d isa0060 serio0 inputO tells us that e USB keyboard real is bound to VTO e USB keyboard multimedia keys is bound to VT1 e PS2 keyboard is bound to VT2 Now we can start X on the VT s with real keyboards in this case VTO and VT2 Of course in this simple example with only 2 keyboards one USB and one PS2 the problem could be easily avoided by using a kernel with primary PS2 input support The PS2 keyboard would be found first and bound to VTO the USB keyboard
94. mage for the 2nd X Server if r usr share mdk backgrounds default png a x usr bin giv then usr bin qiv z usr share mdk backgrounds default png else usr X11R6 bin xsetroot solid 421449Cc ipa Modified if r usr share mdk backgrounds flower jpg a lt usr bin qiv then usr bin qiv z usr share mdk backgrounds flower jpg else usr X11R6 bin xsetroot solid 21449c ia You can also specify a different background color with if r usr share mdk backgrounds flower jpg a x usr bin qiv then usr bin giv z usr share mdk backgrounds flower jpg else usr X11R6 bin xsetroot solid your color Chapter 7 Tweaking it 45 XFree Local Multi User HOWTO Tfi 2 Comment out the lines which may affect the primary X server from aug D c Jessie IE Zina A mum OC katate nema etc X11 xinit d numlock amp 16 AL to fic x Zece XII xine d nunlock hen d etc X11 xinit d numlock amp dfi 3 Inform xdm about the existence of Xsetup 1 by modifying etc X11 xdm xdm config The following thr resources set up display 0 as the console DisplayManager O0 setup etc X11 xdm Xsetup 0 DisplayManager 0 startup etc X11 xdm GiveConsole DisplayManager 0 reset etc X11 xdm TakeConsole DisplayManager 0 startAttempts 1 Modified The following thr resources set up display 0 as the console DisplayManager 1 setup etc X11 xdm Xsetup 1 DisplayManager 0 setup etc X11 xdm
95. n add as Sa SIDE ARBDA loe a NeT setup kbd lt SKBD CONFIG Ea w D A SIDE AVAN qz EEN setup event lt SEVENT CONFIG IE aL ise a SOW JWOU SE I2 iem setup mouse lt SMOUSE CONFIG 1E AL Pr remove setup_event lt SEVENT_CONFIG setup_mouse lt SMOUSE_CONFIG Fr debug mesg Input SACTION event not supported return 1 mr esac C 2 hotplug input rc etc hotplug input re bin bash input rc This loads handlers for those input devices that have drivers compiled in kernel Currently stopping is not supported Best invoked via etc init d hotplug or equivalent with writable tmp usr mounted and syslogging active PATH sbin bin usr sbin usr bin PROCDIR proc bus input source function library air jp ES ferea e Gl 3E Gael 2 3elokeuai larel mie C Te uae te TONS elir ex ete re 0 init 0 runetrions la then etc rc d init d functions ita Appendix C Scripts 83 XFree Local Multi User HOWTO aie Me fere noralie nocaute Une const Cen etc hotplug hotplug functions fei input reset state PRODUCT AME PHYS EV KE Y REL ABS MSC LED SND FF COLD PLUG load input handlers for compile in input drivers loaded before the OS could really handle hotplug perhaps because sbin or SHOTPLUG DIR wasn t available or tmp wasn t writable When if the sbin hotplug program is invok
96. n the development Linux 2 5 kernel The new Input subsystem and the new Framebuffer layer are already integrated in Linux 2 5 kernel but as the main developer of the Linux Console Project James Simmons is too busy with completing the rewrite of the framebuffer layer in Linux 2 5 the multi desktop operation will not be integrated in the next stable Linux kernel Linux 2 6 So Backstreet Ruby brings to the current stable Linux kernel Linux 2 4 the enhanced input subsystem and the ability to use multiple graphic cards and multiple keyboards independently in order to make multiple local XFree users on a single PC system possible You can have multiple independent graphic cards and multiple independent mice but in order for multiple users to interact with the system they do need independent keyboards as well Multiple independent keyboards is the feature that Linux 2 4 and in the future Linux 2 6 lacks and this is what Backstreet Ruby adds to the stable Linux kernel Linux 2 4 The entire work on back porting Ruby to Linux 2 4 is done by Aivils Stoss lt Aivils Stoss at unibanka lv gt Aivils got recently his hands on Ruby and now Ruby is fully functional 1 too so if you prefer the Linux 2 6 kernel you might use Ruby instead of Linux 2 4 Backstreet Ruby Visit his web site for more information on the patch itself on the current status how to build a kernel using his patch or how to build modified XFree86 server You
97. nations have problems with this setup e The surer way you have to install XFree server modified with the Prefered Bus ID patch Q Why surer A Because it works with all supported graphic cards solves a lot of stability problems and makes it possible to use VGA console on the primary graphic card If you decide first to try without installing a modified X server follow these steps 1 To enable this feature you have to add this to your XFree configuration file Section ServerFlags Opon ES OS E Om ac y Wat EndSection 2 and to inform the kernel to filter unnecessary PCI commands root me contrib echo 1 gt proc bus pci hackvideo 3 If you want this to be done automatically on every boot you have to add if x proc bus pci hackvideo then bin echo 1 gt proc bus pci hackvideo PL to your init scripts preferably somewhere at the end of etc rc d rc sysinit so the command is executed before X is started Chapter 4 Setting up the X servers 13 XFree Local Multi User HOWTO 4 If you want to disable this functionality you have to root me contrib echo 0 gt proc bus pci hackvideo gt Note This functionality exists in the Backstreet Ruby kernel since 15 May 2003 and in Ruby 2 6 since 29 Sep 2003 but will never be added to the official linux kernel as it is a small hack to spare you installing modified X server It is still recommended to install modified X server 4 2 Installing
98. nfiguration start the service and check if everything is done as requested and configured Site abate o ou sewlloy linac Start if everything is OK activate the service by running chkconfig add ruby init chkconfig list ruby init will tell you in which runlevels the service is active root svetljo SRPMS chkconfig list ruby init ruby init Og Oi JL 8 QUEE 2 On SKON 4 on 5 on 5 E O1E 3E you can deactivate it by running chkconfig del ruby init The input configuration uses the same syntax as kbd conf mouse conf event conf as explained in the section about hotplug with input agent The other configurable options are HACK VIDEO ENABLE no If set to yes turns on at boot the hackvideo feature of the Backstreet Ruby kernel In case XFree PrefBusID is used set to no HOTPLUG RC input yes If set to yes runs etc hotplug input rc to configure input devices which were activated by the kernel before hotplug was available drivers statically linked in the kernel Generaly needed by all systems unless you have all input drivers configured as loadable modules and load the drivers after hotplug is accessible to the kernel AUTO DM no AUTO XFree no No description yet Or may be enables disables the features explained in sections 7 3 1st X server configuration file and 7 4 Number X servers started by Display managers you don t need to modify your init scripts if you use the ruby in
99. ntioned in Section 7 4 Python dialog for the CLI and Xdialog for the GUI Once it is more tested and bug free you could for example use it under Backstreet Ruby to switch between 2 3 or more X servers and a single X server using Xinerama So when your PC isn t used by more then one user you could use the other monitors under Xinerama Or one more funny example you re simulating net gaming with a number of friends on your bruby Linux PC you have invested a bit more in an additional graphic card which is already configured but you don t have enough money right now to buy one more monitor and keyboard mouse pair One friend of yours comes and says Hey guys that s cool Can I join What would you answer Using the GUI could result in the following answer from your side No problem just bring your monitor keyboard and mouse Chapter 7 Tweaking it 50 XFree Local Multi User HOWTO If you are feeling like a hacker and want to try out this BUGGY GUI CLI check the current status at http karlovo demon co uk svetlio ruby contrib bruby python But remember it s not very tested and if not configured properly it can cause you serious troubles Please wait until it is more stable if you are not that familiar with Linux If you feel comfortable enough under Linux and think of yourself as a hacker please help in testing it and making it better bug free and easy to configure Chapter 7 Tweaking it 51 Chapter 8 Known problems
100. o retain the VGA console and prevents lock ups with some graphic cards check the compatibility list Using xdm kdm allows you to switch it s configuration retaining your opened X session of course the changes shouldn t affect the X server you are using Note Have in mind that for the older Preferred Bus ID XFree Server version 1 you have to specify the desired graphic card with parameter prefbusid x x x where x x x is the Bus ID of the desired graphic card Just append prefbusid x x x with the correct Bus ID of the card you want to start right before the last argument vt x 6 1 Configuring xdm and kdm If everything is working now it s time to setup the automatic starting of X on all displays For xdm and kdm you have to modify one single file For a Red Hat like system this would be etc X11 xdm Xservers for other distributions check whether this file exists If not find your XFree86 configuration directory and in it you ll find xdm Xservers E Note e SuSE uses etc X11 XF86Config etc X11 xdm Xservers for xdm etc opt kde3 share config kdm Xservers for kdm you can make a backup copy of etc opt kdm Xservers and make a symbolic link from etc X11 xdm Xservers to etc opt kdm Xservers in order to use the same configuration file for xdm and kdm Debian uses etc kde3 kdm Xservers for kdm you can make a backup copy of etc kde3 kdm Xservers and make a symbolic link from et
101. older versions of Backstreet Ruby you have to use For Ist X server with the 1st keyboard startx usr X11R6 bin X0 0 layout first Xserver vt7 For 2nd X server with the 2nd keyboard startx usr X11R6 bin X1 1 layout second Xserver vt8 e also the mice must have different identifiers Ck CK ck ck ck ck ck ck ck Ck kk Ck Sk ck Ck Sk ck kk Ck kk Ck kk Ck Sk ck kk ck kk Ck kk kk ck kk ck kk ck kk Sk kk kk Sk kk Sk kk Sk Sk k ck ko KKK KKK Pointer section 4 ck ck ck kk Sk Ck 0k kk Ck kk kk Sk KKK KKK ck kk Sk ck ck kk ck ck ck kk Sk kk kk ok ck ck kk ck ck ck kk Sk ck oko Sk kk ko ko k ko ko Sk ko ko KK Chapter 4 Setting up the X servers 22 XFree Local Multi User HOWTO Section InputDevice Identifier Mousel Driver mouse OyoiE3oum neeoiEOXIO TIMID S 2M Option Device dev input mouse0 Option ZAxisMapping 4 5 ChordMiddle is an option for some 3 button Logitech mice Option Emulate3Buttons Option ChordMiddle EndSection Section InputDevice Identifier Mouse2 Driver mouse QyoiE3Houm ueseeEOXeO1L V WINES 2 Option Device dev input mousel Option ZAxisMapping 4 5 ChordMiddle is an option for some 3 button Logitech mice Option Emulate3Buttons Option ChordMiddle EndSection 4 7 Nvidia GLX amp DRI 2 Note Here you will learn how to configure your system for parallel use of Nvidia s GLX and XFree s DRI If you do not have N
102. ome console settings apply We have no magic to find out about this at boot time so we leave it to the user to read this comment and put NON SUSE KERNEL yes into etc sysconfig console KBDBASE usr share kbd KSD rape ecw eny 10013 wie iiss 1616709 BEI KTABLE S KEYTABLE map KTABLE KTABLE first search the wanted keytabl if SMACHINE ppc o MACHINE ppc64 then test i PrO6 eputin ek norant ie t PrOEC BLOC AP Oe 277 ken iayudlat while read line do LT 2 Hardware scans sometimes cause problems Chapter 9 Special notes on some distributions 55 XFree Local Multi User HOWTO Recommended disable If you have to install new hardware and want to use this service boot with standard kernel and start it manually Chapter 9 Special notes on some distributions 56 Chapter 10 Final words Have some comments Send them to Svetoslav Slavtchev svetoslav at users sourcefourge net gt Difficulty understanding the HOWTO Some parts are not clear Drop a line to the above address In case you experience troubles in configuring the system feel free to contact me or the linuxconsole mailing list Please send as many details as possible the most important information would be from a running Backstreet Ruby kernel output from dmesg e output from lsmod output from cat proc bus console contents of proc bus input devices conten
103. on 1 is specified e 1 2 is used by the display manager when dumbcon 2 is specified e 1 3 is used by the display manager when dumbcon 3 is specified and so on Therefore e 1 0 should contain the definition only of your original standard X server e 1 should contain the definitions for 2 X servers e 1 2 should contain the definitions for 3 X servers e and so on If you boot without dumbconzn or with dumbcon 0 for example a standard kernel your display manager will start a single X server with the corresponding XF86Config file If you start with dumbcon 1 the display manager will automatically start 2 X servers If you start with dumbcon 2 when booting is finished you ll get 3 login prompts on your 3 displays Keep in mind that each X server should have it s own configuration file and it should be specified in the display manager configuration file properly Take a look at the configuration files before restarting with an activated display manager and this addition to your init scripts This can also be used if you have a single XFree configuration file see Section 4 6 For graphic cards without DRI In this case you will have to specify the correct layout instead of the correct XFree configuration file 7 5 Dynamically switching the number of X servers There is a very experimental GUI CLI for dynamically switching the number of running X servers It uses the automatic configuration of the display managers me
104. on file sedi erect eerte eee ede event aa eroe suaeniedeceuvaceded 40 7 4 Number X servers started by Display managers ssssssssseseeeeeeeeeeeen tenentem 49 7 5 Dynamically switching the number of X servers ssessssssseeeeeeeeeeeneneene enne 50 Chapter 8 Known problems e eene rao o ruere euo Ea inp eb onn v bei eon See Een R ee VOS eV kkos ss eoe ee os eee sia ads 52 8 1 Hardware problems oot tte ep vaste Vasa teer E ER ele Ran GRE base a 52 8 2 Software Problems e et vete ao ONSE Eee HERR PARERE E RR ger eee D n rats 52 8 2 1 Incompatible userspace programs sessseseeseseeeeeeeeneeeenrenneen nnne enne nennen innen 52 5 2 2 TWedaks MOCO ote eere rti Pete due rte TO Vd a Eod EE RETE aka ram 53 Chapter 9 Special notes on some distributions ccce eee eee e e eee eee ee eene enne etta see tn sette setae s tense seen ae 54 9 1 Mandrake ie oet erbe meteo ep tede ies nieto dede ope eos enda usted esee t Dae didt en dee RNC 54 9 2SREd Hat zie Etre wears eet teve eerte dedu obe EN E ERA UTE eR R Aa hve Ru EIER 54 9 3 Debian oie n SEEN Ed re EG WIS HR ND AE 54 94 SUSE Zi M i aes aa ae Tes Se aa a Eu 55 Chapter 10 Final WOrdS eeeerec oe toe eene ntn en ka ssnvon svisis as is svo se ev ia an k a on i i a a k K a iii 57 Appendix A Video Compatibility list eee ee esee ee eee eee eren eee ea oett te setae seen as
105. ooting Backstreet Ruby without creating the device files and in case you don t miss input devices omit this section Any distribution that came with XFree 4 3 0 and linux 2 4 20 should provide these device files Chapter 3 Installing the kernel 9 XFree Local Multi User HOWTO cd dev mkdir input old mv mouse js input old mkdir input cd input used 390 e 13 meade geil e 13 i menoc Jez e 1 2 mooc 3es e 13 3 mknod mouse0 c 13 32 mknod mousel c 13 33 mknod mouse2 c 13 34 mknod mouse3 c 13 35 mknod mice c 13 63 mknod eventO c 13 64 mknod eventl c 13 65 mknod event2 c 13 66 mknod event3 c 13 67 Can has la cs SiseroxudE 20150 ie e npuc js JS ln s input mice mouse If you use devfs all required devices will be created automatically by devfs Mandrake is an example of one distribution that uses devfs Debian does not use devfs by default but the kernel supports devfs in order to activate devfs you have to add devfs mount to the append line of your boot loader and install devfsd the devfs demon Distributions that do not use devfs are Red Hat and SuSE You can check whether devfs is used by issuing the following commands To check whether support for devfs is enabled in your kernel cat proc filesystems grep devfs To check whether devfs is used mounted mount grep devfs If you get an empty string this means that devfs is not used if you get something like the following output devfs is activate
106. ple VT s amp VGA console sssseseseeeeeeeeneeeen ener 10 3 5 Keyboard numbering order of detection enne 11 Chapter 4 Setting p the X Servers eie ee ires eroe esee eio eon ina eben ss dk sak s ss aan se s ssiss k osass sos ss aerae a s s sedan 13 4 1 Do Ineed a Modified X server eerte reete chere Va sai ais i eee RENE e Reeve EN E i 13 4 2 Installing and Configuring XFree PrefBusID essere 14 4 3 Creating symbolic links oed irre e ne ise Le REO a RE T ai ai 17 4 4 Using independent keyboards with XFree essent nenennentennee 17 4 5 Using independent mice with XFree oo ee eee ececsesseceececeeeeecsecesaecseaaeceaceceeeeeeeeeeeaecseaaeneaeeeeeeeees 19 4 6 For graphic cards without DRL neei iie d aaa aaa enne A entente tenerse 21 4T Nvidia GI Xe SE NORD occ en nee dentes ede rette aaa AS saaa de Dd 23 4 71 Bxample l eerte tee tte det ee etr he E et lerem tete Ade eL PR T e E in 24 47 2 Example eere tci e P ETE ERROR a CUPS ake 25 4 7 3 Installing the Nvidia libraries easily aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa 25 Chapter 5 More on configuring input AeVICES sccscccssscssssscsssscsssscceccssssssssesssseccssssssssssssssssssssssssssssses 27 5 T Finding the real devices ss iege ea veste Gee dk e PERPE ages 27 5 2 Using hotplug with input agent and input rc esssessseeseseseeeee enne
107. re as well Each X terminal line should look like XTerminalName 0 foreign 0 local bin nice n 10 usr X11R6 bin X0 0 layout first Xserver deferglyphs 16 vt7 1 local bin nice n 10 usr X11R6 bin X1 1 layout second Xserver vt17 PHT HHH HEE HH EH i i i i EE EEE AE FE FE AE FE EE Note Under older versions of Backstreet Ruby released before 7 Oct 2003 each console is represented by 8 tty s so y use 0 local bin nice n 10 usr X11R6 bin X0 0 deferglyphs 16 vt7 1 local bin nice n 10 usr X11R6 bin X1 1 xf86config etc X11 XF86Config 4 TNT2 vt9 Or if you have more video cards just add more lines 32 local oin nics Za 10 wWspe bxiLide e Monin 2 32 s ucteloxiexnde se Sire XLI xdg B Alois Le s yonr Steel Ce local oh acs If you use a single XFree configuration file 0 local bin nice n 10 usr X11R6 bin X0 0 layout first Xserver deferglyphs 16 vt7 1 local bin nice n 10 usr X11R6 bin X1 1 layout second Xserver vt9 6 2 Configuring gdm Gdm as a complete rewrite of xdm uses its own configuration file etc X11 gdm gdm conf You should locate the definitions of the local X servers and add additional X servers for the number of cards you have gt Note e SuSE uses Chapter 6 Configuring display managers 41 XFree Local Multi User HOWTO etc X11 XF86Config etc opt gnome2 gdm gdm conf for gdm2 Debian uses etc gdm gdm conf for gdm
108. re so l is installed in usr X11R6 1ibNV and we ll inform the X servers driving Nvidia cards about the proper path to the Nvidia libraries The missing part the wrapper bin bash export LD_LIBRARY_PATH usr X11R6 libNV exec usr X11R6 bin xX0 Copy these lines into your favourite editor and save the file as XNV Make it executable chmod x XNV Copy the file to usr X11R6 bin and make symbolic links to it for additional Nvidia cards for additional cards just add more links cp XNV usr X11R6 bin cd usr X11R6 bin lug f XN AVO ln s XNV Xnvl ln s XNV Xnv2 Remember to use usr X11R6 bin XnvO usr X11R6 bin Xnv_l instead of usr X11R6 bin XO usr X11R6 bin XL for your Nvidia cards while configuring the display managers in the next chapter or when starting X on Nvidia card s from console 4 7 3 Installing the Nvidia libraries easily Using the new Nvidia installer note this is a work in progress do not use if you don t understand what happens here To do write a script to perform steps 1 4 Please provide some feedback on the script in Chapter 4 Setting up the X servers 25 XFree Local Multi User HOWTO Appendix gt Scripts Manually 1 Make a backup of your XFree GL libraries cd XFree prefix On my Mandrake system I can use cd SOPENWINHOME Is cal gt Kane lele Gi 7 y simemie Yilaoyeitieowe 9 inelnes Vililleeilse l a gs 2 pa iLe 2 Then run the Nvidia installer
109. rks currently for the Standard greeter as it is not yet enabled in the graphical greeter Browseretrue The default picture in the browser DefaultFace usr share mdk faces default png These are things excluded from the face browser not from logging in Exclude bin daemon adm lp sync shutdown halt mail news uucp operator nobody gdm postgres pvm rpm As an alternative to the above this is the minimum uid to show MinimalUID 500 If user or user png exists in this dir it will be used as his picture GlobalFaceDir usr share faces Icon we use Icon usr share pixmaps gdm png Appendix B Example configuration files 77 XFree Local Multi User HOWTO File which contains the locale we show to the user Likely you want to use the one shipped with gdm and edit it It is not a standard locale alias file although gdm will be able to read a standard locale alias file as well LocaleFile etc X11 gdm locale alias Logo shown in the standard greeter Logo usr share pixmaps gdm screen png The standard greeter should shake if a user entered the wrong username or password Kind of cool looking Quiver true The system menu is shown in the greeter SystemMenu true Note to distributors if you wish to have a different Welcome string and wish to have this translated you can have entries such as Welcome cs Vitejte na n Just make sure the string is in utf 8 Welcome Welcome to n Don t allow user to move the standard greeter window
110. rnel but there are parts which can be used also on a system using the solution from Miguel Freitas Note This document is not intended to be a replacement of the existing documentation on the Backstreet Ruby home page http startx times lv but rather this is a HOWTO explaining the way to a working X multi user PC system If you encounter any problems you ll probably need to consult the more detailed information there The document is based on the file system layout of the Mandrake Linux distribution but I tried to make it distribution independent by including information about the differences to other mainstream distributions like Debian Red Hat and SuSE Linux 1 3 Related Documentation The Linux Console Project http linuxconsole sourceforge net The Backstreet Ruby home page http startx times lv e XFree with support for the new input layer by Zephaniah Hull seems the patches are obsolated and were removed from the site http people debian org warp evdev Chapter 1 Introduction 2 XFree Local Multi User HOWTO Miguel Freitas page on multiple local XFree users http cambuca ldhs cetuc puc rio br multiuser Russian multi terminal project Gorinich http www ctc msiu ru zg main html e Step by step instructions by Jean Daniel Pauget http disjunkt com dualhead Multi seat XFree solution under Linux with framebuffers by Frode Trydal http www itsopen net projects x hack 1 4 Ne
111. rt leads to system crashes In gdm conf set AlwaysRestartServer false e The XFree 4 3 prefbusid patch binary fixes most of the problems In case the X servers are started in the right order there are no lock ups Nvidia TNT2 AGP Matrox Mystique PCT Appendix A Video Compatibility list 58 XFree Local Multi User HOWTO Nvidia TNT2 AGP S3 VIRGE DX PCI Nvidia GeForce4MX440 AGP TNT2M64 PCI TNT2M64 PCI Matrox MGAG400 AGP Matrox MGA1064SG Mystique PCI Matrox MGAG450DH AGP ATI Mach 64 PCI Matrox MGAG550DHR AGP Riva TNT2 M64 PCI Matrox MGAGS50DH AGP Geforce4 420 PCI Appendix A Video Compatibility list 59 Appendix B Example configuration files For more examples visit http karlovo demon co uk svetlio examples B 1 XFree86 B 1 1 1st XFree server configuration file File generated by XFdrake Ck CK Ck ck ck ck kk ck kk ck Ck Sk Ck Ck Sk ck kk Ck Ck ck Ck ck Ck Sk ck kk ck kk Ck kk kk ck kk ck kk Sk kk Ck kk kk ck Ck Sk Sk kk Sk ko k Sk ko k KKK kok Refer to the XF86Config 4 5 man page for details about the format of this file KKK KKK KKK kk ck kk ck Ck Sk ck kk Ck kk Ck kk Ck Sk ck kk ck kk ck kk Ck kk Ck kk kk ck kk Sk kk ko kk Ck kc k kk kk ko ko ko kc kckck ko de dE db d Section Files RgbPath usr Xl11R6 lib X11 rgb 4 Multiple FontPath entries are allowed they are concatenated together By default Mandrake 6 0 and later now use a font server indep
112. something like this Section InputDevice Identifier Keyboardl Driver TRDEN Option MP eC evdev Option Dev Phys U nglge s 1L 4 1 1 aseo 0 o Option AutoRepeat VAS SOY Option XkbRules xfree86 Option XkbModel WirexeriL 9 IL Option XkbLayout dvorak EndSection Section InputDevice Chapter 5 More on configuring input devices 36 XFree Local Multi User HOWTO Identifier Mousel Driver mouse Option U 616661 evdev Option Dev Phys Uuso 112 Aue ei Option ZAxisMapping 4 5 EndSection For the 2nd display something like this Section InputDevice Identifier Keyboardl Driver Lo Gly Option MPC evdev Option Dev Phys Muslo v il 2 TL tao 0 Option AutoRepeat 2508 01 Option XkbRules xfree86 Option XkbModel Meet od Option XkbLayout dvorak EndSection Section InputDevice Identifier Mousel Driver mouse Option MPC GIC evdev Option Dev Phys Uusb gt 1522 gos Option VAAL siMkevoyoaliog WA 510 EndSection For the 3rd display something like this Section InputDevice Identifier Keyboardl Driver Mast c Option U 66661 evdev Option Dev Phys Uinsla 1 425 17 beg 0 Option AutoRepeat HAO SOH Option XkbRules xfree86 Option XkbModel SOCHEO Option XkbLayout dvorak EndSection Section InputDevice Identifier Mousel Driver mouse Option U izo E roxero 1L V evdev Option Dev Phys Wigle
113. sosasensecsestssesncsoosessddesessesssacsseuecssessesesssdoseesessseecssesdessdesessvestsonsoosssesesel 81 Cl hotplug anp tiagent ient re PRIEST HAE mU E DRIED EN TREE 81 2 hotplug zimp trc deter Ub do ted E Ue Lie a k EEG NER kia i 83 C 3 hotplug amp XFree supporting event devices input agent sssseeeeeeeeneene 86 C 4 Wrapper for starting X using Nvidia IbGL Sa aaa aaa sese 86 C 5 For installing Nvidia drivers for parallel use with DRI eene 86 Appendix D Experimental Backstreet Ruby configuration Script Service esse eres 88 D 1 README ruby init explains how to configure and use the service 88 D 2 The global configuration file etc sysconfig ruby conf esessseeeeeeeenne 89 D 3 The ruby init service etc init d ruby init aaa aaa aaa aaa aaa 91 D 4 Modified hotplug input agent etc hotplug input agent seen 95 Chapter 1 Introduction 1 1 About Backstreet Ruby Ruby Backstreet Ruby is a kernel patch for the Linux kernel It is a back port to Linux 2 4 of the Ruby kernel tree which is developed by the Linux Console Project The aim of the Linux Console developers is to enhance and reorganize the input the console and the framebuffer subsystems in the Linux kernel so they can work independent from each other and to allow multi desktop operation All this is done in the Ruby kernel tree which is based o
114. stdout probably you should leave this alone Chooser usr bin gdmchooser Default path to set The profile scripts will likely override this DefaultPath bin usr bin usr bin X11 usr X11R6 bin usr local bin usr bin Default path for root The profile scripts will likely override this RootPath sbin usr sbin bin usr bin usr bin X11 usr X11R6 bin usr local bin usr bin DisplayInitDir etc X11 gdm Init Greeter for local non xdmcp logins Change gdmlogin to gdmgreeter to get the new graphical greeter Greeter usr bin gdmgreeter Appendix B Example configuration files 70 XFree Local Multi User HOWTO Greeter for xdmcp logins usually you want a less graphically intensive greeter here so it s better to leave this with gdmlogin RemoteGreeter usr bin gdmlogin User and group that gdm should run as Probably should be gdm and gdm and you should create these user and group Anyone found running this as someone too privilaged will get a kick in the ass This should have access to only the gdm directories and files User gdm Group gdm To try to kill all clients started at greeter time or in the Init script doesn t always work only if those clients have a window of their own KillInitClients true LogDir var lib gdm You should probably never change this value unless you have a weird setup PidFile var run gdm pid PostSessionScriptDir etc X11 gdm PostSession PreSessionScriptDir etc
115. ts of proc bus usb devices e contents of the XFree configuration file s etc X11 XF86Config 4 e contents of the XFree86 log files var log XFree86 n log You got it running Congratulations Drop a line give some details on your configuration and attach your XFree configuration files Chapter 10 Final words 57 Appendix A Video Compatibility list This is an extract from the Video Compatibility list at the Backstreet Ruby home page A 1 Graphic card pairs triples that work perfectly A 1 1 Modified X server not needed Voodoo Graphics glide Voodoo 3 pci tdfx Voodoo Graphics glide Riva TNT2 M64 agp nvidia A 1 2 Modified X server needed ATI Radeon 7000 AGP Matrox Mystique PCI AGP S3 Inc 86c368 Trio 3D 2X Matrox MGA1064SG Mystique PCI Nvidia cards Riva TNT PCI PCI AGP Riva TNT2 M64 pci nvidia Riva TNT2 M64 pci nvidia Riva TNT2 M64 agp nvidia GeForce4MX PCI Nvidia GeForce2M X PCI GeForce2MX PCI GeForce2M X PCI GeForce2M X PCT Works fine DRI Nvidia GLX works too Voodoo 3 pci tdfx Riva TNT2 M64 agp nvidia ATI Radeon 7500 AGP Nvidia TNT2 PCI A 2 Graphic card pairs triples that work but with some glitches Generally the X server driving the AGP card has to be started first This can be acomplished by manually starting X or using gdm as desktop manager You ll have to abstain from using xdm or kdm as they start the X servers at the same time e AGP sever resta
116. u ggass Www EE continue Appendix D Experimental Backstreet Ruby configuration Script Service 96 XFree Local Multi User HOWTO iE a ise echo USIBESASY wei SPEVE oma Zo clew fowl a then case ACTION in add cd dev input rm f SYM LINK ln s DEV EVENT SYM LINK debug mesg Input event device SNAME on PHYS linked to SYM LINK Pr remove rm f dev input SYM LINK debug mesg Input event device link SYM LINK removed Pr esac return E done debug_mesg Found no fitting event device setup_mouse while read SYM_LINK PHYS_PATTERN NAME_PATTERN do ae Selas MOSU INI use PAG 8 ENE continue Fi ai S lt ne SES CSP BENS IOAN 2 ev ES case ACTION in add cd dev input imm ie SYM NIK ln s DEV MOUSE SYM LINK debug mesg Input mouse device NAME on PHYS linked to SYM LINK Pr remove rm f dev input SYM LINK debug mesg Input mouse device link SYM LINK removed Pr esac return iPS done debug_mesg Found no fitting mouse device setup_input uS ITE SDEVAKBD Meee Elie sed n keyboard devices config p SRUBY CONF setup kbd sed n multimedia keys config p RUBY CONF setup mm keys ipa ase USE ISBN Tg ilex sed n event devices config p SRUBY CONF setup event irat if n SDEV MOUSE then sed n mouse devices config p RUBY CONF setup mouse iP aue SP
117. u get n 1 independent consoles 1 VGA or Framebuffer under Ruby 2 6 n DUMB If you have enough keyboards connected to your PC each of these consoles are associated with a given keyboard This enables you to start Chapter 4 Setting up the X servers 17 XFree Local Multi User HOWTO multiple X servers on each of the consoles using the keyboard associated with the corresponding console for input Hence you get multiple independent X servers with independent keyboards which in turn make it possible for one single PC to be used by several local X users simultaneously To start X on a given console using a given independent keyboard you pass it the argument vt N where N is anumber from a given tty range e VGA or Framebuffer for Ruby 2 6 tty1 to tty16 e DUMBI tty17 DUMB2 tty18 If you have 3 video cards 3 keyboards and you have started the Backstreet Ruby kernel with dumbcon 2 you can start 3 independent X servers for 3 simultaneous users with the following commands Note For Mandrake and Debian users the XFree configuration files are normally etc X11 XF86Config 4 For Red Hat Gentoo SuSE users the XFree configuration files are normally etc X11 XF86Config d Caution Have in mind that for the older Preferred Bus ID XFree Server version 1 you have to specify the desired graphic card with parameter prefbusid x x x where x x x is the Bus ID of the desired graphic card Just append prefbusid x
118. ut enabled in configuration vr vr esac else action bruby Hackvideo not configured in XFree bin false action bruby but enabled in RUBY CONF bin false EA else action bruby XFree hackvideo configured bin false action bruby but kernel hackvideo support missing bin false fL function load modules eval doit SLOAD_MODULES aie Jp Siclome sees se Vial le S dakus ey return TEL action bruby loading additional modules bin true cat SRUBY CONF sed n input modules config p while read module args do case Smodule in EES UU aisiais mu esac initlog s Loading module Smodule modprobe module args gt dev null 2 gt 41 done function run_auto_xfree eval doit SAUTO_XFree aie Jp Sielome ses a Vial S dakus 2 Telereyo return E3L pixel a kind of profile for XF86Config if no XFree XXX given on kernel command line restore XF86Config standard pe GL alin DSS Bie IG KOGA e Clo wie oh Jete xdul Saw qug mem XFree sed n s XFree N Nw N N1 p proc cmdline n SXFree XFree standard se ee IE Sal Simic T e lbs Sse LS See Se XI Sa i3 done Appendix D Experimental Backstreet Ruby configuration Script Service 93 XFree Local Multi User HOWTO acti om Horty eloimicseineine Kine Again eeu GU NC Len ejus usur clin 4 eval doit SAUTO_DM aie Na Sco t was a Wisi S S saus jg ilem return fr th
119. vent Obr isa0060 serio0 eventlbr isa0060 seriol inputO event2br Ulo gt 2 pie and configure the applications which use them to use the symbolic links instead of the real devices 5 2 2 input rc If you are using input drivers built into the kernel please ensure that the input rc script is started executed at system start In case the script is not executed you will find that hotplug could not configure these input devices Note This area reguires user feedback Currently I have information only about Mandrake where hotplug is not run as service If your distribution runs hotplug as service this will be done automatically If your distribution does not run hotplug as service you will have to modify your init scripts to run input rc for you before XFree is started You may add this at the end of your etc rc d rc sysinit A proce bus AS OS o n tmp unam i eee m gSsxwlewssS Jug teen dae D e Sic Paoirjollinepy aspere ie Tp eaen etc hotplug input rc start ait S99 0 g then action Configuring cold plugged input devices bin true else action Configuring cold plugged input devices bin false fei lse ii 2 Jenc lorjwsssepwirsrxe 7 ime action Input input rc installed but not executable Please check the file permissic Chapter 5 More on configuring input devices 31 XFree Local Multi User HOWTO else action Vitaemics railed tO Comriguaa cole jolmececl cevices gt input we miss
120. vidia cards or you have only Nvidia cards you do not need to read this section In the first case you do not need the Nvidia GLX at all and in the second you can use the standard procedure for installing GLX Why Nvidia Why closed source drivers A bit of a mixed up answer 1 With the open source driver it s almost impossible to bring up a secondary card so we should use the closed source driver 2 Why the Nvidia card Currently these are the only available affordable PCI video cards with some acceleration 3 I tried to use DRI on 2 parallel X servers but it didn t work I posted emails to XFree DRI and Ikml list but I only got a single answer with no valuable information on my problem I tried to run DRI on a Matrox G550 DH AGP amp SiS63xx PCI but when enabled for both cards I got AGP errors When enabled only for one of the cards I got DRI up and running Please someone confirm or prove me wrong I ll explain several ways to get configuration working for both Nvidia GLX and XFree86 DRI There are probably a lot of other possibilities and maybe these are not the simplest but they are the ones I know to work Chapter 4 Setting up the X servers 23 XFree Local Multi User HOWTO The reasons why this is needed 1 Nvidia should use a different module path for xf86 the glx extension module from Nvidia is incompatible with the one from XFree86 2 Nvidia should use a different XF86Config file because DRI should be disa
121. w versions of this document You can find the latest stable version of this How To at The Linux Documentation Project web site http tldp org HOWTO XEree Local multi user HO WTO and the latest unstable version http karlovo demon co uk svetlio ruby contrib how to XFree local multi user HOWTO 1 5 Copyright and License This document XFree Local multi user HOWTO is copyrighted c 2003 by Svetoslav Slavtchev Permission is granted to copy distribute and or modify this document under the terms of the GNU Free Documentation License Version 1 1 or any later version published by the Free Software Foundation with no Invariant Sections with no Front Cover Texts and with no Back Cover Texts A copy of the license is available at http www gnu org copyleft fdl html Linux is a registered trademark of Linus Torvalds NVIDIA is a registered trademark of NVIDIA Corporation 1 6 Disclaimer No liability for the contents of this document can be accepted Use the concepts examples and information at your own risk There may be errors and inaccuracies that could be damaging to your system Proceed with caution and although this is highly unlikely the author s do not take any responsibility All copyrights are held by their by their respective owners unless specifically noted otherwise Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark Naming of particular pro
122. would follow and it s real keyboard interface would be bound to VT1 so there is no need for additional dumb consoles for the multimedia interfaces of USB keyboards Chapter 3 Installing the kernel 12 Chapter 4 Setting up the X servers Now its time to configure XFree 4 1 Do I need a modified X server Note For some video cards you can skip this part Before installing the modified X server check the Video Compatibility list to determine whether you need one Currently there are reports for working configurations without using a modified X server for Voodoo Graphics as primary and Voodoo3 or Nvidia TNT2 as secondary Why should a modified X server be used The reason is that XFree is designed to serve a single user and this design requires a single X server to drive all available graphic cards So when an unmodified X server starts it disables access to graphic cards for other X servers Hence we have to modify XFree to make it possible more then one X server to run at the same time e The experimental way you can use the hackvideo ignoring pci disable XFree commands feature of the Backstreet Ruby kernel This will allow you to use the XFree server that came with your distribution no need for installing modified XFree server Q Why experimental A Well you have to find out whether it works with your combination of graphic cards There are some combination that works flawlessly but the majority of tested combi
123. x x with the correct Bus ID of the card you want to start right before the last argument vt x If you omit this option the modified X server will act as a not modified standard XFree server and you wont be able to run multiple XFree instances at the same time For the 1st X server with the 1st keyboard startx usr X11R6 bin X0 0 xf86config etc X11 XF86Config 4 for your 1st video card vt7 For the 2nd X server with the 2nd keyboard startx usr X11R6 bin X1 1 xf86config etc X11 XF86Config 4 for your 2nd video card vt17 For the 3rd X server with the 3rd keyboard startx usr X11R6 bin X2 2 xf86config etc X11 XF86Config 4 for your 3rd video card vt18 For the 1st X server you can skip the x 86config etc X11 XF86Config A4 for your 1st video card argument In this case the default configuration file etc X11 XF86Conf ig 4 will be used Note e VGA ttyO to tty7 Chapter 4 Setting up the X servers 18 XFree Local Multi User HOWTO DUMBI tty8 to tty15 e DUMB2 tty16 to tty23 This means that you have to use different vt parameter for the additional X servers For the 2nd X server with the 2nd keyboard startx usr X11R6 bin X1 1 xf86config etc X11 XF86Config 4 for your 2nd video card vt8 For the 3rd X server with the 3rd keyboard startx usr X11R6 bin X2 2 xf86config etc X11 XF86Config 4 for your 3rd video card vt16 You can also setup your disp
124. y A 4342 stiepexotie 0 V Option ZAxisMapping 4 5 EndSection and so on You could also use the so wherever you plug the primary hub all displays will still have the desired configuration Section InputDevice Identifier Keyboardl Driver KDN Option Viee XE ceo T U evdev Option Dev Phys Uusb dk 1 saec 0 Option AutoRepeat 2508 01 Option XkbRules xfree86 Chapter 5 More on configuring input devices Option Option EndSection XkbModel XkbLayout Section InputDevice Identifier Driver Option Option Option EndSection Mousel mouse Viese ie gero Dev Phys ZAxisMapping XFree Local Multi User HOWTO exert 9 1E 9 dvorak evdev Uno 2 12 tapu 0 A EM Chapter 5 More on configuring input devices 38 Chapter 6 Configuring display managers If you have successfully finished the installation and configuration of the kernel and XFree it s time to configure your display manager s Beside the graphical differences xdm kdm and gdm handle the X servers differently Gdm will start the X servers in the order specified in it s configuration file and stop them in the reverse order Xdm kdm will start and stop all the X servers at the same time in case there are no opened X sessions Also restarting the gdm daemon means end for all X sessions but if you restart xdm kdm when you are under X your session won t be closed Using gdm could help you t
125. yout second Xserver deferglyphs 16 vt17 flexible true Under older versions of Backstreet Ruby released before 7 Oct 2003 each console is represented by 8 tty s so y should use name Standard server command usr X11R6 bin X0 0 deferglyphs 16 ac vt7 name Second server command usr X11R6 bin X1 1 deferglyphs 16 xf86config etc X11 XF86Config 4 your card vt name Standard server command usr X11R6 bin X0 0 layout first Xserver deferglyphs 16 ac vt7 name Second server command usr X11R6 bin X1 1 layout second Xserver deferglyphs 16 vt9 Chapter 6 Configuring display managers 43 Chapter 7 Tweaking it Adding customisation and automation 7 1 Using independent sound cards Note In case you do not use devfs you may need to create additional device files Take a look at The Linux Sound HOWTO for information on how to setup additional sound cards 7 1 1 Using aRts daemon We have to specify different sound devices for the different Xsessions Displays This is done by using the following options of aRts daemon http www arts project org e By OSS free sound driver D dev dsp n where n is the number of the sound card By Alsa sound driver a alea D hwilnlg where n is sound card id Add these lines to your Window Manager start up script of course with the proper arguments for your setup real display echo DISPLAY sed s sed s N case re
Download Pdf Manuals
Related Search
Related Contents
Icom iR3 User's Manual Manuale Utente di Avigilon Control Center Client Descargar - Movistar User Manual - Far West Technology, Inc. Samsung MAX-VT35 Manuel de l'utilisateur GA4040C GA4540C GA5040C GA6040C GA4041C 00053178 / N900 Dual-Band WLAN-USB-Stick, 2,4/5 GHz 取扱説明書 - オーム電機 MX-5111N Brochure - On Demand Office Solutions in Houston, TX 4 KSM MacAll-pagine.indd Copyright © All rights reserved.
Failed to retrieve file