Ekran çözünürlüğü raporlama yöntemi arıyorum. Başlatmak için komut dosyaları oluşturmak rdesktop
ve farklı çözünürlüklerde birkaç makinede başlatmak istiyorum, bu yüzden dinamik olarak belirlemenin bir yolunu istiyorum.
Ekran çözünürlüğü raporlama yöntemi arıyorum. Başlatmak için komut dosyaları oluşturmak rdesktop
ve farklı çözünürlüklerde birkaç makinede başlatmak istiyorum, bu yüzden dinamik olarak belirlemenin bir yolunu istiyorum.
Yanıtlar:
Komutu kullan xrandr
. Herhangi bir argüman olmadan, mevcut çözünürlükleri ve mevcut olanı (yıldız işaretiyle) görüntüler, örneğin:
$ xrandr | fgrep '*'
xrandr |g grep \*
numara mı?
Alternatif çözüm: xdpyinfo | grep dimensions
. xdpyinfo
çok eski olduğundan xrandr
, çok eski bir dağıtım veya başka bir X sunucusu kullanıyorsanız, daha taşınabilir olabilir.
xdpyinfo
iken xrandr
doğru ekranları ve bunların çözünürlüğünü sıralar. Bağlama bağlı olarak bu sorun olabilir veya olmayabilir.
xdpyinfo
doğru boyutları piksel cinsinden rapor ederken , yanlış çözünürlüğü (DPI) bildirir. Benim 3840x2160 (yerli ve fiili) dimesions ile monitör ve büyüklüğüne Örneğin 708mm x 399mm tarafından bildirilen xrandr
, xdpyinfo
o çözünürlük 96x96 dpi olduğunu söylüyor.
Aşağıdaki komutu kullanarak yatay ve dikey çözünürlükleri alabilirsiniz:
xdpyinfo | grep dimensions | awk '{print $2}' | awk -Fx '{print $1, $2}'
veya daha kompakt bir biçimde ( bu açıklamada Peter.O tarafından önerildiği gibi ):
xdpyinfo | awk -F'[ x]+' '/dimensions:/{print $3, $4}'
Örneğin, 1600x900'lük bir ekranda bu, aşağıdaki çıktıyı üretecektir:
1600 900
Daha sonra aşağıdaki komutu kullanarak değerleri ayrı değişkenlere yerleştirebilirsiniz:
read RES_X RES_Y <<<$(xdpyinfo | awk -F'[ x]+' '/dimensions:/{print $3, $4}')
Komutu kullanarak yukarıdaki değişkenlerin değerlerini görüntüleyin:
echo $RES_X, $RES_Y
1600x900'lük bir ekranda, çıktı şöyledir:
1600, 900
Göndermeden önce biraz daha sert gözükmeliydim. xrandr
Başka bir argüman verilmezse mevcut ekran ayarlarını ekleyecektir.
Varsayılan olarak, bu mümkün olan tüm ekran ayarlarını boşaltacaktır, bu aşağıdaki gibi filtrelenebilir:
xrandr | egrep '^[^ ]|[0-9]\*\+'
xrandr
Imagagick kullanımı için temiz çıktıxrandr |grep \* |awk '{print $1}'