web-dev-qa-db-fra.com

Commande pour ouvrir un nouvel onglet dans le terminal actuel et passer la commande pour s'exécuter sur un nouvel onglet

Je sais que gnome-terminal va ouvrir une nouvelle fenêtre. Je me demandais s'il était possible d'ouvrir un nouvel onglet, pas seulement une nouvelle fenêtre.

Après cela, y a-t-il un moyen de passer une commande à la nouvelle fenêtre, par exemple

gnome-terminal && cd /

Ce qui entraînera

  1. Ouverture du nouveau terminal
  2. Nouveau terminal exécute alors cd /

[Edit] Ces réponses indiqueront-elles comment passer des cmds à un autre terminal, elles ne répondent pas comment ouvrir un nouveau TAB. Ce que je recherche, je ne veux pas ouvrir plus d’un terminal.

1
Jamie Hutber

GNOME Terminal n'offre aucune solution générique en ligne de commande pour ouvrir un nouvel onglet dans une fenêtre existante.

(Pourquoi? Parce que peut avoir plusieurs fenêtres ouvertes et ne pas savoir dans laquelle ouvrir le nouvel onglet. Vous pourriez dire vous n’avez qu’une seule fenêtre, mais si une telle fonctionnalité était implémentée, le logiciel devrait être cohérent et faire quelque chose de raisonnable lorsqu'il avait plusieurs fenêtres, ce qu'il ne pouvait pas vraiment faire.)

Des hackages, tels que la simulation de l'utilisateur en appuyant sur une touche, existent conformément à une réponse déjà archivée, mais fonctionnent uniquement sous X.Org, pas sous Wayland.

À partir de la version 3.28 à venir, la commande gnome-terminal --tab ouvrira un nouvel onglet dans la fenêtre du terminal GNOME à partir duquel cette commande est exécutée. if cette commande est exécutée à partir du terminal GNOME.

(Comment sait-il dans quelle fenêtre ouvrir le nouvel onglet dans ce cas? Il le fait en définissant une certaine variable d'environnement à l'avance avec une valeur différente dans chacun des terminaux qu'il ouvre. Cette variable d'environnement lui permet de localiser la fenêtre souhaitée.)

3
egmont

Vous devez simuler le pressage shift + ctrl + T dans le terminal. Les programmes existent pour faire cela:

Si vous voulez le faire depuis la ligne de commande

Par exemple, vous pouvez utiliser xdotool - un programme qui vous permet de simuler la saisie au clavier.

Sudo apt-get install xdotool

puis tapez le terminal:

xdotool key ctrl+shift+t

Cela simulera en appuyant sur la combinaison de touches.

2
Mahdi