Script o launcher per configurare più schede terminali in posizioni diverse


14

L'ho già studiato qualche tempo fa, ma non ho trovato alcuna soluzione che potesse aprire le schede dei terminali, eseguire alcuni comandi e quindi permettermi di continuare a utilizzare quelle schede dei terminali. Tutti i modi in cui ho trovato l'avvio delle schede dei terminali dalla riga di comando avrebbero solo avviato le schede e non mi avrebbero permesso di continuare ad usarle dopo.

Il problema che sto cercando di risolvere è che ogni volta che devo avviare la mia macchina (o la macchina virtuale in questo caso) ho bisogno di configurare sei diverse schede terminali per puntare a cartelle diverse ed esportare alcune variabili d'ambiente su alcune di esse.

Ho sperimentato con il terminale xfce e ho ottenuto un modo con il comando in questo modo:

terminal --disable-server -H --tab --title=1st_tab --tab --title=2nd_tab

Ma se aggiungo l'argomento comando, la scheda non è più utilizzabile quando si apre:

terminal --disable-server -H --tab --title=1st_tab --tab --title=2nd_tab --command="cd ~/folder1"

http://docs.xfce.org/apps/terminal/command-line

Attualmente sto usando Red Hat Linux con gnome 2.28.2.

Risposte:


18

Puoi farlo usando GNOME terminatorquale è un ottimo terminale con, tra le altre cose, la possibilità di dividere i riquadri in orizzontale o in verticale.

Una volta installato terminatorè possibile configurare un profilo con le impostazioni desiderate (istruzioni adattate da qui ):

  1. Esegui terminatore imposta il layout desiderato. Puoi usare Ctrl+ Shift+ Eper dividere le finestre verticalmente e Ctrl+ Shift+ O(che è O come in oodles, non zero) per dividere orizzontalmente. Per questo esempio, ho creato un layout con 6 riquadri:

    inserisci qui la descrizione dell'immagine

  2. Fai clic con il tasto destro sulla terminatorfinestra e scegli "Preferenze". Una volta aperta la finestra Preferenze, vai su "Layout" e fai clic su "Aggiungi":

    inserisci qui la descrizione dell'immagine

  3. Questo popolerà l'elenco Layout con il tuo nuovo layout:

    inserisci qui la descrizione dell'immagine

  4. Trova ciascuno dei terminali che hai creato nel layout e fai clic su di essi, quindi a destra inserisci il comando che desideri eseguire in essi all'avvio:

    inserisci qui la descrizione dell'immagine

    IMPORTANTE: si noti che il comando è seguito da ; bash. In caso contrario i terminali non saranno accessibili poiché eseguiranno il comando impartito e usciranno. È necessario avviare una shell dopo ogni comando per poter utilizzare i terminali.

    Dopo aver impostato tutti i comandi, fai clic su "Chiudi", quindi esci terminator.

  5. Apri il terminatorfile di configurazione ~/.config/terminator/configed elimina la sezione in layout per la configurazione predefinita. Quindi modificare il nome del layout creato per impostazione predefinita. Dovrebbe assomigliare a qualcosa di simile a questo:

    [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 cchapple@139.124.66.43'
          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]
    

Il risultato finale è che quando lo esegui terminatorsi aprirà con 6 riquadri, ognuno dei quali ha eseguito o esegue i comandi che hai specificato:

inserisci qui la descrizione dell'immagine


Dopo aver inserito i miei comandi nella Custom commandcasella e aver premuto Chiudi, non viene salvato quando viene riaperto. Posso sapere perché? Sto usando Ubuntu 16 Desktop
Nam G VU il

@NamGVU hmm, ho appena provato e ho lo stesso problema. Sembra un bug nell'attuale versione di terminator (funzionava 3 anni fa quando è stata pubblicata questa risposta). Funziona ancora se modifichi il ~/.config/terminator/configfile come mostrato nel passaggio 5.
terdon

2

Per avere Terminator cdin una directory all'avvio, il comando da configurare è:

cd ~/someFolder; bash

Questo apre un terminale nella posizione cded.

In realtà, Terdon lo menziona nel suo post ma è sepolto nel suo meraviglioso mini tutorial. Non è stato dopo averlo capito che l'ho notato sepolto nel suo post, quindi lascio questa risposta per enfatizzare.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.