Ejecute el comando en otra (nueva) ventana de terminal

32

¿Cómo ejecutar cualquier comando en otra ventana de terminal?

Ejemplo: abrí una ventana de terminal y si ejecuto un comando como apropos editor, entonces se ejecuta y sale en esa ventana. Pero quiero ejecutar el mismo comando en otra ventana de terminal (nueva ventana) en su lugar en la ventana actual desde la primera terminal .

Aclaración adicional :
necesito suggest-command <command>que se abra una nueva ventana de terminal y se ejecute mencionado <command>en esa ventana (recién abierta). (donde suggest-commandhay un ejemplo de sugerencia de comando).

¿Como hacer eso?

Pandya
fuente
1
Haga clic derecho en el icono del terminal y haga clic en "Abrir nuevo terminal".
Raphael
Lo siento si sueno como un lamen, pero eso es lo que entendí de tu pregunta.
Raphael
gnome-terminal ¿verdad?
Braiam
Si bien la apertura de un nuevo terminal puede resolver su problema, es posible que también desee usar nohup, redirigir la salida y poner su editor en segundo plano. nohup apropos editor &> /dev/null &
Panther
Tampoco entiendo: ¿por qué no abrir una nueva terminal?
Josef Klimuk

Respuestas:

29

Esto podría ser lo que buscas:

gnome-terminal -e "bash -c \"!!; exec bash\""

o (en breve):

gnome-terminal -x sh -c "!!; bash"

Abre gnome-terminal con su último comando ( !!) ejecutado y permanece abierto con la salida del comando en el shell, incluso con un comando interactivo como topo less...

En tu caso es:

gnome-terminal -e "bash -c \"apropos editor; exec bash\""

o

gnome-terminal -x sh -c "apropos editor; bash"
caos
fuente
2
Un poco más cortognome-terminal -x sh -c "!!; bash"
TuKsn
10

Inicie otra instancia de cualquier terminal que desee ejecutar:

xterm -hold -e 'apropos editor' & 

Tenga en cuenta el -hold. La mayoría de los terminales saldrán después de ejecutar el comando que los alimentas. Ya hay una docena de preguntas sobre esto en el sitio:

Una alternativa a eso es usar una aplicación que necesita salir. nanopermanecerá abierto por sí solo. Si solo sale a la pantalla, puede canalizarlo a less:

xterm -e 'apropos editor | less' & 

Dicho esto, en su caso (como han dicho los otros dos) parece más fácil que simplemente abra otra terminal y ejecute su comando.

Oli
fuente
¿Puedo usar en gnome-terminallugar de xtermEntonces cómo?
Pandya
Tengo curiosidad acerca de cómo hacer esto con xfce4-terminal (xfce4-terminal abre un nuevo proceso, mientras que xterm no lo hace; en mi caso, en realidad no quiero un nuevo proceso).
Shule
7

Cada terminal es incluso un programa que puede iniciar como cualquier otro programa, &para poner en segundo plano, dando una lista de argumentos, etc.

Qué terminal usar depende primero de la disponibilidad del sistema que está usando (si está instalado o no), luego de su peculiaridad y luego de su gusto personal.

  konsole   --hold -e "ls" &  
  xterm      -hold -e "ls" &  
  gnome-terminal   -e "ls" & ...  

Tenga en cuenta las diferencias entre -holdde xtermy --holdde konsole.

Cada realización tiene diferentes opciones que debe verificar con la ayuda. Incluso la ayuda se puede invocar de manera diferente. Puede encontrar que man konsoleno funciona y, por lo tanto, debe preguntar directamente al ejecutable con --help.

Esta es una lista de terminales que puede buscar en su sistema

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
Hastur
fuente
3

Puede usar la -eopción gnome-terminal de la siguiente manera:

gnome-terminal -e 'sh -c propose editor'

Aquí shestá el shell que abre gnome-terminal. Tenga en cuenta que esto saldrá de la terminal tan pronto como el comando haya terminado. Consulte la página del manual de gnome-terminal para obtener más información.

Jobin
fuente
¿Cómo mantener la nueva terminal abierta, que sale después de que el comando finalizó / finalizó?
Pandya
3
  1. Abrir dos terminales;
  2. Identificar cada terminal con ttycomando;
  3. Suponiendo que se identificaron con / dev / pts / 0 y / dev / pts / 1;
  4. En la terminal pts / 0 redireccionando stdout a pts / 1 con el execcomando:exec 1>/dev/pts/1
  5. Ahora cada salida de comando stdout del terminal pts / 0 se muestra en pts / 1;
  6. Redireccionando la salida estándar con commad: exec 1>/dev/pts/0
  7. Ahora pts / 0 stdout funciona como antes.

Video de Youtube:

Vitalie Ghelbert
fuente
1

Después de Ubuntu 18.04 LTS, es posible que desee cambiar de -ea --, es decir, gnome-terminal -ea gnome-terminal --porque -ey -xambos están en desuso.

kensaii
fuente
1

Aquí van mis 50 centavos con Terminator:

terminator -x "script.sh; bash"

Esto también funciona, pero no puedo decirte la diferencia:

terminator -e "script.sh; bash"

Tenga en cuenta que el script también podría ser un comando.

Probado en Ubuntu 18.04 LTS.

Reginaldo Santos
fuente