Encaminhamento X11 através de SSH

Encaminhamento X11 através de SSH

Tenho brincado com o encaminhamento do X11 nas últimas horas e até agora consegui encaminhar o servidor X do meu PC desktop para o meu laptop, usando o X11VNC como servidor e o X2VNC como cliente. X2VNC usa Xinerama para fornecer um comportamento de tela dupla entre meu laptop e meu PC desktop.

Na verdade, é realmente ótimo!

Eu sei que a maioria dos sistemas Linux executa ambientes Xorg e desktop em TTY7.

Portanto, eu estava pensando: é de alguma forma possível ter o túnel VNC vinculado ao seu próprio TTY?

Seria ótimo poder alternar entre dois TTYs para escolher qual máquina gerenciar. E eu gostaria mais dessa abordagem do que usar o Xinerama ou uma GUI.

Responder1

Acho que isso não é realmente uma resposta, mas pode ser um ponto de partida.

Comecei vários servidores X extras usando o xinit assim;

xinit -- :1 tty3   
xinit -- :2    
xinit -- :3 tty5    
xinit -- :4

Parece que posso até iniciar várias sessões do gnome3 e do xfce em diferentes monitores virtuais

startx -- :2  tty3   
startx -- :3  tty4

E agora posso começar as coisas nessas sessões exportando o DISPLAY var export DISPLAY=:3e então selecioná-lo usando Ctrl-Alt-F2, F3 etc.

No entanto, não tenho absolutamente nenhuma ideia do que estou fazendo (estou trocando DISPLAY, sessão, console ou tty?), é muito legal, como você disse... ;-)

[tomh@workstation001 ~]$ export DISPLAY=:4
[tomh@workstation001 ~]$ google-chrome

Responder2

Eu sei que isso é antigo, mas:

xinit -e ssh -XYC $HOSTTOSSHTO startx -- :1

A única desvantagem que vejo é que você não pode fechar o terminal de login depois que a sessão é iniciada. Mova-se para frente e para trás com CTRL+ ALT+ F#como outras postagens mencionadas. Eu faço isso com meu Raspberry Pi o tempo todo e também com servidores e outros na Internet (um pouco lento). Você também pode trocar startxpor /usr/bin/icewm, ou qualquer outra coisa openbox.startKDE

Responder3

Parece que encontrei uma solução adequada para isso.

Criei um usuário especificamente com o propósito de conectar-me ao meu computador desktop.

Dentro do ~/.xinitrc do usuário no meu laptop, tenho a seguinte linha (/home/desktop/.xinitrc):

exec vncviewer 192.168.1.2

192.168.1.2 é o ip do meu computador desktop na minha rede.

No meu caso agora uso Tiger VNC como cliente e ainda X11VNC como servidor em meu PC desktop.

Qualquer cliente servirá, eu acho.

A maneira como funciona agora é: eu insiro tty2 por meio de CTRL + ALT + F2, faço login como o novo usuário da área de trabalho e, em seguida, inicio x com xinit -- :1. O novo servidor x iniciará em tty8, pois já tenho meu xserver principal rodando em tty7.

O vncviewer é executado e conectado com sucesso ao meu PC desktop, fornecendo a tela inteira e barras de rolagem caso a resolução do PC desktop seja maior que a do meu laptop.

Agora posso alternar facilmente entre meu laptop e meu desktop com CTRL+ALT+7 e CTRL+ALT+8.

Este é o procedimento completo, assumindo que você usa Tiger VNC (a única diferença é exec vncviewer x.x.x.x):

  1. Criar novo usuário comadduser desktop
  2. A configuração do novo usuário está de acordo com os valores padrão, então continue pressionando Enter até que o usuário seja criado.
  3. Abra /home/desktop/.xinitrc(lembre-se de fazer isso como root, a menos que você esteja logado como desktop e também esteja ciente das permissões) e limpe o arquivo (caso ele tenha algum conteúdo) e digite esta linha:exec vncviewer x.x.x.x
  4. Substitua o x.x.x.xpelo endereço IP desejado.
  5. Salve o arquivo.
  6. Insira um tty não utilizado usando CTRL+ALT+X onde X é um número de 1 a 9.
  7. Faça login comodesktop
  8. Inicie um novo servidor X com xinit -- :1, você poderá usar uma exibição diferente se :1 já estiver em uso.
  9. Você será enviado para o novo tty onde o servidor X é iniciado e pronto! Tiger VNC agora deve estar conectado ao endereço IP que você escolheu.

Vocêpoderiaterá problemas se você tiver um ambiente de desktop que inicia automaticamente quando você inicia o X de qualquer usuário. Portanto, tenha isso em mente, se as coisas não funcionarem como deveriam.

informação relacionada