Slackware 11 (current) com KDE e Hald
Dica publicada em Linux / Introdução
Slackware 11 (current) com KDE e Hald
O KDE que está na árvore oficial do Slackware não foi compilado com o suporte ao hald e além disso o hald não está na árvore de pacotes.
A solução é baixar os fontes e compilar, ou de uma maneira menos drástica e mais fácil para quem esta iniciando, seguir esta dica.
Para contornar o problema vamos instalar o kdebase já compilado com suporte ao hald, depois instalar o hald e o dbus, alterar as configurações destes e por fim, fazer a coisa acontecer.
Antes que me esqueça, não desinstale a versão atual do KDE, será necessário as duas instaladas para o correto funcionamento. Sei que é estranho mas é assim mesmo que funciona.
Baixando os pacotes:
dbus:
hald:
kdebase com suporte ao hald:
Instalando tudo:
# installpkg *.tgz
Configurando:
# vi /etc/dbus-1/system.d/hal.conf
Encontre a linha:
</busconfig>
Antes dela vamos criar uma outra police. Acrescente as seguintes linhas:
A solução é baixar os fontes e compilar, ou de uma maneira menos drástica e mais fácil para quem esta iniciando, seguir esta dica.
Para contornar o problema vamos instalar o kdebase já compilado com suporte ao hald, depois instalar o hald e o dbus, alterar as configurações destes e por fim, fazer a coisa acontecer.
Antes que me esqueça, não desinstale a versão atual do KDE, será necessário as duas instaladas para o correto funcionamento. Sei que é estranho mas é assim mesmo que funciona.
Baixando os pacotes:
dbus:
hald:
kdebase com suporte ao hald:
Instalando tudo:
# installpkg *.tgz
Configurando:
# vi /etc/dbus-1/system.d/hal.conf
Encontre a linha:
</busconfig>
Antes dela vamos criar uma outra police. Acrescente as seguintes linhas:
<policy group="100">
<allow send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/>
<allow send_interface="org.freedesktop.Hal.Device.LaptopPanel"/>
<allow send_interface="org.freedesktop.Hal.Device.Volume"/>
<allow send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/>
</policy>
<allow send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/>
<allow send_interface="org.freedesktop.Hal.Device.LaptopPanel"/>
<allow send_interface="org.freedesktop.Hal.Device.Volume"/>
<allow send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/>
</policy>
Estas linhas dão permissão a todos os usuários (grupo users) para montar e desmontar os periféricos.
Agora uma boa idéia é colocar no script de desligamento da máquina os comandos para pararem o hald e o dbus.
# vi /etc/rc.d/rc.6
Acrescente estas linhas, eu coloquei no final, mas o importante é:
Primeiro para-se o hald depois o DBUS:
# Stop HALD:
if [ -x /etc/rc.d/rc.hald ]; then
. /etc/rc.d/rc.hald stop
fi
# Stop D-BUS:
if [ -x /etc/rc.d/rc.messagebus ]; then
. /etc/rc.d/rc.messagebus stop
fi
if [ -x /etc/rc.d/rc.hald ]; then
. /etc/rc.d/rc.hald stop
fi
# Stop D-BUS:
if [ -x /etc/rc.d/rc.messagebus ]; then
. /etc/rc.d/rc.messagebus stop
fi
Estamos quase, agora só falta setar as permissões ao script de inicialização do dbus e do hald.
# chmod +x /etc/rc.d/rc.hald
# chmod +x /etc/rc.d/rc.messagebus
Agora uma verificação no arquivo /etc/rc.d/rc.local
# vi /etc/rc.d/rc.local
# To disable udev, chmod rc.udev to 644
if [ -x /etc/rc.d/rc.udev ]; then
echo "Starting Udev"
/etc/rc.d/rc.udev start
fi
# To disable dbus, chmod rc.messagebus to 644
if [ -x /etc/rc.d/rc.messagebus ]; then
echo "Starting D-BUS Messaging Subsystem"
. /etc/rc.d/rc.messagebus start
fi
# To disable hal, chmod rc.hal to 644
if [ -x /etc/rc.d/rc.hald ]; then
echo "Starting HAL"
# wait a few seconds to let udev complete its
# initialization. Otherwise hald will not recognize CD/DVD
# drives and will not start polling them
( sleep 2; /etc/rc.d/rc.hald start ) &
fi
if [ -x /etc/rc.d/rc.udev ]; then
echo "Starting Udev"
/etc/rc.d/rc.udev start
fi
# To disable dbus, chmod rc.messagebus to 644
if [ -x /etc/rc.d/rc.messagebus ]; then
echo "Starting D-BUS Messaging Subsystem"
. /etc/rc.d/rc.messagebus start
fi
# To disable hal, chmod rc.hal to 644
if [ -x /etc/rc.d/rc.hald ]; then
echo "Starting HAL"
# wait a few seconds to let udev complete its
# initialization. Otherwise hald will not recognize CD/DVD
# drives and will not start polling them
( sleep 2; /etc/rc.d/rc.hald start ) &
fi
As linhas acima já devem existir, se não existirem acrescente-as.
Um detalhe que me deixou com a cabeça doendo na minha instalação, o script chamado para inicializar o hald era o rc.hal, que não existe, é só mudar para rc.hald como demonstrado acima.
Depois é só reiniciar o KDE e ativar os daemons:
# /etc/rc.d/rc.local
Por essas e outras dificuldades que deixei o Slack de lado no desktop - apenas no desktop. Não que eu não goste dele, ou que o considere um sistema ruim. É o exato contrário. Mas infelizmente não tenho tido tempo para fazer ajustes finos para que o sistema possa fazer coisas simples.