Botão de energia do laptop não funciona

3

Eu tenho um notebook (aparentemente bastante exótico) do Dell Latitude XT2 rodando o Lubuntu 12.04, uma nova instalação. Tentei fazer com que o botão liga / desliga funcionasse como esperado (abrindo a caixa de diálogo de logout lubuntu-logout ), mas sem sucesso: o botão liga / desliga não faz nada a não ser forçar o desligamento com um toque longo.

O botão liga / desliga é detectado e funciona. Em xfce4-power-manager-settings, quando eu definir a ação do botão de energia de "Ask" (= open lubuntu-logout ) para "Shutdown", o laptop é desligado com sucesso; pressionar o botão de energia é reconhecido e processado corretamente.

Editar: removi um monte de informações da pergunta, pois parece não estar relacionado ao problema.

    
por dyp 26.09.2012 / 19:32

2 respostas

1

Parece ser um bug conhecido no Lubuntu. Em xfce4-power-manager-settings, existem várias ações para selecionar o botão Power sendo pressionado. Quando você seleciona "Desligar", ele funciona como esperado, mas quando você seleciona "Perguntar", nada acontece.

Uma solução alternativa está no comentário # 10 . Funciona para mim. Parece que há um problema subjacente entre o xfce4 e o LXDE.

Você pode criar o mesmo comportamento com um daemon acpi (adicional), como green7 disse. A versão em sua resposta encerra o PC sem um diálogo, mas discutimos no bate-papo que você pode iniciar lubuntu-logout do script em vez de simplesmente desligar o computador. Isso requer algum trabalho, porém, já que você precisa iniciar o aplicativo de logout como um usuário com permissão para se conectar ao X e fornecer as variáveis de ambiente necessárias (como $DISPLAY ). Como as variáveis env parecem variar entre as distros, acho que você teve que procurá-las cuidadosamente para o LXDE.

    
por dyp 27.09.2012 / 16:11
1

Instale acpi e acpi-support , se ainda não estiver instalado.

  • Ir para /etc/acpi/events .
  • Deve haver um arquivo chamado powerbtn (se não, faça isso). O conteúdo do arquivo na minha instalação é:
# /etc/acpi/events/powerbtn
# This is called when the user presses the power button and calls
# /etc/acpi/powerbtn.sh for further processing.

# Optionally you can specify the placeholder %e. It will pass
# through the whole kernel event message to the program you've
# specified.

# We need to react on "button power.*" and "button/power.*" because
# of kernel changes.

event=button[ /]power
action=/etc/acpi/powerbtn.sh
  • Você pode associar uma ação ao botão de energia editando a variável action neste arquivo.
  • Na minha instalação, o conteúdo de /etc/acpi/powerbtn.sh é:
#!/bin/sh
# /etc/acpi/powerbtn.sh
# Initiates a shutdown when the power putton has been
# pressed.

[ -r /usr/share/acpi-support/power-funcs ] && . /usr/share/acpi-support/power-funcs

# getXuser gets the X user belonging to the display in $displaynum.
# If you want the foreground X user, use getXconsole!
getXuser() {
        user='pinky -fw | awk '{ if ( == ":'$displaynum'" || $(NF) == ":'$displaynum'" ) { print ; exit; } }''
        if [ x"$user" = x"" ]; then
                startx='pgrep -n startx'
                if [ x"$startx" != x"" ]; then
                        user='ps -o user --no-headers $startx'
                fi
        fi
        if [ x"$user" != x"" ]; then
                userhome='getent passwd $user | cut -d: -f6'
                export XAUTHORITY=$userhome/.Xauthority
        else
                export XAUTHORITY=""
        fi
        export XUSER=$user
}

# Skip if we just in the middle of resuming.
test -f /var/lock/acpisleep && exit 0

# If the current X console user is running a power management daemon that
# handles suspend/resume requests, let them handle policy This is effectively
# the same as 'acpi-support's '/usr/share/acpi-support/policy-funcs' file.

