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 / 469663
Accepted
overexchange
overexchange
Asked: 2018-09-18 13:24:41 +0800 CST2018-09-18 13:24:41 +0800 CST 2018-09-18 13:24:41 +0800 CST

Não foi possível abrir a tela - erro

  • 772

Eu executei o comando abaixo no cliente ssh secureCRT :

$ DISPLAY=abc.xyz.com:0 ; export DISPLAY
$ /bin/xhost +abc.xyz.com

Mas dá este erro:

/bin/xhost:  unable to open display "abc.xyz.com"
# cat /etc/system-release
Red Hat Enterprise Linux Server release 7.5 (Maipo)
# whoami
root

Como solucionar esse erro?

linux rhel
  • 1 1 respostas
  • 11938 Views

1 respostas

  • Voted
  1. Best Answer
    telcoM
    2018-09-18T14:12:43+08:002018-09-18T14:12:43+08:00

    Supondo que você tenha dois hosts:

    • hostA tem a tela que você deseja usar
    • hostB tem o aplicativo que você deseja executar

    Primeiro, você faz login no hostA e executa xhost +hostBnele para permitir que a exibição do hostA seja acessada pelo hostB. Em seguida, você faz login no hostB, executa DISPLAY=hostA:0 ; export DISPLAYnele e inicia seu aplicativo.

    Observe também: essas são conexões X11 completamente não criptografadas de estilo antigo, que geralmente são desabilitadas por padrão nas distribuições Linux modernas. Se você quiser usar esses comandos, talvez seja necessário primeiro fazer algo no hostA para configurar seu servidor X11 para escutar as conexões de entrada pelo protocolo TCP, e não apenas pelos soquetes UNIX locais.

    (Por muito tempo, isso foi feito adicionando uma -nolisten TCPopção à linha de comando do servidor X, e você precisaria remover essa opção para usar conexões X11 não criptografadas. Os servidores Xorg X modernos podem mudar o sentido dessas opções: talvez seja necessário adicione uma -listen TCPopção explícita para habilitar conexões X11 não criptografadas não locais.)

    Em um sistema Linux/Unix, DISPLAY=:0.0refere-se a um monitor X11 que é acessível usando o socket UNIX /tmp/.X11-unix/X0, portanto, é o primeiro (e geralmente o único) servidor X11 local. Em um sistema Windows, esse mecanismo não existe.

    O mecanismo de soquete UNIX é usado apenas quando está disponível na arquitetura do sistema local e a parte do nome do host da variável DISPLAY é uma cadeia vazia. Se um nome de host estiver listado, mesmo que seja "localhost", uma conexão TCP será usada.

    Se uma conexão TCP for usada, DISPLAY=hostname:X.Yrefere-se a um servidor X11 escutando hostnamena porta TCP (X+6000).

    Quando você inicia um servidor X11 baseado em Windows - talvez um comercial como o Reflection X, ou um gratuito como VcXsrv ou o clássico Xming , por padrão, ele começará a ouvir na porta TCP 6000 assim que for iniciado. As versões modernas podem usar o padrão de escuta localhostapenas para segurança; a alternativa clássica é escutar em todos os endereços IP do sistema.

    A maneira moderna e segura de usar o X11 é o encaminhamento X11 baseado em SSH. Quando você inicia um cliente SSH com o encaminhamento X11 habilitado, ele se conectará ao servidor X11 local no host do cliente SSH usando qualquer mecanismo disponível. Ele passará essa conexão para qualquer host ao qual você se conectar usando um subcanal seguro na conexão SSH.

    Em seguida, o sshddaemon no host remoto começará a ouvir em uma porta TCP livre (geralmente na faixa de 6010+), configura um DISPLAY=localhost:X.0(onde X = número da porta escolhida - 6000) e também coopera com o cliente SSH para configurar xauthcookies automaticamente para você, se exigido pelo servidor X11 no lado do cliente SSH.

    No que diz respeito ao servidor X11 no host cliente, o tráfego X11 de entrada vem do processo do cliente SSH local, portanto, o xhostcomando normalmente não é necessário no host cliente SSH.

    O resultado: você não precisa definir DISPLAYmanualmente, nem o xhostcomando. Apenas certifique-se de que seu servidor X11 local esteja em execução, habilite o encaminhamento X11 em seu cliente SSH, conecte-se ao host remoto com SSH e inicie qualquer programa X11 GUI. As janelas desse programa simplesmente aparecerão em sua tela local. Ele apenas funciona.

    Isso pode ser uma revelação para alguém que está acostumado com o estilo clássico de configurar conexões X11.

    Há mais de 15 anos, mostrei isso a um administrador de banco de dados velho e mal-humorado, que ocasionalmente precisava ir à sala do servidor para instalar o Oracle, pois os firewalls não permitiam as conexões X11 não criptografadas clássicas.

    Ele me abraçou.

    • 4

relate perguntas

  • Inicie/pare o serviço systemd usando o atalho de teclado [fechado]

  • Necessidade de algumas chamadas de sistema

  • astyle não altera a formatação do arquivo de origem

  • Passe o sistema de arquivos raiz por rótulo para o kernel do Linux

  • Desativar a maximização automática de janelas no Gnome3

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