web-dev-qa-db-fra.com

Pourquoi "metacity --replace" bloque-t-il mon système, mais "metacity --replace &" va bien?

Ce qui suit s'applique à Lucid 10.04
Cela se passe sur mon "vrai" ordinateur et aussi sur une machine virtuelle VirtualBox ...

(UPDATE) Je viens juste d'installer Maverick 10.10 sur une VM ... et presque la même chose se produit!
J'ai le contrôle du clavier (au départ), mais le seul moyen de quitter le terminal est de le fermer avec le processus en cours d'exécution (ou Ctrl + C), ce qui provoque le blocage (appuyer sur Entrée ne prend pas retour à l'invite)

$ metacity --replace 

La commande ci-dessus (dans le terminal) provoque le blocage de mon système, à chaque fois.

La commande ne retourne pas à l'invite.
La décoration de la fenêtre disparaît (peut-être parce que la commande n'est pas terminée?).
Le clavier devient non fonctionnel, (mais la souris fonctionne toujours) ...

Cependant, les commandes suivantes fonctionnent bien, à chaque fois.

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

Il se peut que "blocage" uniquement parce que je perds le clavier et ne peux donc pas appuyer sur Entrée pour le ramener à l'invite, (... comme je l'ai remarqué avec certaines commandes sans rapport qui ne reviennent pas "complètement" à l'invite, jusqu'à ce que j'appuie sur Entrée)

Que se passe t-il ici?
Mon système d'exploitation "hôte" n'est pas nouveau, mais le VM est en parfait état (ou presque) ... et tous deux présentent ce "verrouillage" du clavier.

4
Peter.O

Lancer metacity --replace ne le fait pas fonctionner en tant que démon. Si vous appuyez sur Ctrl-C ou si vous arrêtez autrement le processus de métacité (le terminal fermé le ferait également), vous ne disposerez pas d'un gestionnaire de fenêtres. C'est pourquoi vous perdez vos décorations de fenêtre. Je ne sais pas exactement pourquoi le clavier cesse de fonctionner (je suppose qu'une fois le gestionnaire de fenêtres fermé, les nouvelles mises à jour de la fenêtre, telles que la frappe, ne seront pas affichées à l'écran), mais j'ai testé cela et si vous appuyez sur Ctrl + Alt + F1, vous pouvez toujours accéder au framebuffer. Il est clair que le clavier n’a pas complètement cessé de fonctionner. En fait, si vous cliquez sur un élément de menu dans gnome-terminal, vous pouvez utiliser les flèches haut et bas pour le parcourir.

Vous devez exécuter metacity dans un wrapper, tel que screen, lorsque vous devez le démarrer depuis un terminal, puis fermer la fenêtre de terminal que vous avez utilisée. Il suffit de lancer screen metacity --replace et d'appuyer sur Ctrl + A + D pour se détacher du processus screen.

2
ayan4m1

Si vous appuyez sur Entrée, l'invite du terminal ne revient pas parce que metacity est en cours d'exécution sur ce terminal. Tous les messages d’avertissement/d’erreur générés par la métacité seront imprimés ici. Ceci est un comportement standard pour toute application graphique. Si vous ne voulez pas qu'ils prennent en charge votre session de terminal, utilisez '&'.

À propos du reste - décors de fenêtres en train de disparaître, etc. - Je suis moi-même perplexe.

3
Marius Gedminas