I’m trying to use different configurations on my laptop :
- standard linux kernel with proprietary nvidia driver
- and Xen to allow developping/testing in a hosted dom-U Debian distro, in which case I switch back to the libre
nv
driver
When using the proprietary nvidia driver, I may use two kind of configurations :
- having several screens in “clone” mode, i.e. replicated view on screen and beamer, for instance (classical use of Fn+F8 clone display)
- or having both screens assembled into one to use twinview with dualhead, which provides (through Xinerama) and being able to switch windows from one to the other
This means I configured several layouts in the same xorg.conf
file, which will describe each a different Xorg configuration.
Update 2008/02/10 : reorganized that post to be able to manage kernel-passed LAYOUT variable
Now, I want to have the correct layout automatically detected at X startup (launched by GDM), and/or being able to switch layouts manually at boot.
I adapted the howto HOWTO: Choose Xorg layout automatically based on ddcprobe in order to use the following script as /etc/gdm/startx-custom :
#!/bin/sh# if no LAYOUT variable is defined in the environment (coming from kernel parameters ?)
if [ "x$LAYOUT" = "x" ]
then# try to detect automatically
uname -r | grep -q -i xen
if [ $? -eq 0 ]
then
LAYOUT="-layout XenLayout"
else
LAYOUT=""
fielse
# use the LAYOUT variable content
LAYOUT="-layout $LAYOUT"
fi# run the X server with the eisa entry as layout (if it was defined in
# xorg.conf)
exec /usr/X11R6/bin/X $LAYOUT $*
Then, I configured GDM to use that one instead of the default X startup, adding this to /etc/gdm/gdm.conf
:
# in [servers]
#0=Chooser
0=Xen# then, bellow :
[server-Xen]
name=Standard server for Xen
command=/etc/gdm/startx-custom -br -audit 0
flexible=true
Due to the way Debian configures GDM, I couldn’t use a custom GDM conf file as stated in the docs, and had to modify /etc/gdm/gdm.conf (see
bug #360377)
Now, I modified my grub menu.lst config file so that my kernels can be invoked with LAYOUT=DualLayout
or LAYOUT=CloneLayout
parameters, for instance. So rebooting, I will select different layouts.
Also, it’s possible to do LAYOUT=NewLayout /etc/init.d/gdm restart
commands, for instance.
Hope this helps.
One thought on “Selecting from multiple X configurations (layouts) automatically at GDM startup or at boot”