web-dev-qa-db-fra.com

Comment ouvrir la borne, diviser à 9 terminaux et interrupteur entre eux en utilisant un script?

Je souhaite ouvrir un terminal, le diviser pour dire 9 parties (3x3) et exécuter un script Bash. Mais pour chaque partie de terminal Différent script.

Cela peut-il être fait à l'aide de Perl, python ou même bash?

Comment passer entre ces petites bornes sans utiliser de raccourcis clavier?

Oh, au fait, j'utilise terminator. Et s'il y a un autre émulateur de terminal qui permet une telle fonctionnalité, ce qui est?

19
jirislav

Pour me plagier moi-même , vous pouvez configurer un profil avec les paramètres souhaités (instructions adaptées à partir de ici ):

  1. Run terminator et configurez la mise en page souhaitée. Vous pouvez utiliser Ctrl+Shift+E à fractionner les fenêtres verticalement et Ctrl+Shift+O (c'est o comme dans les oodles, pas zéro) pour se diviser horizontalement. Pour cet exemple, j'ai créé une disposition avec 6 vitres:

    enter image description here

  2. Faites un clic droit sur la fenêtre terminator et choisissez "Préférences". Une fois la fenêtre Préférences Ouvrir, accédez à "Mise en page" et cliquez sur "Ajouter":

    enter image description here

  3. Cela remplacera la liste de mise en page avec votre nouvelle mise en page:

    enter image description here

  4. Recherchez chacun des terminaux que vous avez créés dans la mise en page et cliquez sur eux, puis à droite Entrez la commande que vous souhaitez exécuter dans le démarrage:

    enter image description here

    Important: Notez que la commande est suivie de ; bash. Si vous ne faites pas que les terminaux ne seront pas accessibles car ils dirigeront la commande que vous donnez et quittez. Vous devez lancer une coquille après chaque commande pour pouvoir utiliser les terminaux.

    Une fois que vous avez défini toutes les commandes, cliquez sur "Fermer", puis quittez terminator.

  5. Ouvrez le fichier terminator fichier de configuration ~/.config/terminator/config et supprimez la section sous la mise en page pour la configuration par défaut. Modifiez ensuite le nom de la mise en page que vous avez créée par défaut. Ça devrait ressembler a quelque chose comme ca:

    [global_config]
    [keybindings]
    [profiles]
      [[default]]
    [layouts]
      [[default]]
        [[[child0]]]
          position = 446:100
          type = Window
          order = 0
          parent = ""
          size = 885, 550
        [[[child1]]]
          position = 444
          type = HPaned
          order = 0
          parent = child0
        [[[child2]]]
          position = 275
          type = VPaned
          order = 0
          parent = child1
        [[[child5]]]
          position = 219
          type = HPaned
          order = 1
          parent = child1
        [[[child6]]]
          position = 275
          type = VPaned
          order = 0
          parent = child5
        [[[child9]]]
          position = 275
          type = VPaned
          order = 1
          parent = child5
        [[[terminal11]]]
          profile = default
          command = 'df -h; bash'
          type = Terminal
          order = 1
          parent = child9
        [[[terminal10]]]
          profile = default
          command = 'export foo="bar" && cd /var/www/; bash'
          type = Terminal
          order = 0
          parent = child9
        [[[terminal3]]]
          profile = default
          command = 'ssh -Yp 24222 [email protected]'
          type = Terminal
          order = 0
          parent = child2
        [[[terminal4]]]
          profile = default
          command = 'top; bash'
          type = Terminal
          order = 1
          parent = child2
        [[[terminal7]]]
          profile = default
          command = 'cd /etc; bash'
          type = Terminal
          order = 0
          parent = child6
        [[[terminal8]]]
          profile = default
          command = 'cd ~/dev; bash'
          type = Terminal
          order = 1
          parent = child6
    [plugins]
    

Le résultat final est que lorsque vous exécutez terminator il s'ouvre avec 6 vitres, chacune d'une exécution ou exécute les commandes que vous avez spécifiées:

enter image description here

De plus, vous pouvez configurer autant de profils différents que vous le souhaitez et que vous lancez Terminator avec le commutateur -p indiquant un nom de profil ou basculez manuellement sur le profil que vous souhaitez rechercher après le lancement.

36
terdon

Recherchez-vous un multiplexeur terminal TMUX.

https://github.com/tmux/tmux

5
Sujit Maharjan

Retour Quand j'utilisais terminator Il s'agit du fichier RC que j'ai utilisé pour ouvrir un tas de terminaux et exécutez des applications. Enregistrez-le à .config/terminator/config.

[global_config]
  title_hide_sizetext = True
  enabled_plugins = LaunchpadCodeURLHandler, APTURLHandler, LaunchpadBugURLHandler
[keybindings]
[profiles]
  [[default]]
    font = DejaVu Sans Mono 9
    cursor_blink = False
    scrollback_infinite = True
[layouts]
  [[default]]

    [[[root]]]
      position = -4:0
      type = Window
      order = 0 
      parent = ""
      size = 1072, 1884

    [[[grand]]]
      position = 536 
      type = HPaned
      order = 0 
      parent = root
    [[[left]]]
      position = 942 
      type = VPaned
      order = 0 
      parent = grand
    [[[right]]]
      position = 942 
      type = VPaned
      order = 1 
      parent = grand



    [[[terminal1]]]
      profile = default
      type = Terminal
      order = 0 
      parent = left
      command = "cd ~/code/foo; bash"
    [[[terminal2]]]
      profile = default
      type = Terminal
      order = 1 
      parent = left
      command = "cd ~/bar/baz; bash"



    [[[terminal3]]]
      profile = default
      type = Terminal
      order = 1 
      parent = right
      command = ""
    [[[terminal4]]]
      profile = default
      type = Terminal
      order = 0 
      parent = right
      command = "cmus; bash"



[plugins]

Edit : Notez que cette information est probablement venue du poste de Terdon sur un fil beaucoup plus précoce. J'utilise cette configuration depuis quelques mois, mais la poste de Terdon est très familière!

3
dotancohen

Script d'emballage pour scission Terminator Terminal Emulator https://github.com/ALEKSEYCHUDOV/TERMINATOR-SPLIT

2
Aleksey Chudov