Recipe 15.8. Choosing Different ServerLayouts at Startup

 < Day Day Up > 

15.8.1 Problem

You don't want to be locked into the same old thing every time you start X. Maybe you want Xinerama. Maybe you want Traditional. Maybe you want to run a single monitor on occasion, and you want to be able to select which one.

15.8.2 Solution

Configure different ServerLayouts in XF86Config, then select the one you want with startx options:

$ startx   -layout Single0 $ startx   -layout Single1 $ startx   -layout Clone $ startx   -layout Traditional

This layout starts a single monitor:

Section "ServerLayout"   Identifier    "Single0"   InputDevice   "Default Keyboard0"    "CoreKeyboard"   InputDevice   "Default Mouse0"       "CorePointer"   Screen        "Screen0" EndSection

Start this layout like this:

$ startx   -layout Single0

Now add a second Single layout, so that you can select either monitor at startup:

Section "ServerLayout"   Identifier     "Single1"   InputDevice    "Default Keyboard0"    "CoreKeyboard"   InputDevice    "Default Mouse0"       "CorePointer"   Screen         "Screen1" EndSection

Start this layout like this:

$ startx   -layout Single1

You can also create ServerLayouts for each of your multihead modes. This example starts Clone mode:

Section "ServerLayout"   Identifier   "Clone"   InputDevice  "Default Keyboard0" "CoreKeyboard"   InputDevice  "Default Mouse0" "CorePointer"   Option       "Clone" "on"   Option       "Xinerama"off" #Other screen position options are Below, Above, and LeftOf   Screen       "Screen0" RightOf "Screen1"   Screen       "Screen1" EndSection

This example starts Traditional mode:

Section "ServerLayout"   Identifier   "Traditional"   InputDevice  "Default Keyboard0" "CoreKeyboard"   InputDevice  "Default Mouse0" "CorePointer"   Option       "Clone" "off"   Option       "Xinerama"off" #Other screen position options are Below, Above, and LeftOf   Screen       "Screen0" RightOf "Screen "   Screen       "Screen1" EndSection

Recipe Recipe 15.7 shows the Xinerama ServerLayout.

15.8.3 Discussion

Here is a sample XF86Config, showing all the required elements and two ServerLayouts.

The core elements are the Input Device, Device, and Monitor sections. These are the sections where your devices are identified and linked to their drivers. The Screen section sets resolution and color depth. In the ServerLayout sections, you put together the pieces for your various modes by their Identifiers.

Section "Files"     FontPath      "unix/:7100"     FontPath      "/usr/lib/X11/fonts/misc"     FontPath      "/usr/lib/X11/fonts/cyrillic"     FontPath      "/usr/lib/X11/fonts/75dpi" EndSection     Section "ServerFlags"   Option   "DefaultServerLayout"  "Xinerama" EndSection     Section "Module"     Load   "ddc"     Load   "GLcore"     Load   "dbe"     Load   "dri"     Load   "extmod"     Load   "glx"     Load   "record"     Load   "bitmap"     Load   "speedo" EndSection     Section "InputDevice"     Identifier    "Default Keyboard0"     Driver        "keyboard"     Option        "CoreKeyboard"     Option"        XkbRules"          "xfree86"     Option        "XkbModel"          "pc104"     Option        "XkbLayout"         "us"     EndSection     Section "InputDevice"     Identifier     "Default Mouse0"     Driver         "mouse"     Option         "CorePointer"     Option         "Device"             "/dev/input/mice"     Option         "Protocol""IMPS/2"     Option"         Emulate3Buttons"     "true"     Option         "ZAxisMapping"        "4 5" EndSection     Section "Device"     Identifier  "3dfx"     Driver      "tdfx"     BusID       "PCI:1:0:0" EndSection     Section "Device"     Identifier  "nVidia"     Driver      "nv"     BusID       "PCI:0:12:0" EndSection     Section "Monitor"     VendorName           "0195"     ModelName            "SYL"     Identifier           "Monitor0"     HorizSync             30-70     VertRefresh           0-160     Option               "DPMS" EndSection     Section "Monitor"     VendorName           "0195"     ModelName            "SYL"     Identifier           "Monitor1"     HorizSync             30-70     VertRefresh           0-160     Option               "DPMS" EndSection     Section "Screen"     Identifier      "Screen0"     Device          "3dfx"     Monitor         "Monitor0"     DefaultDepth     24     SubSection "Display"          Depth    24          Modes   "1024x768"     EndSubSection EndSection     Section "Screen"     Identifier      "Screen1"     Device          "nVidia"     Monitor         "Monitor1"     DefaultDepth     24     SubSection "Display"          Depth    24          Modes   "1024x768"     EndSubSection EndSection     Section "ServerLayout"   Identifier     "Xinerama"   InputDevice    "Default Keyboard0"      "CoreKeyboard"   InputDevice    "Default Mouse0"         "CorePointer"   Option         "Clone"         "off"   Option         "Xinerama"      "on" #Other screen position options are Below, Above, and LeftOf   Screen         "Screen0" RightOf "Screen1"   Screen         "Screen1" EndSection     Section "ServerLayout"   Identifier    "Single0"   InputDevice   "Default Keyboard0"    "CoreKeyboard"   InputDevice   "Default Mouse0"       "CorePointer"   Screen        "Screen0" EndSection

15.8.4 See Also

  • XF86Config(5x), for a complete description of all the available configuration options

     < Day Day Up > 


    Linux Cookbook
    Linux Cookbook
    ISBN: 0596006403
    EAN: 2147483647
    Year: 2004
    Pages: 434

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net