Linux/Xorg

Aus VivaLV
Zur Navigation springen Zur Suche springen

xorg-server

Autoconfig mit xorg-server 1.5-1.7

Ab Version 1.5 ermittelt xorg-server wegen der im Standard aktivierten Autoconfig die Konfiguration für Eingabegeräte von hald, statt von /etc/X11/xorg.conf. Damit das funktioniert, muss hald automatisch starten beim Booten:

rc-update add hald default

Falls noch nicht geschehen, muss man evdev bei INPUT_DEVICES in /etc/make.conf hinzufügen, z.B.:

INPUT_DEVICES="keyboard mouse synaptics evdev"

Und danach:

emerge --ask --update --newuse --deep world

Damit man trotz Autoconfig noch eine deutsche Tastatur und eine angepasste Touchpad-Konfiguration hat, muss man die Geräte woanders konfigurieren.

Die Standardkonfiguration kann man sich als Vorlage für die angepasste Konfiguration anschauen in /usr/share/hal/fdi/policy/10osvendor/<Datei>, falls vorhanden.

Anpassungen macht man in /etc/hal/fdi/policy/<Datei>. Dabei müssen nur die Keys eingetragen werden, die man überschreiben will.

Nach einer Änderung müssen hald und xdm neu gestartet werden:

/etc/init.d/hald restart
/etc/init.d/xdm restart

Man kann die Autoconfig in /etc/X11/xorg.conf auch deaktivieren, um doch dort die Eingabegeräte wie gehabt konfigurieren zu können:

Section "ServerLayout"
        Option "AutoAddDevices" "False"
EndSection

Dies kann aber unter Umständen Probleme machen, z.B. mit KDE 4.

Tastatur

/etc/hal/fdi/policy/10-keymap.fdi:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keys">
      <merge key="input.xkb.layout" type="string">de</merge>
      <merge key="input.xkb.variant" type="string">nodeadkeys</merge>
      <merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp</merge>
    </match>
  </device>
</deviceinfo>

In diesem Beispiel wird folgendes angepasst:

  • Layout: de
  • Variante: nodeadkeys
  • ctrl-alt-backspace erlauben (notwendig ab 1.6)

Synaptics Touchpad

/etc/hal/fdi/policy/11-x11-synaptics.fdi:

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="input.x11_driver" contains="synaptics">
      <merge key="input.x11_options.SHMConfig" type="string">On</merge>
      <merge key="input.x11_options.TapButton1" type="string">1</merge>
      <merge key="input.x11_options.TapButton2" type="string">2</merge>
      <merge key="input.x11_options.VertEdgeScroll" type="string">1</merge>
      <merge key="input.x11_options.VertTwoFingerScroll" type="string">0</merge>
      <merge key="input.x11_options.HorizTwoFingerScroll" type="string">0</merge>
    </match>
  </device>
</deviceinfo>

In diesem Beispiel wird folgendes angepasst:

  • man kann mit synclient die Optionen im laufenden Betrieb ändern
  • mit einem Finger tippen = linke Maustaste
  • mit 2 Fingern tippen = mittlere Maustaste
  • vertikal scrollen mit einem Finger am rechten Rand
  • scrollen mit 2 Fingern vertikal und horizontal deaktivieren

Autoconfig mit xorg-server ab 1.8

Ab Version 1.8 ermittelt xorg-server die verfügbaren Eingabegeräte von udev, konfiguriert werden sie in /etc/X11/xorg.conf mit der neuen Section InputClass. Auf diese wird nicht in der Section ServerLayout verwiesen.

Falls noch nicht geschehen, muss man evdev bei INPUT_DEVICES in /etc/make.conf hinzufügen, z.B.:

INPUT_DEVICES="keyboard mouse synaptics evdev"

Und danach:

emerge --ask --update --newuse --deep world

Damit man eine deutsche Tastatur und eine angepasste Touchpad-Konfiguration hat, muss man die Geräte in /etc/X11/xorg.conf konfigurieren.

Man kann die Autoconfig in /etc/X11/xorg.conf auch deaktivieren, wenn man kein Hotplug will oder braucht:

Section "ServerLayout"
        Option "AutoAddDevices" "False"
EndSection

