X inoltra su SSH da Mac a un box Linux


8

Ho bisogno di eseguire applicazioni Mac su una macchina Mac remota e visualizzarla su un server X di una macchina Linux locale (molti articoli su Internet sembrano dettagliare come lo faresti nel modo opposto).

$ ssh -X mac-box
$ cd /Developer/Applications/Xcode.app
$ ./Contents/MacOS/Xcode
Sat Oct  3 20:41:26 mac-box.local Xcode[15634] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
^C
  1. La mia $DISPLAYvariabile sembra essere vuota. Come dovrebbe essere in modo che l'inoltro funzioni correttamente?
  2. Posso eseguire le applicazioni OSX in questo modo?

Risposte:


6

Se un Mac di Aqua era X, non avresti bisogno di eseguire X (XQuartz) per avviare altri programmi X su un Mac ...

Quindi: no, penso che non puoi farlo.


Ma, per aiutarti ad iniziare, proverei prima a far sì che i programmi X veri vengano inoltrati alla tua macchina Linux:

  • Sul tuo Mac: installa XQuartz se non l'hai ancora fatto (come XQuartz 2.3.4 da installazioni opzionali sul DVD di OS X 10.6 o scarica le ultime dal progetto XQuartz ).

  • Sul tuo Mac: cambia X11Forwarding noin X11Forwarding yes(e assicurati che non ci sia hash ( #) davanti a quella linea) usando sudo vi /private/etc/sshd_configo usando un sedcomando di Abilitazione dell'inoltro X11 di Apple . Ciò garantirà inoltre che la DISPLAYvariabile sia impostata automaticamente.

  • Sulla tua macchina Linux:

    ssh -Y user @ mac-box
    xterm
    

(Alcuni passaggi successivi potrebbero quindi includere Google Xephyr(o precedenti Xnest). E se riscontri problemi con la tastiera: Google xmodmapo utilizzi xevper il debug. O per problemi con i caratteri: Google xfse xset +fp tcp/mac-box:7100. Ma dubito che tu possa eseguire i programmi Aqua in questo modo.)


Purtroppo hai ragione. Non riesco a eseguire Xcode e il simulatore di iPhone tramite SSH, anche se posso eseguire xterm. Inoltre, non avevo bisogno di installare XQuartz su installazione stock 10.6.
Alex B,

4

Sembra che il tuo obiettivo principale qui sia quello di visualizzare le applicazioni Mac in esecuzione su una macchina Linux. Arjan ha ragione, l'inoltro X non funziona per questo.

È necessario abilitare la condivisione dello schermo nel riquadro Condivisione in Preferenze di Sistema. Ciò accenderà un server VNC. Usando un client VNC sulla tua macchina linux, sarai in grado di vedere il tuo desktop Mac. Questo articolo mostra come configurarlo sul lato Mac (passaggi 1-3), continua (un po 'troppo) sull'impostazione di dyndns e l'apertura delle porte in una stazione base dell'aeroporto e quindi ha un po' in basso sull'impostazione sul lato client (passaggi 20-21).


E ci sono anche molti programmi là fuori che condividono una sola applicazione (piuttosto che l'intero desktop). Penso che si possa persino farlo usando l'ultimo Skype, multipiattaforma. (Non sono sicuro che Skype permetta anche di controllare la macchina remota, piuttosto che dare una sbirciatina al suo schermo.)
Arjan,

Vorrei poter evitare di usarlo. Sembra che VNC rimanga l'unica alternativa a questo punto.
Alex B,

-2

Basta usare

su -lm <usrname-to-proxy-for>

entrare in una shell in cui non si verificano problemi X11. Vedi le manpage per i dettagli sull'opzione '-m'.


-m Lascia l'ambiente non modificato. La shell invocata è la shell di accesso e non vengono apportate modifiche alla directory. - in che modo è collegato alla domanda?
Arjan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.