답변:
키보드-> 바로 가기로 이동하여 "사용자 정의 바로 가기"를 선택한 다음 "+"를 눌러 새 바로 가기를 추가하십시오.
"이름"은 작업을 설명하는 이름입니다 (예 : "모니터 회전"). "명령"에서 바로 가기가 활성화 될 때 실행할 사용자 정의 명령을 입력하십시오.
단축키가 목록에 있으면 해당 행을 선택하고 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이되고 나머지는 모두 연결 해제됩니다.
xrandr -q
습니까?
xrandr -o right
또한 작동하고 현재 목표를 지정할 필요가 없습니다
output LVDS1 not found;
와 output HTMI1 not found;
@ whitenoisedb의 의견 덕분에 나는 단순히 사용 xrandr -o normal
지정하지 않고, --output
정상적인 방향으로 다시 화면을 넣어 인수를.
함께 작동
xrandr --output LVDS1 --rotate left
xrandr --output LVDS1 --rotate right
xrandr --output LVDS1 --rotate inverted
xrandr --output LVDS1 --rotate normal
다음은 센서 입력을 기반으로하는 방법에 대한 좋은 예입니다. 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
이를 위해 쉘 스크립트를 작성했습니다. (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
$5
대신에 $4
.
[ "$(xrandr -q|grep -v dis|grep con|awk '{print $5}')" != 'inverted' ] && xrandr -o inverted || xrandr -o normal
안전에 대한 기본값 "정상"으로