1. Registerkarten im Bildschirm
Sie möchten Folgendes zu Ihrer .screenrc-Datei hinzufügen:
screen -t tab1
screen -t tab2
Hier ist eine nette einfache .screenrc-Datei, mit der Sie mit einer Statusleiste usw. beginnen können. HINWEIS: Diese befindet sich normalerweise in Ihrem Home-Verzeichnis /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}]'
Bildschirmfoto
2. Registerkarten im Bildschirm (mit darin ausgeführten Befehlen)
Im folgenden Beispiel .screenrc
werden 2 Registerkarten erstellt und jeweils 3 Echobefehle ausgeführt.
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}]'
Bei dieser Technik werden Bildschirme select
und stuff
Befehle verwendet, um zunächst eine der Registerkarten auszuwählen und dann eine Zeichenfolge in diese einzufügen.
Bildschirmfoto
3. Erstellen von Nr. 2 ohne Verwendung einer .screenrc
Datei
Wenn Sie nach einem Szenario suchen, in dem Sie:
- Erstellen Sie eine Bildschirmsitzung
- Laden Sie es mit Tabs
- Lassen Sie jede Registerkarte ihre eigenen Befehle ausführen
- keine
.screenrc
Datei benötigen
Dann ist dies das Richtige für Sie! Seien Sie aber vorbereitet. Dieser kann mit den Kommandozeilen etwas knifflig werden.
Für den Anfang erstellen wir eine Bildschirmsitzung:
$ screen -AdmS myshell -t tab0 bash
Die Schalter -AdmS
haben folgende Funktionen:
( Weitere Informationen finden Sie auf der Bildschirm-Manpage. )
-EIN
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 Sitzungsname
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.
Jetzt lass es uns mit Tabs und deren Befehlen laden:
$ 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
Mit diesen drei Befehlen werden drei zusätzliche Registerkarten erstellt und vim, ping google und eine Bash-Shell gestartet. Wenn wir die Bildschirmsitzungen auflisten, sehen wir Folgendes:
$ screen -ls
There is a screen on:
26642.myshell (Detached)
1 Socket in /var/run/screen/S-root.
Wenn wir uns mit der Bildschirmsitzung verbinden, myshell und die darin enthaltenen Registerkarten auflisten , sehen wir Folgendes:
$ screen -r myshell
Drücken Sie diese Tastenkombination: Ctrl+ Agefolgt von Shift+"
Num Name Flags
0 tab0 $
1 tab1 $
2 tab2 $
3 tab3 $
Wechseln zu 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
Bildschirmfoto
Die obigen Befehle sind der grundlegende Weg, um das zu erreichen, wonach das OP gesucht hat. Dies kann natürlich mithilfe von Bash-Aliasen oder sogar Shell-Skripten komprimiert und verfeinert werden. Dies dient lediglich dazu, die Fähigkeit zu demonstrieren und den Weg zu weisen!
Verweise