Usando programas GUI em uma máquina local (Linux) de uma máquina remota (MacOS) usando x11?

1

Eu passei um bocado de tempo examinando esses (e outros) fóruns sobre como remediar a seguinte situação, mas sem sucesso. Espero que alguém possa compartilhar seus conhecimentos!

Na minha universidade, estou em uma máquina Linux (Scientific Linux 7) com xauth present:

$ which xauth
   /bin/xauth

Eu gostaria de (a) executar aplicativos GUI do meu (remoto) Macbook (com XQuartz presente) e (b) fazê-los aparecer nesta máquina Linux.

Quando eu corro

ssh -o ForwardX11=yes [email protected]

, estou solicitando a senha do meu Mac; quando eu entro, eu recebo o terminal do meu Mac. Quando olho ao redor neste terminal, consigo acessar os arquivos do meu Mac. Esta parte é muito boa.

No entanto, se eu tentar executar um programa Mac (baseado em GUI) via terminal do Mac (como visto na máquina Linux), a GUI é aberta no Mac e não na máquina Linux. Por exemplo, executando

/Applications/texstudio.app/Contents/MacOS/./texstudio

do terminal do Mac (como visto na máquina Linux) abre a GUI do TeXStudio no Mac e não na máquina Linux! Isso, é claro, é problemático, pois significa que (a) parece ser alcançado, mas (b) falhou.

No Mac, meu arquivo /etc/ssh/sshd_config contém as seguintes linhas:

   X11Forwarding yes
   X11DisplayOffset 10
   X11UseLocalhost no

# XAuthLocation added by XQuartz (http://xquartz.macosforge.org)
   XAuthLocation /opt/X11/bin/xauth

; no entanto, eu também tentei com X11UseLocalhost yes sem sucesso.

Note, também, que o x11 parece estar "fazendo o seu trabalho", porque se eu executo algo como xeyes ou xclock (no terminal Mac na máquina Linux), eu vejo os olhos / relógio aparecendo (na máquina Linux).

Estou sentindo falta de algo óbvio aqui?

Notas:

  1. Eu não posso fazer alterações na máquina do Linux que estou usando: parte de um laboratório de computação Linux mais específico, e nenhum tipo de A manipulação da instalação / arquivo "backend" pode ser feita.
  2. Estou usando o Wi-Fi seguro da minha universidade, tanto na máquina Linux quanto no Mac.
por cstover 08.11.2017 / 16:14

1 resposta

4

Você está perdendo que os aplicativos GUI do macOS não usam o X11 e, portanto, não podem ser encaminhados para um servidor X11 usando o SSH ... Eles usam Quartz para exibição.

Até onde eu sei, o macOS só suporta exibição remota de desktop completo hoje em dia (exceto para aplicativos X11 executados com o XQuartz, como você determinou). De um dispositivo macOS para outro, você pode usar a Área de Trabalho Remota ; no seu caso, você precisará usar algo como VNC (execute VNC no Mac e conecte-se a ele com um cliente VNC).

A Comparação entre o software de área de trabalho remota da Wikipedia oferece uma boa visão geral das opções disponíveis: procure software que suporte servidores macOS e clientes Linux.

    
por 08.11.2017 / 16:53

Tags