Come si esegue un'app GUI tramite SSH?


10

Sono abituato a lavorare su Unix / Linux e recentemente mi sono trasferito su Mac. In passato ero in grado di fare questo:

derick@linux1:~$ ssh -X linux2
derick@linux2's password:
derick@linux2:~$ xclock

Ho installato X11 da maxports e posso fare lo stesso dal mio mac. Se provo il contrario inviando ssh nel mio mac da Linux, posso solo eseguire alcune app:

  • /usr/X11/bin/xclock funziona bene
  • Qualcosa di simile /Applications/Preview.app/Contents/MacOS/Previewapre la GUI sul Mac.

    Sembra che questo non sia possibile su un Mac? In caso contrario, come posso eseguire un'applicazione in remoto (su un Mac) con un display locale (linux)? Ho bisogno di un'app di terze parti?

Aggiornamento: per essere più precisi: ho una sinergia e utilizzo Mac per la codifica. Sul mio PC Linux vorrei vedere il display di un'altra applicazione (GUI) da Mac. Pertanto, le app di "condivisione dello schermo live" come VNC non funzioneranno.

Ad esempio, sto lavorando sul mio mac nell'app A (diciamo Word) e voglio vedere l'output di Excel (in esecuzione su Mac) sul mio PC Linux accanto a me. (Simulazione di un doppio schermo tramite la rete). Ha funzionato bene su Linux, sperando in una soluzione per Mac.


Se non ci fosse una soluzione tramite SSH, sarei anche interessato a quello. Il problema è che voglio eseguire il display di un'app locale su un PC tramite la rete accanto a me come facevo con Linux.
Derick Schoonbee,

Posso chiederti perché vuoi evitare VNC? Problemi di ritardo della rete?
Nicholas Smith,

Attualmente sto lavorando su Mac, quindi lo schermo è "occupato". Voglio eseguire un'altra app sul Mac con l'output visualizzato sul PC accanto a me. Come ho fatto con Linux. Spero di vedere una soluzione su Mac.
Derick Schoonbee,

A proposito, non devi installare X11 da macports ... X11 viene fornito con OS X.
Yuji,

Ah ah, quindi la tua obiezione a VNC non è dovuta a problemi VNC, ma a causa dei vincoli dello schermo?
Nicholas Smith,

Risposte:


9

Quindi, se non sbaglio, il problema che hai attualmente con VNC è che sta condividendo lo schermo dell'utente Mac attuale con le app aperte che non vuoi vedere sull'altro tuo computer? Lion introduce la possibilità di condividere gli utenti dello schermo registrati in background . Citando il testo dal link:

  • Abilita Condivisione schermo e imposta una password VNC.
  • Prendi nota dell'indirizzo IP del tuo computer.
  • Avvia un client VNC su un'altra macchina.
  • Collegati all'indirizzo IP del tuo computer insieme alla password impostata in precedenza.
  • Vedrai la schermata di accesso di Mac OS X che appare al primo avvio del computer. Se accedi all'utente attualmente attivo, controllerai lo schermo del computer. Se si seleziona un altro utente, si accederà al desktop dell'utente in background. Non influenzerà ciò che viene visualizzato sullo schermo del computer fisico.

Probabilmente dovrai solo creare un altro utente per la condivisione.


Fantastico, questo sembra essere quello che voglio! Ora ho un'altra motivazione per passare a Lion . Proverò presto e probabilmente accetterò questa come risposta. Grazie!
Derick Schoonbee,

Accidenti, ho appena aggiornato e ottengo la schermata di accesso tramite VNC. Ma non vuole accarezzare la mia tastiera. Quindi non riesco ad accedere :(
Derick Schoonbee,

È molto strano: quale client VNC stai usando?
Cftarnas,

17

L'applicazione nativa di Mac OS X non utilizza il protocollo X per il rendering, ma il protocollo specifico per Mac. Quindi non è possibile utilizzare l'inoltro del protocollo ssh X come si farebbe con una workstation Linux.

Come hai scoperto, non è vero il contrario, puoi installare un server X su Mac OS X e far apparire il programma Linux sul tuo Mac.

Quello che puoi fare è utilizzare la funzione di condivisione desktop Mac o installare un server VNC. Quindi dalla tua scatola di Linux, ti connetti al tuo Mac tramite VNC invece di ssh.


Grazie per l'informazione. Quello che voglio sapere se ci sono alcune funzionalità simili che posso usare sul Mac. Ad esempio, posso usare la funzione di condivisione desktop di linux1 mentre lavoro / eseguo l'accesso sul mio mac?
Derick Schoonbee,

Sì, puoi eseguire un server VNC su Linux e collegarlo da Mac con un client VNC (ci sono alcuni client VNC gratuiti su Mac e server VNC gratuiti su Linux).
Sylvain Defresne,

Hmm .. VNC non lo taglia: sto lavorando sul mio mac nell'app A (diciamo Word) e voglio vedere l'output di Excel (in esecuzione su Mac) sul PC Linux accanto a me.
Derick Schoonbee,

Come ha spiegato Sylvain, questo non è possibile su Mac. L'architettura sottostante del sistema operativo non consente questo tipo di utilizzo.
Samuel Mikel Bowles,

3
Vedi la mia risposta, ma con Lion è possibile se usi un altro utente sul Mac per la sessione VNC.
cftarnas,

7

Come accennato da Sylvian, non puoi eseguire le tue app per Mac e visualizzarle su Linux. Il meglio che puoi fare è VNC. Vedrai l'intero schermo, non solo un'app.

Abilita una password VNC nelle Preferenze di condivisione schermo:

Preferenze di condivisione dello schermo

È quindi possibile utilizzare qualsiasi applicazione client VNC su Linux.


0

Sei un po 'sfortunato, ma ScreenRecycler ti avvicinerà il più possibile. Funziona su VNC ma convince OS X che la connessione VNC è in realtà un monitor separato, dovrebbe permetterti di avvicinarti a ciò di cui hai bisogno. L'ho usato, è abbastanza buono, c'è una prova gratuita quindi è abbastanza economico. Ho smesso di usarlo puramente perché ero su una rete scadente e c'era troppa latenza a meno che non stavo collegando in rete i due.


0

Diventando un po 'creativo, ma puoi anche eseguire un'app Java usando VNC che ha un server http, o nel mio caso usa un ciclo per cercare un file e creare quel file usando SSH.

Ecco la mia app Java.

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.