Exécuter de vraies instances de process multiples de gnome-terminal

Si vous avez gnome-terminal cours d'exécution, et que vous voulez une nouvelle instance du programme, vous pourriez penser que lancer gnome-terminal & depuis un shell ferait l'affaire.

Étonnamment, cette nouvelle instance se comporte comme un programme Windows ou Mac insipide; il envoie uniquement un message au gnome-terminal cours d'exécution pour créer une nouvelle window. Si ce process gnome-terminal se bloque, vous perdez toutes les windows du terminal!

(Bien sûr, chaque window a son propre shell, qui est un process indépendant, mais l'émulateur de terminal et son interface graphique sont gérés à partir d'une seule instance de l'application.)

Comment pouvons-nous créer des instances indépendantes de gnome-terminal , fonctionnant chacune dans leur propre process, de sorte que tuer ce process ne fait que détruire les windows associées à ce process?

Selon l' man gnome-terminal , l'option que vous cherchez semble être le nom confusingly

  --disable-factory Do not register with the activation name server, do not re-use an active terminal. 

Cependant, l'option est apparemment supprimée dans les versions plus récentes et ne devrait donc pas être invoquée.

En raison de la nouvelle architecture client / server (détails ici ), vous devrez démarrer des instances distinctes de gnome-terminal-server . Pour ce faire, vous pouvez utiliser le --app-id :

 /usr/lib/gnome-terminal/gnome-terminal-server --app-id my.first.Terminal 

puis utilisez le client (avec le même identifiant d'application) pour créer des terminaux 1 à l'intérieur du nouveau server:

 gnome-terminal --app-id my.first.Terminal gnome-terminal --full-screen --app-id my.first.Terminal ...... 

Autre exemple:

 /usr/lib/gnome-terminal/gnome-terminal-server --app-id my.second.Terminal 

et terminaux:

 gnome-terminal --geometry 80x24+200+200 --app-id my.second.Terminal gnome-terminal --app-id my.second.Terminal ..... 

Le path vers le gnome-terminal-server peut être différent sur votre système.


1: Notez que "vous avez 10 secondes pour utiliser le client pour créer un terminal à l'intérieur du nouveau server" .