Comment exécuter une commande dans une autre fenêtre de terminal?
Exemple: j'ai ouvert une fenêtre de terminal et si j'exécute une commande telle que apropos editor
, elle s'exécute et génère des sorties sur cette fenêtre. Mais je veux exécuter la même commande sur une autre fenêtre de terminal (nouvelle fenêtre) à la place de la fenêtre actuelle à partir de premier terminal .
Précisions supplémentaires:
J'ai besoin de suggest-command <command>
qui ouvre une nouvelle fenêtre de terminal et d’exécuter le <command>
mentionné dans cette fenêtre (récemment ouverte). (où suggest-command
est un exemple de suggestion de commande.)
Comment faire ça?
C'est peut-être ce que vous recherchez:
gnome-terminal -e "bash -c \"!!; exec bash\""
ou (prochainement):
gnome-terminal -x sh -c "!!; bash"
Il ouvre gnome-terminal avec votre dernière commande (!!
) exécutée et il reste s’ouvre avec la sortie de la commande dans le shell, même avec une commande interactive telle que top
ou less
...
Dans votre cas c'est:
gnome-terminal -e "bash -c \"apropos editor; exec bash\""
ou
gnome-terminal -x sh -c "apropos editor; bash"
Démarrez une autre instance du terminal que vous voulez exécuter:
xterm -hold -e 'apropos editor' &
Notez le -hold
. La plupart des terminaux se fermeront après avoir exécuté la commande que vous leur aurez fournie Il y a déjà une douzaine de questions à ce sujet sur le site:
Une alternative à cela consiste à utiliser une application qui doit être quittée. nano
restera ouvert tout seul. Si vous ne faites que sortir à screen, vous pouvez le rediriger vers less
:
xterm -e 'apropos editor | less' &
Cela dit, dans votre cas (comme l'ont dit les deux autres), il semble plus facile d'ouvrir un autre terminal et d'exécuter votre commande.
Chaque terminal est même un programme que vous pouvez lancer comme n’importe quel autre programme, avec &
à mettre en arrière-plan, donnant une liste d’arguments, etc.
Le terminal à utiliser dépend d'abord de la disponibilité du système que vous utilisez (qu'ils soient installés ou non), puis de leur particularité et ensuite de votre goût personnel.
konsole --hold -e "ls" &
xterm -hold -e "ls" &
gnome-terminal -e "ls" & ...
Notez les différences entre -hold
de xterm
et --hold
de konsole
name__.
Chaque réalisation a différentes options que vous devez vérifier avec l'aide. Même l'aide peut être invoquée de différentes manières. Vous pouvez constater que man konsole
ne fonctionne pas et vous devez donc demander directement à l'exécutable avec --help
.
Ceci est une liste de terminaux que vous pouvez rechercher sur votre système
aterm - AfterStep terminal with transparency support
gnome-terminal - default terminal for GNOME
guake - A dropdown terminal for GNOME
konsole - default terminal for KDE
Kuake - a dropdown terminal for KDE
mrxvt - Multi-tabbed rxvt clone
rxvt - for the X Window System (and, in the form of a Cygwin port,
for Windows)
rxvt-unicode - rxvt clone with unicode support
xfce4-terminal - default terminal for Xfce desktop
environment with dropdown support
Terminator - is a GPL terminal emulator. It is available on
Microsoft Windows, Mac OS X, Linux and other Unix X11 systems.
Terminology - enhanced terminal supportive of multimedia
and text manipulation for X11 and Linux framebuffer
tilda - A drop down terminal
wterm - It is a fork of rxvt, designed to be lightweight, but still
full of features
xterm - default terminal for the X Window System
Yakuake - (Yet Another Kuake), a dropdown terminal for KDE
Vous pouvez utiliser l'option -e
pour gnome-terminal comme suit:
gnome-terminal -e 'sh -c propose editor'
Ici, sh
est le shell ouvert par gnome-terminal. Notez que cela va quitter le terminal dès que la commande est terminée. Reportez-vous à la page de manuel de gnome-terminal pour plus d'informations.
tty
;exec
: exec 1>/dev/pts/1
exec 1>/dev/pts/0
Vidéo Youtube:
Après Ubuntu 18.04 LTS, vous pouvez passer de -e
à --
, c'est-à-dire gnome-terminal -e
à gnome-terminal --
, car -e
et -x
sont tous deux obsolètes.
Voici mes 50 cents avec Terminator:
terminator -x "script.sh; bash"
Cela fonctionne aussi, mais je ne peux pas vous dire la différence:
terminator -e "script.sh; bash"
Notez que ce script peut également être une commande.
Testé sur Ubuntu 18.04 LTS.