15.04(Gnome)가 설치된 Dell 13 7000의 화면 자동 회전

15.04(Gnome)가 설치된 Dell 13 7000의 화면 자동 회전

Gnome은 터치 지원 장치에 매우 적합한 것 같습니다. 노트북/태블릿을 뒤집을 때 화면을 자동으로 회전할 수 있는 방법이 있습니까?

답변1

편집: 우리는 서로 다른 컴퓨터를 가지고 있고 귀하는 Gnome에 관심이 있기 때문에 이것이 귀하의 질문에 직접적으로 대답할 수 없다는 것을 알고 있지만 다른 사람들을 돕기 위해 이 글을 어딘가에 게시하고 싶었습니다.

다음은 Spectre x360(Kaby Lake)의 Ubuntu 16.10(Unity)에서 저에게 효과적이었습니다. 비슷한 처리 방법이 다른 노트북에서도 효과가 있을 것으로 생각됩니다.

@Yalokly의 답변에서와 같이 다음을 설치하십시오 iio-sensor-proxy.

sudo apt-get install iio-sensor-proxy

이것은 작업을 시작하는 데 벌레가 될 수 있습니다. 당신이 달릴 때 그것이 효과가 있다는 것을 당신은 알고 있습니다monitor-sensor 장치를 회전할 때 문제가 발생하면 제대로 작동하는 것입니다.여기문제 해결 정보를 찾을 수 있는 저장소입니다. 진행하는데 좀 문제가 있었어요. 커널을 4.8에서 4.10으로 업데이트하는 것이 저에게 효과적이었습니다. 온라인에서 튜토리얼을 검색하세요. 다른 많은 사람들과 마찬가지로 나에게도 컴퓨터가 한 번 이상 일시 중지된 후에만 센서 모니터링이 작동하는 버그가 있습니다.

Unity는 자동 회전 및 태블릿 모드 기능을 자체적으로 수행하지 않습니다. 나는 다음의 스크립트를 결합했습니다.여기그리고여기하도록 하다:

  1. 화면이 자동으로 회전합니다.
  2. 키보드와 트랙패드는 노트북이 일반적인 방향일 때만 작동합니다. 다른 세 방향에서는 비활성화됨
  3. Unity 런처는 세로 방향의 경우 하단에 배치되고 가로 방향의 경우 왼쪽에 배치됩니다.
  4. 프로그램 onboard은 세 가지 '태블릿' 방향에서 시작되고 '노트북' 방향에서는 종료됩니다(추가: 온보드 기본 설정의 텍스트 모드에서 자동 팝업을 활성화하는 것이 도움이 된다는 것을 알았습니다)

스크립트는 다음과 같습니다.

#!/bin/sh
# IH: this script is taken from a combo of:
# https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu
# https://askubuntu.com/questions/757900/hp-spectre-x360-disable-touchpad-in-tablet-mode-ubuntu-15-10

# 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 eDP-1 --rotate normal
    gsettings set com.canonical.Unity.Launcher launcher-position Left 
    xinput set-int-prop 12 "Device Enabled" 8 1 #Enable Keyboard
    xinput set-int-prop 13 "Device Enabled" 8 1 #Enable Pad
    killall onboard
    ;;
bottom-up)
    xrandr --output eDP-1 --rotate inverted
    gsettings set com.canonical.Unity.Launcher launcher-position Left 
    xinput set-int-prop 12 "Device Enabled" 8 0 #Disable Keyboard
    xinput set-int-prop 13 "Device Enabled" 8 0 #Disable Pad
    onboard &
    ;;
right-up)
    xrandr --output eDP-1 --rotate right
    gsettings set com.canonical.Unity.Launcher launcher-position Bottom
    xinput set-int-prop 12 "Device Enabled" 8 0 #Disable Keyboard
    xinput set-int-prop 13 "Device Enabled" 8 0 #Disable Pad
    onboard &
    ;;
left-up)
    xrandr --output eDP-1 --rotate left
    gsettings set com.canonical.Unity.Launcher launcher-position Bottom
    xinput set-int-prop 12 "Device Enabled" 8 0 #Disable Keyboard
    xinput set-int-prop 13 "Device Enabled" 8 0 #Disable Pad
    onboard &
    ;;
esac
done

참고: 내 화면은 이라고 불리며 eDP-1귀하의 화면은 다른 이름으로 불릴 수 있습니다. 실행하여 xrandr이름을 알아내고 위 스크립트에서 4개의 인스턴스를 변경합니다.

이것을 어딘가에 로 저장하고 auto-rotate.sh, 실행 가능하게 만든 다음( chmod a+x auto-rotate.sh)에 추가하십시오.시작 애플리케이션.

답변2

이 소프트웨어많은 2-in-1 장치에서 작동하는 것으로 보고되었습니다. 하지만 최신 커널과 gnome을 실행해야 합니다.

답변3

@Ian Hincks 코드를 사용했지만 유용하게 사용할 수 있는 몇 가지 제안이 있습니다. Dell Inspiron 13 7000 시리즈가 있는데 이 시스템에는 백라이트 밝기의 균형을 맞추는 광 센서가 있습니다. 광 센서 변경이 빠르고 캡처된 방향을 오염시키기 때문에 "방향" 라인의 빌드를 수정해야 했습니다. 그런 다음 한 줄의 방향으로 세 가지 빛의 변화를 받습니다. 로그의 한 줄만 캡처하면 방향 선이 느슨해집니다. 이것이 로그 캡처를 4줄로 늘리고 마지막 방향을 캡처하도록 grep 정규식을 변경한 이유입니다. 그러면 새 ORIENTATION 줄은 다음과 같습니다.

ORIENTATION=$(tail -n 4 sensor.log | grep 'orientation' | grep -oEm 1 '[^ ]+$')

코드를 제공해 주신 @Ian Hincks에게 감사드립니다!

답변4

나는 사용하고있다자동 회전

화면과 디지타이저를 수동 또는 자동으로 회전할 수 있습니다. systemd 데몬을 백그라운드에서 실행하는 옵션이 있습니다.

관련 정보