Você pode desistir da sessão SSH se puder conectar-se diretamente a partir do servidor que executa o aplicativo cliente X em seu computador local que esteja executando um servidor X.
Conecte-se por SSH e, em seguida:
export DISPLAY=your.computer.ip:0.0
Isso dirá ao cliente X que ele deve se conectar ao primeiro servidor X e encontrar o primeiro display X ( 0.0
) em your.computer.ip
. Basta iniciar o aplicativo cliente X como normal e ele deve se conectar ao seu servidor X diretamente, e você pode fechar a sessão SSH.
Você precisará certificar-se de que uma conexão direta possa ser feita de onde quer que o cliente esteja executando em seu sistema local, incluindo quaisquer regras de encaminhamento e encaminhamento de porta. Você também pode ter que configurar seu servidor X local para aceitar conexões da rede (não me lembro se é localhost apenas por padrão). Você também precisará desativar completamente toda a segurança no servidor X (não faça isso, a menos que você esteja em uma LAN privada onde você possa confiar em todos os computadores):
xhost +
ou saiba como configurar e configurar corretamente a autenticação X entre clientes.
Com toda a honestidade, isso é exatamente o que acontece quando você faz isso normalmente através do SSH - exceto que o túnel SSH está sendo usado para encaminhar a conexão, então você não precisa lidar com o encaminhamento de porta, e você não Não é necessário lidar com a alteração da configuração do servidor X para escutar na rede as conexões de entrada (um possível risco de segurança) e o SSH configurará automaticamente toda a segurança X do usuário para que o aplicativo não tenha problemas de conexão. Mesmo rodando através do SSH, o aplicativo está rodando na sessão X nativa , o SSH está apenas sendo usado como proxy.
Você não listou as razões para evitar o SSH, mas, a menos que seja um requisito difícil dado por um chefe que você não pode mudar, eu reconsideraria strongmente usá-lo para o encaminhamento da sessão X. Você não ganhará nada em particular a partir de uma conexão direta, mas o SSH pode simplificar muitos dos pontos problemáticos, pois foi projetado para fazer exatamente isso.