Warum ist der Monitor unter Linux nicht unter / dev aufgeführt?

7

Wenn / dev alle angeschlossenen Geräte wie USB, HDD, Webcam auflisten soll, wie kommt es, dass auf meiner Ubuntu 15-VM kein Monitor angezeigt wird? Ich verwende die Desktop Edition, daher sollte es einen Monitor geben.

Oder heißt es vielleicht etwas anderes?

D. Zou
quelle
Möglicherweise kommuniziert das Betriebssystem nicht mit dem Monitor?
Citylight
1
Einige physische Geräte benötigen eine Schnittstelle im Dateisystem, andere nicht. Netzwerkkarten haben auch keine entsprechenden Einträge /dev.
lcd047
Wie konnte das Betriebssystem nicht mit dem Monitor kommunizieren? Wie sonst wird etwas angezeigt?
D. Zou
1
Meistens kommuniziert das Betriebssystem mit der Grafikkarte und die Grafikkarte mit dem Monitor.
Gilles 'SO - hör auf böse zu sein'

Antworten:

10

Gerätedateien auf Unix-Systemen sind im Allgemeinen nur eine Möglichkeit für Benutzerprogramme, auf Gerätetreiber zuzugreifen. Es gibt keine Eins-zu-Eins-Zuordnung von Gerätedateien zu physischer Hardware, und nicht jede Hardware verfügt über eine Gerätedatei (oder sogar einen Gerätetreiber). Der Kernel selbst verwendet keine Gerätedateien, um mit Hardware zu interagieren.

Wie von lcd047 hervorgehoben , haben Netzwerkkarten überhaupt keine Gerätedateien. Programme interagieren mit dem Netzwerk über APIs, z. B. die BSD-Socket-API . verwendet sogar ethtooleinen Socket und ioctl()manipuliert die Netzwerkschnittstelle.

Wenn Sie also feststellen, ob Ihr Monitor über eine Gerätedatei verfügt, sollten Sie sich überlegen, wie Programme mit ihm interagieren. Es gibt nicht viele Werkzeuge , die interact direkt mit einem Monitor ... Programmen Anzeigeinformationen auf einem Monitor über eine Grafikkarte und die Gerätedateien hat: /dev/dri/*, /dev/fb*etc. Aber , die nicht der Monitor ist. Die einzigen mir bekannten Programme, die direkt mit einem Monitor interagieren, sind Programme zur Steuerung der Hintergrundbeleuchtung und ddccontrol; Die ersteren verwenden im Allgemeinen ACPI- oder Laptop-spezifische Geräte (die Hintergrundbeleuchtung des Monitors ist also nur ein Teil des Stromverbrauchsmodells des Systems) und ddccontrolverwenden den I²C- Bus, dessen Geräte so aussehen, als /dev/i2c-*ob das i2c-devModul geladen wäre.

Stephen Kitt
quelle