Comment puis-je faire pivoter mon affichage de la manière la plus simple?

50

Je suis l'heureux propriétaire d'un moniteur pivot, dont l'écran peut être pivoté (physiquement). Quelle est la manière la plus simple de faire tourner mon écran lorsque je tourne mon moniteur?

Pour le moment, je lance d'abord l'application "Affichages", puis changez les paramètres et confirmez. Mais il s’agit en fait d’une procédure assez laborieuse, car je veux changer d’orientation à quelques reprises par minute.

Y a-t-il un indicateur pour ceci ou équivalent? Puis-je définir un raccourci clavier pour lancer une commande dédiée? En fait, je pense à quelque chose de similaire au programme Windows iRotate .

    
posée Agmenor 16.01.2012 - 02:01
la source

4 réponses

80

Allez dans le clavier - & gt; Raccourcis, sélectionnez "Raccourcis personnalisés" et appuyez sur "+" pour ajouter un nouveau raccourci.

"Nom" est un nom descriptif de l’action (c.-à-d. "Faire pivoter le moniteur"). Dans "Commande", tapez la commande personnalisée à exécuter lorsque le raccourci est activé.

Une fois le raccourci dans la liste, sélectionnez sa ligne, appuyez sur ENTER, puis sur la combinaison de touches que vous souhaitez activer. En cas de conflit, le gestionnaire de raccourcis vous le dira et vous pourrez choisir une autre combinaison.

Vous pouvez avoir un raccourci pour activer l’affichage pivoté et un autre pour le remettre en position verticale. Vous pouvez même, si vous en connaissez assez, écrire une commande qui maintient l’état et permute entre la verticale et la rotation.

Maintenant, comme pour la commande que vous devez utiliser, il est probablement xrandr:

xrandr --output HDMI1 --rotate left

xrandr --output HDMI1 --rotate normal

Le paramètre de sortie dépend du port sur lequel votre moniteur est branché. Pour voir ce que vous avez actuellement, tapez:

xrandr -q

Le mien dit:

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)

Dans ce cas, mon --output serait LVDS1, tous les autres étant déconnectés.

    
réponse donnée roadmr 16.01.2012 - 03:36
la source
14

Fonctionne bien avec

xrandr --output LVDS1 --rotate left
xrandr --output LVDS1 --rotate right
xrandr --output LVDS1 --rotate inverted
xrandr --output LVDS1 --rotate normal
    
réponse donnée Vergadin TheDwarf 29.04.2015 - 23:06
la source
3

Voici un bel exemple sur la façon de le faire en fonction de l’entrée du capteur: lien

Donc, essayez l'essentiel pour identifier l'écran que vous voulez voir pivoter. Selon le modèle de moniteur, il peut y avoir un capteur qui envoie un signal?

Cela fonctionne très bien pour mon Lenovo Yoga 2 11 avec capteur de rotation intégré et déplace le dock unit.

Le script:

#!/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

et prérequis pour les capteurs:

sudo apt install iio-sensor-proxy inotify-tools
    
réponse donnée Vincent Gerris 14.12.2016 - 17:44
la source
0

J'ai écrit un script shell pour ce faire. (Nécessite 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 }')
display=$(xrandr -q|grep -v dis|grep connected|awk '{print }')
if [ "$orientation" == "inverted" ]; then
   xrandr --output $display --rotate normal
else
   xrandr --output $display --rotate inverted
fi

Si vous aimez les one-liners:

[ "$(xrandr -q|grep -v dis|grep con|awk '{print }')" == 'inverted' ] && xrandr -o normal || xrandr -o inverted
    
réponse donnée Alexx Roche 16.05.2017 - 08:57
la source

Lire d'autres questions sur les étiquettes