¿Cómo puedo saber la resolución de mi pantalla a partir de un script de shell?
Respuesta1
xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/'
El comando xdpyinfo
muestra diversa información sobre su servidor X. Escribe muchas cosas en la salida estándar, pero solo necesitamos la línea que comienza con la palabra dimensions
, por eso usamos grep
. Finalmente utilizamos sed
para limpiar el resultado.
Respuesta2
xdpyinfo | grep dimensions
te dará la resolución total, si tienes varios monitores será la suma de todos ellos. xrandr --current
Le dará la resolución para cada monitor.
Utilizo este fragmento para encontrar la resolución máxima posible para rDesktop sin pasar a pantalla completa:
Xaxis=$(xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f1)
Yaxis=$(xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f2)
Producción:
Xaxis = 1280
Yaxis = 1024
Menos decoración de ventanas (más o menos):
MaxRes=$(($Xaxis-5))"x"$(($Yaxis-25))
Producción:
MaxRes = 1275x999
Cuál es la resolución máxima para rDesktop sin pasar a pantalla completa.
Comando final:
rdesktop -u $User -P -z -5 -g $MaxRes $Host &
Funciona bien hasta ahora, pero no lo he probado exhaustivamente.
Otro ejemplo es para screencast con avconv
:
avconv -f x11grab -r 15 -s `xrandr --current | grep '*' | uniq | awk '{print $1}'` -i :0.0 -c:v libx264 ./output.mp4
Respuesta3
Un método muy simple es leer el modes
archivo en el directorio sys:
cat /sys/class/graphics/*/modes
o respectivamente
cat /sys/class/graphics/*/virtual_size
Respuesta4
############################################# ## Lo uso con un programa de grabación de vídeo. # tamaño de ventana --opción raíz - información en la ventana raíz de la pantalla echo $(xwininfo -root | grep 'geometría' | awk '{print $2;}') # salida(s): 1024x768+0+0 # alto x ancho + x + y posiciones. ###################### ## Manual de referencia ## hombre xwininfo