Fedora 24: Mousegeschwindigkeit justieren

Wie schon in Fedora 22 und 23, geht mal wieder die Mauseinstellung im Gnome Einstellungsfenster nicht. Das ist aber kein Beinbruch, denn das läßt sich ganz einfach beheben.

Zunächst öffnet man die Datei „.bashrc“ im eigenen Homeverzeichnis:

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

# User specific aliases and functions

Unter den User spezifischen Anpassungen tragen wir das ein :

cd ~/
xinput set-prop DEVICEID PROPID 1.6 2>/dev/null

Aber woher bekommen wir die nötigen Werte ?

Zunächst listen wir mal alle möglichen Eingabegeräte auf, die unser System so gefunden hat:

$ xinput list
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ ImPS/2 BYD TouchPad                         id=11    [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Power Button                                id=6    [slave  keyboard (3)]
    ↳ Power Button                                id=7    [slave  keyboard (3)]
    ↳ UVC Camera (046d:081b)                      id=8    [slave  keyboard (3)]
    ↳ Eee PC WMI hotkeys                          id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=10    [slave  keyboard (3)

Wie man sehen kann, ist alles dabei: das Keyboard/Tastatur, Kamera, Gehäusetasten und unsere Maus (Pointer), hier vermeindlich als ImPS/2 BYD TouchPad bezeichnet. Da es nicht „Virtual“ also virtuell ist, muß es das reale Zeigersystem sein. Damit haben wir unsere DEVICEID :  11 .

Jetzt schauen wir mal welche Eigenschaften das Device 11 hat:

$ xinput list-props 11
Device 'ImPS/2 BYD TouchPad':
    Device Enabled (151):    1
    Coordinate Transformation Matrix (153):    1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (278):    0
    Device Accel Constant Deceleration (279):    1.600000
    Device Accel Adaptive Deceleration (280):    1.000000
    Device Accel Velocity Scaling (281):    10.000000
    Device Product ID (273):    2, 5
    Device Node (274):    "/dev/input/event3"
    Evdev Axis Inversion (282):    0, 0
    Evdev Axes Swap (284):    0
    Axis Labels (285):    "Rel X" (161), "Rel Y" (162), "Rel Vert Wheel" (277)
    Button Labels (286):    "Button Left" (154), "Button Middle" (155), "Button Right" (156), "Button Wheel Up" (157), "Button Wheel Down" (158), "Button Horiz Wheel Left" (159), "Button Horiz Wheel Right" (160)
    Evdev Scrolling Distance (287):    1, 1, 1
    Evdev Middle Button Emulation (288):    0
    Evdev Middle Button Timeout (289):    50
    Evdev Third Button Emulation (290):    0
    Evdev Third Button Emulation Timeout (291):    1000
    Evdev Third Button Emulation Button (292):    3
    Evdev Third Button Emulation Threshold (293):    20
    Evdev Wheel Emulation (294):    0
    Evdev Wheel Emulation Axes (295):    0, 0, 4, 5
    Evdev Wheel Emulation Inertia (296):    10
    Evdev Wheel Emulation Timeout (297):    200
    Evdev Wheel Emulation Button (298):    4
    Evdev Drag Lock Buttons (299):    0

Das Property „Device Accel Constant Deceleration“ hat die ID 279 bekommen. Unter Fedora 23 war es noch die ID 268, weswegen mein kleiner Hack nicht mehr funktioniert hat. Setzen wir das mal ein :

cd ~/
xinput set-prop 11 279 1.6 2>/dev/null

Was macht das jetzt genau ?

Normalerweise hat diese Eigenschaft den Wert 1.0000. Das entspricht einer Dämpfung der Geschwindigkeit von : „gar nicht“. Erhöhen wir den Wert langsam, merkt man, das die Mausbewegung immer langsamer wird. Jetzt liegt es an Euch selbst herauszufinden, was für Euch der passende Wert ist. Ihr könnt den Befehl auch direkt in der Bash ausführen und so ganz leicht ausprobieren, was Euch gefällt. Was anderes macht der Einsteller im Einstellungsfenster am Ende auch nicht.

Update: Fedora OpenSSH Alarm: Nicht updaten auf 7.2p2-6 !

Wie gestern schon berichtet, ist die openssh Version 7.2p2-6 für Fedora defekt,

Wer keinen Zugang zu seiner Monitor Konsole hat und trotzdem das Downgrade einspielen muß, kann nun auf diesen Weg zurückgreifen:

Workaround V2.0: Downgrade auf 7.2p2-3

Über den Kojilink lädt man die drei Pakete runter:

Koji :  http://koji.fedoraproject.org/koji/buildinfo?buildID=756836

dann loggt man sich via defektem SSHD ein und  downgraded die Files für einen oneshot CronJob:

echo „59 16 * * * root /usr/bin/rpm -U –force /tmp/openssh*rpm > /tmp/log; rm -f /etc/cron.d/onetime“ > /etc/cron.d/onetime

Die Uhrzeit muß man natürlich an seine aktuelle Zeit anpassen 😉

Dann Ausloggen und nach der Zeit wieder einloggen. Der Befehl „rpm -qa | grep openssh“ sollte dann 7.2p2-3 anzeigen, welches die letzte funktionierende Version war.  Danach in /etc/dnf/dnf.conf einfügen:

exclude=openssh*

erst dann zieht das nächste Update nicht wieder die defekte Version auf den Server.

Das ganze klappt, weil der crond als „echter“ Root außerhalb der SSH Session läuft und nicht über sshd angetriggert wird.

Erste Hinweise zu den Ursachen des Problems

Wie im Bugtracker von RedHat einsehbar ist, kristallisieren sich grade Probleme mit der Chroot-Funktion vom SSHD heraus. Ist die Chroot aktiviert, was man tun sollte um Benutzer den Zugang zum System zu verweigern, so daß diese keine lokalen Angriffe fahren können, sondern in einer eigenen Umgebung arbeiten können. werden die für Root nötigen Capabilities nicht mehr gesetzt.

Capabilities sind die Eigenschaften eines Users, die erweiterte Rechte im Linuxsystem beinhalten, wie z.b. das Recht sich mit PTRACE in Prozessen einzuklinken, um diese zu belauschen oder zu verändern. Diese Capabilities machen Root erst aus und fehlen in der aktuellen sshd version:

# capsh --print
Current: =
Bounding set =
Securebits: 00/0x0/1'b0
 secure-noroot: no (unlocked)
 secure-no-suid-fixup: no (unlocked)
 secure-keep-caps: no (unlocked)
uid=0(root)
gid=0(root)
groups=

Meine Vermutung: Da hat wer zuviel weggepatcht 😉

Fedora OpenSSH Alarm: Nicht updaten auf 7.2p2-6 !

Achtung: openssh-server version 7.2p2-6 ist defekt

Das heute von Fedora verteilte Update von openssh „7.2p2-6“ ist defekt. Wer per ssh auf einen Server mit dieser Version einloggt, sieht aus wie root, aber man ist nicht root. Man hat keine Root-Capabilities mehr, was z.b. darin gipfelt, daß man nicht mehr in sein eigenes Homeverzeichis wechseln kann.

Wer in seinem dnf.rpm.log das findet:

Oct 19 14:03:16 INFO Upgraded: openssh-7.2p2-6.fc23.i686
Oct 19 14:03:20 INFO Upgraded: openssh-server-7.2p2-6.fc23.i686
Oct 19 14:03:20 INFO Upgraded: openssh-clients-7.2p2-6.fc23.i686
Oct 19 14:03:20 INFO Cleanup: openssh-clients-7.2p2-3.fc23.i686
Oct 19 14:03:20 INFO Cleanup: openssh-server-7.2p2-3.fc23.i686
Oct 19 14:03:25 INFO Cleanup: openssh-7.2p2-3.fc23.i686

ist betroffen.

Aufgrund des Fehler kann man den Fehler auch  nicht via SSH beheben. Ihr könnt natürlich auf das nächste Fedora Update warten, daß dann offentlich einen Bugfix enthält, aber bis dahin habt Ihr im Notfall ein Problem.

Bei RedHat ist bereits ein Bugticket offen und man arbeitet an einem Fix. Scheinbar ist SELinux, bzw. dessen Abwesenheit daran beteiligt.

Workaround: Downgrade auf 7.2p2-3

Über den Kojilink lädt man die drei Paket runter:

Koji :  http://koji.fedoraproject.org/koji/buildinfo?buildID=756836

dann loggt man sich via MONITOR KONSOLE ein und downgraded die Files mit :

rpm -U –force openssh*rpm

danach in /etc/dnf/dnf.conf einfügen:

exclude=openssh*

erst dann zieht das nächste Update nicht wieder die defekte Version auf den Server.