从终端/ bash获取Macbook屏幕大小
有没有人知道从终端确定或收集这些信息的任何可能方法(为了在bash
shell脚本中使用)?
在我的Macbook Air上,通过GUI我可以转到“关于这个mac”> “显示”,它告诉我: 我可以从system_profiler命令获得屏幕分辨率,但不能获得“13英寸”位. 有没有人设法实现这一目标? 解决方法
system_profiler SPDisplaysDataType将为您提供Retina显示的物理分辨率,但它不会为您提供有效(缩放)分辨率.如果您需要,可以
sort of get it with
osascript :
$osascript -e 'tell application "Finder" to get bounds of window of desktop' 0,2048,1280 请注意,如果您正在运行多显示器设置,则可能需要一些解释.例如,我有一个Retina iMac 21“,物理分辨率为4096×2304,分辨率为2560×1440;我还有一个外部肖像监视器,运行速度为1440×2560: ┌───────┐┌─────────────┐ │ 1440 ││ 2560x1440 │ │ x2560 ││ │ │ ││ │ │ │└─────────────┘ │ │ │ │ └───────┘ 当我运行上面的命令时,它会报告: -1440,2560,2560 这些是桌面相对于主监视器左上角的边界: x = -1440 0 2560 ┌───────┐┌─────────────┐ y = 0 │ ││ │ │Monitor││ Monitor 0 │ │ 1 ││ │ │ │└─────────────┘ │ │ │ │ └───────┘ 2560 正如您所看到的,这本身并不能实际为您提供主显示器的缩放垂直分辨率(尽管您可以从物理宽高比中找出它). 另一种选择是GPL的实用程序screenresolution(如果你不想自己构建它,可以通过Homebrew获得).命令行与地球上的其他任何东西都不太相似,但它有效: $screenresolution get 2018-04-20 10:00:14.935 screenresolution[12084:518367] starting screenresolution argv=screenresolution get 2018-04-20 10:00:14.938 screenresolution[12084:518367] Display 0: 2560x1440x32@0 2018-04-20 10:00:14.939 screenresolution[12084:518367] Display 1: 1440x2560x32@60 作为奖励,它还以比特为单位提供颜色深度,如果可用,还以Hz为单位提供刷新率. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |