Introdução
De acordo com
Fabio Erculiani, o desenvolvedor do
Sabayon, depende da sua configuração:
Mas, há alguns dias, nossos colegas aqui do VOL,
Vinicius Silva e
Vinicius Almeida, reportaram que o botão de "Desligar" o micro, havia sumido do menu "Sistema > Desligar", apenas no ambiente gráfico
MATE:
Abri uma sessão em MATE, e pude confirmar o problema, também em meu sistema. Veja figura 1:
Fui verificar na internet o por quê, e descobri que o pacote "consolekit" era necessário para que o botão de desligar do MATE funcionasse:
O que ocorre, é que com a progressiva migração do
udev e do
OpenRC para o
Systemd, o Time Sabayon "deprecou" (tornou obsoleto) o pacote "consolekit", e com isso, o Sabayon MATE não desliga mais graficamente.
Soluções
Vamos procurar solucionar ou, pelo menos, contornar o problema. O Método 1, do amigo
Nicolo é o mais fácil, mas, se você preferir continuar trabalhando como pacote clássico "consolekit", use os métodos 2 ou 3.
- Método 1:
Este é o meio mais fácil e melhor.
Após a observação do colega aqui do VOL, Nicolo (méritos pelo procedimento), no mesmo tópico citado na introdução, verifiquei que o problema ocorria não só no
Sabayon MATE, mas também no
Sabayon KDE.
A simples instalação do pacote "kshutdown", reinstala o pacote "sabayon-version" como dependência, e remove (se estiver instalado) o pacote "consolekit", agora incompatível, solucionando o problema.
Você pode, depois, remover o pacote "consolekit" do nível de inicialização e fazer "reboot" do computador.
Os comandos, em conjunto, são estes:
# equo up
# equo i kshutdown
# rc-update del consolekit boot
- Método 2:
Edite o arquivo "/etc/entropy/client.conf". Na linha escrito "ignore spmdowngrades", troque "disable" por "enable" e salve.
Isto é necessário, ou seu Sabayon começará a propor fazer "downgrades" dos pacotes, ao invés de atualizar.
Feito isso, Você já pode usar
Entropy junto com Portage.
Como o pacote foi "tirado" do
Entropy, será necessário instalá-lo com
Portage. Para isso, atualize o banco de dados do Portage:
# emerge --sync
Agora instale o pacote
consolekit do
Gentoo, com o Portage. É necessário fazê-lo com opções sem dependências, senão, você modifica várias coisas do seu
udev ou
systemd.
Execute os comandos abaixo, instalando e depois checando se está instalado:
# emerge -av --nodeps sys-auth/consolekit
$ emerge -s consolekit
Feito isso, mascare todas as versões do pacote, para que não seja mais eliminado, nem atualizado:
# echo sys-auth/consolekit >> /etc/portage/package.mask
- Método 3:
Não querendo mexer com Portage e nem compilar nada, tente este método 3, mas com uma ressalva: tome bastante cuidado em simular a instalação antes, posto que, por causa das dependências reversas, pode ser que mesmo com o comando sem dependências, ele proponha alterar o
udev ou o
systemd.
Feita a ressalva, vamos ao método.
Da página dos pacotes de Sabayon:
Ou, da minha área do
Dropbox:
Baixe uma das versões de "consolekit", salve numa pasta que conheça a localização e copie para "/var/lib/entropy/client/packages/packages/
ARQ/5", onde
ARQ é a sua arquitetura (32 ou 64 bits).
Primeiro SIMULE, depois instale e mascare o pacote com os comandos:
cd /
$ cd var/lib/entropy/client/packages/packages/ARQ/5
# equo i --pretend --nodeps sys-auth:consolekit-versão.tbz2 --nodeps
# equo i --ask sys-auth:consolekit-versão.tbz2
# equo mask consolekit
Onde "consolekit-versão.tbz2", é o nome completo do arquivo que baixou (pode ser obtido diretamente, digitando apenas parte do nome e depois apertando Tab). Exemplo, para a versão r1, seria "sys-auth:consolekit-0.4.5_p20120320-r1~0.tbz2".
Se desejar ver mais detalhes da instalação de arquivos "offline" em Sabayon, consulte estes artigos e dicas:
Nestes métodos de instalação, preste atenção, porque você NÃO PODE desinstalar, nem modificar nada, seja do
systemd, seja do
udev, ou perderá o boot.
Ativando
Agora, resta reativar o "consolekit". Se você estiver usando udev e OpenRC, com ou sem systemd junto, execute este comando:
# rc-update add consolekit boot
# /etc/init.d/consolekit start
Ignore quaisquer mensagens de que o serviço já estava adicionado, porque ele estava inativo antes.
Se você usar systemd puro, os comandos são estes:
# systemctl enable consolekit-daemon.service
# systemctl start consolekit-daemon.service
Verificando
Finalmente, feche a sessão e reinicie o micro. Você pode fazê-lo graficamente. Feche a sessão, em "Sistema", no menu do MATE e na tela de login, vá em "Menu" e escolha a opção "Reiniciar".
Ou, pode fazer com os comandos:
# shutdown -r now
Ou:
# init 6
Ou:
# reboot
Detalhes:
Agora, verifique no painel superior do MATE e verá que tudo deverá estar funcionando:
Boa sorte!