Manter uma sessão cinnamon em um TTY renderizando mesmo quando não esta em foco

Estou usando o Linux Mint 21.1, estou com uma duvida, seria possivel manter duas sessões xorg renderizando ao mesmo tempo?.

Examplo: estou em uma sessão localizada em tty7 (padrão do mint), sei que caso eu ir para tty3 por exemplo e digitar startx ele vai iniciar outra sessão xorg com o cinnamon, mais aparentemente se eu voltar para tty7 mesmo sem fechar a outra sessão ela para de renderizar, isso é bem notavel caso eu usar um client vnc como o x11vnc que na hora quando altero para outra sessão ele fica com a tela preta até eu retornar para ela.

(Perdoe-me se ficou meio confuso)

Gostaria de saber de existe algum programa que permite eu fazer algo assim.

Tem o Xnest e o Xephyr, você pode tentar usar algum dos dois. Ou uma máquina virtual.

Xnest(1) — xnest — Debian testing — Debian Manpages
Xnest(1) — Arch manual pages (archlinux.org)

Xephyr - ArchWiki (archlinux.org)

1 curtida

Uma solução que encontrei foi usar o Xvfb , por mais que ele seja meio bugado ele permite fazer isso com o xorg.

Instalação

Instale o xvfb você pode instalar no LinuxMint/Ubuntu ( e derivados ) com:

sudo apt install xvfb

Caso você não tenha um servidor vnc vc pode usar o x11vnc que é bem simples, instalação:

sudo apt install x11vnc

Em outras distros não Ubuntu/Debian, creio que o nome do pacote deve ser o mesmo.

Executar um VNC

Crie um script bash na raiz da sua home, com o nome que você desejar, porem evite espaços e caracteres com acentuação, no meu caso chamarei de init_cinnamon.sh, você pode crialo usando o comando

echo “” > init_cinnamon.sh

agora noz podemos usar um editor como o nano para editar esse arquivo basta usar o comando:

nano init_cinnamon.sh

agora dentro desse arquivo vou colocar o seguinte codigo:

#!/bin/bash
cinnamon &
x11vnc

Explicação para que serve esse codigo:

  1. #!/bin/bash: indica que é um arquivo é um script de execução.
  2. cinnamon & : inicia o cinnamon em background
  3. x11vnc : inicia o servidor VNC.

Apos colocar isso no arquivo você pode dar um Ctrl+X para terminar a edição e precionar S para salvar.

Agora teremos que dar permição para o arquivo executar você pode usar o chmod para isso:

chmod +x init_cinnamon.sh

agora em uma sessão tty, para iniciar o servidor basta apenas usar o comando:

vfb-run --server-num=2 --server-args=“-screen 0 1366x768x24” $HOME/init_cinnamon.sh

Esse comando vai inicar o cinnamon e um servidor VNC, e a partir dai tudo pronto.

Comando vfb-run

Esse comando vfb-run tem alguns argumentos que acho intereçante, você customizar de acordo com suas preferencias, por exemplo o 1366x768x24 que é a resolução, você pode usar uma resolução mais baixa, a sintexe é LARGURAxALTURAxBITS os bit de cores recomendo sempre deixar em 24 ou no minimo 16 para ter uma reprodução de cores melhor, já a largura e altura customize de acordo com o nessecario e sua velocidade de rede.

Há também o argumento --server-num=2 ele indica qual ser a variavel DISPLAY do seu ambiente, no caso que eu coloquei é a 2 só lembrando que n recomendo por a variavel 0 já que ela já é usada pelo seu ambiente padrão.

Observações

Lembre-se de trocar o init_cinnamon.sh pelo nome do arquivo que você criou.

Você pode usar muitas mais interfaces, como gnome, xfce, kde, basta apenas você editar o arquivo de bash que você criou ( no meu caso o init_cinnamon.sh ), e trocar o comando cinnamon pelo comando que inicia sua interface, porem não esqueça de por o & no final desse comando.

Você pode optar por também por usar outro servidor VNC como o vino você pode fazer isso da mesma maneira que trocar a interface porem dessa vez você vai substituir o comando x11vnc

Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.