Metti a fuoco il terminale esistente con la scorciatoia `Ctrl-Alt-T`


16

Tendo a usare molto il terminale,

Quindi mi chiedo se c'è un modo in cui posso fare Ctrl+ Alt+ Tfocalizzare il terminale esistente se ce n'è uno, altrimenti creare un nuovo terminale?

Risposte:


24

Crea un piccolo script che solleverà il Terminale GNOME:

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

o se si desidera verificare se Terminal è già in esecuzione, utilizzare:

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

Questo creerà lo script ~ / raiseterminal.sh con questo contenuto:

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

Apri le preferenze per impostare una scorciatoia da tastiera personalizzata e imposta il comando su /home/$USER/raiseterminal.sh, ma assicurati di cambiare $ USER al tuo vero nome utente.

Se si desidera sollevare il terminale solo su uno schermo o un desktop specifici, vedere xdotool search --helpper ulteriori informazioni su come eseguire questa operazione.

Esistono anche altri metodi che funzionano meglio con altri gestori di finestre.


Potresti aggiungere un | head -n1dopo aver cercato windows gnome-terminal per evitare un errore se viene trovata più di una windows
ggalmazor

8

perché non provi tildaoppure guake, entrambi disponibili nei repository ubuntu. Anche se non fanno esattamente quello che cerchi, sono sicuro che sono quella cosa che stavi cercando ma non sapevano che esistesse. ;)

EDIT : ok, ero un po 'vago, seguono ulteriori informazioni:

da Wikipedia :

Tilda è un emulatore di terminale GTK +. Il suo design è stato ispirato da console in giochi per computer come Quake che scorrono verso il basso dalla parte superiore dello schermo quando viene premuto un tasto, in genere la tilde, e tornano indietro quando si preme nuovamente il tasto.

L'esecuzione di Tilda può essere più rapida dell'avvio di un nuovo terminale con una scorciatoia da tastiera perché il programma è già caricato in memoria; può essere utile per le persone che si trovano spesso ad aprire e chiudere terminali per compiti strani.

guake è davvero la stessa cosa, l'unica differenza che ho notato è che non sono riuscito a far aprire i collegamenti http con ctrl + clic che ho trovato fastidioso


1

La mia versione (=

Script per eseguire / aumentare qualsiasi app:

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

per esempio

sh ~/raise.sh chromium

0

provare

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

vai alle impostazioni di sistema - Keyborad, aggiungi un collegamento personalizzato e incolla qui il comando wmctrl. Funziona.

da dove proviene la stringa gnome-terminal- *

wmctrl -xl

0

Ancora un'altra opzione: lanciare o passare. Lo script si basa su wmctrl per verificare se una finestra è già aperta. In tal caso, lo script passa a uno esistente, dando priorità a una finestra esistente sul desktop corrente. Altrimenti, viene aperta una nuova finestra. Questo script è pubblicato da 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;

Posiziona questo script nella cartella bin nella cartella home e rendilo eseguibile. Quindi sotto Scorciatoie da tastiera (Impostazioni - Tastiera), disabilita il tasto di scelta rapida esistente per "Avvia terminale" nella sezione "Lanciatori": fai clic su di esso, quindi premi Backspace per disabilitare l'assegnazione corrente. Quindi, nella sezione "Collegamenti personalizzati", crea un nuovo collegamento personalizzato facendo clic sull'icona +. Inserisci il nome del tuo script come "comando" e assegnagli il collegamento Ctrl+ Alt+ t.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.