Saya mencari metode pelaporan resolusi tampilan. Saya ingin mengatur skrip untuk diluncurkan rdesktop
, dan saya ingin meluncurkannya pada beberapa mesin dengan resolusi berbeda, jadi saya ingin cara untuk menentukannya secara dinamis.
linux
xorg
display-settings
Barton Chittenden
sumber
sumber
Jawaban:
Gunakan perintah
xrandr
. Tanpa argumen apa pun, ini menampilkan resolusi yang tersedia dan yang saat ini (dengan tanda bintang), misalnya:sumber
xrandr |g grep \*
apa masalahnya?Solusi alternatif:
xdpyinfo | grep dimensions
.xdpyinfo
lebih tua darixrandr
, jadi mungkin lebih portabel jika Anda menggunakan distribusi yang sangat lama atau beberapa server X yang berbeda.sumber
xdpyinfo
sementaraxrandr
dengan benar menyebutkan layar dan resolusi mereka. Ini mungkin atau mungkin bukan masalah tergantung pada konteksnya.xdpyinfo
tampaknya melaporkan dimensi yang benar dalam piksel, ini melaporkan resolusi yang salah (DPI). Misalnya pada monitor saya dengan dimensi 3840x2160 (asli dan aktual) dan ukuran 708mm x 399mm seperti yang dilaporkan olehxrandr
,xdpyinfo
mengatakan bahwa resolusinya adalah 96x96 titik per inci.Anda bisa mendapatkan resolusi horizontal dan vertikal menggunakan perintah berikut:
atau, dalam bentuk yang lebih ringkas (seperti yang disarankan oleh Peter.O dalam komentar ini ):
Untuk exmaple, pada layar 1600x900 ini akan menghasilkan output berikut:
Anda kemudian dapat menempatkan nilai-nilai ke dalam variabel-variabel terpisah menggunakan perintah:
Tampilkan nilai-nilai variabel di atas menggunakan perintah:
Pada layar 1600x900, outputnya adalah:
sumber
Saya seharusnya terlihat sedikit lebih keras sebelum memposting.
xrandr
akan mengulang pengaturan tampilan saat ini, jika tidak diberikan argumen lain.Secara default, ini akan membuang semua pengaturan tampilan yang mungkin, ini dapat difilter sebagai berikut:
sumber
Bersihkan
xrandr
output untuk penggunaan imagemagicksumber