Devo aprire più schede del terminale, assegnare loro dei titoli, andare in una directory e fare in modo che ogni scheda esegua un comando.
Sono nuovo di Linux e degli script di shell, dopo aver cercato online e verificato alcune soluzioni, ho creato questo script (EDITED in base alle risposte seguenti):
#!/bin/bash
cd /media/Extra/Project
tab=" --tab-with-profile=Default"
options=(--tab --title=Terminal)
cmds[1]="'rails s'"
titles[1]="Server"
cmds[2]="'rails c'"
titles[2]="Console"
for i in 1 2; do
options+=($tab --title="${titles[i]}" -e "bash -c "${cmds[i]} ; bash"" )
done
gnome-terminal "${options[@]}"
exit 0
Apre le schede, le nomina, ma non esegue i comandi che generano questo errore:
Si è verificato un errore durante la creazione del processo figlio per questo terminale
Un altro inconveniente è che se ho interrotto il comando in esecuzione, si chiude la scheda, cosa che non voglio. Devo essere in grado di interrompere il comando ed eseguirlo di nuovo nella stessa scheda.
Cosa c'è di sbagliato nella sceneggiatura? C'è un altro modo più semplice per farlo?
Nota:se ho rimosso la parte (-e “”bash -c ${cmds[i]};bash””) dal comando, si aprono le schede nella directory specificata e le denomina, senza errori.
-Modifica-1:
Dopo aver applicato la risposta @Tuknutx di seguito e aver modificato lo script, l'errore non viene più visualizzato, ma mi dà bash: rails c: command not found
e rails s
crea una nuova app rails invece di avviare il server rails, sto usando .rmvrc per selezionare un gemset una volta che si accede a questa cartella.
Risposta accettata:
Consiglierei di usare tmux
con tmuxinator
, farà il lavoro per te e puoi fare affidamento su terminator
anche i layout!
Per terminator
layout checkout anche la risposta di mhnagaoka qui askubuntu:
-
Dopo aver impostato il layout, fai clic con il pulsante destro del mouse su qualsiasi sfondo del terminale e scegli Preferenze → Layout scheda e fai clic su Aggiungi pulsante.
-
Dagli un nome e premi Chiudi .
-
Questo dovrebbe creare il menzionato
~/.config/terminator/config
file. -
Ora puoi avviare terminator usando il layout salvato usando:
terminator -l yourLayout
(sostituisci tuoLayout con quello che
hai scelto al punto 2). -
(facoltativo) Modifica il
~/.config/terminator/config
file in modo che dove dice[layouts]
e nidificato sotto[[yourLayout]]
, rinomina tuoLayout su predefinito e rimuovi/rinomina il precedente predefinito disposizione. Ora, quando Terminator si avvia senza alcun parametro,
caricherà il tuo[[default]]
personalizzato disposizione!