[ -r /usr/share/acpi-support/power-funcs ] && getXconsole
PMS="gnome-settings-daemon kpowersave xfce4-power-manager"
PMS="$PMS guidance-power-manager.py dalston-power-applet"

if pidof x $PMS > /dev/null; then
        exit
elif test "$XUSER" != "" && pidof dcopserver > /dev/null && test -x /usr/bin/dcop && /usr/bin/dcop --user $XUSER kded kded loadedModules | grep -q klaptopdaemon; then
        exit
elif test "$XUSER" != "" && test -x /usr/bin/qdbus; then
        kded4pid=$(pgrep -n -u $XUSER kded4)
        if test "$kded4pid" != ""; then
                dbusaddr=$(su - $XUSER -c "grep -z DBUS_SESSION_BUS_ADDRESS /proc/$kded4pid/environ")
                if test "$dbusaddr" != "" && su - $XUSER -c "export $dbusaddr; qdbus org.kde.kded" | grep -q powerdevil; then
                        exit
                fi
        fi
fi

# If all else failed, just initiate a plain shutdown.
/sbin/shutdown -h now "Power button pressed"
    
por green 26.09.2012 / 19:38
Por que estou recebendo notificações do Gwibber sem o Gwibber instalado? ___ qstntxt ___

Não consigo fazer com que os drivers da nVidia sejam carregados no meu Lenovo Y510p. Ele acaba em qualquer um dos dois estados diferentes, ou nada carrega, e eu estou preso no runlevel3, ou eu tenho um desktop super baixa resolução. Eu tentei todos os tutoriais que pude encontrar (embora a maioria diga a mesma coisa)

Se alguém tiver alguma ideia, por favor me ajude. Estou sem opções.

    
___ tag123nvidia ___ Questões relacionadas aos chips gráficos e aos chipsets da placa-mãe NVIDIA e aos drivers relacionados. ___ answer412329 ___

Seu laptop tem uma placa Optimus NVIDIA. Eu suspeito que instalar o Bumblebee é o ticket.

1) Adicione o repositório para obter novos drivers nvidia:

%pre%

2) instale os drivers mais recentes:

%pre%

Instale o Bumblebee ( conforme explicado aqui )

1) Adicione o Bumblebee PPA:

%pre%

2) Instale o Bumblebee e suas dependências:

%pre%

Configure o bumblebee para usar seu novo driver:

1) Abra o arquivo de configuração:

%pre%

2) Altere o Driver, KernelDriver, Librarypath e XorgModulePath da seguinte forma:

%pre%

Reinicie.

EDIT2: Algo a fazer se você não puder usar o optirun (o método do Bumblebee para invocar a placa Nvidia)

Edite a configuração do nvidia do bumblebee:

%pre%

Exclua o "#" na frente de "BusID ..."

EDIT: Se ainda não funcionar

Você pode precisar alterar os parâmetros passados para o kernel. Para testar se esta é a solução:

  1. Quando você conseguir fazer o grub, selecione Linux (mas não aperte enter.)

  2. pressione "e" no teclado

  3. adicione "acpi_osi = Linux" ao final da linha que começa com "linux / boot / ..."

  4. Pressione F10 para inicializar.

Se isso funcionar, você pode tornar a mudança permanente editando / etc / default / grub

  1. digite "sudo gedit / etc / default / grub"
  2. edite a linha com "GRUB_CMDLINE_LINUX_DEFAULT" para que ela seja lida

    GRUB_CMDLINE_LINUX_DEFAULT="respingo silencioso acpi_osi = Linux"

  3. Salvar e quid gedit

  4. execute "sudo update-grub"

___ tag1231204 ___ Quarta versão LTS (Long Term Support) do Ubuntu, codinome Precise Pangolin. Lançado em 26 de abril de 2012, não é mais suportado (EOL) desde 28 de abril de 2017. Perguntas sobre versões não suportadas provavelmente serão encerradas como fora do tópico. ___ tag123lenovo ___ A Lenovo fabrica um grande grupo de produtos relacionados a PCs, incluindo desktops e itens mais portáteis, como Thinkpads e Ideapads, além de servidores e itens de exibição. ___