Answers:
使用命令xrandr
。没有任何参数,它将显示可用的分辨率和当前分辨率(带有星号),例如:
$ xrandr | fgrep '*'
xrandr |g grep \*
这有招吗?
替代解决方案:xdpyinfo | grep dimensions
。xdpyinfo
早于xrandr
,因此如果您碰巧使用非常老的发行版或其他X服务器,则可能更便于携带。
xdpyinfo
同时xrandr
正确枚举了屏幕及其分辨率。根据上下文,这可能是问题,也可能不是问题。
xdpyinfo
似乎报告正确的像素尺寸,但报告的分辨率(DPI)错误。例如,我的dimesions 3840X2160(本地实际)显示器和尺寸上708毫米X399毫米通过报道xrandr
,xdpyinfo
说分辨率是每英寸96×96点。
您可以使用以下命令获取水平和垂直分辨率:
xdpyinfo | grep dimensions | awk '{print $2}' | awk -Fx '{print $1, $2}'
或者,以更紧凑的形式(如Peter.O在此评论中所建议):
xdpyinfo | awk -F'[ x]+' '/dimensions:/{print $3, $4}'
例如,在1600x900的显示屏上,将产生以下输出:
1600 900
然后可以使用以下命令将值放入单独的变量中:
read RES_X RES_Y <<<$(xdpyinfo | awk -F'[ x]+' '/dimensions:/{print $3, $4}')
使用命令显示以上变量的值:
echo $RES_X, $RES_Y
在1600x900的显示器上,输出为:
1600, 900
xrandr
输出以供imagemagick使用xrandr |grep \* |awk '{print $1}'