Ekranımı en kolay şekilde nasıl döndürebilirim?


54

Ekranın fiziksel olarak döndürülebildiği bir pivot monitörün şanslı sahibiyim. Monitörümü çevirdiğimde ekranımı döndürmenin en kolay yolu nedir?

Şimdilik ilk önce 'Display' uygulamasını başlattıktan sonra ayarları değiştirip onayladım. Fakat bu aslında oldukça zahmetli bir prosedür çünkü oryantasyonumu dakikada birkaç kez değiştirmek istiyorum.

Öyleyse bunun veya buna eşdeğer bir gösterge var mı? Özel bir komut başlatan bir klavye kısayolu ayarlayabilir miyim? Aslında ben Windows programına benzer bir şey düşünüyorum iRotate .

Yanıtlar:


94

Klavye -> Kısayollar'a gidin, "Özel Kısayollar" ı seçin ve yeni bir kısayol eklemek için "+" tuşuna basın.

"Ad", işlem için açıklayıcı bir addır (yani, "Monitörü döndür"). "Komut" alanına, kısayol etkinleştirildiğinde çalıştırılacak özel komutu yazın.

Kısayol listeye girdikten sonra, satırını seçin, ENTER tuşuna basın ve ardından kısayolu etkinleştirmek istediğiniz tuş kombinasyonunu seçin. Bir çakışma varsa, kısayol yöneticisi size söyleyecektir ve siz farklı bir kombinasyon seçebilirsiniz.

Döndürülmüş ekranı etkinleştirmek için kısayolu, dik bir konuma getirmek için başka bir kısayol kullanabilirsiniz. Eğer yeterince bilgiliyseniz bile, durumu koruyan ve sadece dik / döndürülmüş arasında geçiş yapan bir komut yazabilirsiniz.

Şimdi, kullanmanız gereken komut için, muhtemelen xrandr:

xrandr --output HDMI1 --rotate left

xrandr --output HDMI1 --rotate normal

Çıkış parametresi, monitörünüzün hangi bağlantı noktasına takıldığına bağlıdır. Şu anda sahip olduğunuzu görmek için, şunu yazın:

xrandr -q

Mine diyor ki:

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)

Bu durumda benim - çıkışım, diğerleri kesilirken LVDS1 olur.


2
Bu mükemmel.
Agmenor

Linux için yeniyim ve bunu ayarlamaya çalıştım, ancak bu komutu kullandığımda hiçbir şey olmuyor. Özel klavye kısayollarımın çalışmasını sağlamak için yapılandırmam gereken başka bir şey var mı? Yerleşik komutlar, yarattığım özel olanları çalıştırmaz. Ubuntu 14.04 kullanıyorum. Yönergeleri takip ettim ve aşağıdakileri komut satırına yazdım. xrandr --output HDMI1 - sola döndür Kısayol olarak ctrl + left kullandım. Terminalde bu komutu kullandığımda her şey harika çalışıyor. Sadece klavye kısayolu ile değil.
nelsond

@ nelsond ile HDMI1 kullandığınızı doğruladınız xrandr -qmı?
Yaşlı Geek

11
Hey, xrandr -o rightayrıca çalışır ve mevcut hedefi belirtmesi gerekmez
whitenoisedb

Ben aldım output LVDS1 not found;ve output HTMI1 not found;@ whitenoisedb 'in yorumları sayesinde ben sadece kullanılan xrandr -o normalbelirtmeden, --outputnormal yönde geri ekrana koymak için argüman.
Paul Rougieux 14:17

16

İle harika çalışıyor

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


mükemmel çözüm
Waseem

5

Sensör girişine göre nasıl yapılacağına dair güzel bir örnek: https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu

Bu nedenle temel olarak, döndürülmüş görmek istediğiniz ekranı tanımlamak için yukarıdakileri deneyin. Model monitörüne bağlı olarak, sinyal gönderen bir sensör olabilir mi?

Bu, yerleşik dönme sensörüne sahip Lenovo Yoga 2 11'im için gayet iyi çalışıyor ve birlik yuvasını da hareket ettiriyor.

Senaryo:

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

ve sensörler için ön şart:

sudo apt install iio-sensor-proxy inotify-tools

monitor-sensorherhangi bir çıktı yapmaz. Yapılandırabiliyor muyum biliyor musun? Bir hp ve sahip lsmod | grep accgösterilerihp_accel 28672 0 lis3lv02d 20480 1 hp_accel
Mina Michael

@MinaMichael bir çekirdek hatası yaşıyor olabilirsiniz. Buraya
JrBenito

Çekirdek 4.8'de çalışıyor, daha sonraki sürümlerde bir hata olabilir, çünkü kullandığım kod asla sürümlerde çalışmayı bırakmıyor. Lütfen mümkünse hata raporuna katkıda bulunun veya yeni bir hatayı dosyalayın.
Vincent Gerris

1

Bunu yapmak için bir kabuk betiği yazdım. (Xrandr grep awk gerektirir)

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

Tek gömlekleri seviyorsanız:

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

1
Benim için $5yerine $4.
Nicolai,

1
Xrandr --version 1.5.0 $ 5 ile benim için çalışıyor (metin çıktısını kullanma tehlikesi var) [ "$(xrandr -q|grep -v dis|grep con|awk '{print $5}')" != 'inverted' ] && xrandr -o inverted || xrandr -o normalvarsayılan olarak "normal" olarak daha güvenli
Alexx Roche
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.