Sarebbe bello poter x tunnel su ssh; perché invece si deve usare XQuartz (ecc.)?
Sarebbe bello poter x tunnel su ssh; perché invece si deve usare XQuartz (ecc.)?
La semplice risposta è: Terminal è un emulatore di terminale - non è un server X11. Esiste per fornire un punto finale di comunicazione basato su testo tra il tuo Mac e altre macchine.
Terminal non è più un X11 server di gnome-terminal su Linux è o cmd su Windows è. Vale a dire: non è affatto un server X11. Devi avere un server X11 in esecuzione sul tuo computer locale per poter disporre di applicazioni X11 tunnel, grafiche, che disegnano le loro interfacce utente sul tuo Mac. Questo non è in realtà diverso per Mac da qualcosa come Linux, è solo che Linux, per impostazione predefinita, è sempre in esecuzione un server X11 per disegnare il desktop in modo che sia gestito in modo un po 'più elegante di quello sul Mac. Devi solo aprire le autorizzazioni del tuo server X11 e ssh tunneling e l'inoltro X11 su un desktop Linux sembra funzionare.
Il server XQuartz eseguito su OS X ti porta semplicemente al server X11 mancante nella sessione di OS X per abilitare il disegno i comandi dell'interfaccia utente inoltrati sul desktop di OS X. Questo non è qualcosa che un'applicazione terminal dovrebbe mai, o mai dovrebbe davvero implementare. Non fa parte dell'essere un Terminale. È una cosa completamente separata.
Voglio anche rispondere a qualcosa che hai detto nella tua domanda:
It would be great to be able to x tunnel over ssh
Suppongo che intendi "sarebbe bello fare l'inoltro X11 da una sessione ssh avviata in Terminal.app al mio server XQuartz in esecuzione". Puoi farlo!
Quando usi ssh in Terminal.app, includi semplicemente l'opzione -X
per abilitare l'inoltro X e il tuo Mac avvierà automaticamente XQuartz. Non c'è bisogno di usare l'app terminale in XQuartz, che fa schifo.
Puoi anche modificare ~/.ssh/config
e aggiungere:
ForwardX11 yes
su quel file per abilitare l'inoltro X di default per tutte le sessioni ssh. Puoi persino avviare i programmi X sulla macchina remota in background in questo modo:
ssh username@remoteserver -f -X xeyes
Funziona da Terminal.