Saubere xrandrAusgabe für die Verwendung mit ImageMagick

Saubere xrandrAusgabe für die Verwendung mit ImageMagick

Ich suche nach einer Methode zur Meldung der Bildschirmauflösung. Ich möchte Skripts zum Starten einrichten rdesktopund diese auf mehreren Computern mit unterschiedlichen Auflösungen starten. Daher brauche ich eine Möglichkeit, diese dynamisch zu bestimmen.

Antwort1

Verwenden Sie den Befehl xrandr. Ohne Argument werden die verfügbaren Auflösungen und die aktuelle (mit einem Sternchen) angezeigt, zum Beispiel:

$ xrandr | fgrep '*'

Antwort2

Alternative Lösung: xdpyinfo | grep dimensions. xdpyinfoist älter als xrandrund könnte daher portabler sein, wenn Sie zufällig eine sehr alte Distribution oder einen anderen X-Server verwenden.

Antwort3

Die horizontale und vertikale Auflösung können Sie mit dem folgenden Befehl abrufen:

xdpyinfo | grep dimensions | awk '{print $2}' | awk -Fx '{print $1, $2}'

oder in kompakterer Form (wie von Peter.O inDasKommentar):

xdpyinfo | awk -F'[ x]+' '/dimensions:/{print $3, $4}' 

Auf einem 1600 x 900-Bildschirm wird dadurch beispielsweise die folgende Ausgabe erzeugt:

1600 900

Sie können die Werte dann mit dem folgenden Befehl in separate Variablen einfügen:

read RES_X RES_Y <<<$(xdpyinfo | awk -F'[ x]+' '/dimensions:/{print $3, $4}')

Zeigen Sie die Werte der obigen Variablen mit dem folgenden Befehl an:

echo $RES_X, $RES_Y

Auf einem 1600 x 900-Display lautet die Ausgabe:

1600, 900

Antwort4

Saubere xrandrAusgabe für die Verwendung mit ImageMagick

xrandr |awk '/\*/ {print $1}'

Es /\*/wird nach der Zeile gesucht, die ein Asterisk enthält *.

verwandte Informationen