¿Cómo puedo encontrar la resolución de pantalla de un script de shell?
ubuntu
gnome
xorg
resolution
dave4420
fuente
fuente

$( )sintaxis (es decirDIMENSIONS=$(xdpyinfo ...). Luego, usesednuevamente para obtener los dos:WIDTH=$(echo $DIMENSIONS | sed -r 's/x.*//')yHEIGHT=$(echo $DIMENSIONS | sed -r 's/.*x//').xdpyinfoimprime un mensaje de error si no puede acceder a la información, por lo que la redirección de error a/dev/null. Por esta razón es posible que desee agregar una redirección de error:xdpyinfo 2> /dev/null. Por lo tanto, la piple completo es el siguiente:xdpyinfo 2> /dev/null | grep dimensions | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/'. Esto hará que tu script sea más sólido.xdpyinfo | grep dimensionsle dará la resolución total, si tiene varios monitores será la suma de todos ellos.xrandr --currentle dará la resolución para cada monitor.Utilizo este fragmento para encontrar la resolución máxima posible para rDesktop sin ir a pantalla completa:
Salida:
Decoración de ventanas menos (más o menos):
Salida:
¿Cuál es la resolución máxima para rDesktop sin pasar a pantalla completa?
Comando final:
Funciona bien hasta ahora, pero no he probado a fondo sin embargo.
Otro ejemplo es para screencast con
avconv:fuente
xdpyinfo: Unable to open display "".rdesktop [other_args] -g $(xrandr --current | grep '*' | uniq | awk '{print $1}').xrandr --current | grep '*' | awk -v line="$SCREEN" 'NR==line{print $1}' | cut -d 'x' -f1si desea especificar una pantalla (con una configuración de varios monitores) (SCREENestá indexada en 1)Podrías usar el
xrandr -qcomando. A partir de eso, puede crear un script de shell si es necesario.Para obtener más información sobre el comando, ingrese aquí o escriba man xrandr
fuente
############################################# ## Lo uso con un programa de grabación de video. # tamaño de la ventana - opción de raíz - información sobre la ventana raíz de la pantalla echo $ (raíz xwininfo | grep 'geometría' | awk '{print $ 2;}') # salida (s): 1024x768 + 0 + 0 # altura x ancho + x + y posiciones. ###################### ## Manual de referencia ## hombre xwininfofuente
xwininfo -root|sed '/Height/!d;s/.* //'por altura yxwininfo -root|sed '/Width/!d;s/.* //'por ancho.xdpyinfolo hará, con un poco de análisis. Da mucha información de la que luego tendrás que cavar el número de pantalla y las dimensiones defuente
Dos posibles alternativas producidas combinando las respuestas de @ user31752 y @ eliezer-e-vargas
Una expresión regular más simple:
o usando corte:
El uso de
grep '*' | uniq@ eliezer-e-vargas obtiene una línea diferente (ej. "1440x900 59.90 * + 59.89") de salida xrandr, mientras que el grep 'conectado' obtiene uno simple (ej. "LVDS1 conectado 1440x900 + 0 + 0 ..... ").El uso de expresiones regulares por @ user31752 es bueno, por lo que la línea que estoy usando necesita una expresión regular más simple, o puede sustituirse con el comando de corte más simple.
Ejemplo de salida xrandr
fuente
Como en la respuesta aceptada pero menos complicada:
Ejemplo de salida:
fuente
Leer los datos de la pantalla del monitor
El estándar vesa proporciona un método para leer la resolución de la pantalla del monitor.
Un monitor generalmente admite múltiples resoluciones y tasas de actualización. Por supuesto, alguien preferirá el máximo (físico).
Para leer los datos de este monitor, pruebe una de estas soluciones:
edid-decode
Si no está instalado, escriba
Luego lee el
edidarchivoread-edid
Instalar con
Luego lea a través de i2c los datos del monitor de pantalla y analícelo
Hexdump los datos edid
En caso de que las herramientas edid no estén instaladas, puede volcar el
edidarchivo hexadecimal, por ejemplo:Para cifrar este archivo hexadecimal, eche un vistazo a wiki o descargue las especificaciones edid .
fuente