¿Comando para abrir una nueva ventana de terminal desde la terminal actual?

46

Instalé xdotool ejecutando sudo apt-get install xdotooly lanzo el xdotool key ctrl+alt+tcomando para abrir una nueva ventana de terminal desde la actual, pero no funcionaba.

¿Cuál fue el comando para abrir una nueva ventana de terminal desde el terminal gnome actual?

Avinash Raj
fuente
1
ctrl + shift + n
wim

Respuestas:

67

Solo este comando hará:

gnome-terminal

Normalmente, si desea que un comando se abra desde el terminal y se separe (para que vuelva al mensaje sin tener que cerrar el programa abierto) , debe usar algo como esto:

gnome-terminal & disown

Sin embargo, el terminal principal parece detectar que se está utilizando el mismo comando, por lo que no es necesario que lo haga y gnome-terminalserá suficiente. Esto también parece suceder cuando se ejecuta xfce4-terminaldesde la terminal de Xfce, konsoledesde KDE también (no parece funcionar cuando se ejecuta xtermdesde xterm(ver también xterm xterm) - Ejecutar konsoledesde Gnome / Unity y la terminal de Xfce también funciona , pero para la terminal de Xfce en la terminal de gnome usted necesidad xfce4-terminal & disown)

Para más información visite gnome-terminalla página del manual :

 gnome-terminal  [-e,  --command=STRING]   [-x, --execute ]  [--window-with-profile=PROFILENAME]  [--tab-with-profile=PRO‐
       FILENAME]    [--window-with-profile-internal-id=PROFILEID]    [--tab-with-profile-internal-id=PROFILEID]    [--role=ROLE]
       [--show-menubar]   [--hide-menubar]   [--geometry=GEOMETRY]   [--disable-factory]  [-t, --title=TITLE]  [--working-direc‐
       tory=DIRNAME]  [--usage]  [-?, --help]
Wilf
fuente
1
Es probable que desea que se ejecute en segundo plano, al igual que: gnome-terminal &. De lo contrario, el terminal actual quedará inutilizable, ya que estará ocupado ejecutando el otro, por lo que terminará con solo un terminal utilizable, que puede estar perdiendo el punto.
Rafał Cieślak
1
Interesante. Aparentemente tienes razón, sin embargo, tampoco estoy equivocado :) Acabo de comprobar eso en detalles. Si ejecuto gnome-terminal mientras otra instancia ya está ejecutándose (puede ser la que estoy usando para iniciar este comando), de hecho finaliza de inmediato, porque en lugar de ejecutar una nueva instancia gnome-terminal, indica que actualmente se está ejecutando una para abrir una nueva ventana. Difícil. Pero si me quedo gnome-terminalde otra cosa , y no hay otros ejemplos de gnome-terminalejecución, lo hace como he explicado en el comentario anterior, el bloqueo de la terminal usado para lanzarlo.
Rafał Cieślak
1
@ RafałCieślak - de todos modos, konsoleno parece necesitar nada ... raro. No tengo idea de por qué esta pregunta / respuesta es tan popular :)
Wilf
2
Muchas gracias, si desea abrir un terminal con el mismo directorio que podría hacer esto,gnome-terminal .
kisanme
1
Si estás en Ubuntu MATE (por ejemplo, 16.x) esmate-terminal
Frank Nocke
8

Comando para abrir una nueva ventana de terminal desde la terminal actual,

xdotool key ctrl+shift+n

Para instalar xdotool,

sudo apt-get install xdotool
Avinash Raj
fuente
44
Ctrl + Shift + T abrirá una nueva pestaña de terminal.
GabrielF
2
Es una nueva terminal ... pero en una nueva pestaña en lugar de una nueva ventana.
GabrielF
1
No veo ninguna razón para usar xdotool key ctrl+shift+nmientras lo uso gnome-terminaltiene muchas otras opciones; ver man gnome-terminalen este sentido.
Radu Rădeanu
1
Ctrl + Shift + N abrirá una nueva ventana de terminal.
Siddhartha
Todavía creo que esto es bueno :) ¿hay algún equivalente para Mir o Wayland (para implementaciones no compatibles con cosas del servidor X)
Wilf
0

El siguiente script abrirá una nueva pestaña en la ventana actual de gnome-terminal y, opcionalmente, le dará un título a esa pestaña. Esto funciona desde cualquier ventana, no tiene que estar en una ventana de terminal gnome para ejecutarlo. Y, si no se está ejecutando gnome-terminal, se iniciará uno. La única advertencia es que si cambiaste la tecla de acceso rápido para abrir una nueva pestaña, es posible que debas cambiar la línea xdotool key ctrl+Tpara usarla.

#!/bin/bash

DELAY=1
# get title we are going to set tab too, default to Terminal
title="Terminal"
if [ $# -eq 1 ]; then
    title="$1"
fi    

# get pid of running terminal server
TPID=$(ps -C gnome-terminal-server -o pid | tail -1 | sed -e's/\s//g')
if [ ${TPID} == "PID" ]; then
    # no terminal process running yet, so just start one
    gnome-terminal -t "$title" --tab
    exit 0
fi

# there is a terminal, get window id of the running terminal server
WID=$(wmctrl -lp | awk -v pid=$TPID '$3==pid{print $1;exit;}')
# get title of currently active tab
TTITLE=`xwininfo -id 0x5000006 | grep xwininfo | awk '{print $5;exit}'`
if [ "$TTITLE" == "\"Terminal\"" ]; then
    # so we don't go into an infinite loop later
    TTITLE="we had a terminal named terminal $$"
fi
# get focus on active terminal tab
xdotool windowfocus $WID
# use keyboard shortcut to open new tab
xdotool key ctrl+T

# see if we have created tab and are in terminal
NTITLE=`xwininfo -id 0x5000006 | grep xwininfo | awk '{print $5;exit}'`
waited=0
while [ "$TTITLE" == "$NTITLE" ]; do
    # sleep for 1 second before we try again
    xdotool sleep 1
    NTITLE=`xwininfo -id 0x5000006 | grep xwininfo | awk '{print $5;exit}'`
    if [ $waited == 0 ]; then
    echo "Waiting "
    waited=1
    fi
    echo -n "."
done    
if [ $waited == 1 ]; then
    echo ""
fi    

# active tab is the new one we created, wait DELAY seconds just to be sure we can type into it to set tab name
xdotool sleep $DELAY
xdotool type --clearmodifiers "termtitle $title"
xdotool key Return
# make tab the active window and raise it to top
wmctrl -i -a $WID
exit 0
seth
fuente