web-dev-qa-db-fra.com

Terminal raccourci ctrl + alt + T, 2 terminaux, taille différente

Dans Ubuntu, vous pouvez modifier la taille par défaut du terminal en utilisant (édition> préférences de profil) pour modifier la taille. Comment pouvez-vous utiliser le raccourci pour faire apparaître le terminal ctrl+alt+T créer deux terminaux de tailles différentes afin qu’ils se superposent du côté droit de l’écran? Alors que l'un a une hauteur plus petite que l'autre mais de largeur égale.

4
Gatis Seja

Je vais vous fournir un guide détaillé et testé sur la façon dont vous pouvez atteindre le résultat souhaité.

D'abord un bref résumé des étapes:

  • Ecrivez un court script bash qui ouvre deux fenêtres de terminal avec des tailles et des positions spécifiées.
  • Définit le "executable" -flag du fichier de script
  • Testez le script (pour éviter les fautes de frappe et assurez-vous que tout fonctionne)
  • Désactiver/Modifier l'ancien raccourci de terminal pour libérer les touches de raccourci Ctrl+Alt+T
  • Définir le nouveau raccourci personnalisé

Suit maintenant le guide détaillé:

Comme vous ne pouvez lancer qu'une seule commande avec un raccourci clavier (pour autant que je sache), nous devons écrire un court script bash qui ouvre les deux fenêtres. Nous pouvons également transmettre un paramètre spécial au terminal gnome qui définit la taille de la fenêtre (en caractères, pas de pixels) et sa position (en pixels sur l'écran). Cela devrait ressembler à ceci:

#!/bin/bash
# File: open-two-terminals.sh
# Purpose: launch two windows of gnome-terminal with different 
#          sizes (in characters) and positions (in pixels)

gnome-terminal --geometry=80x30+400+400 &
gnome-terminal --geometry=60x20+500+50 &

# geometry-syntax: --geometry=[width]x[height]+[x-position]+[y-position]

# Info: & continues with the next command right after the execution
#       of the command it is written after, instead of waiting until
#       the program finished and returns.

Notez que vous pouvez/devez expérimenter un peu les valeurs géométriques pour redimensionner et positionner les fenêtres exactement comme vous le souhaitez. Je n'ai utilisé que des exemples de valeurs.

