Posso creare e manipolare schermi unix in uno script?

Ho un ambiente di lavoro sul mio computer porttile Ubuntu in cui voglio utilizzare tre diverse schermate.

Per esempio. in terminal, scrivo solitamente

screen -S mywork run_server_1 

quindi, ctrl-a c per creare una seconda schermata

 run_server_2 

eccetera.

Vorrei scrivere uno script per automatizzare l'impostazione di questo ambiente, ma come posso controllare più schermi da uno script?

Aggiornamento: Voglio davvero essere in grado di farlo da uno script di shell, non da una configuration dello schermo. file. C'è un modo per farlo?

  • Qualcuno può vedere perché il mio DNS non funziona? Ho seguito tutto nel tutorial, ma non functionrò
  • La rimozione RPM non rimuove i dirmi consegnati e lascia i rifiuti
  • Sunsetting Microsoft Identity Management per Unix nel modo giusto
  • Soluzioni automatiche di stoccaggio automatiche a domicilio con Linux? (Memoria -> SSD -> HDD -> memory remota)
  • Mettere un process in background senza fermarlo - (ctrl + z)?
  • Elenca tutti i collegamenti simbolici su un sistema unix
  • Come posso creare una chiave singola (ssh) per l'utilizzo con scp?
  • chattr - Come modificare l'attributo di file + i senza utilizzare chattr
  • 3 Solutions collect form web for “Posso creare e manipolare schermi unix in uno script?”

    La lettura delle pagine e dei tutorial degli uomini aiuta

    Direi che vuoi fare è creare un file $ HOME / .screenrc.multiwin

     # read in your normal screenrc # before anything else source $HOME/.screenrc # now start opening windows # it's possible to set the window title with # the -t option # you can also specify the window number # to launch in screen -t server1 5 run_server_1 screen -t server2 6 run_server_2 

    Poi correre

     screen -c $HOME/.screenrc.multiwin 

    farà quello che ti serve

    I comandi possono essere passati dall'esterno usando la screen -S sessionname -X command per la screen -S mywork -X screen run_server_2 istanza screen -S mywork -X screen run_server_2 creerebbe una nuova window (uguale a ctrl-a c ) ma quella window avrebbe eseguito run_server_2 in esso. A differenza di quanto lo fa a mano, non ci sarà una shell in esecuzione in quella window, quindi quando run_server_2 esce, la window verrà chiusa.

    Controllare più schermi è semplicemente una questione di assicurarsi che siano tutti nominati con -S

    Credo che tmux sia molto più facilmente scriptable di schermo per questo tipo di scopo. Il programma tmux accetta i propri comandi come argomenti nella row di command, per esempio per lanciare due windows: "tmux new-session -d '/ bin / bash' \; new-window -d 'top'". Nella prima window verrà eseguito un shell "bash" interattivo e nella seconda window verrà eseguito "top".

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.