我需要以编程方式检测Linux是否在ThinkPad上运行.
shell脚本是理想的,但我可以通过下载一些源代码并在机器上编译它来以编程方式生成任何二进制文件,如果只有自定义程序能够可靠地执行此操作.
重点是:可靠性/准确性.如果有疑问,我不想运行脚本.
我有预感这可能是使用dmesg或lshw之类的文本解析巧妙地完成的,但哪种方法最可靠?
限制:作为普通用户运行,作为登录脚本的一部分,不能暂时提升权限以检测机器模型.
许可:只要需要,速度不是一个因素.
环境:Ubuntu,但Linux的普遍性很好.开发人员级构建工具的可用性(可以假设GCC“正常工作”).登录脚本由bash运行,因此该语法中的代码片段可以更直接地使用.
解决方法:
以下适用于我的Lenovo ThinkPad(运行FC17):
cat /sys/devices/virtual/dmi/id/chassis_vendor
打印:
LENOVO
可以检查/ proc / acpi / ibm /的以下目录.您可以在/ proc / acpi / ibm / driver中查找“ThinkPad ACPI Extras”.