Enfoque el terminal existente con el atajo `Ctrl-Alt-T`

16

Tiendo a usar mucho la terminal,

Entonces, me pregunto si hay una manera de hacer que Ctrl+ Alt+ Tenfoque el terminal existente si hay uno, de lo contrario, ¿crear un nuevo terminal?

Granizo
fuente

Respuestas:

24

Cree un pequeño script que elevará la Terminal de GNOME:

echo 'xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)'> ~/raiseterminal.sh && chmod +x ~/raiseterminal.sh

o si desea verificar si Terminal ya se está ejecutando, use:

echo -e $'if ps aux | grep "[g]nome-terminal" > /dev/null\n then xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)\n else gnome-terminal &\nfi' > ~/raiseterminal.sh && chmod +x ~/raiseterminal.sh

Esto creará el script ~ / raiseterminal.sh con este contenido:

if ps aux | grep "[g]nome-terminal" > /dev/null                                                                                                                                                                                
 then xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)                                                                                                                                            
 else gnome-terminal&                                                                                                                                                                                                          
fi          

Abra las preferencias para configurar un método abreviado de teclado personalizado y configure el comando /home/$USER/raiseterminal.sh, pero asegúrese de cambiar $ USER a su nombre de usuario real.

Si solo desea elevar el terminal en una pantalla o escritorio específicos, consulte xdotool search --helppara obtener más información sobre cómo hacerlo.

También hay varios otros métodos que funcionan mejor con otros administradores de ventanas.

zerwas
fuente
Se podría añadir una | head -n1después de buscar ventanas gnome-terminal para evitar un error si se encuentra más de un ventanas
ggalmazor
8

¿por qué no pruebas tildao guake, ambos disponibles en los repositorios de Ubuntu. A pesar de que no lo hacen específicamente lo que está buscando, estoy seguro de que son aquello que estabas buscando, pero no sabía que existía. ;)

EDITAR : ok, era un poco vago, más información sigue:

de wikipedia :

Tilda es un emulador de terminal GTK +. Su diseño se inspiró en consolas en juegos de computadora como Quake que se deslizan hacia abajo desde la parte superior de la pantalla cuando se presiona una tecla, generalmente la tilde, y se deslizan hacia arriba cuando se presiona nuevamente la tecla.

Ejecutar Tilda puede ser más rápido que lanzar un nuevo terminal con un atajo de teclado porque el programa ya está cargado en la memoria; Puede ser útil para las personas que con frecuencia se encuentran abriendo y cerrando terminales para tareas extrañas.

guake es realmente lo mismo, la única diferencia que noté es que no podía hacer que abriera enlaces http haciendo ctrl + clic, lo que me pareció molesto

bartekbrak
fuente
1

Mi versión (=

Script para ejecutar / elevar cualquier aplicación:

PID=$$
xdotool search --class $1 | while read line
do
  echo "$line"
  if [ `xdotool windowactivate $line 2> /dev/stdout | grep -c fail` -eq 0 ]
    then
    kill $PID
    exit
  fi
done
## Launch the program if we reach here
$1 & disown

p.ej

sh ~/raise.sh chromium
Possum Gallo
fuente
0

tratar

sudo apt-get install wmctrl
wmctrl -xa 'gnome-terminal-server.Gnome-terminal'

vaya a la configuración del sistema - Keyborad, agregue un acceso directo personalizado y pegue el comando wmctrl allí. Funciona.

de donde es la cadena gnome-terminal- *

wmctrl -xl
Jake
fuente
0

Otra opción más: iniciar o cambiar. El script se basa en wmctrl para verificar si una ventana ya está abierta. Si es así, el script cambia a uno existente, dando prioridad a una ventana existente en el escritorio actual. De lo contrario, se abre una nueva ventana. Este guión es publicado por Vaughn Dickson .

#!/bin/sh

terminal_wm_class="gnome-terminal"
terminal_exec="gnome-terminal"

# no terminal started, so start one
if [ -z "`wmctrl -lx | grep gnome-terminal`" ]; then
    $terminal_exec &
else
    # search for existing terminals on current desktop
    current_desk=`wmctrl -d | grep '*' | cut -d ' ' -f 1`
    term_on_this_desk=`wmctrl -lx | grep "$current_desk[ ]*$terminal_wm_class" | cut -d ' ' -f 1`
    if [ -n "$term_on_this_desk" ]; then
        wmctrl -i -a $term_on_this_desk
    else
        # no terminals on current desktop, so just open the first one we find
        wmctrl -x -a $terminal_wm_class
    fi;
fi;

Coloque este script en la carpeta bin en su carpeta de inicio y hágalo ejecutable. Luego, en Accesos directos de teclado (Configuración - Teclado), desactive la tecla de acceso rápido existente para "Iniciar terminal" en la sección "Iniciadores": haga clic en ella y luego presione Retroceso para desactivar la asignación actual. Luego, en la sección "Accesos directos personalizados", cree un nuevo acceso directo personalizado haciendo clic en el icono +. Complete el nombre de su script como "comando" y asígnele el acceso directo Ctrl+ Alt+ t.

vanadio
fuente