Come eseguire due sessioni X contemporaneamente?


24

Vorrei eseguire due istanze del server X contemporaneamente.

Una sarebbe una sessione interattiva usando il mouse e la tastiera collegati al computer. L'altra sarebbe una sessione 'virtuale' alla quale potrei quindi collegarmi e utilizzare su una rete.

In altre parole, voglio qualcosa come telnet / ssh che mi permetta di accedere alla mia macchina Ubuntu da qualche altra parte. Tuttavia, vorrei almeno un display grafico di base quando eseguo l'accesso.


1
Immagino che tu voglia eseguire due utenti sul tuo computer contemporaneamente?
richzilla,

@rich: Sì, ma entrambi dovrebbero avere un display grafico.
Nathan Osman,

Risposte:


7

Se stai eseguendo una sessione X su Ubuntu sulla macchina A, apparirà sullo schermo: 0 ( Ctrl+ Alt+ F7) su A.

Volete eseguire una Sessione X remota dalla macchina B (sulla vostra Lan) senza interrompere la sessione corrente su A.

Vai alla prima schermata della console ( Ctrl+ Alt+ F1) accedi alla console e poi chiedi alla Macchina B di inviare una sessione X allo schermo: su A - in questo modo

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

Xchiede una sessione X, :1dice di metterlo sullo schermo 1, -queryin questo caso chiede la sessione dall'indirizzo IP di B.

Troverai la nuova sessione sullo schermo: 1 ( Ctrl+ Alt+ F8).

Questo non è sicuro (no ssh) ma è semplice e veloce per una rete domestica quando non è richiesto l'audio sulla connessione.

È possibile utilizzare nxclient / server di nomachine che va bene ma viene eseguito nella sessione corrente su una schermata: 0 nella propria finestra. Fornisce supporto per l'audio locale e la stampa locale: l'ultima volta che ho guardato Firefox non si avviava se l'audio fosse abilitato.


Questo sicuramente aiuta.
Nathan Osman,

5

ssh -X

La prima e più semplice opzione sarebbe sicuramente "ssh -X", ma funzionerà solo quando il sistema da cui ti connetti sta già eseguendo un server X. Supponiamo quindi che tu stia eseguendo una macchina Ubuntu e desideri connetterti a un'altra macchina Ubuntu, puoi digitare "ssh -X ipaddress" nella console. Questo ti lascerà con una console, ma quando avvii un'applicazione che utilizza X da quella console, verrà mostrata nella tua sessione X corrente.

Xming

Se esegui Windows e desideri avviare una sessione X su una macchina Ubuntu remota, puoi usare XMing. XMing è fondamentalmente un server X da eseguire su Windows. È disponibile su sourceforge .

Per usare XMing, XDMCP deve essere abilitato sul tuo computer Ubuntu. Ciò è stato fatto facilmente in Ubuntu prima del 10.04. Al giorno d'oggi, è necessario aggiornare /etc/gdm/custom.conf come segue. Assicurati di fare prima un backup! Non vuoi rovinare GDM con questo;)

[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 

+1 Grazie per aver spiegato in dettaglio come fare: altre distro Linux che eseguono X saranno in grado di fare il trucco 'ssh -X'? Ad esempio, se ho una scatola Fedora, posso collegarmi alla mia macchina Ubuntu ed eseguire applicazioni su X in quel modo? (Sto cercando la giusta terminologia qui, ma non ci riesco :))
Nathan Osman,

Ho appena provato questo e funziona benissimo.
Nathan Osman,

@Gorge: ricorda che X è un po 'indietro. L'utente esegue il server localmente a cui si connettono le singole applicazioni (i client).

1
@George: Fintanto che la tua casella Fedora esegue un server X, sarai in grado di usare ssh -X. Fondamentalmente ssh utilizzerà il server X sulla tua casella Fedora per mostrarti le applicazioni Ubuntu.
W. Goeman,

3

Non è proprio una risposta alla tua domanda, ma ...

Puoi eseguire i programmi X su SSH, lo uso spesso per darmi accesso a servizi protetti / con restrizioni sulla mia LAN quando sono fuori. Fondamentalmente ciò che fa è connettere una pipe dal tuo computer a un server ssh e inoltrare il display dal server al client, ma l'applicazione è in esecuzione sul server. Per impostazione predefinita, il client SSH non è configurato per questo, ma può essere abilitato utilizzando l' -Xopzione. Ex:

ssh -X user@host firefox

In realtà è così che funziona LTSP in questi giorni. Potresti essere in grado di trovare ulteriori informazioni su come sta facendo LTSP quando si utilizza in remoto un'intera sessione anziché solo una singola app.


3

In realtà ho scoperto un altro modo per raggiungere questo obiettivo: con xrdp Installa xrdp .

xrdpè un server Desktop remoto per Linux che crea una sessione di accesso separata (con X) a cui è possibile accedere con lo strumento Desktop remoto di Windows o con altre applicazioni compatibili con RDP.


1

FreeNX servirà anche al tuo scopo.

Da Ubuntu Wiki:

FreeNX è un sistema che ti consente di accedere al tuo desktop da un'altra macchina su Internet. Puoi usarlo per accedere graficamente al desktop da una posizione remota. Un esempio del suo utilizzo potrebbe essere quello di avere un server FreeNX impostato sul tuo computer di casa e di accedere graficamente al computer di casa dal tuo computer di lavoro, usando un client.com client FreeNX, usando un client FreeNX.

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


1

Sembra che tu stia cercando un pacchetto server VNC. Esistono due tipi di pacchetti server VNC: quelli che condividono il tuo display X esistente e quelli che gestiscono un desktop X separato per l'uso remoto. Quest'ultimo è il tipo che sembri volere. Esempi includono vnc4server e tightvncserver / tigervncserver.

Questi pacchetti consentono di avviare ulteriori display X in background. Per vederli, usi un visualizzatore / client VNC. Sono disponibili più client per Ubuntu e Windows , per non parlare di Android, PalmOS, ecc.

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.