Получение базовой информации о машине под OS X
Я написал очень короткую программу для сбора некоторых файлов журналов, которые выкладываются сторонним приложением. Он архивирует файлы и отправляет их мне по электронной почте.
Я также хотел бы собрать некоторую информацию о машине, и особенно о ее графических возможностях. В основном я хотел бы две страницы из системного отчета, оборудования и графики / дисплеев. Гештальт ушел, поэтому я ищу другие решения.
Я нашел решение здесь на SO, чтобы получить модель машины с использованием sysctlbyname, но, похоже, значения здесь довольно ограничены.
Итак, есть ли у кого-нибудь простой способ получить информацию о графическом процессоре?
2 ответа
Следуя ответу Марка выше, вот как это сделать в (Swift) коде. Во-первых, я использовал это решение для запуска команды оболочки:
func shell(launchPath: String, arguments: [String]) -> String
{
let task = NSTask()
task.launchPath = launchPath
task.arguments = arguments
let pipe = NSPipe()
task.standardOutput = pipe
task.launch()
let data = pipe.fileHandleForReading.readDataToEndOfFile()
let output: String = NSString(data: data, encoding: NSUTF8StringEncoding)! as String
return output
}
Затем, немного поиграв в system_profiler, я обнаружил, что меня интересуют два ключа: SPHardwareDataType
а также SPDisplaysDataType
, Это заставило меня задуматься, где находится system_profiler, но which system_profiler
решил это. И вот, наконец, я получил то, что мне было нужно:
let ai = shell("/usr/sbin/system_profiler", arguments: ["SPHardwareDataType", "SPDisplaysDataType"])
Результатом является отформатированная строка, которая в значительной степени удобна для использования.
Используя System Profiler из командной строки в терминале или выполнив его как NSTask:
/usr/sbin/system_profiler | awk '/^Graphics/{p=1;print;next} /^[A-Z]/{p=0} p'
Выход
Graphics/Displays:
AMD Radeon R9 M395:
Chipset Model: AMD Radeon R9 M395
Type: GPU
Bus: PCIe
PCIe Lane Width: x16
VRAM (Total): 2048 MB
Vendor: ATI (0x1002)
Device ID: 0x6920
Revision ID: 0x0001
ROM Revision: 113-C905AA-799
EFI Driver Version: 01.00.799
Displays:
iMac:
Display Type: Retina LCD
Resolution: 5120 x 2880 Retina
Retina: Yes
Pixel Depth: 30-Bit Color (ARGB2101010)
Main Display: Yes
Mirror: Off
Online: Yes
Built-In: Yes