Bagaimana menjalankan dua sesi X secara bersamaan?

24

Saya ingin menjalankan dua instance X server secara bersamaan.

Satu akan menjadi sesi interaktif menggunakan mouse dan keyboard yang terpasang pada komputer. Yang lain akan menjadi sesi 'virtual' yang kemudian bisa saya hubungkan dan gunakan melalui jaringan.

Dengan kata lain, saya ingin sesuatu seperti telnet / ssh yang memungkinkan saya untuk masuk ke mesin Ubuntu saya dari tempat lain. Namun, saya ingin setidaknya tampilan grafis dasar ketika saya masuk.

Nathan Osman
sumber
1
Saya anggap Anda ingin menjalankan dua pengguna di komputer Anda secara bersamaan?
richzilla
@ Rich: Ya, tetapi keduanya harus memiliki tampilan grafis.
Nathan Osman

Jawaban:

7

Jika Anda menjalankan sesi X di bawah Ubuntu pada mesin A, itu akan muncul di layar: 0 ( Ctrl+ Alt+ F7) pada A.

Anda ingin menjalankan X Session jarak jauh dari mesin B (di Lan Anda) tanpa mengganggu sesi Anda saat ini di A.

Masuk ke layar konsol pertama ( Ctrl+ Alt+ F1) masuk di konsol dan kemudian minta Mesin B untuk mengirim sesi X ke layar: di A - seperti ini

u@A:~$  X :1 -query IP-of-B

Xmeminta sesi X, :1mengatakan untuk meletakkannya di layar 1, -querymeminta sesi dari dalam hal ini alamat IP B

Anda akan menemukan sesi baru di layar: 1 ( Ctrl+ Alt+ F8).

Ini tidak aman (tidak ssh) tetapi cepat dan mudah untuk jaringan rumah ketika suara tidak diperlukan melalui koneksi.

Anda dapat menggunakan nxclient / server nomachine yang baik-baik saja tetapi berjalan di sesi Anda saat ini di layar A: 0 di jendela sendiri. Ini memberikan dukungan untuk suara lokal dan pencetakan lokal - terakhir kali saya melihat Firefox tidak akan mulai jika suara diaktifkan.

Zanna
sumber
Ini pasti membantu.
Nathan Osman
5

ssh -X

Opsi pertama dan termudah tentu saja "ssh -X", tetapi ini hanya akan berfungsi ketika sistem yang Anda sambungkan sudah menjalankan server X. Jadi misalkan Anda menjalankan mesin Ubuntu dan ingin terhubung ke mesin Ubuntu lain, Anda dapat mengetikkan "ssh -X ipaddress" di konsol. Ini akan meninggalkan Anda dengan konsol, tetapi ketika Anda memulai aplikasi apa pun yang menggunakan X dari konsol itu, itu akan ditampilkan di sesi X Anda saat ini.

XMing

Jika Anda akan menjalankan windows dan ingin memulai sesi X pada mesin remote Ubuntu, Anda dapat menggunakan XMing. XMing pada dasarnya adalah server X untuk dijalankan di windows. Ini tersedia di sourceforge .

Untuk menggunakan XMing, XDMCP harus diaktifkan di mesin Ubuntu Anda. Ini mudah dilakukan di Ubuntu sebelum 10,04. Saat ini, Anda harus memperbarui /etc/gdm/custom.conf sebagai berikut. Pastikan untuk membuat cadangan terlebih dahulu! Anda tidak ingin mengacaukan GDM dengan ini;)

[daemon]
User=gdm
Group=gdm


[security]
DisallowTCP=true

[xdmcp]
Enable=true
DisplaysPerHost=2
HonorIndirect=false
MaxPending=4
MaxSessions=16
MaxWait=30
MaxWaitIndirect=30
PingIntervalSeconds=60
Port=177

[greeter]

[chooser]
Multicast=false

[debug]
Enable=false 
W. Goeman
sumber
+1 Terima kasih karena telah menjelaskan secara terperinci cara melakukan ini - apakah distro Linux lain yang menjalankan X dapat melakukan trik 'ssh -X'? Misalnya, jika saya memiliki kotak Fedora, dapatkah saya terhubung ke mesin Ubuntu saya dan menjalankan aplikasi melalui X dengan cara itu? (Saya mencari terminologi yang tepat di sini, tetapi gagal :))
Nathan Osman
Baru saja mencoba ini dan ini bekerja dengan baik.
Nathan Osman
@ George: Ingat X sedikit mundur. Pengguna menjalankan server secara lokal tempat masing-masing aplikasi (klien) terhubung.
1
@ George: Selama kotak Fedora Anda menjalankan server X, Anda akan dapat menggunakan ssh -X. Pada dasarnya ssh akan menggunakan server X pada kotak Fedora Anda untuk menunjukkan kepada Anda aplikasi Ubuntu.
W. Goeman
3

Bukan jawaban untuk pertanyaan Anda, tapi ...

Anda dapat menjalankan X-program lebih dari ssh, saya sering menggunakan ini untuk memberi saya akses ke layanan yang dilindungi / dibatasi pada LAN saya ketika saya keluar. Pada dasarnya apa yang dilakukannya adalah menghubungkan pipa dari mesin Anda ke ssh-server dan meneruskan tampilan dari server ke klien, tetapi aplikasi sedang berjalan di server. Secara default, klien SSH tidak siap untuk ini tetapi dapat diaktifkan dengan menggunakan -Xopsi. Ex:

ssh -X user@host firefox

Sebenarnya inilah cara kerja LTSP hari ini. Anda mungkin dapat menemukan informasi lebih lanjut tentang bagaimana LTSP melakukan ketika jauh menggunakan seluruh sesi, bukan hanya satu aplikasi.

LassePoulsen
sumber
3

Saya sebenarnya menemukan cara lain untuk mencapai ini: dengan xrdp Instal xrdp .

xrdpadalah server Remote Desktop untuk Linux yang membuat sesi login terpisah (dengan X) yang dapat diakses dengan alat Remote Desktop Windows atau dengan aplikasi lain yang kompatibel dengan RDP.

Nathan Osman
sumber
1

FreeNX juga akan melayani tujuan Anda.

Dari Ubuntu Wiki:

FreeNX adalah sistem yang memungkinkan Anda mengakses desktop dari komputer lain melalui Internet. Anda dapat menggunakan ini untuk login secara grafis ke desktop Anda dari lokasi yang jauh. Salah satu contoh penggunaannya adalah memiliki server FreeNX yang diatur di komputer di rumah Anda, dan secara grafis masuk ke komputer di rumah dari komputer kantor Anda, menggunakan klien FreeNX. Komputer, menggunakan klien FreeNX.

https://help.ubuntu.com/community/FreeNX

LFC_fan
sumber
1

Sepertinya Anda sedang mencari paket server VNC. Ada dua jenis paket server VNC - paket yang membagikan layar X yang ada, dan paket yang mengelola desktop X terpisah untuk penggunaan jarak jauh. Yang terakhir adalah jenis yang sepertinya Anda inginkan. Contohnya termasuk vnc4server dan tightvncserver / tigervncserver.

Paket-paket itu memungkinkan Anda untuk memulai tampilan X tambahan di latar belakang. Untuk melihatnya, Anda menggunakan penampil / klien VNC. Ada beberapa klien yang tersedia untuk Ubuntu dan Windows , belum lagi Android, PalmOS, dll.

aap
sumber