Bem, esse recurso será adicionado na versão 0.8, mas como ela ainda não está disponível nos repositórios, e é bem chata de compilar, resolvi fazer uma pequena "gambiarra" até que a nova versão esteja disponível.
Pra quem lida com dezenas de servidores, é interessante ter uma ferramenta integrada para todos.
O remmina chama o binário rdesktop que fica em /usr/bin, passando os parametros da conexao como argumentos. A idéia é interceptar essa chamada ao rdesktop e então chamar um gnome-terminal fazendo ssh ao servidor, caso o domínio seja configurado como SSH.
Como interceptar essa chamada? Vamos aproveitar uma característica interessante, a precedência de localização dos binários. Para quem não sabe, quando chamamos um certo programa apenas pelo nome, o interpretador de comandos procura o arquivo de programa em certo diretórios, definidos pela variável $PATH. Note que até mesmo o Windows utiliza este conceito com a variável %path%.
Vejamos o PATH do Ubuntu 10.04:
echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Como o rdesktop está em /usr/bin, se colocarmos outro programa também chamado rdesktop em /usr/local/bin ele será chamdo em vez do /usr/bin/rdesktop
O que temos que fazer agora é criar o script /usr/local/bin/rdesktop que decidirá se vai chamar o /usr/bin/rdesktop ou um terminal com ssh
#!/bin/bash
echo $@ | grep "SSH"
if [ $? = 1 ]; then
/usr/bin/rdesktop $@
else
U=`echo $@ | cut -f2 -d\ `
H=`echo $@ | sed -re 's/.*\ (.*):3389/\1/g'`
gnome-terminal -e "ssh $U@$H"
fi
Basta salvar o script acima como /usr/bin/rdesktop e dar um chmod 755 /usr/bin/rdesktop, para marcá-lo como executável.
Depois, para utilizar uma conexão ssh, basta criar uma nova conexão RDP, especificando apenas o Servidor e o nome de usuário ( as outras configurações são irrelevantes). No lugar do domínio, coloque SSH (em maiúculas)
Se tiver dúvidas em enteder o script, poste um comentário que terei prazer em explicar detalhadamente.
Nenhum comentário:
Postar um comentário