加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

从终端/ bash获取Macbook屏幕大小

发布时间:2020-12-16 01:58:13 所属栏目:安全 来源:网络整理
导读:有没有人知道从终端确定或收集这些信息的任何可能方法(为了在bash shell脚本中使用)? 在我的Macbook Air上,通过GUI我可以转到“关于这个mac” “显示”,它告诉我: 内置显示屏,13英寸(1440 x 900) 我可以从system_profiler命令获得屏幕分辨率,但不能获得“1
有没有人知道从终端确定或收集这些信息的任何可能方法(为了在bash shell脚本中使用)?

在我的Macbook Air上,通过GUI我可以转到“关于这个mac”> “显示”,它告诉我:
内置显示屏,13英寸(1440 x 900)

我可以从system_profiler命令获得屏幕分辨率,但不能获得“13英寸”位.
我也试过ioreg没有成功.从分辨率计算屏幕尺寸不准确,因为用户可以更改.

有没有人设法实现这一目标?

解决方法

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为单位提供刷新率.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读