web-dev-qa-db-fra.com

Focaliser le terminal existant avec le raccourci `Ctrl-Alt-T`

J'ai tendance à utiliser beaucoup le terminal,

Je me demande donc si je peux faire quelque chose Ctrl+Alt+T concentrer le terminal existant s'il en existe un, sinon créer un nouveau terminal?

16
Hailwood

Créez un petit script qui lèvera le terminal GNOME:

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

ou si vous voulez vérifier si Terminal est déjà en marche, utilisez:

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

Cela créera le script ~/raiseterminal.sh avec ce contenu:

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

Ouvrez les préférences pour configurer un raccourci clavier personnalisé et définissez la commande sur /home/$USER/raiseterminal.sh, mais veillez à remplacer $ USER par votre valeur réelle. Nom d'utilisateur.

Si vous souhaitez uniquement élever le terminal sur un écran ou un bureau spécifique, voir xdotool search --help pour plus d'informations sur la procédure à suivre.

Il existe également diverses méthodes autres méthodes qui fonctionnent mieux avec d'autres gestionnaires de fenêtres.

24
zerwas

pourquoi n'essayez-vous pas tilda ou guake, tous deux disponibles dans les dépôts ubuntu. Bien qu'ils ne fassent pas spécifiquement ce que vous recherchez, je suis sûr qu'ils sont la chose que vous recherchiez mais que vous ne saviez pas qu'elle existait. ;)

EDIT: ok, j'étais un peu vague, voici plus d'informations:

de wikipedia :

Tilda est un émulateur de terminal GTK +. Son design a été inspiré des consoles de jeux informatiques tels que Quake, qui glissent vers le bas lorsque vous appuyez sur une touche, généralement le tilde, et remontent lorsque vous appuyez à nouveau sur cette touche.

Exécuter Tilda peut être plus rapide que de lancer un nouveau terminal avec un raccourci clavier, car le programme est déjà chargé en mémoire; il peut être utile aux personnes qui se retrouvent fréquemment à ouvrir et à fermer des terminaux pour des tâches étranges.

guake est vraiment la même chose, la seule différence que j'ai remarquée est que je ne pouvais pas ouvrir les liens http par ctrl + clic, ce qui m'a déplu.

8
bartekbrak

Ma version (=

Script pour exécuter/relancer n'importe quelle application:

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

par exemple.

sh ~/raise.sh chromium
1
Possum Gallo

essayer

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

accédez aux paramètres système - Keyborad, ajoutez un raccourci personnalisé et collez-y la commande wmctrl. Ça marche.

d'où provient la chaîne gnome-terminal- *

wmctrl -xl
0
Jake

Encore une autre option: lancer ou basculer. Le script s'appuie sur wmctrl pour vérifier si une fenêtre est déjà ouverte. Si tel est le cas, le script bascule sur un script existant, en donnant la priorité à une fenêtre existante du bureau actuel. Sinon, une nouvelle fenêtre est ouverte. Ce script est publié par 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;

Placez ce script dans le dossier bin de votre dossier personnel et rendez-le exécutable. Ensuite, sous Raccourcis clavier (Paramètres - Clavier), désactivez le raccourci clavier existant pour "Lancer le terminal" dans la section "Lanceurs": cliquez dessus, puis appuyez sur la touche Retour arrière pour désactiver l'affectation actuelle. Ensuite, dans la section "Raccourcis personnalisés", créez un nouveau raccourci personnalisé en cliquant sur l'icône +. Remplissez le nom de votre script en tant que "commande" et attribuez-lui la Ctrl+Alt+t raccourci.

0
vanadium