AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 427890
Accepted
Time4Tea
Time4Tea
Asked: 2018-03-04 06:29:29 +0800 CST2018-03-04 06:29:29 +0800 CST 2018-03-04 06:29:29 +0800 CST

Por que preciso do XDMCP para iniciar uma sessão X remota por SSH?

  • 772

Estou tentando configurar uma conexão de área de trabalho remota para acessar meu PC de mesa a partir do meu laptop (ambos executando o Trisquel) por wi-fi. Eu tentei o VNC e foi terrivelmente lento, então estou procurando opções alternativas. O que eu gostaria de fazer é iniciar uma sessão X remota por SSH, que seria executada em um tty separado no meu laptop (ou seja, tty8), usando o encaminhamento do X. Parece que deveria ser possível, mas estou tentando entender como isso funciona.

O encaminhamento do X pelo túnel SSH parece funcionar bem para aplicativos X individuais, usando arquivos ssh -X. Também posso iniciar uma nova sessão X local no tty8 usando o seguinte comando (com o xinit instalado):

startx lxsession -- :1 tty8

Portanto, somando dois mais dois, devo conseguir iniciar uma sessão remota pela conexão SSH digitando o seguinte comando após fazer login na máquina remota com SSH, certo?:

startx gnome-session -- :1 tty8

Mas não, não funciona! Estou tendo o erro a seguir:

X: user not authorized to run the X server, aborting.

Pelo que li, parece que preciso usar o aninhamento XDMCP e/ou X para fazer isso.

Então, minha pergunta é: por que é necessário usar esses pacotes extras para fazer isso? Eu pensei que X deveria ter transparência de rede, nesse caso, por que ele saberia/se importaria se o tty que estou tentando usar está em uma máquina local ou remota? O que o aninhamento XDMCP/X traz para a imagem, que o X não inclui por padrão?

Estou apenas tentando entender isso e entender um pouco melhor.

x11 xforwarding
  • 2 2 respostas
  • 5672 Views

2 respostas

  • Voted
  1. Best Answer
    telcoM
    2018-03-04T07:29:01+08:002018-03-04T07:29:01+08:00
    startx gnome-session -- :1 tty8
    

    Se você executar esse comando em uma ssh -Xsessão, não obterá um controle remoto gnome-sessionpara si mesmo. Em vez disso, você está efetivamente tentando iniciar remotamente uma sessão do GNOME no tty8console virtual do host remoto, para quem quer que esteja sentado naquele computador.

    Em vez disso, você deseja primeiro configurar as chaves SSH para poder executar comandos em seu host remoto em sua própria conta sem solicitar uma senha ou senha de chave SSH. Então você executaria algo assim em seu sistema local:

    startx ssh -X <remote host> gnome-session -- :1 tty8
    

    Pode ser necessário adicionar &ao final para que o comando seja executado em segundo plano.

    Basicamente, você vai querer:

    1) um servidor X em seu tty8, rodando como seu processo de sessão...

    2) ... a conexão SSH de encaminhamento X para o host remoto, onde ...

    3) ...o gnome-sessioné iniciado e passará suas exibições de volta pela conexão SSH de volta ao servidor X "vazio" em seu tty8 local.

    Observe que, se o GNOME usar recursos avançados de aceleração 3D da GPU para renderizar sua área de trabalho, ele usará renderização direta (= acesso direto à memória entre o gerenciador de janelas do GNOME e o servidor X) ao executar localmente. Ao executar uma sessão remota como esta, a renderização direta não será possível (já que a GPU não está no mesmo computador que o processo do gerenciador de janelas!), o que pode tornar as coisas mais lentas. Nesse caso, talvez seja necessário escolher um gerenciador de janelas mais simples.

    XDMCP é um protocolo para controlar terminais X11: dispositivos de computador simplificados cujo único trabalho é atuar como um monitor X11+mouse+teclado para algum outro computador. O protocolo XDMCP foi desenvolvido muito antes do SSH e é completamente inseguro. Isso não se aplica ao seu caso, a menos que você configure especificamente o gerenciador de exibição (o , gdmou qualquer outro ) para reconhecer o XDMCP, pois o XDMCP é desativado por padrão nos sistemas modernos porque não é seguro. Se você fez isso, poderia dizer para fazer seu servidor X local fingir que é um terminal X11 e fazer com que ele faça uma conexão direta, não criptografada e não encaminhada por SSH com o host remoto. (Apenas diga não".)kdmxdm*dmstartx

    O aninhamento X, por outro lado, permitiria, por exemplo, que você tivesse uma única janela grande em sua sessão X11 local regular em :0.0 (ou tty7), que conteria a sessão de área de trabalho remota.

    • 4
  2. ivanivan
    2018-03-04T07:27:23+08:002018-03-04T07:27:23+08:00

    Eu uso o Xnest para isso https://www.x.org/archive/X11R7.5/doc/man/man1/Xnest.1.html

    Depois de instalado (está em apt para Debian/ubuntu/mint/etc) abra um terminal e faça

    user@localhost:~$ Xnest :1 &
    user@localhost:~$ export DISPLAY=:1
    user@localhost:~$ ssh -Y user@remotehost
    (login, etc)
    user@remotehost:~$ mate-session
    

    Como alternativa, você pode abrir um VT (ctrl+alt+F1 etc) e iniciar um novo servidor X apenas usando X :1e, em seguida, fazendo o mesmo export DISPLAY=:1e sshing. Pessoalmente, prefiro o Xnest.

    • 2

relate perguntas

  • uso do chaveiro gnome sem uma sessão x

  • Arch Linux: executando o VirtualBox (VM) sem um gerenciador de janelas

  • erro de falta de dois pontos xrdb

  • Tornar as coisas maiores sem alterar a resolução? [AMIGO]

  • O encaminhamento SSH X11 funciona apenas ao usar

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve