Por que “metacity --replace” suspende meu sistema, mas “metacity --replace &” está bom?

3

O seguinte se aplica ao Lucid 10.04
Isso acontece no meu computador "real" e também em uma VM do VirtualBox ...

(UPDATE) Acabei de instalar o Maverick 10.10 em uma VM ... e quase a mesma coisa acontece!
Eu tenho controle de teclado (inicialmente), mas a única maneira de sair do terminal é fechá-lo com o processo ainda em execução (ou Ctrl + C), e isso faz com que o bloqueio (pressionar Enter não o leve de volta ao prompt )

$ metacity --replace 

O comando acima (no terminal) faz com que meu sistema seja interrompido, sempre .

O comando não retorna ao prompt.
A decoração da janela desaparece (talvez porque o comando não tenha sido concluído?).
O teclado se torna não-funcional (mas o mouse ainda funciona)

No entanto , os seguintes comandos funcionam bem, sempre .

$ (metacity --replace &)
$ metacity --replace &    # this works too   

Ele pode "travar" apenas quando eu solto o teclado, então não posso pressionar Enter para trazê-lo de volta ao prompt, (... como eu notei é o caso com alguns comandos não relacionados que não "totalmente" retornam ao prompt, até que eu pressione Enter)

O que está acontecendo aqui?
Meu sistema operacional "host" não é novo, mas a VM está em perfeitas condições (quase) ... e ambos exibem esse teclado "lock-up".

    
por Peter.O 11.11.2010 / 15:55

2 respostas

2

A execução de metacity --replace não o torna executado como um daemon. Se você pressionar Ctrl-C ou impedir que o processo de metacidade seja executado (o terminal de fechamento também faria isso), você ficará sem um gerenciador de janelas. É por isso que você perde as decorações da sua janela. Não sei exatamente por que o teclado pára de funcionar (imagino que, assim que o gerenciador de janelas for fechado, novas atualizações na janela, como a digitação, não serão pintadas na tela), mas testei isso e toquei em Ctrl. + Alt + F1 você ainda pode baixar para o framebuffer. Claramente, o teclado não parou completamente de funcionar; na verdade, se você clicar em um item de menu em gnome-terminal , poderá usar as setas para cima e para baixo para navegar.

Você deve executar a metacidade em um wrapper, como screen , quando precisar iniciá-lo pelo terminal e, em seguida, fechar a janela do terminal usada. Basta executar screen metacity --replace e pressionar Ctrl + A + D para desanexar do processo screen .

    
por ayan4m1 11.11.2010 / 19:10
3

Pressionar Enter não retorna ao prompt do terminal porque a metacity está sendo executada nesse terminal. Qualquer mensagem de aviso / mensagem de erro produzida será impressa lá. Este é um comportamento padrão para qualquer aplicativo GUI. Se você não quiser que eles assumam sua sessão de terminal, use '& amp;'.

Sobre o resto - decorações de janelas que desaparecem, etc. - Estou perplexo comigo mesmo.

    
por Marius Gedminas 11.11.2010 / 17:45