web-dev-qa-db-fra.com

Script pour ouvrir des onglets dans le terminal Guake

J'utilise ce script avec le terminal gnome:

#!/bin/sh
gnome-terminal --tab --title="1" --command="ssh 1" \
--tab --title="2" --command="ssh 2" \
--tab --title="3" --command="ssh 3" \
--tab --title="4" --command="ssh 4"
exit 0

Comment puis-je faire les mêmes choses par script mais sur un terminal Guake?

16
TbMa

Avez-vous lu guake --help?

Usage: guake.py [options]

Options:
  -h, --help            show this help message and exit
  -t, --toggle-visibility
                        ?ndert die Sichtbarkeit des Terminal-Fensters.
  -p, --preferences     Zeigt die Einstellungen von Guake
  -a, --about           Zeigt Guake's Programminformationen
  -n NEW_TAB, --new-tab=NEW_TAB
                        Tab hinzuf?gen
  -s SELECT_TAB, --select-tab=SELECT_TAB
                        Tab ausw?hlen
  -g, --selected-tab    Return the selectd tab index.
  -e COMMAND, --execute-command=COMMAND
                        Eigenen Befehl im ausgew?hlten Tab ausf?hren
  -r RENAME_TAB, --rename-tab=RENAME_TAB
                        Gew?hlten Tab umbenennen
  -q, --quit            Sagt Guake das es verschwinden soll :o(
7
dAnjou

Cela fonctionne comme ceci: guake -n guake -e 'ssh 1' guake -r 'name_of_tab'

Cela ouvrira un nouvel onglet, exécutera la commande (ssh 1 dans ce cas) et renommera l'onglet nouvellement créé en "nom_de_tab".

6

Essaye ça:

#!/bin/sh
guake -n "whatever" -r "1" -e "ssh 1"
guake -n "whatever" -r "2" -e "ssh 2"
guake -n "whatever" -r "3" -e "ssh 3"
guake -n "whatever" -r "4" -e "ssh 4"
exit 0

(Il s'avère que ni guake -n "1" -e "ssh", ni guake -n "1" -s "1" -e "ssh 1" ne fonctionnent, il suffit de renommer les onglets.)

5
Tomasz Zieliński
#!/usr/bin/env bash
guake --rename-current-tab="tab0" --execute-command="ls" & 
sleep 1 && guake --new-tab="my/path" --rename-current-tab="tab1" --execute-command="ls" &
sleep 2 && guake --new-tab="my/path" --rename-current-tab="tab2" --execute-command="ls" &
exit 0

Guake commence un processus et un suivi Les appels Guake envoient des instructions au processus en cours.

Par conséquent, l'exécution de ce qui précède exécute les 3 lignes en une fois, car chacune passe immédiatement à l'arrière-plan (se termine par &).
(1) démarrer guake et renommer l'onglet par défaut;
(2) 1 seconde plus tard, nous envoyons une commande pour ouvrir un nouvel onglet, le renommer, exécuter la commande;
(3) +1 s plus tard, envoi de commandes pour 3 onglets

La clé ici est d'augmenter le sommeil après chaque appel, sinon les commandes peuvent arriver à un moment aléatoire et des choses étranges vont arriver

0
Ssonic

J'ai créé mon propre script pour obtenir le même comportement (avec des commandes différentes) basé sur la réponse de Panayiotis Orphanides; et ici il est adapté à vos besoins:

#!/bin/sh
guake -n guake -e 'ssh 1' guake -r '1'
guake -n guake -e 'ssh 2' guake -r '2'
guake -n guake -e 'ssh 3' guake -r '3'
guake -n guake -e 'ssh 4' guake -r '4'
exit 0

Je ne peux pas penser à un meilleur moyen, mais j'apprécierais vos commentaires

0
vabada