Bagaimana cara memutar layar saya dengan cara yang paling mudah?

54

Saya adalah pemilik yang beruntung dari monitor pivot, yang layarnya dapat diputar (secara fisik). Apa cara termudah untuk mengubah tampilan ketika saya memutar monitor?

Untuk saat ini saya pertama kali meluncurkan aplikasi 'Layar', dan kemudian mengubah pengaturan dan mengonfirmasi. Tapi ini sebenarnya prosedur yang cukup sulit, karena saya ingin mengubah orientasi saya hingga beberapa kali per menit.

Jadi apakah ada indikator untuk ini, atau yang setara? Bisakah saya mengatur pintasan keyboard yang akan meluncurkan perintah khusus? Sebenarnya saya sedang memikirkan sesuatu yang mirip dengan program Windows iRotate .

Agmenor
sumber

Jawaban:

94

Buka Keyboard -> Pintasan, pilih "Pintasan Khusus", dan tekan "+" untuk menambahkan pintasan baru.

"Nama" adalah nama deskriptif untuk tindakan (mis. "Putar monitor"). Di "Command" ketik perintah khusus untuk dijalankan ketika pintasan diaktifkan.

Setelah pintasan ada di daftar, pilih barisnya, tekan ENTER, lalu kombinasi tombol yang ingin Anda aktifkan pintasan. Jika ada konflik, pengelola pintasan akan memberi tahu Anda, dan Anda dapat memilih kombinasi yang berbeda.

Anda dapat memiliki pintasan untuk mengaktifkan tampilan yang diputar dan yang lain untuk mengembalikannya ke posisi tegak. Anda bahkan dapat, jika Anda cukup berpengetahuan, menulis perintah yang mempertahankan status dan hanya beralih antara tegak / diputar.

Sekarang, untuk perintah yang perlu Anda gunakan, itu mungkin xrandr:

xrandr --output HDMI1 --rotate left

xrandr --output HDMI1 --rotate normal

Parameter output tergantung pada port mana monitor Anda terhubung. Untuk melihat apa yang saat ini Anda miliki, ketik:

xrandr -q

Milik saya mengatakan:

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)

Dalam hal ini --output saya adalah LVDS1, karena semua yang lain terputus.

roadmr
sumber
2
Ini luar biasa.
Agmenor
Saya baru mengenal linux dan saya mencoba mengaturnya, tetapi ketika saya menggunakan perintah tidak ada yang terjadi. Apakah ada hal lain yang harus saya konfigurasi untuk memastikan pintasan keyboard khusus saya berfungsi? Perintah built in berfungsi, hanya saja yang custom yang saya buat tidak. Saya menggunakan Ubuntu 14.04. Saya mengikuti petunjuk dan menulis yang berikut di baris perintah. xrandr --output HDMI1 --rotate left Saya menggunakan ctrl + left sebagai shortcut. Ketika saya menggunakan perintah itu di terminal, semuanya bekerja dengan baik. Hanya saja tidak dengan pintasan keyboard.
nelsond
@nelsond apakah Anda memverifikasi bahwa Anda menggunakan HDMI1 xrandr -q?
Penatua Geek
11
Hai, melakukan xrandr -o rightjuga berfungsi dan tidak perlu menentukan target saat ini
whitenoisedb
Saya mendapat output LVDS1 not found;dan output HTMI1 not found;terima kasih atas komentar @ whitenoisedb yang saya gunakan xrandr -o normal, tanpa menentukan --outputargumen untuk mengembalikan layar ke arah normal.
Paul Rougieux
16

Bekerja dengan baik

xrandr --output LVDS1 --rotate left
xrandr --output LVDS1 --rotate right
xrandr --output LVDS1 --rotate inverted
xrandr --output LVDS1 --rotate normal
Vergadin TheDwarf
sumber
Apakah ada alternatif yang tidak menghidupkan dan mematikan layar saya (saya menggunakan fglrx)
Suici Doga
solusi sempurna
Waseem
5

Ini adalah contoh yang bagus tentang cara melakukannya berdasarkan input sensor: https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu

Jadi pada dasarnya coba di atas untuk mengidentifikasi layar yang ingin Anda lihat diputar. Tergantung pada monitor model mungkin ada sensor yang mengirim sinyal?

Ini berfungsi baik untuk Lenovo Yoga 2 11 saya dengan sensor rotasi bawaan dan juga memindahkan dock penyatuan.

Naskah:

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

dan prasyarat untuk sensor:

sudo apt install iio-sensor-proxy inotify-tools
Vincent Gerris
sumber
monitor-sensortidak menghasilkan apapun. Apakah Anda tahu jika saya bisa mengonfigurasinya? Saya punya hp dan lsmod | grep accpertunjukanhp_accel 28672 0 lis3lv02d 20480 1 hp_accel
Mina Michael
@MinaMichael Anda mungkin mengalami bug kernel. Lihat di sini
JrBenito
Ini bekerja pada kernel 4.8, ini bisa menjadi bug di versi yang lebih baru, karena skrip yang saya gunakan berhenti bekerja pada versi yang tidak pernah ada. Silakan berkontribusi pada laporan bug jika Anda dapat atau mengajukan bug baru jika berlaku.
Vincent Gerris
1

Saya menulis skrip shell untuk melakukan ini. (Membutuhkan 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

Jika Anda suka one-liners:

[ "$(xrandr -q|grep -v dis|grep con|awk '{print $4}')" == 'inverted' ] && xrandr -o normal || xrandr -o inverted
Alexx Roche
sumber
1
Bagi saya itu $5bukan $4.
Nicolai
1
Dengan xrandr --version 1.5.0 $ 5 berfungsi untuk saya (bahaya menggunakan output teks) [ "$(xrandr -q|grep -v dis|grep con|awk '{print $5}')" != 'inverted' ] && xrandr -o inverted || xrandr -o normallebih aman karena defaultnya menjadi "normal"
Alexx Roche