Para o pessoal que gosta de compartilhar seus arquivos na rede P2P o
Amule é uma ótima pedida. Mas para a galera que compartilha seu PC com mais pessoas na casa é chato pois se minha esposa resolve logar meu amule não iniciará.
Uma solução prática é executar o amule como um daemon.
Instale o amule pelo pacman (ou compile os fontes com o ABS).
# pacman -Sy amule
Agora logue com seu usuário e abra e configure normalmente seu Amule, quando tudo estiver como você gosta teste-o e feche-o.
Execute o amuled uma vez para criar uma configuração por omissão:
amuled
O programa será executado rapidamente, mostrará alguns erros e sairá sozinho, é normal.
Antes de tudo será necessário criar uma senha hash, para tanto execute a seguinte linha, substituindo "a_sua_password" pela senha que quer usar para acessar o programa:
echo -n a_sua_password | md5sum | cut -d ' ' -f 1
Copie o resultado.
Ainda com o seu usuário abra um novo terminal e vá até a pasta ~/.aMule:
cd .aMule
Edite o arquivo amule.conf:
vi amule.conf
Configure as portas conforme sua preferência através das linhas:
Port =4662
UDPPort=4672
UDPDisable=0
Ative a opção para aceitar conexões externas colocando "1":
AcceptExternalConnections=1 #default 0
Procure essa linha para colar a senha gerada:
ECPassword=[cole a Hash da password aqui]
Salve o arquivo e feche o editor de texto.
Agora vamos testar o amuled:
amuled
Nesse ponto não deve haver nenhum erro. Agora teste o acesso ao amuled através do programa "aMuleGUI", que pode ser acessado através de seu menu de aplicativos. Ele apresentará uma tela de login onde você entrará com sua senha (não a senha que o terminal gerou, mas sim aquela que você digitou). Agora você será apresentado a um interface semelhante ao amule desktop.
Agora feche a interface e saia do amuled com um ctrl+d.
Agora precisaremos criar um script para executar o amuled como um daemon.
Abra como root seu editor de texto e cole esse script:
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
PID=`pidof -o %PPID /usr/bin/amuled`
case "$1" in
start)
stat_busy "Starting amuled"
[ -z "$PID" ] && su -l p2p -c "/usr/bin/amuled &" 2&>1
if [ $? -gt 0 ]; then
stat_fail
else
echo $PID > /var/run/amuled.pid
add_daemon amuled
stat_done
fi
;;
stop)
stat_busy "Stopping amuled"
[ ! -z "$PID" ] && kill $PID &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
rm_daemon amuled
stat_done
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
exit 0
Vá até a oitava linha onde se lê "[ -z "$PID" ] && su -l p2p -c "/usr/bin/amuled &" 2&>1" e substitua "p2p" pelo usuário que deverá executar o programa.
Salve o arquivo como "amuled" na pasta "/etc/rc.d".
Altere as permissões de execução da seguinte forma:
# chmod 755 amuled
Por último edite seu rc.conf:
# vi /etc/rc.conf
E adicione o amuled na linha DAEMONS se preferir coloque um @ para executálo em segundo plano:
DAEMONS=(...@amuled...)
Pronto, agora é só reiniciar a máquina que o amuled será executado em segundo plano independentemente de qual usuário está logado, ou mesmo se nenhum usuário estiver logado. E o legal é que você pode acessar o amuled através do aMuleGUI utilizando qualquer usuário, bastando digitar a sua senha.
Lembre-se de configurar corretamente sua política de firewall para não deixar nenhuma brecha de segurança e para conseguir uma ID Alta.