Questo è ciò che voglio realizzare:
- Voglio aprire un terminale gnome con cinque schede
- Voglio eseguire automaticamente una serie di comandi (5-10 comandi) in ciascuna scheda
Prima scheda:imposta la visualizzazione in maiuscolo e quindi esegue uno o più comandi
Seconda scheda:deve accedere a un server ed eseguire alcuni comandiTerza scheda:eseguirà solo alcuni comandi
gnome-terminal --geometry=260x25-0+0 --tab -e "csh -c "ct setview myViewName; cal"" –tab --tab --tab
(funziona bene, la visualizzazione è impostata ma dopo non viene eseguito nessun comando)
Ho invece provato a farlo in questo modo ed eseguendo questo nello script seguente:
gnome-terminal --geometry 125x18-0-26 --tab -t "some title" -e /home/ekido/Desktop/MyScripts/myScript
#!/usr/bin/expect
exec gnome-terminal --geometry 125x49-0+81 –tab
spawn ssh [email protected]
expect "password"
send "*******r"
expect "[email protected]:~>"
send “some commandr"
expect "[email protected]:~>"
send “some command"
interact
Se rimuovo il exec gnome-terminal --geometry 125x49-0+81 –tab
righe dall'esempio e chiamo uno script da qualche altro file, funziona bene:accedo al server e tutti i comandi vengono eseguiti. Qualcuno può aiutarmi a risolverlo?
Scrivere uno script che chiamo per ogni scheda non è un'opzione, poiché alla fine avrò 5 terminali con 5-7 schede in ciascuna, il che significa che ci sarebbero da 25 a 30 script da scrivere (costa più di quanto aiuta nel mio problema).
Risposta accettata:
Questo sembra funzionare sulla mia macchina:
gnome-terminal --geometry=260x25-0+0 --tab -e "bash -c 'date; read -n1'" --tab -e "bash -c 'echo meow; read -n1' " --tab --tab
Si noti che non appena i processi eseguiti da -e sono terminati, verranno terminati. In questo caso, bash viene caricato, esegue tutti i comandi che gli vengono passati ed esiste immediatamente. Ho inserito le istruzioni di lettura per attendere l'input dell'utente. In questo modo quelle schede non si chiuderanno finché non premi un tasto, solo così puoi vederlo in questo esempio. Senza di essi, sembrerebbe che solo due schede si aprano, perché le altre due verrebbero eseguite e chiuse troppo rapidamente.