Artigos publicados
17/02/2004 - Xnest - servidores X aninhados
Para aqueles que gostam de testar outros gerenciadores de janela (window managers) e desktops, este artigo, baseado no artigo de Marcel Gagné, será de grande valia, demonstrando o uso do Xnest.
Com o Xnest podemos rodar aplicativos, gerenciadores de janela, desktops, dentro do seu desktop atual.
Uma lista de Window Managers e desktops está disponível em: http://www.plig.org/xwinman
Nossa sessão gráfica padrão roda no que o sistema chama de display :0
Sabemos que podemos alternar do ambiente gráfico para o texto com Control+Alt+F1 e Control+Alt+F7 (ou Alt+F7).
Posso portanto ter o KDE rodando no display :0 e o XFCE no display :1, nesse caso o XFCE teria sido iniciado com:
startxfce -- :1 ou
startx -- :1 (se o XFCE fosse o padrão agora)
Ou poderia ser qualquer aplicativo como:
xinit /usr/X11R6/bin/xterm -- :1
Assim o display :1 poderia ser acessado por: Control+Alt+F8 (e assim por diante)
O Xnest é chamado de "nested X", ou seja, ele é aninhado (dentro de outro servidor X pré existente) e vem como alternativa ao:
startx -- :1 (:2, etc...).
Vamos iniciá-lo para testá-lo:
Xnest :1 -ac &
Uma nova janela vazia é inicializada.
Agora vamos inicializar uma aplicação dentro desta:
xcalc -display :1
Não há o que explicar, a calculadora foi simplesmente inicializada no display :1
Posso escolher a posição utilizando o parâmetro geometry:
xcalc -geometry +250+150 -display :1
E agora o mais interessante: podemos inicializar o segundo desktop dentro do Xnest.
Veja o WindowMaker rodando no Xnest dentro do Gnome.
Veja os comandos para cada um:
Tabbed Window Manager (pressione o botão esquerdo do mouse para ver o menu): twm -display :1
Window Maker: wmaker -display :1
Motif Window Manager: mwm -display :1
F Virtual Window Manager: fvwm2 -display :1
AfterStep: afterstep -d :1
GNOME (note o hífen duplo): gnome-session --display :1
Se o GNome reclamar use: gnome-session --sm-disable --display :1
ou:
rm $(echo $SESSION_MANAGER | cut -d: -f2) ; gnome-session --display :1
Você pode iniciar quantos Xnest desejar com:
Xnest -ac :2 &
Xnest -ac :3 &
e assim por diante...
Ou mesmo conectando num servidor X remoto (XDMCP):
Xnest :1 -query <nome_do_seu_host>
Um script útil está disponível em: http://wiki.ael.be/ion/index.php/Xnest