Debian-Lösung:
Um herauszufinden, ob ein Computer, auf dem Debian ausgeführt wird, ein Laptop ist, versuchen Sie:
[ -d /sys/module/battery ] && echo "Yes it's a laptop"
Dieser Ansatz erfordert keine root
Berechtigungen.
Auf anderen Distributionen scheint dieses Verzeichnis jedoch zumindest in Skelettform zu existieren, unabhängig davon, ob eine Batterie vorhanden ist oder nicht. Aus den Kommentaren (unten) geht hervor, dass diese Distributionen CentOS, Ubuntu und die von Ubuntu abgeleitete Distribution von Linux Mint umfassen.
Allgemeinere Lösung
Obwohl es auf meinen Debian-Systemen nicht funktioniert, funktioniert die von Alex vorgeschlagene Lösung Berichten zufolge auf Ubuntu & CentOS. Aus Gründen der Allgemeinheit wird daher eine mögliche kombinierte Lösung vorgeschlagen:
[ -f /sys/module/battery/initstate ] || [ -d /proc/acpi/battery/BAT0 ] && echo "Yes it's a laptop"
Dieser Ansatz erfordert keine root
Berechtigungen.
Mehr Details
Auf einem Debian-System mit einer tatsächlichen Batterie /sys/module/battery
enthält das Verzeichnis viele Dateien. Eine solche Datei /sys/module/battery/initstate
enthält den Text live
. Unter Ubuntu existieren diese Dateien jedoch nicht einmal auf tatsächlichen Laptops. Es scheint also, dass das Vorhandensein der Datei /sys/module/battery/initstate
zum Testen eines Laptops unter Debian verwendet werden kann.
Auf Debian-Systemen, die ich getestet habe, /proc/acpi/battery
existierte das Verzeichnis dagegen nicht.