Sauvegardez ces lignes (vous avez seulement besoin des 1ers et de ceux sans #, car les autres ne sont que des commentaires) dans un fichier comme open-two-terminals.sh à l’endroit de votre choix. Je suggérerais votre répertoire home bin/home/MYUSERNAME/bin (créez ce répertoire s'il n'existe pas), mais vous pouvez le modifier comme vous le souhaitez (tant qu'il se trouve quelque part dans le PATH) ainsi que le nom du fichier, il ne doit se terminer que par .sh.
Donc, je suppose maintenant que vous avez un fichier script /home/MYUSERNAME/bin/open-two-terminals.sh.

La prochaine étape consiste à rendre le script exécutable, car il ne s’agit pour l’instant que d’un simple fichier texte agréable à regarder. Pour ce faire, exécutez la commande suivante dans un terminal: chmod +x /home/MYUSERNAME/bin/open-two-terminals.sh

Maintenant, une fois que le drapeau exécutable est défini, vous pouvez faire un premier test pour savoir si vous avez tout fait jusqu’à présent. Exécutez le script en entrant open-two-terminals.sh dans une fenêtre de terminal ou dans le Alt+F2-HUD. Il convient d’ouvrir deux nouvelles fenêtres de terminal avec des profils et des tailles différents.

Si cela fonctionne (sinon vous avez commis une erreur et devez revérifier et réessayer toutes les étapes), vous pouvez définir le raccourci clavier.
Allez à votre Panneau de configuration du système et cliquez sur Clavier Passez à l'onglet Raccourcis et sélectionnez Lanceurs dans la liste de gauche. . Vous voyez le raccourci pour Lancer le terminal dans la liste à droite.

Vous devez d’abord désactiver ce raccourci (entrez Backspace en tant que nouveau raccourci) ou attribuez une (des) clé (s) différente (s) de celle utilisée Ctrl+Alt+T, comme vous voulez les utiliser plus tard pour votre raccourci personnalisé.

Ensuite, sélectionnez les raccourcis personnalisés dans la liste de gauche. Ajoutez un nouveau raccourci en cliquant sur le symbole + sous la liste de droite. Une fenêtre s’ouvrira et demandera un nom pour le raccourci (tout ce que vous voulez, par exemple Open Two Terminals) et la commande à exécuter (entrez le fichier de script créé précédemment, par exemple open-two-terminals.sh). Confirmez en cliquant sur OK.
Maintenant, la dernière chose à faire est d’attribuer les anciennes clés du terminal. Ctrl+Alt+T à ce nouveau raccourci. Par conséquent, cliquez sur la colonne de droite contenant les touches de raccourci (la valeur par défaut est . Désactivé - important, car un clic sur la colonne de gauche contenant le titre ouvre la fenêtre contextuelle. ) puis maintenez les touches que vous souhaitez attribuer au raccourci enfoncées. Vous devriez les voir maintenant à la gauche du titre du raccourci.

Fermez le panneau de commande et profitez de votre nouveau raccourci double terminal! :-RÉ

J'espère que ce guide détaillé vous a aidé et a résolu votre question. Si tel est le cas, veuillez accepter la réponse en cliquant brièvement sur la coche grise située à gauche de celle-ci pour montrer votre appréciation. Si vous ou toute autre personne lisant ce document rencontrez un problème, si vous souhaitez obtenir des éclaircissements supplémentaires ou trouver une erreur, laissez-moi un commentaire!

2
Byte Commander

Procédure de base:

  1. Sudo apt-get install wmctrl
  2. touch bin/twoterm.sh && Sudo chmod +x bin/twoterm.sh
  3. Copiez le script ci-dessous et enregistrez-le dans le fichier bin/twoterm.sh
  4. Créez un raccourci personnalisé Ctrl + Alt + R, qui appellera la commande `gnome-terminal -e /home/yourusername/bin/twoterm.sh

Le script

#!/bin/bash
# Author: Serg Kolo
# Date: 2/18/2015
# Description: A simple script to create two windows on right side
# of the screen with specific size. 

sleep 1

gnome-terminal -t WINDOW-ONE 
gnome-terminal -t WINDOW-TWO

if [  $? == 0  ]

    then
        wmctrl -r WINDOW-ONE -e 0,1300,300,250,250
        sleep 0.5
        wmctrl -r WINDOW-TWO -e 0,1300,0,250,250
fi

Explication:

  • wmctrl est un programme permettant d’interagir avec les gestionnaires de fenêtres et les fenêtres ouvertes. plus d'infos dans man wmctrl, this et this posts askubuntu
  • gnome-terminal -t WINDOM-TITLE appelle une fenêtre gnome-terminal avec un titre spécifique. Pas besoin de créer des profils différents, bien que vous puissiez le faire si vous le souhaitez. Voir la réponse de ByteCommander pour cela
  • wmctrl -r WINDOW-NAME -e g,x,y,w,h, indique à une fenêtre dont le titre est WINDOW-NAME d'avoir exactement les paramètres de gravité, la position x sur l'écran, la position y sur l'écran, la largeur de la fenêtre et la hauteur de la fenêtre.

Bugs/bizarreries :

  • Apparemment, hud exécute tout un par un, mais gnome-terminal peut exécuter des parties du script beaucoup plus rapidement, c'est pourquoi, dans le raccourci, j'appelle pour gnome-terminal -e '/home/username/bin/twoterm.sh'; De cette façon, il existe une fenêtre gnome-terminal créée pour une fraction de seconde qui permet à deux d’exécuter correctement le script.

  • La raison de l'instruction if est que, pour une raison quelconque, le script ne peut pas s'exécuter séquentiellement

  • La raison de l'instruction sleep est d'autoriser la deuxième fenêtre à rattraper la première. Apparemment, le script ne peut pas appeler deux instances de wmctrl en même temps
  • Le raccourci + script ne peut être exécuté qu'une seule fois. Si vous appelez le script plusieurs fois, vous obtiendrez plusieurs fenêtres, mais la commande wmctrl organisera uniquement les deux fenêtres d'origine que vous avez appelées pour la première fois.

Captures d'écran:

enter image description here

Autre script :

Selon la suggestion de ByteCommander, j'ai modifié le script pour qu'il soit exécuté uniquement par l'instruction /bin/sh et supprimé de if.

#!/bin/bash
# Author: Serg Kolo
# Date: 2/18/2015
# Description: A simple script to create two windows on right side
# of the screen with specific size. 

gnome-terminal -t WINDOW-ONE &
gnome-terminal -t WINDOW-TWO &

sleep 1 
wmctrl -r WINDOW-ONE -e 0,1300,300,250,250 &
wmctrl -r WINDOW-TWO -e 0,1300,0,250,250 &
0
Sergiy Kolodyazhnyy