Execute um comando X11 a partir de um console diferente

2

No meu compiz de máquina virtual Ubuntu 14.04 congela frequentemente. Eu costumo trocar para o tty1 e matar o processo, depois voltar para o tty7 e, se eu puder ver uma janela de terminal, eu corro compiz --replace & nele. Mas há momentos em que não vejo nenhuma janela de terminal, e clicar com o botão direito do mouse na área de trabalho não dá nenhum menu para que eu possa abrir uma e eu tenho que reiniciar o serviço lightdm. Isso é um bloqueio de trabalho.

A minha pergunta é: como posso executar compiz --replace & ou qualquer outro comando de um tty diferente em tty7?

Eu li este thread , mas eu não sei como fazer o tmux se conectar a um tty diferente na minha máquina, e o segundo envolve o uso do programa homebrew. Eu também leio isso , mas envolve ter um daemon executado em tt7 esperando por meus comandos. Não há uma maneira mais fácil de fazer isso?

    
por Alex Burdusel 03.11.2014 / 14:03

1 resposta

3

O que importa, na verdade, não é de qual console você executa o comando, mas sim que o programa conecte-se ao monitor X ainda existente. Para fazer isso, defina a variável DISPLAY e reinicie o Compiz a partir de um terminal padrão. Dependendo da sua distribuição e configuração, talvez seja necessário defina XAUTHORITY também. Mude para tty1 e digite:

$ export DISPLAY=:0
$ compiz --replace &

O visor pode ser diferente na sua máquina. Use who para encontrar o seu:

$ who
you     tty1    [time]             < This is you from tty1.
you     :0      [time] (:0)        < This is you from tty7.

        ^^              ^^
   This is your display on tty7

Nota: você deve estar logado como você mesmo em tty7 (graficamente). Felizmente, quando o Compiz falha, você não está desconectado do tty7 (mesmo que você não possa fazer muito).

    
por 03.11.2014 / 14:09

Tags