Carlos_Cunha
(usa Linux Mint)
Enviado em 17/04/2022 - 16:58h
marcelocure escreveu:
É exatamente isso eu estou estudando todos os dias mas até agora não achei a resposta.
Eu fiz alguns outros testes sem sucesso mas com respostas diferentes. Vou atualizar aqui assim que estiver no laboratório.
Isso ocorre pq quando vc executa um comando remoto por ssh, a saída dele não vai pra tela de um usuário logado e sim para o seu terminal , e não se pode de uma forma "qualquer" executar coisas na tela de outro usuário, para isso precisado usar o Xauthority.
Dessa forma ira funcionar como vc quer:
ssh root@IP-CLIENT 'env DISPLAY=":0" XAUTHORITY="${XAUTHORITY-$HOME/.Xauthority}" xcalc &> /dev/null &'
OBS:
Aonde esta o xcalc ,vc coloca o seu comando, mas teste com um qualquer para ver se funciona, aqui nos meus teste funcionou perfeitamente, aonde o "xcacl" que é uma calculadora abriu graficamente na tela do usuário.
Aonde esta $HOME, por padrão aqui ele vai puxar o $HOME do root que é usuário do ssh,mas vc precisa passar ali o nome do usuário que graficamente esta logado la na estação, so não precisara mudar se o SShj a foi iniciado com ele.
Exemplo:
Se vc quer que aparace o rdesktop la na tela do usuário badanha1, o comando ficaria assim, se o ssh for como root, se for com user badanha1 de ssh já, ainda não precisa removera variável $HOME
ssh root@IP-CLIENT 'env DISPLAY=":0" XAUTHORITY="${XAUTHORITY-badanha1/.Xauthority}" xcalc &> /dev/null &'
ou
sshpass -p "root" ssh root@IPCLIENTE 'env DISPLAY=":0" XAUTHORITY="${XAUTHORITY-badanha1/.Xauthority}" rdesktop -u conciliador1 -p a IPSERVIDOR &> /dev/null &'
ou
ssh badanha1@IP-CLIENT 'env DISPLAY=":0" XAUTHORITY="${XAUTHORITY-$HOME/.Xauthority}" rdesktop -u conciliador1 -p a IPSERVIDOR &> /dev/null &'
#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#