O que o Ubuntu faz quando eu sinalizo o undocking para um laptop?

2

Parece que o Ubuntu executa algum script ou comando quando eu sinalizo que quero desancorar meu laptop pressionando o botão de desencaixe no dock. A coisa mais visível que acontece é que a resolução no monitor externo é alterada.

Depois de preparar o desencaixe, meu laptop ainda está conectado à tomada de energia, saída VGA e áudio através da estação, mas não a dispositivos USB ou unidades óticas. Estou executando o 11.04 em um ThinkPad X61s com X6 UltraBase.

O que acontece quando eu sinalizo o undocking?

Isto é o que o dmesg diz depois de pressionar o botão de desencaixe:

[81459.990682] ata1.00: disabled
[81459.990727] ata1.00: detaching (SCSI 0:0:0:0)
[81459.991722] ACPI: \_SB_.GDCK - undocking
[81460.009462] ehci_hcd 0000:00:1a.7: power state changed by ACPI to D0
[81460.020252] ehci_hcd 0000:00:1a.7: BAR 0: set to [mem 0xfe226c00-0xfe226fff] (PCI address [0xfe226c00-0xfe226fff])
[81460.020265] ehci_hcd 0000:00:1a.7: power state changed by ACPI to D0
[81460.020281] ehci_hcd 0000:00:1a.7: restoring config space at offset 0xf (was 0x300, writing 0x30b)
[81460.020309] ehci_hcd 0000:00:1a.7: restoring config space at offset 0x1 (was 0x2900000, writing 0x2900102)
[81460.020338] ehci_hcd 0000:00:1a.7: PME# disabled
[81460.020346] ehci_hcd 0000:00:1a.7: power state changed by ACPI to D0
[81460.020352] ehci_hcd 0000:00:1a.7: power state changed by ACPI to D0
[81460.020363] ehci_hcd 0000:00:1a.7: PCI INT C -> GSI 22 (level, low) -> IRQ 22
[81460.020372] ehci_hcd 0000:00:1a.7: setting latency timer to 64
[81460.020432] ehci_hcd 0000:00:1d.7: power state changed by ACPI to D0
[81460.040071] ehci_hcd 0000:00:1d.7: BAR 0: set to [mem 0xfe227000-0xfe2273ff] (PCI address [0xfe227000-0xfe2273ff])
[81460.040085] ehci_hcd 0000:00:1d.7: power state changed by ACPI to D0
[81460.040104] ehci_hcd 0000:00:1d.7: restoring config space at offset 0xf (was 0x400, writing 0x40b)
[81460.040133] ehci_hcd 0000:00:1d.7: restoring config space at offset 0x1 (was 0x2900000, writing 0x2900102)
[81460.040170] ehci_hcd 0000:00:1d.7: PME# disabled
[81460.040178] ehci_hcd 0000:00:1d.7: power state changed by ACPI to D0
[81460.040184] ehci_hcd 0000:00:1d.7: power state changed by ACPI to D0
[81460.040195] ehci_hcd 0000:00:1d.7: PCI INT D -> GSI 19 (level, low) -> IRQ 19
[81460.040204] ehci_hcd 0000:00:1d.7: setting latency timer to 64
[81460.040503] ehci_hcd 0000:00:1d.7: PCI INT D disabled
[81460.040552] ehci_hcd 0000:00:1d.7: PME# enabled
[81460.061657] ehci_hcd 0000:00:1d.7: power state changed by ACPI to D3
[81460.200414] usb 1-4: USB disconnect, address 14
[81462.220088] ehci_hcd 0000:00:1a.7: PCI INT C disabled
[81462.220169] ehci_hcd 0000:00:1a.7: PME# enabled
[81462.240115] ehci_hcd 0000:00:1a.7: power state changed by ACPI to D3
    
por Seppo Erviälä 29.06.2011 / 18:06

2 respostas

2

/etc/acpi/events/lenovo-undock ou algum outro arquivo semelhante correspondente ao seu laptop define o código de evento ACPI para o seu botão de desencaixe e o mapeia para uma chamada para /etc/acpi/undock.sh .

/etc/acpi/undock.sh é executado por meio de drivers que correspondem a dispositivos que hotplug através de sua estação de encaixe e sinaliza esses drivers para desconectar.

    
por Robie Basak 16.07.2012 / 01:17
0

Você também pode usar udev , veja aqui .

    
por Martin Ueding 16.08.2012 / 00:03