Descubra se o laptop está ancorado no Linux


1

Recentemente, comprei um laptop Lenovo X200s com uma docking station que usei no Ubuntu 9.10. Quando o laptop está encaixado, uso teclado e trackball. Eu gostaria de ter algumas opções de configuração diferentes quando o laptop está encaixado versus quando não está encaixado. Existe algum evento que eu possa conectar e executar um script quando o laptop é encaixado / desencaixado? Caso contrário, existe alguma maneira de descobrir se o laptop está encaixado? Como um comando "is_docked".

obrigado


Embora essa seja uma pergunta muito superusuário, você pode obter respostas melhores se fizer isso no stackoverflow.com de maneira programadora
Josh Hunt

Respostas:


2

Consulte o artigo Linux Laptop-HOWTO e, especialmente, o capítulo Docking Station / Port Replicator , onde é descrito um script que detecta o estado de encaixe do laptop.

A idéia básica é examinar / proc para dispositivos que estão disponíveis apenas quando estão no estado ancorado.

No script abaixo, se o laptop estiver na estação de acoplamento, 4 slots PCMCIA estarão disponíveis, enquanto se for autônomo, apenas 2 slots estarão disponíveis:

# check, if Laptop is in docking-station (4 PCMCIA slots available)
# or if it is standalone (2 slots available)
# Start after cardmgr has started
#
# Friedhelm Kueck mailto:fk@impress.de
# 08-Sep-1998
#
# Find No. of Sockets
SOCKETS=`tail -1 /var/run/stab | cut -d ":" -f 1`

case "$SOCKETS" in

"Socket 3")
echo Laptop is in Dockingstation ...
echo Disabeling internal LCD Display for X11
echo
cp /etc/XF86Config_extern /etc/XF86Config
#
# Setup of PCMCIA Network Interface after start of cardmge
#
echo
echo "Setting up eth0 for use at Network ..."
echo
/sbin/ifconfig eth0 10.1.9.5 netmask 255.255.0.0 broadcast 10.1.255.255
/sbin/route add -net 10.1.0.0 gw 10.1.9.5
/sbin/route add default gw 10.1.10.1
;;

"Socket 1")
echo Laptop is standalone
echo Disabling external Monitor for X11
cp /etc/XF86Config_intern /etc/XF86Config
echo
echo Network device NOT setup
;;
esac

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.