Como executar duas sessões X ao mesmo tempo?

24

Eu gostaria de executar duas instâncias do servidor X ao mesmo tempo.

Uma seria uma sessão interativa usando o mouse e o teclado conectados ao computador. A outra seria uma sessão 'virtual' à qual eu poderia conectar e usar através de uma rede.

Em outras palavras, eu quero algo como telnet / ssh que permita que eu entre na minha máquina Ubuntu de outro lugar. No entanto, gostaria de ter pelo menos uma exibição gráfica básica ao fazer login.

Nathan Osman
fonte
1
Estou assumindo que você deseja executar dois usuários no seu computador simultaneamente?
richzilla
@rich: Sim, mas ambos devem ter uma exibição gráfica.
Nathan Osman

Respostas:

7

Se você estiver executando uma sessão X no Ubuntu na máquina A, ela aparecerá na tela: 0 ( Ctrl+ Alt+ F7) na A.

Você deseja executar uma sessão X remota na máquina B (na sua LAN) sem interromper a sessão atual na A.

Vá para a primeira tela do console ( Ctrl+ Alt+ F1), faça login no console e peça à Máquina B para enviar uma sessão X para a tela: em A - como este

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

Xpede uma sessão X, :1diz para colocá-la na tela 1, -querypede a sessão neste caso, o endereço IP de B

Você encontrará a nova sessão na tela: 1 ( Ctrl+ Alt+ F8).

Isso não é seguro (sem ssh), mas é rápido e fácil para uma rede doméstica quando o som não é necessário na conexão.

Você pode usar o nxclient / server do nomachine, o que é bom, mas é executado na sua sessão atual na tela A: 0 em sua própria janela. Ele fornece suporte para som local e impressão local - da última vez que olhei, o Firefox não inicializaria se o som estivesse ativado.

Zanna
fonte
Isso definitivamente ajuda.
Nathan Osman
5

ssh -X

A primeira e mais fácil opção certamente seria "ssh -X", mas isso só funcionará quando o sistema do qual você se conectar já estiver executando um servidor X. Então, suponha que você esteja executando uma máquina Ubuntu e deseje se conectar a outra máquina Ubuntu, digite "ssh -X ipaddress" no console. Isso deixará você com um console, mas quando você iniciar qualquer aplicativo que use X nesse console, ele será mostrado na sua sessão atual do X.

XMing

Se você estiver executando o Windows e quiser iniciar uma sessão X em uma máquina remota Ubuntu, poderá usar o XMing. XMing é basicamente um servidor X para rodar no Windows. Está disponível no sourceforge .

Para usar o XMing, o XDMCP deve estar ativado na sua máquina Ubuntu. Isso foi feito facilmente no Ubuntu antes do 10.04. Atualmente, você precisa atualizar o /etc/gdm/custom.conf da seguinte maneira. Certifique-se de fazer um backup primeiro! Você não quer estragar o GDM com isso;)

[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
fonte
+1 Obrigado por explicar em detalhes como fazer isso - outras distros Linux executando o X poderão executar o truque 'ssh -X'? Por exemplo, se eu tiver uma caixa do Fedora, posso conectar-me à minha máquina Ubuntu e executar aplicativos no X dessa maneira? (Eu estou agarrando para a terminologia aqui, mas não :))
Nathan Osman
Apenas tentei isso e funciona muito bem.
22610 Nathan Osman
@ George: Lembre-se de X é um pouco para trás. O usuário executa o servidor localmente ao qual os aplicativos individuais (os clientes) se conectam.
1
@ George: Enquanto sua caixa do Fedora estiver executando um servidor X, você poderá usar o ssh -X. Basicamente, o ssh fará uso do servidor X na sua caixa do Fedora para mostrar os aplicativos Ubuntu.
W. Goeman 27/10/10
3

Não é exatamente uma resposta para sua pergunta, mas ...

Você pode executar programas X através do ssh. Costumo usar isso para me dar acesso a serviços protegidos / restritos na minha LAN quando estou fora. Basicamente, o que ele faz é conectar um pipe da sua máquina a um servidor ssh e encaminhar a exibição do servidor para o cliente, mas o aplicativo está sendo executado no servidor. Por padrão, o cliente SSH não está configurado para isso, mas pode ser ativado usando a -Xopção Ex:

ssh -X user@host firefox

Na verdade, é assim que o LTSP funciona atualmente. Você pode encontrar mais informações sobre o desempenho do LTSP ao usar remotamente uma sessão inteira em vez de apenas um aplicativo.

LassePoulsen
fonte
3

Na verdade, descobri outra maneira de conseguir isso: com o xrdp Instale o xrdp .

xrdpé um servidor de área de trabalho remota para Linux que cria uma sessão de logon separada (com X) que pode ser acessada com a ferramenta Área de trabalho remota do Windows ou com outros aplicativos compatíveis com RDP.

Nathan Osman
fonte
1

O FreeNX também servirá ao seu propósito.

Do Ubuntu Wiki:

O FreeNX é um sistema que permite acessar a área de trabalho de outra máquina pela Internet. Você pode usar isso para efetuar login graficamente na área de trabalho a partir de um local remoto. Um exemplo de seu uso seria ter um servidor FreeNX configurado no computador doméstico e efetuar login graficamente no computador doméstico a partir do computador do trabalho, usando um computador client.com do FreeNX, usando um cliente FreeNX.

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

LFC_fan
fonte
1

Parece que você pode estar procurando um pacote de servidor VNC. Existem dois tipos de pacotes de servidor VNC - os que compartilham sua exibição X existente e os que gerenciam uma área de trabalho X separada para uso remoto. O último é o tipo que você parece querer. Exemplos incluem vnc4server e tightvncserver / tigervncserver.

Esses pacotes permitem iniciar X exibições adicionais em segundo plano. Para vê-los, você usa um visualizador / cliente VNC. Existem vários clientes disponíveis para Ubuntu e Windows , sem mencionar o Android, PalmOS, etc.

aap
fonte