Ich habe vor kurzem einen Nicht-Touchscreen-HP-Laptop mit einem HDD-Beschleunigungsmesser. Nach dem Upgrade auf Debian-Tests stellte ich fest, dass sich der Bildschirm jedes Mal, wenn ich meinen Laptop über +45 Grad nach oben neige, auf den Kopf stellt. Das Gegenteil passiert, wenn ich meinen Laptop um -45 Grad neige. Zur Verdeutlichung sehe ich meinen Laptop mit dem Bildschirm vor mir und der Tastatur parallel zum Boden. Der Bildschirm dreht sich auch, wenn ich meinen Laptop im oder gegen den Uhrzeigersinn neige.
Gibt es eine Datei, in der ich die Drehrichtung des Bildschirms ändern kann?
Der Beschleunigungsmesser in /proc/bus/input/devices
zeigt dies:
I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name="ST LIS3LV02DL Accelerometer"
P: Phys=lis3lv02d/input0
S: Sysfs=/devices/platform/lis3lv02d/input/input7
U: Uniq=
H: Handlers=event6 js0
B: PROP=0
B: EV=9
B: ABS=7
BEARBEITEN:
Ich habe festgestellt, dass dies dem watch -n 1 'cat /sys/devices/platform/lis3lv02d/position'
ähnlich ist, was mit dem folgenden Befehl gefunden wird. Außer es werden nur Koordinaten wie angezeigt (18,18,1098)
.
evtest /dev/input/event6
zeigt dies:
william@wksp0:~/Downloads$ sudo evtest /dev/input/event6
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x0 product 0x0 version 0x0
Input device name: "ST LIS3LV02DL Accelerometer"
Supported events:
Event type 0 (EV_SYN)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 20
Min -2304
Max 2304
Fuzz 18
Flat 18
Event code 1 (ABS_Y)
Value -38
Min -2304
Max 2304
Fuzz 18
Flat 18
Event code 2 (ABS_Z)
Value 1105
Min -2304
Max 2304
Fuzz 18
Flat 18
Properties:
Testing ... (interrupt to exit)
Event: time 1483747056.088195, type 3 (EV_ABS), code 1 (ABS_Y), value -23
Event: time 1483747056.088195, -------------- SYN_REPORT ------------
Event: time 1483747056.124189, type 3 (EV_ABS), code 0 (ABS_X), value 20
Event: time 1483747056.124189, type 3 (EV_ABS), code 1 (ABS_Y), value -38
Event: time 1483747056.124189, type 3 (EV_ABS), code 2 (ABS_Z), value 1105
Event: time 1483747056.124189, -------------- SYN_REPORT ------------
Event: time 1483747056.210931, type 3 (EV_ABS), code 0 (ABS_X), value -18
Event: time 1483747056.210931, type 3 (EV_ABS), code 1 (ABS_Y), value -28
Event: time 1483747056.210931, type 3 (EV_ABS), code 2 (ABS_Z), value 1107...
EDIT2:
Nach einigen googeln, Ich habe über kommen diese , die mich zu einigen interessanten Dateien führen , die wenig bis gar keine Hilfe zu diesem Thema haben. : P.
xrandr
Wird ein gedrehter Bildschirm angezeigt, wenn der Bildschirm gedreht wird? Welche Art von Ereignissen erhalten Sie für "Test / dev / input / event6"? (Angenommen, es ist event6 bei jedem Start, überprüfen Sie den Pfad).xrandr
zeigt an, dass der Bildschirm gedreht wird, wenn das Ereignis eintritt. Soweit ich das beurteilen kann, handelt es sich nicht um eine BIOS-Sache, sondern entweder um eine Kernel-Sache oder eine Programm-Sache.Antworten:
Die ganze Geschichte, die Sie erwähnen, ist tatsächlich eine Art Fehler in iio-sensor-proxy oder in Ihrem DE-Code, der iio-sensor-proxy-Informationen verwendet.
Ist nicht BIOS oder Kernel, der die Rotation macht, sondern die Verbindung zwischen iio-sensor-proxy und Ihrer Desktop-Umgebung.
DE wie Gnome (und Cinnamon, wie sich herausstellt) dreht den Bildschirm automatisch basierend auf den Daten, die von iio-sensor-proxy in dbus bereitgestellt werden.
Sie können versuchen, den iio-sensor-proxy zu entfernen / zu löschen, und die Bildschirmdrehung verschwindet vollständig.
Es ist nicht klar, ob dies ein iio-sensor-proxy-Fehler oder ein Cinnamon-Fehler ist. Es könnte sich um einen Iio-Sensor-Proxy handeln, der Ihre Beschleunigungsmesserdaten falsch liest, oder um Cinnamon, der den Bildschirm falsch dreht, selbst wenn er korrekte Daten vom Sensor-Proxy empfängt.
Sie können dieses Problem beheben, indem Sie es
monitor-sensor
im Root-Terminal ausführen. Dieses Dienstprogramm wird mit dem iio-sensor-proxy-Paket geliefert und zeigt im Terminal den aktuellen Status des Beschleunigungsmessers / die aktuelle Bildschirmausrichtung an.Wenn die Ausrichtung vom Monitorsensor korrekt angezeigt wird, liegt ein Zimtfehler vor. Aber ich bin zu 90% sicher, dass dies ein
iio-sensor-proxy
Fehler ist und Sie sollten ihn dem Entwickler melden.PS: Es wurde auch erwähnt, dass Sensor-Proxy mit Kerneln bis Version 4.7 gut funktioniert hat, aber einige Probleme mit Kernel 4.8 und höher hatte. Sie könnten versuchen, einen älteren Kernel (dh 4.7) zum Testen zu installieren.
Wenn der Monitorsensor die Ausrichtung korrekt meldet und dies ein Cinnamon-Fehler ist, können Sie als Problemumgehung die automatische Bildschirmrotationsfunktion von Cinnamon deaktivieren und eine Art Shell-Skript ausführen, das die korrekte Rotation basierend auf den Daten des Monitorsensors ausführt.
PS: Gnome bietet die Option, die automatische Bildschirmdrehung vollständig zu deaktivieren. Ich bin mir nicht sicher, ob Cinnamon diese Option auch hat.
In XFCE ist dieser iio-sensor-proxy installiert, aber XFCE-Entwickler führen (noch) keine automatische Bildschirmrotation durch. Wir wenden dieses Skript an, um eine automatische Bildschirmrotation durchzuführen: https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu
PS: Verbesserte Version für Touchscreens mit Transformationsmatrix: https://github.com/gevasiliou/PythonTests/blob/master/autorotate.sh
Update für zukünftige Referenz / zukünftige "Google-Suche"
Wie in den Kommentaren empfohlen, wurde durch Ausführen
monitor-sensor
in einem Root-Terminal und Beobachten der von iio-sensor-proxy bereitgestellten Nachrichten bewiesen, dass iio-sensor-proxy die tatsächliche Bildschirmausrichtung korrekt versteht.Infolgedessen scheint dies ein Cinnamon-Fehler zu sein, der den Bildschirm falsch dreht, obwohl er vom iio-sensor-proxy korrekte Informationen erhält.
Sie können die automatische Rotationsfunktion von Cinnamon deaktivieren und das oben beschriebene Skript für die automatische Rotation ausprobieren ( https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu ).
Um die interne Autorotation von Cinnamon zu deaktivieren, müssen Sie sich
settings set org.cinnamon.settings-daemon.plugins.orientation active false
wie im Kommentar von OP empfohlen bewerben .quelle
monitor-sensor
das die richtigen Ausrichtungen hat. Jetzt muss ich nur noch herausfinden, wie die automatische Bildschirmdrehung deaktiviert werden kann. : Psettings set org.cinnamon.settings-daemon.plugins.orientation active false
Verwendung
dconf-editor
Ändern Sie den Schlüsselwert fürzu
False
.Dies ist identisch mit der oben dargestellten Befehlszeilenlösung, verwendet jedoch das GUI-Tool
dconf-editor
.quelle