¿Cómo puedo rotar mi pantalla de la manera más fácil?

Soy el afortunado propietario de un monitor de pivote, cuya pantalla se puede girar (físicamente). ¿Cuál es la forma más fácil de hacer que mi pantalla gire cuando enciendo mi monitor?

Por el momento, primero inicio la aplicación ‘Pantallas’, luego cambio la configuración y confirmo. Pero, de hecho, este es un procedimiento bastante laborioso, ya que quiero cambiar mi orientación hasta unas pocas veces por minuto.

Entonces, ¿hay un indicador para esto, o equivalente? ¿Puedo configurar un método abreviado de teclado que inicie un comando dedicado? De hecho, estoy pensando en algo similar al progtwig de Windows iRotate .

Vaya a Teclado -> Accesos directos, seleccione “Accesos directos personalizados” y presione “+” para agregar un nuevo acceso directo.

“Nombre” es un nombre descriptivo para la acción (es decir, “Rotar el monitor”). En “Comando”, escriba el comando personalizado que se ejecutará cuando se active el acceso directo.

Una vez que el acceso directo está en la lista, seleccione su fila, presione ENTER, luego la combinación de teclas que desea activar el acceso directo. Si hay un conflicto, el administrador de accesos directos le dirá que sí, y puede elegir una combinación diferente.

Puede tener acceso directo para habilitar la visualización girada y otro para volver a colocarla en posición vertical. Incluso puede, si está lo suficientemente informado, escribir un comando que mantenga el estado y solo alternar entre vertical / girado.

Ahora, en cuanto al comando que necesita usar, probablemente sea xrandr:

xrandr --output HDMI1 --rotate left xrandr --output HDMI1 --rotate normal 

El parámetro de salida depende de a qué puerto está conectado su monitor. Para ver lo que tienes actualmente, escribe:

 xrandr -q 

La mía dice:

 Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192 LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 309mm x 174mm 1366x768 60.0*+ 1360x768 59.8 60.0 1024x768 60.0 800x600 60.3 56.2 640x480 59.9 VGA2 disconnected (normal left inverted right x axis y axis) HDMI1 disconnected (normal left inverted right x axis y axis) DP1 disconnected (normal left inverted right x axis y axis) 

En este caso, mi salida sería LVDS1, ya que todos los demás están desconectados.

Funciona muy bien con

 xrandr --output LVDS1 --rotate left xrandr --output LVDS1 --rotate right xrandr --output LVDS1 --rotate inverted xrandr --output LVDS1 --rotate normal 

Este es un buen ejemplo de cómo hacerlo en función de la entrada del sensor: https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu

Entonces, básicamente, intente lo anterior para identificar la pantalla que desea ver girada. Según el modelo de monitor, puede haber un sensor que envíe una señal.

Esto funciona bien para mi Lenovo Yoga 2 11 con sensor de rotación incorporado y también mueve la unidad dock.

La secuencia de comandos:

 #!/bin/sh # Auto rotate screen based on device orientation # Receives input from monitor-sensor (part of iio-sensor-proxy package) # Screen orientation and launcher location is set based upon accelerometer position # Launcher will be on the left in a landscape orientation and on the bottom in a portrait orientation # This script should be added to startup applications for the user # Clear sensor.log so it doesn't get too long over time > sensor.log # Launch monitor-sensor and store the output in a variable that can be parsed by the rest of the script monitor-sensor >> sensor.log 2>&1 & # Parse output or monitor sensor to get the new orientation whenever the log file is updated # Possibles are: normal, bottom-up, right-up, left-up # Light data will be ignored while inotifywait -e modify sensor.log; do # Read the last line that was added to the file and get the orientation ORIENTATION=$(tail -n 1 sensor.log | grep 'orientation' | grep -oE '[^ ]+$') # Set the actions to be taken for each possible orientation case "$ORIENTATION" in normal) xrandr --output eDP1 --rotate normal && gsettings set com.canonical.Unity.Launcher launcher-position Left ;; bottom-up) xrandr --output eDP1 --rotate inverted && gsettings set com.canonical.Unity.Launcher launcher-position Left ;; right-up) xrandr --output eDP1 --rotate right && gsettings set com.canonical.Unity.Launcher launcher-position Bottom ;; left-up) xrandr --output eDP1 --rotate left && gsettings set com.canonical.Unity.Launcher launcher-position Bottom ;; esac done 

y requisito previo para los sensores:

 sudo apt install iio-sensor-proxy inotify-tools 

Escribí un script de shell para hacer esto. (Requiere xrandr grep awk)

 #!/bin/sh # invert_screen copyright 20170516 alexx MIT Licence ver 1.0 orientation=$(xrandr -q|grep -v dis|grep connected|awk '{print $4}') display=$(xrandr -q|grep -v dis|grep connected|awk '{print $1}') if [ "$orientation" == "inverted" ]; then xrandr --output $display --rotate normal else xrandr --output $display --rotate inverted fi 

Si te gustan los one-liners:

 [ "$(xrandr -q|grep -v dis|grep con|awk '{print $4}')" == 'inverted' ] && xrandr -o normal || xrandr -o inverted