Bagaimana cara menjalankan aplikasi GUI melalui SSH?


10

Saya terbiasa bekerja di Unix / Linux dan baru-baru ini pindah ke Mac. Dulu bisa melakukan ini:

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

Saya telah menginstal X11 dari maxports dan saya dapat melakukan hal yang sama dari mac saya. Jika saya mencoba sebaliknya dengan ssh-ing ke mac saya dari linux saya hanya bisa menjalankan aplikasi tertentu:

  • /usr/X11/bin/xclock bekerja dengan baik
  • Sesuatu seperti /Applications/Preview.app/Contents/MacOS/Previewmembuka GUI di mac.

    Tampaknya ini tidak mungkin pada mac? Jika tidak, bagaimana cara menjalankan aplikasi dari jarak jauh (pada mac) dengan tampilan lokal (linux)? Apakah saya memerlukan aplikasi pihak ketiga?

Pembaruan: Untuk lebih tepatnya: Saya memiliki sinergi dan menggunakan Mac untuk pengkodean. Pada PC linux saya, saya ingin melihat tampilan aplikasi lain (GUI) dari Mac. Dengan demikian, aplikasi 'berbagi layar langsung' seperti VNC tidak akan berfungsi.

Misalnya saya sedang mengerjakan mac saya di app A (say Word) dan ingin melihat output dari Excel (yang berjalan di mac) di PC linux saya di sebelah saya. (Mensimulasikan layar ganda melalui jaringan). Ini bekerja dengan baik di linux, berharap solusi untuk mac.


Jika tidak ada solusi melalui SSH saya juga akan tertarik. Masalahnya adalah saya ingin menjalankan tampilan aplikasi lokal pada PC melalui jaringan di sebelah saya seperti yang biasa saya lakukan dengan linux.
Derick Schoonbee

Bisakah saya bertanya mengapa Anda ingin menghindari VNC? Masalah jeda jaringan?
Nicholas Smith

Saat ini saya sedang mengerjakan Mac, jadi layarnya "ditempati". Saya ingin menjalankan aplikasi lain di mac dengan output ditampilkan di PC di sebelah saya. Seperti yang saya lakukan dengan linux. Berharap untuk melihat solusi pada mac.
Derick Schoonbee

Ngomong-ngomong Anda tidak perlu menginstal X11 dengan macports ... X11 hadir dengan OS X.
Yuji

Ah hah, jadi keberatan Anda terhadap VNC bukan karena masalah VNC, tetapi karena kendala layar?
Nicholas Smith

Jawaban:


9

Jadi jika saya tidak salah masalah yang Anda miliki dengan VNC saat ini adalah bahwa ia berbagi layar pengguna Mac saat ini dengan aplikasi terbuka yang tidak ingin Anda lihat di komputer lain? Lion memperkenalkan kemampuan untuk menyaring berbagi pengguna yang login di latar belakang . Mengutip teks dari tautan:

  • Aktifkan Berbagi Layar dan setel kata sandi VNC.
  • Catat alamat IP komputer Anda.
  • Jalankan klien VNC di komputer lain.
  • Hubungkan ke alamat IP komputer Anda bersama dengan kata sandi yang Anda atur sebelumnya.
  • Anda akan melihat layar login Mac OS X yang muncul ketika Anda pertama kali memulai komputer. Jika Anda masuk ke pengguna yang saat ini aktif, Anda akan mengendalikan layar komputer. Jika Anda memilih pengguna yang berbeda, Anda akan masuk ke desktop pengguna itu di latar belakang. Itu tidak akan mempengaruhi apa yang dilihat di layar komputer fisik.

Anda mungkin hanya perlu membuat pengguna lain untuk dibagikan.


Hebat, ini sepertinya yang saya inginkan! Sekarang saya punya motivasi lain untuk meningkatkan ke Lion . Saya akan segera menguji dan mungkin menerima ini sebagai jawabannya. Terima kasih!
Derick Schoonbee

Sial, saya baru saja meningkatkan dan saya mendapatkan layar login melalui VNC. Tetapi tidak ingin keyboard saya dibelai. Jadi saya tidak bisa masuk :(
Derick Schoonbee

Itu sangat aneh - klien VNC apa yang Anda gunakan?
cftarnas

17

Aplikasi asli Mac OS X tidak menggunakan protokol X untuk rendering, tetapi protokol spesifik Mac. Jadi Anda tidak dapat menggunakan penerusan protokol ssh X yang Anda bisa dengan workstation Linux.

Ketika Anda menemukan, kebalikannya tidak benar, Anda dapat menginstal server X pada Mac OS X dan membuat program Linux muncul di Mac Anda.

Yang dapat Anda lakukan adalah menggunakan fasilitas berbagi desktop milik Mac atau menginstal server VNC. Kemudian dari kotak Linux Anda, Anda terhubung ke Mac Anda melalui VNC bukannya ssh.


Terima kasih atas informasinya. Apa yang ingin saya ketahui jika ada beberapa fungsi serupa yang dapat saya gunakan di Mac. Sebagai contoh, bisakah saya menggunakan fasilitas desktop sharing dari linux1 ketika saya sedang bekerja / login di mac saya?
Derick Schoonbee

Ya, Anda dapat menjalankan server VNC di Linux dan menghubungkannya dari Mac dengan klien VNC (ada beberapa klien VNC gratis di Mac, dan server VNC gratis di Linux).
Sylvain Defresne

Hmm .. VNC tidak memotongnya: Saya sedang mengerjakan mac saya di app A (katakanlah Word) dan ingin melihat output Excel (berjalan di mac) di PC linux di sebelah saya.
Derick Schoonbee

Seperti yang dijelaskan Sylvain, ini tidak mungkin di Mac. Arsitektur yang mendasari OS tidak mengizinkan jenis penggunaan ini.
Samuel Mikel Bowles

3
Lihat jawaban saya, tetapi dengan Lion adalah mungkin jika Anda menggunakan pengguna lain pada Mac untuk sesi VNC.
cftarnas

7

Seperti yang disebutkan Sylvian, Anda tidak dapat menjalankan aplikasi Mac Anda dan menampilkannya di Linux. Yang terbaik yang dapat Anda lakukan adalah VNC. Anda akan melihat seluruh layar, bukan hanya satu aplikasi.

Aktifkan kata sandi VNC di Preferensi Berbagi Layar:

Preferensi Berbagi Layar

Anda kemudian dapat menggunakan aplikasi klien VNC di Linux.


0

Anda sedikit kurang beruntung, tetapi ScreenRecycler akan membuat Anda sedekat mungkin. Berjalan melewati VNC tetapi meyakinkan OS X bahwa koneksi VNC sebenarnya adalah monitor yang terpisah, itu akan memungkinkan Anda untuk mendekati apa yang Anda butuhkan. Saya sudah menggunakannya, cukup bagus, ada uji coba gratis maka cukup murah. Saya berhenti menggunakannya murni karena saya berada di jaringan yang jelek dan ada terlalu banyak latensi kecuali saya secara langsung membangun jaringan keduanya.


0

Menjadi sedikit kreatif, tetapi Anda juga dapat menjalankan aplikasi java menggunakan VNC yang memiliki server http, atau dalam kasus saya menggunakan loop untuk mencari file dan membuat file menggunakan SSH.

Ini adalah aplikasi java saya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.