Wie finde ich meine Bildschirmauflösung anhand eines Shell-Skripts heraus?
Antwort1
xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/'
Der Befehl xdpyinfo
zeigt verschiedene Informationen über Ihren X-Server an. Er schreibt eine Menge Dinge in die Standardausgabe, aber wir benötigen nur die Zeile, die mit dem Wort beginnt dimensions
, daher verwenden wir grep
. Abschließend verwenden wir , sed
um das Ergebnis zu bereinigen.
Antwort2
xdpyinfo | grep dimensions
gibt Ihnen die Gesamtauflösung an. Wenn Sie mehrere Monitore haben, ist es die Summe aller Auflösungen. xrandr --current
gibt Ihnen die Auflösung für jeden Monitor an.
Ich verwende diesen Code-Schnipsel, um die maximal mögliche Auflösung für rDesktop zu finden, ohne in den Vollbildmodus zu wechseln:
Xaxis=$(xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f1)
Yaxis=$(xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f2)
Ausgabe:
Xaxis = 1280
Yaxis = 1024
Minuspunkte der Fensterdekoration (mehr oder weniger):
MaxRes=$(($Xaxis-5))"x"$(($Yaxis-25))
Ausgabe:
MaxRes = 1275x999
Dies ist die maximale Auflösung für rDesktop, ohne den Vollbildmodus zu aktivieren.
Befehl beenden:
rdesktop -u $User -P -z -5 -g $MaxRes $Host &
Bisher funktioniert es gut, ich habe es jedoch noch nicht gründlich getestet.
Ein weiteres Beispiel ist ein Screencast mit avconv
:
avconv -f x11grab -r 15 -s `xrandr --current | grep '*' | uniq | awk '{print $1}'` -i :0.0 -c:v libx264 ./output.mp4
Antwort3
Eine sehr einfache Methode ist das Auslesen der modes
Datei im Sys-Verzeichnis:
cat /sys/class/graphics/*/modes
bzw.
cat /sys/class/graphics/*/virtual_size
Antwort4
############################################# ## Ich verwende dies mit einem Videoaufzeichnungsprogramm. # Fenstergröße --root-Option - Informationen zum Stammfenster des Bildschirms echo $(xwininfo -root | grep 'Geometrie' | awk '{print $2;}') # Ausgabe(n): 1024x768+0+0 # Höhe x Breite + x + y-Positionen. ###################### ## Referenzhandbuch ## man xwininfo