Solução Debian:
Para descobrir se uma máquina executando o Debian é um laptop, tente:
[ -d /sys/module/battery ] && echo "Yes it's a laptop"
Essa abordagem não requer root
privilégios.
Em outras distribuições, no entanto, esse diretório parece existir, pelo menos na forma de esqueleto, independentemente de haver ou não uma bateria. A partir dos comentários (abaixo), essas distribuições incluem o CentOS, Ubuntu e a distribuição do Linux Mint derivada do Ubuntu.
Solução mais geral
Embora não funcione nos meus sistemas Debian, a solução proposta por Alex supostamente funciona no Ubuntu e no CentOS. Assim, sugere, para maior generalidade, uma possível solução combinada:
[ -f /sys/module/battery/initstate ] || [ -d /proc/acpi/battery/BAT0 ] && echo "Yes it's a laptop"
Essa abordagem não requer root
privilégios.
Mais detalhes
Em um sistema Debian com uma bateria real, o /sys/module/battery
diretório contém muitos arquivos. Um desses arquivos é o /sys/module/battery/initstate
que contém o texto live
. No Ubuntu, no entanto, esses arquivos não existem mesmo em laptops reais. Portanto, parece que a presença do arquivo /sys/module/battery/initstate
pode ser usada para testar um laptop executando o Debian.
Nos sistemas Debian que testei, pelo contrário, o /proc/acpi/battery
diretório não existia.