标签: system-profiler

在Mac OS 10.4中查找USB驱动器路径

system_profilerMac OS中10.5命令用于显示相关联的USB驱动器安装的卷的路径.然而,在10.4中,它们没有显示.关于如何在10.4中获取USB驱动器的安装位置的任何想法?

macos usb-drive system-profiler

6
推荐指数
1
解决办法
8736
查看次数

从终端/bash 获取 Macbook 屏幕尺寸

有谁知道从终端确定或收集此信息的任何可能方法(以便在 bash shell 脚本中使用)?

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

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

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

macos bash shell system-profiler screen-size

5
推荐指数
1
解决办法
4719
查看次数

我应该在Apple的system_profiler中使用什么python数据结构和解析器?

我的问题就像来自http://my.safaribooksonline.com/0596007973/pythoncook2-CHP-10-SECT-17的模拟问题 ,最终使用2005年的过时xpath方法进入Python Cookbook,第2版无法使用10.6的内置python(也没有安装旧的软件包)

我希望..."检索有关Mac OS X系统的详细信息",使用system_profiler在每次计算机启动时在脚本中对其进行汇总(脚本将在登录时启动).
我收集的信息从SW版本到HW配置各不相同.

示例行是system_profiler SPSoftwareDataType | grep'Boot Volume',它返回启动卷名.我打了15到20个其他的信息电话.

我试图输出完整的'system_profiler>数据'并使用cat数据解析它 grep,但是如果我像上面的例子一样运行每一行,这显然效率低下.
如果输入文件和cat |,则为18秒 grep的.

如果打个人电话,则需要13秒

*我正试图尽可能快地完成它.

我推断我可能需要创建一个字典并使用键来引用数据,但我想知道解析和检索数据的最有效方法是什么?我在其他地方看到过使用system_profiler输出到XML并使用XML解析器的建议,但我认为可能有一些缓存和解析方法比首先输出到文件更有效.

python macos profiler parsing system-profiler

2
推荐指数
1
解决办法
1502
查看次数

NSTask 输出缓冲区大小问题(运行 SPApplicationsDataType 命令)

尝试从系统分析器中读取一些信息。为此,我使用 NSTask 运行一些终端行命令。如果我运行一些输出不太大的命令,就没有问题。(例如:SPInstallHistoryDataType)但是如果我运行“SPApplicationsDataType”命令来收集已安装的应用程序列表,NSTask 等待太多而没有任何结果和任何错误。

所以我开始认为应该有一个缓冲区大小或类似的东西,但我找不到任何相关信息。我不知道也许我走错了路。

func readData (dataType: String) -> NSArray? {
let out = NSPipe()
let task = NSTask()
task.launchPath = "/usr/sbin/system_profiler"
task.arguments = ["-xml",dataType]
task.standardOutput = out
task.launch()

task.waitUntilExit()

if task.terminationStatus != 0 {
    NSLog("system_profiler returned error status")
    return nil
}

let data = out.fileHandleForReading.readDataToEndOfFile()
let plist : AnyObject?
do {
    plist = try NSPropertyListSerialization.propertyListWithData(data,
        options: [.Immutable],
        format: nil)
} catch let error as NSError {
    NSLog("%@", "Failed to parse system_profiler results. \(error.localizedDescription)")
    return nil
}

return plist …
Run Code Online (Sandbox Code Playgroud)

macos buffer nstask system-profiler swift

2
推荐指数
1
解决办法
647
查看次数