Boas notícias: é tecnicamente possível.
Más notícias: Ele não funciona sob Xenocara (clone do OpenBSD X11) sem DRI / KMS (driver de vídeo do kernel) (hardware de acesso X usando /dev/xf86
neste caso) mas funciona no XOrg com Linux e FreeBSD. Você pode tentar se funciona no seu caso. Se você estiver usando o KMS, provavelmente funcionará.
Boas notícias novamente: você não precisa disso porque não aumenta a segurança: o navegador da Web é o cliente X: ele é executado como qualquer processo normal e usa o X para exibir dados.
X e terminais virtuais .
O hardware de vídeo para PC está sob controle do driver de console do OpenBSD wscons
, que fornece vários terminais virtuais ( vt
). Quando X é lançado, ele toma emprestado vt
de wscons
e, a partir do momento, ele controla o vídeo sozinho usando seu driver (usando diretamente /dev/xf86
ou usando o driver KMS no kernel). O controle de teclado também é movido de wscons
para X, portanto, quando você pressiona CTRL + ALT + F * X, solicita que wscons
alterne para outro vt
e wscons
obtém o vídeo e o teclado novamente. Então, você pode ter que executar o X em dois vt
s diferentes.
X tem uma opção vtXX
para escolher vt
para emprestar. Como rodar X sem cliente não faz sentido, você poderia fazer
DISPLAY=:2 xinit xterm -- vt1 :2
Tudo depois que --
é passado para X, então X começará em vt1. Você então muda para os diferentes vt
e executa
DISPLAY=:3 xinit xterm -- vt3 :3
Agora você tem dois servidores X. Se funcionar, você pode configurar seu gerenciador de exibição ( xenodm
no OpenBSD) para passar a opção vtXX
para X
.
X, seus clientes e por que não há razão para executar 2 servidores X .
O cliente X (seja xterm
ou firefox
) usa a variável de ambiente DISPLAY
para localizar seu servidor X
, conectar-se a ele e usá-lo para exibir dados e ler pressionamentos de teclas.
Portanto, o cliente é executado localmente, ele usa apenas servidores X diferentes para exibir dados. Uma vez que seu cliente invadiu - não importa qual servidor X esteja conectado.
PS: É por isso que o Xenocara não roda em 2 vts diferentes quando usa o driver vesa(4)
: ele usa /dev/xf86
( option APERTURE
) ( xf86(4)
) para acessar a memória de vídeo e bloqueia este dispositivo Arquivo. Então, pode funcionar com o KMS