가장 쉬운 방법으로 디스플레이를 회전하려면 어떻게해야합니까?


54

나는 피벗 모니터의 운이 좋은 소유자입니다. 모니터를 켤 때 디스플레이를 돌리는 가장 쉬운 방법은 무엇입니까?

먼저 'Displays'앱을 시작한 다음 설정을 변경하고 확인하십시오. 그러나 이것은 방향을 분당 몇 번으로 바꾸고 싶기 때문에 실제로 매우 힘든 절차입니다.

이것에 대한 지표가 있습니까? 전용 명령을 실행할 키보드 단축키를 설정할 수 있습니까? 사실 저는 Windows 프로그램 iRotate 와 비슷한 것을 생각하고 있습니다.

답변:


94

키보드-> 바로 가기로 이동하여 "사용자 정의 바로 가기"를 선택한 다음 "+"를 눌러 새 바로 가기를 추가하십시오.

"이름"은 작업을 설명하는 이름입니다 (예 : "모니터 회전"). "명령"에서 바로 가기가 활성화 될 때 실행할 사용자 정의 명령을 입력하십시오.

단축키가 목록에 있으면 해당 행을 선택하고 Enter 키를 누른 다음 단축키를 활성화하려는 키 조합을 누릅니다. 충돌이있는 경우 바로 가기 관리자가 알려주며 다른 조합을 선택할 수 있습니다.

회전 된 디스플레이를 활성화하는 바로 가기와 똑바로 세운 위치로 되돌릴 수있는 바로 가기가있을 수 있습니다. 지식이 충분하다면 상태를 유지하고 똑바로 / 회전 된 상태로 전환하는 명령을 작성할 수도 있습니다.

이제 사용해야 할 명령에 대해서는 아마도 xrandr 일 것입니다.

xrandr --output HDMI1 --rotate left

xrandr --output HDMI1 --rotate normal

출력 매개 변수는 모니터가 연결된 포트에 따라 다릅니다. 현재 가지고있는 것을 보려면 다음을 입력하십시오.

xrandr -q

내 말 :

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)

이 경우 내 --output은 LVDS1이되고 나머지는 모두 연결 해제됩니다.


2
이것은 우수하다.
Agmenor

나는 리눅스를 처음 접했고 이것을 설정하려고했지만 명령을 사용할 때 아무 일도 일어나지 않습니다. 사용자 정의 키보드 단축키가 작동하도록 구성해야 할 것이 있습니까? 기본 제공 명령은 내가 만든 사용자 지정 명령이 아니라 작동합니다. 우분투 14.04를 사용하고 있습니다. 지시 사항을 따르고 명령 줄에 다음을 썼습니다. xrandr --output HDMI1-왼쪽으로 회전 ctrl + left를 단축키로 사용했습니다. 터미널에서 해당 명령을 사용하면 모든 것이 잘 작동합니다. 바로 가기 키가 아닙니다.
nelsond

@nelsond HDMI1을 사용하고 있는지 확인 했 xrandr -q습니까?
Geek

11
이봐, xrandr -o right또한 작동하고 현재 목표를 지정할 필요가 없습니다
whitenoisedb

내가 가지고 output LVDS1 not found;output HTMI1 not found;@ whitenoisedb의 의견 덕분에 나는 단순히 사용 xrandr -o normal지정하지 않고, --output정상적인 방향으로 다시 화면을 넣어 인수를.
Paul Rougieux

16

함께 작동

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

화면을 켜거나 끄지 않는 대안이 있습니까 (fglrx를 사용하고 있습니다)
Suici Doga

완벽한 솔루션
Waseem

5

다음은 센서 입력을 기반으로하는 방법에 대한 좋은 예입니다. https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu

따라서 기본적으로 위의 방법을 사용하여 회전하려는 화면을 식별하십시오. 모델 모니터에 따라 신호를 보내는 센서가있을 수 있습니까?

이것은 회전 센서가 내장 된 Lenovo Yoga 2 11에서 잘 작동하며 단일 도크도 움직입니다.

스크립트 :

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

센서의 전제 조건 :

sudo apt install iio-sensor-proxy inotify-tools

monitor-sensor출력하지 않습니다. 내가 구성 할 수 있는지 알고 있습니까? 나는 hp와 lsmod | grep acc쇼를 가지고있다hp_accel 28672 0 lis3lv02d 20480 1 hp_accel
Mina Michael

@MinaMichael 커널 버그가 발생했을 수 있습니다. 여기를
JrBenito

커널 4.8에서 작동하며, 이후 버전에서는 실제로 버그가 될 수 있습니다. 사용하는 스크립트가 절대 버전에서 작동하지 않기 때문입니다. 가능한 경우 버그 보고서에 기여하거나 해당되는 경우 새 버그를 제출하십시오.
Vincent Gerris

1

이를 위해 쉘 스크립트를 작성했습니다. (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

원 라이너를 좋아한다면 :

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

1
나를 위해 그것은 $5대신에 $4.
Nicolai

1
xrandr를 --version 1.5.0 $ 5 나 (텍스트 출력을 사용하는 위험)에 대한 노력과 함께 [ "$(xrandr -q|grep -v dis|grep con|awk '{print $5}')" != 'inverted' ] && xrandr -o inverted || xrandr -o normal안전에 대한 기본값 "정상"으로
알렉스 로슈
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.