如果 /dev 应该列出所有已连接的设备,例如 USB、硬盘、网络摄像头,那么为什么在我的 ubuntu 15 VM 上看不到显示器?我运行的是桌面版,所以应该有一个显示器。
或者它可能被命名为不同的东西?
答案1
一般来说,Unix系统上的设备文件只是用户程序访问设备驱动程序的一种方式;不存在从设备文件到物理硬件的一对一映射,并且并非所有硬件都有设备文件(甚至设备驱动程序)。内核本身不使用设备文件与硬件交互。
正如所指出的液晶屏047,网卡根本没有设备文件。程序使用 API 与网络交互,例如这BSD 套接字 API;甚至ethtool
使用套接字ioctl()
操纵网络接口。
因此,在确定您的显示器是否有设备文件时,考虑程序与其交互的方式很有用。直接与显示器交互的工具并不多......程序在显示器上显示信息通过显卡,并且确实有设备文件:/dev/dri/*
等/dev/fb*
。但这不是显示器。据我所知,唯一与显示器直接交互的程序是背光控制程序ddccontrol
;前者通常使用 ACPI 或笔记本电脑专用设备(因此显示器的背光只是系统功耗模型的一部分),并ddccontrol
使用I²C总线,其设备在/dev/i2c-*
模块i2c-dev
加载后出现。