1. Onglets à l'écran
Vous cherchez ceci à ajouter à votre fichier .screenrc:
screen -t tab1
screen -t tab2
Voici un joli .screenrc de base pour vous aider à démarrer avec une barre d'état, etc. REMARQUE: Il se trouve généralement dans votre répertoire personnel /home/<username>/.screenrc
.
screen -t validate #rtorrent
screen -t compile #irssi
screen -t bash3
screen -t bash4
screen -t bash5
altscreen on
term screen-256color
bind ',' prev
bind '.' next
#
#change the hardstatus settings to give an window list at the bottom of the
#screen, with the time and date and with the current window highlighted
hardstatus alwayslastline
#hardstatus string '%{= kG}%-Lw%{= kW}%50> %n%f* %t%{= kG}%+Lw%< %{= kG}%-=%c:%s%{-}'
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'
capture d'écran
2. Onglets dans l'écran (avec des commandes exécutées à l'intérieur)
L'exemple .screenrc
ci-dessous va créer 2 onglets et exécuter 3 commandes d'écho dans chacun.
screen -t tab1
select 0
stuff "echo 'tab1 cmd1'; echo 'tab1 cmd2'; echo 'tab1 cmd3'^M"
screen -t tab2
select 1
stuff "echo 'tab2 cmd1'; echo 'tab2 cmd2'; echo 'tab2 cmd3'^M"
altscreen on
term screen-256color
bind ',' prev
bind '.' next
#
#change the hardstatus settings to give an window list at the bottom of the
#screen, with the time and date and with the current window highlighted
hardstatus alwayslastline
#hardstatus string '%{= kG}%-Lw%{= kW}%50> %n%f* %t%{= kG}%+Lw%< %{= kG}%-=%c:%s%{-}'
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'
Cette technique utilise des écrans select
et des stuff
commandes pour sélectionner initialement l'un des onglets, puis «y bourrer» une chaîne.
capture d'écran
3. Créer # 2 sans utiliser de .screenrc
fichier
Si vous recherchez le scénario où vous pouvez:
- créer une session écran
- chargez-le avec des onglets
- chaque onglet exécutant ses propres commandes
- pas besoin de
.screenrc
fichier
Alors c'est celui qu'il vous faut! Soyez prêt cependant. Celui-ci peut devenir un peu délicat avec les lignes de commande.
Pour commencer, créons une session d'écran:
$ screen -AdmS myshell -t tab0 bash
Les commutateurs -AdmS
effectuent les opérations suivantes:
(Voir la page de manuel de l' écran pour plus de détails)
-UNE
Adapt the sizes of all windows to the size of the current terminal.
By default, screen tries to restore its old window sizes when
attaching to resizable terminals
-d -m
Start screen in "detached" mode. This creates a new session but
doesn't attach to it. This is useful for system startup scripts.
-S nom de session
When creating a new session, this option can be used to specify a
meaningful name for the session. This name identifies the session for
"screen -list" and "screen -r" actions. It substitutes the default
[tty.host] suffix.
Commençons maintenant à le charger avec des onglets + leurs commandes:
$ screen -S myshell -X screen -t tab1 vim
$ screen -S myshell -X screen -t tab2 ping www.google.com
$ screen -S myshell -X screen -t tab3 bash
Ces 3 commandes vont créer 3 onglets supplémentaires et exécuter vim, ping google et lancer un shell bash. Si nous listons les sessions d'écran, nous verrons ce qui suit:
$ screen -ls
There is a screen on:
26642.myshell (Detached)
1 Socket in /var/run/screen/S-root.
Si nous nous connectons à la session écran, myshell , et listons les onglets qu'elle contient, nous verrons ce qui suit:
$ screen -r myshell
Appuyez sur cette combinaison de touches: Ctrl+ Asuivi de Shift+"
Num Name Flags
0 tab0 $
1 tab1 $
2 tab2 $
3 tab3 $
Passer à tab2 :
64 bytes from ord08s08-in-f20.1e100.net (74.125.225.116): icmp_seq=443 ttl=55 time=41.4 ms
64 bytes from ord08s08-in-f20.1e100.net (74.125.225.116): icmp_seq=444 ttl=55 time=33.0 ms
64 bytes from ord08s08-in-f20.1e100.net (74.125.225.116): icmp_seq=445 ttl=55 time=30.1 ms
capture d'écran
Les commandes ci-dessus sont le moyen de base pour accomplir ce que l'OP recherchait. Bien sûr, cela peut être condensé et affiné en utilisant des alias Bash ou même des scripts shell, c'est simplement pour démontrer la capacité et montrer la voie!
Les références