Como iniciar uma segunda sessão X?

33

Tentei fazê-lo com o comando startx 1. Pareceu piscar para uma tela diferente momentaneamente, mas depois saiu. Obteve o seguinte erro:

/usr/bin/xterm: No absolute path found for shell: :1

Alguma ideia?

Brian Peterson
fonte

Respostas:

42

Eu acho que você pode fazer isso com isso:

$ startx -- :1

Observe que você precisa estar em um console de texto. Se você fizer isso a partir de uma sessão X, poderá não estar autorizado. Primeiro Ctrl+ Alt+ F1para alternar para um console de texto e fazer login lá.

Pressione Ctrl+ Alt+ F7e Ctrl+ Alt+ F8para alternar entre as sessões X (os números das teclas F podem variar dependendo da sua distribuição).

Se você deseja obter mais controle, pode adicionar mais opções ao comando da seguinte maneira:

$ startx gnome-session -- :1 vt8

Isso será iniciado gnome-sessionno visor :1e será executado no console virtual 8 ( Ctrl+ Alt+ F8).

slm
fonte
5
Ugh, iniciar um servidor X com sudo faz com que tudo dentro da sessão X inicie com privilégios de root; isso faz com que alguns aplicativos falhem.
Brian Peterson
1
@Epetersn - fiquei surpreso que você disse que precisava disso. O que acontece sem ele?
slm
5
@Bepetersn Execute isso em um console de texto, não em uma sessão X. No Linux, pressione Ctrl+Alt+F1primeiro, efetue login e execute a startx -- :1partir do prompt do shell.
Gilles 'SO- stop be evil'
2
@ Gilles - obrigado por incorporar isso à resposta!
slm
1
Desculpe, esqueci de responder @slm. Se eu executar a startx -- :1partir de uma sessão X, o terminal parecerá não responder por um tempo e depois me informará: xauth: timeout in locking authority file /var/run/gdm3/auth-for-brian-3zy5Hn/databasee falhará um pouco mais tarde. X: user not authorized to run the X server, aborting.Durante esse período, nada aconteceria no 8º tty como seria de esperar.
Brian Peterson
4

Eu descobri que a seguinte maneira funciona para mim:

sudo xinit /usr/bin/xterm  -e "su peter -c pekwm"  $* -- :1

O que está acontecendo aqui?
Primeiro começo xinitcom um xterm, como parâmetro para o xterme I, supara me tornar eu mesmo. A partir daí, inicio o gerenciador de janelas.
A única coisa que você precisa fazer é minimizar (não fechar) o arquivo xterm. Provavelmente, você poderia dizer xtermpara começar minimizado - mas eu não me importo o suficiente para descobrir isso.

Swepter
fonte