X11 encaminhamento através do SSH

4

Eu tenho brincado com o X11 encaminhando as últimas horas e até agora consegui encaminhar o X Server do meu desktop para o meu laptop, usando X11VNC como servidor e X2VNC como cliente. O X2VNC usa o Xinerama para fornecer um comportamento de tela dupla entre o meu laptop e meu PC de mesa.

É realmente muito bom!

Eu sei que a maioria dos sistemas Linux executam ambientes Xorg e desktop no TTY7.

Portanto, eu estava pensando, é de alguma forma possível ter o VNC-tunnel ligado ao seu próprio TTY?

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

    
por martinjlowm 23.03.2012 / 21:15

3 respostas

0

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

Eu criei um usuário especificamente para se conectar ao meu computador desktop.

Dentro do ~ / .xinitrc do usuário no meu laptop eu 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 eu agora uso Tiger VNC como cliente e ainda X11VNC como servidor no meu pc desktop.

Qualquer cliente fará, eu acho.

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

O vncviewer roda e conecta-se com sucesso ao meu PC de mesa, fornecendo toda a tela, além de 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 PC de mesa com CTRL + ALT + 7 e CTRL + ALT + 8.

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

  1. Crie um novo usuário com adduser desktop
  2. A configuração do novo usuário é boa com os valores padrão, então continue pressionando até que o usuário seja criado.
  3. Abra /home/desktop/.xinitrc (lembre-se de fazer isso como root, a menos que esteja conectado como desktop e também esteja ciente das permissões) e limpe o arquivo (se ele tiver algum conteúdo) e insira esta linha: exec vncviewer x.x.x.x
  4. Substitua o x.x.x.x pelo endereço IP que você deseja.
  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 como desktop
  8. Iniciar um novo servidor X com xinit -- :1 , você pode 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 voilà! Agora o Tiger VNC deve estar conectado ao endereço IP que você escolheu.

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

    
por 11.04.2012 / 12:23
1

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

Eu iniciei um monte de 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 exibições virtuais

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

E agora eu posso começar a trabalhar nessas sessões exportando o DISPLAY var export DISPLAY=:3 e então selecionando-o usando Ctrl-Alt-F2, F3, etc.

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

[tomh@workstation001 ~]$ export DISPLAY=:4
[tomh@workstation001 ~]$ google-chrome
    
por 23.03.2012 / 23:21
1

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 assim que a sessão for iniciada. Vá para a frente e para trás com CTRL + ALT + F # como os outros posts mencionados. Eu faço isso com o meu Raspberry Pi o tempo todo, e tenho feito isso com servidores e por toda a internet também (um pouco lento). Você também pode trocar startx por /usr/bin/icewm , openbox , startKDE ou qualquer outra coisa.

    
por 18.01.2014 / 22:17