Después de consultar especialistas en el tema, programadores de varias ramas y profesores hemos dado con la solución a la pregunta y la dejamos plasmada en esta publicación.
Solución:
Toda la historia que menciona es en realidad una especie de error en iio-sensor-proxy o en su código DE que utiliza la información de iio-sensor-proxy.
No es bios o kernel lo que hace la rotación sino el matrimonio entre iio-sensor-proxy y su entorno de escritorio.
DE como Gnome (y Cinnamon resulta que) la pantalla gira automáticamente en función de los datos proporcionados por iio-sensor-proxy en dbus.
Puede intentar eliminar/purgar iio-sensor-proxy y la rotación de la pantalla desaparecerá por completo.
No está claro si se trata de un error iio-sensor-proxy o de Cinnamon. Podría ser iio-sensor-proxy que está leyendo de forma incorrecta los datos de su acelerómetro o podría ser Cinnamon que aunque recibe datos correctos por sensor-proxy, gira la pantalla de forma incorrecta.
Puede aclarar este problema ejecutando monitor-sensor
en la terminal raíz. Esta utilidad viene con el paquete iio-sensor-proxy y muestra en la terminal el estado actual del acelerómetro/la orientación actual de la pantalla.
Si el monitor-sensor muestra correctamente la orientación, entonces es un error de Cinnamon. Pero estoy 90% seguro de que esto es un iio-sensor-proxy
error y debe informarlo al desarrollador.
PD: También se mencionó que sensor-proxy había funcionado bien con kernels hasta la versión 4.7, pero tuvo algunos problemas con kernel 4.8 y superiores. Puede intentar instalar un kernel más antiguo (es decir, 4.7) para realizar pruebas.
Si el sensor del monitor informa correctamente la orientación y se trata de un error de Cinnamon, como solución alternativa, puede desactivar la función de rotación automática de pantalla de Cinnamon y ejecutar una especie de script de shell que hará la rotación correcta en función de los datos del sensor del monitor.
PD: Gnome ofrece la opción de deshabilitar por completo la rotación automática de pantalla, no estoy seguro de si Cinnamon también tiene esta opción.
En XFCE, iio-sensor-proxy está instalado pero los desarrolladores de XFCE no están realizando la rotación automática de pantalla (todavía). Aplicamos este script para tener rotación automática de pantalla: https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu
PD: Versión mejorada para pantallas táctiles con matriz de transformación: https://github.com/gevasiliou/PythonTests/blob/master/autorotate.sh
Actualización para futuras referencias / futuras “búsquedas de Google”
Como se aconseja en los comentarios, al ejecutar monitor-sensor
en una terminal raíz y observando los mensajes proporcionados por iio-sensor-proxy, se demostró que iio-sensor-proxy comprende correctamente la orientación real de la pantalla.
Como resultado, esto parece ser un error de Cinnamon que, aunque obtiene la información correcta de iio-sensor-proxy, gira la pantalla incorrectamente.
Puede deshabilitar la función de rotación automática de Cinnamon y probar el script de rotación automática como se indicó anteriormente (https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu).
Para deshabilitar la rotación automática interna de Cinnamon, debe aplicar settings set org.cinnamon.settings-daemon.plugins.orientation active false
como se aconseja en el comentario de OP.
Usando dconf-editor
cambiar el key valor por
/org/cinnamon/settings-daemon/plugins/orientation/active
a False
.
Esto es idéntico a la solución de línea de comando presentada anteriormente, pero usa la herramienta gui dconf-editor
.
Te mostramos comentarios y valoraciones
Si guardas algún recelo o capacidad de aumentar nuestro reseña eres capaz de dejar una nota y con deseo lo interpretaremos.