Melihat apakah sistem memiliki baterai atau tidak tidak dapat diandalkan - UPS yang terhubung ke sistem (tidak hanya untuk daya, tetapi melalui USB juga untuk pematian otomatis dan pemantauan baterai) mungkin muncul sebagai baterai.
Namun ada cara andal yang bagus:
dmidecode --string chassis-type
Pada laptop, ini akan mengembalikan salah satu dari "Laptop", "Notebook" "Portable", atau "Sub Notebook" (tergantung pada apa yang dikodekan pabrikan ke dalam BIOS). Ada daftar lengkap kemungkinan nilai di "Identifying the Chassis Type of a Computer" di Panduan Pembuatan Skrip Windows 2000 - jangan khawatir karena ini adalah halaman Microsoft TechNet, ini bukan khusus OS.
dmidecode juga dapat memperoleh informasi tentang pabrikan perangkat keras, nomor seri sistem (terkadang), dll.
Untuk menghindari penggunaan sudo, Anda dapat membaca isi /sys/class/dmi/id/chassis_type
. Tampaknya sesuai dengan tabel berikut:
- 1 Lainnya
- 2 Tidak diketahui
- 3 Desktop
- 4 Desktop Profil Rendah
- 5 Kotak Pizza
- 6 Menara Mini
- 7 Menara
- 8 Portabel
- 9 Laptop
- 10 Buku Catatan
- 11 Genggam
- 12 Stasiun Dok
- 13 Semuanya dalam Satu
- 14 Sub Buku Catatan
- 15 Hemat Ruang
- 16 Kotak Makan Siang
- 17 Sasis Sistem Utama
- 18 Sasis Ekspansi
- 19 Sub Sasis
- 20 Sasis Ekspansi Bus
- 21 Sasis Periferal
- 22 Sasis Penyimpanan
- 23 Sasis Pemasangan Rak
- 24 PC Casing Tersegel
Solusi Debian:
Untuk mengetahui apakah mesin yang menjalankan Debian adalah laptop, coba:
[ -d /sys/module/battery ] && echo "Yes it's a laptop"
Pendekatan ini tidak memerlukan root
hak istimewa.
Namun, pada distribusi lain, direktori ini tampaknya ada, setidaknya dalam bentuk kerangka, terlepas dari ada atau tidaknya baterai. Dari komentar (di bawah), distribusi ini termasuk CentOS, Ubuntu, dan distribusi Linux Mint turunan Ubuntu.
Solusi Lebih Umum
Meskipun tidak bekerja pada sistem Debian saya, solusi yang diusulkan oleh Alex dikabarkan bekerja di Ubuntu &CentOS. Jadi menyarankan, untuk umum yang lebih besar, kemungkinan solusi gabungan:
[ -f /sys/module/battery/initstate ] || [ -d /proc/acpi/battery/BAT0 ] && echo "Yes it's a laptop"
Pendekatan ini tidak memerlukan root
hak istimewa.
Detail Lebih Lanjut
Pada sistem Debian dengan baterai aktual, /sys/module/battery
direktori berisi banyak file. Salah satu file tersebut adalah /sys/module/battery/initstate
yang berisi teks live
. Namun, di Ubuntu, file-file ini tidak ada bahkan di laptop sebenarnya. Dengan demikian, terlihat adanya file /sys/module/battery/initstate
dapat digunakan untuk menguji laptop yang menjalankan Debian.
Sebaliknya, pada sistem Debian yang saya uji, /proc/acpi/battery
direktori tidak ada.