Dies kann aber unter Umständen Probleme machen, z.B. mit KDE 4.

Tastatur

Section "InputClass"
        Identifier "keyboard-all"
        Driver "evdev"
        Option "XkbLayout" "de"
        Option "XkbVariant" "nodeadkeys"
        Option "XkbOptions" "grp:alt_shift_toggle,grp:switch,compose:rwin,terminate:ctrl_alt_bksp"

        MatchIsKeyboard "on"
EndSection

In diesem Beispiel wird folgendes angepasst:

  • Layout: de
  • Variante: nodeadkeys
  • ctrl-alt-backspace erlauben (notwendig ab 1.6)

Synaptics Touchpad

Section "InputClass"
        Identifier "synaptics-all"
        Driver "synaptics"
        Option "SHMConfig" "On"
        Option "TapButton1" "1"
        Option "TapButton2" "2"
        Option "VertEdgeScroll" "1"
        Option "VertTwoFingerScroll" "0"
        Option "HorizTwoFingerScroll" "0"

        MatchIsTouchpad "on"
EndSection

In diesem Beispiel wird folgendes angepasst:

  • man kann mit synclient die Optionen im laufenden Betrieb ändern
  • mit einem Finger tippen = linke Maustaste
  • mit 2 Fingern tippen = mittlere Maustaste
  • vertikal scrollen mit einem Finger am rechten Rand
  • scrollen mit 2 Fingern vertikal und horizontal deaktivieren

NX

Bei einer NX Session mit xorg-server 1.5 als Client muss man dafür sorgen, dass der richtige Keyboard-Treiber (bei 1.5 normalerweise evdev) verwendet wird. Ansonsten fuktionieren beispielsweise Umlaute oder Cursortasten nicht.

Beispielsweise kann man folgendes Script beim Autostart von KDE ausführen lassen:

if [ ${DISPLAY:1:2} == "11" ] ; then
  setxkbmap -model evdev -layout de -variant nodeadkeys
fi

Da NX Sessions als Displaynummer normalerweise ab 1100 verwenden, sollte das nur auf NX Sessions wirken.

Schwarze Console auf vt1

Wenn nach dem Start von X ein CTRL-ALT-F1 zu einem schwarzen Bildschirm statt zu tty1 führt, muss in /boot/grub/menu.lst als Kernelbootparameter vga=791 (oder eine andere Zahl für eine andere Auflösung) hinzugefügt werden.

Upgrade auf 1.6

Siehe http://www.gentoo.org/proj/en/desktop/x/x11/libxcb-1.4-upgrade-guide.xml und http://www.gentoo.org/proj/en/desktop/x/x11/xorg-server-1.6-upgrade-guide.xml.

Upgrade auf 1.8/1.9

Siehe http://www.gentoo.org/proj/en/desktop/x/x11/xorg-server-1.8-upgrade-guide.xml.

Installation von xorg-server 1.7 verhindern

Momentan gibt es noch keine stable NVidia-Treiber, die mit xorg-server 1.7 zusammenarbeiten. Daher macht es Sinn, die Installation von 1.7 zu verhindern.

/etc/portage/package.mask:

>=x11-base/xorg-server-1.6.9
>=x11-libs/libX11-1.3.2
>=x11-libs/libXinerama-1.1
>=x11-proto/xextproto-7.1.1
>=x11-libs/libXext-1.1.1
>=x11-libs/libXi-1.3
>=x11-proto/xcmiscproto-1.2.0
>=x11-proto/xf86bigfontproto-1.2.0
>=x11-proto/bigreqsproto-1.1.0
>=x11-proto/xineramaproto-1.2
>=x11-proto/xextproto-7.1.1
>=x11-proto/fixesproto-4.1.1
>=x11-proto/inputproto-2.0
>=x11-libs/libXinerama-1.1
>=x11-proto/recordproto-1.14
>=x11-libs/libXtst-1.1.0
>=x11-proto/scrnsaverproto-1.2.0
>=x11-libs/libXScrnSaver-1.2.0
>=x11-proto/xf86vidmodeproto-2.3
>=x11-libs/libXxf86vm-1.1.0
>=x11-apps/xinput-1.5.0
>=media-libs/mesa-7.7.1