GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo abrir una nueva pestaña en GNOME Terminal desde la línea de comando?

También puede hacer que cada pestaña ejecute un comando establecido.

gnome-terminal --tab -e "tail -f somefile" --tab -e "some_other_command"

Versión un poco más elaborada (para usar desde otra ventana):

#!/bin/bash

DELAY=3

TERM_PID=$(echo `ps -C gnome-terminal -o pid= | head -1`) # get first gnome-terminal's PID
WID=$(wmctrl -lp | awk -v pid=$TERM_PID '$3==pid{print $1;exit;}') # get window id

xdotool windowfocus $WID
xdotool key alt+t # my key map
xdotool sleep $DELAY # it may take a while to start new shell :(
xdotool type --delay 1 --clearmodifiers "[email protected]"
xdotool key Return

wmctrl -i -a $WID # go to that window (WID is numeric)

# vim:ai
# EOF #

Encontré la forma más sencilla:

gnome-terminal --tab -e 'command 1' --tab -e 'command 2'

Yo uso tmux en lugar de usar la terminal directamente. Entonces, lo que quiero es realmente un único y simple comando/archivo de shell para construir el desarrollo env con varios tmux ventanas El código de shell es el siguiente:

#!/bin/bash
tabs="adb ana repo"
gen_params() {

    local params=""
    for tab in ${tabs}
    do  
        params="${params} --tab -e 'tmux -u attach-session -t ${tab}'"
    done
    echo "${params}"
}
cmd="gnome-terminal $(gen_params)"
eval $cmd

#!/bin/sh

WID=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"| awk '{print $5}')
xdotool windowfocus $WID
xdotool key ctrl+shift+t
wmctrl -i -a $WID

Esto determinará automáticamente el terminal correspondiente y abrirá la pestaña correspondiente.


Linux
  1. ¿Cómo abrir el administrador de AVD en Ubuntu Linux desde la línea de comandos?

  2. Gnome (Ubuntu):¿cómo traer una ventana de programa al frente usando una línea de comando desde la terminal?

  3. ¿Cómo abrir un archivo en particular desde una terminal?

  4. ¿Nueva ventana de terminal (sesión duplicada) desde la línea de comandos de Putty?

  5. ¿Cómo puedo escribir en dmesg desde la línea de comandos?

Cómo ajustar el brillo del monitor desde la línea de comandos en Linux

Cómo hacer una copia de seguridad de una sola base de datos MySQL desde la línea de comandos

Cómo hacer una copia de seguridad de todas las bases de datos MySQL desde la línea de comandos

Cómo comprobar las estadísticas de red de Linux desde la línea de comandos

Cómo abrir una URL en el navegador web desde la terminal de Linux

cómo trazar stdin desde la terminal?