Variante A - Disparando X Windows para outro DISPLAY:
-
Veja que o Xserver no seu laptop inicia a escuta das conexões tcp. Infelizmente, o X11-Networking está desabilitado por padrão na maioria das distribuições. Como o Xserver é iniciado pelo seu gerenciador de exibição (gdm, lightdm), isso precisa ser configurado lá:
Qualquer gerenciador de exibição que você use, algum arquivo de configuração em / etc / provavelmente conterá o parâmetro XServer responsável. Execute
grep -r 'nolisten tcp' /etc/
no seu Laptop para descobrir qual arquivo de configuração é responsável e remova a parte que diz-nolisten tcp
(não a linha inteira, apenas este parâmetro). Reinicie o X no seu laptop.Seu laptop agora deve ter um monitor rodando na porta tcp 6000 (tente rodar
nmap -p6000 Laptop
no seu PC desktop, se a porta reportada como "aberta", você chegou até aqui). -
Disponibilize seu X-display para o computador desktop. O X11 usa um mecanismo de autenticação para conceder acesso a uma exibição. Você tem que permitir que o PC desktop lance o Windows no Laptop. Normalmente, trocando um cookie de exibição.
Para começar, execute este passo com as mãos no seu notebook. Depois de obter o conceito com a variável
DISPLAY
e tudo mais, você pode fazer isso via ssh.Rápido e sujo: você pode executar
xhost +desktops.computers.ip.address
em seu laptop para conceder acesso X ao computador desktop. Observe que todos os usuários em seu computador de laptops podem usar seus laptops X como estão. Note que isto é suficiente, por exemplo, para instalar um keylogger no seu monitor de portáteis. Use este método apenas para testes.Correto e seguro: execute
xauth extract cookie-file :0
em seu laptop para exportar seu segredo de acesso a exibição para "cookie-file". Transfira o cookie para a sua máquina desktop. Executexauth merge cookie-file
. Ou em uma pequena etapa (da sua área de trabalho)ssh Laptop xauth extract - :0 |xauth merge -
Observação: se o seu laptop e desktop estiverem compartilhando um diretório inicial, por meio do nfs, não será necessário trocar nenhuma credencial. O banco de dados de credenciais é o arquivo .Xauthority em seu diretório inicial e pode ser compartilhado entre máquinas diferentes. -
Execute o programa: Em um terminal no PC de mesa, execute
export DISPLAY=Your.Laptops.IP.Address:0
e execute qualquer programa X no mesmo terminal. Ele deve aparecer na tela do notebook.
Variante B - Usando o SSH com uma torção.
O SSH realiza o encaminhamento do X11 encaminhando um soquete X11 local (normalmente um Soquete de Domínio Unix) para um soquete TCP local na máquina remota, negociando o cookie de exibição e configurando o DISPLAY-Environment na máquina remota. Desta forma, todo o tráfego X11 é criptografado através do túnel ssh. O caso de uso normal é encaminhar a exibição local para a máquina remota (ou seja, permitir que aplicativos remotos exibam x janelas localmente).
A vantagem de usar o ssh é que você não precisa colocar o seu X-Server no modo tcp listen (já que o socket unix é usado). E o ssh lida com a troca de credenciais.
- SSH para o seu laptop a partir do seu computador desktop (você não precisa usar -X ainda).
- No shell remoto, insira
export DISPLAY=:0
, isso torna a exibição já em execução no seu notebook disponível para o shell que você obteve via ssh. Se você executar qualquer comando X agora, ele já aparecerá na tela do seu notebook, mas ainda será executado em seu laptop (experimente estar seguro). - A partir desse shell ssh de volta ao seu computador de mesa, use -X desta vez. Agora você tem um shell na máquina na qual a sessão ssh foi originada, mas desta vez com o X. Execute xeyes ou xcalc para testá-lo.
-
echo $DISPLAY
mostra a designação, os laptops que o seu monitor X tem agora no seu computador desktop. Ou seja : 10 ou: 11. -
Você pode minimizar o terminal agora. Toda vez que você digitar
export DISPLAY=:10
(veja o número de exibição que você tem) no seu computador agora, cada programa que você executa depois no mesmo shell aparecerá na tela do seu notebook.Esta variante é fácil, mas lenta, já que todo o tráfego X11 é encaminhado via SSH.
Variante C - O conceito original de thinclient:
Você pode usar seu laptop para abrir uma sessão de área de trabalho sendo executada inteiramente em seu computador desktop.
-
Configure o gerenciador de exibição em sua área de trabalho para responder às transmissões XDMCP. Como fazer isso depende do seu gerenciador de exibição. Alguns gerentes de exibição não suportam isso, ou seja, slim. XDM, KDM, WDM e GDM suportam isso.
-
Inicie um X-Server no seu laptop, que solicita o gerenciador de exibição da sua área de trabalho. X aninhado:
Xephyr :1 -query desktop
ouXephyr :1 -broadcast
Ou desligando o seu X-Server Notebooks e entrando em um Terminal do Sistemasudo Xorg :0 -broadcast
O gerenciador de exibição fará com que credenciais sejam geradas e trocadas e tudo mais. Parabéns, agora você deve ver uma janela de login fornecida pelo seu computador.