Ekran çözünürlüğü raporlama yöntemi arıyorum. Başlatmak için komut dosyaları oluşturmak rdesktopve 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 rdesktopve 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.
xdpyinfoiken xrandrdoğru ekranları ve bunların çözünürlüğünü sıralar. Bağlama bağlı olarak bu sorun olabilir veya olmayabilir.
xdpyinfodoğ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, xdpyinfoo çö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. xrandrBaş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]\*\+'
xrandrImagagick kullanımı için temiz çıktıxrandr |grep \* |awk '{print $1}'