Ich weiß nicht, ob der Titel selbsterklärend ist, aber ich wollte mehrere (vorerst zwei) Terminals öffnen, ohne den Desktop starten zu müssen.
Ich möchte ein PHP-Skript ausführen (Vollzeit) und mein Raspi-Terminal weiterhin so verwenden können, wie es ist, wenn ich mein Raspi mit Raspbian starte.
Antworten:
Verwenden Sie einfach Alt + F1-F12, damit Sie 12 verschiedene Konsolenregisterkarten haben können, ohne eine GUI zu starten
quelle
Wenn Sie sich an der Konsole befinden (angeschlossene Tastatur und Bildschirm), sollten Sie in der Lage sein, mit dem virtuellen Konsolensystem von Linux zwischen mehreren Terminals zu wechseln, indem Sie (Strg-) Alt-F1 bis F12 und mehr mit Umschalttaste verwenden.
Die Anzahl der konfigurierten Terminals und die Anzahl der Terminals mit getty- Prozessen (die Sie nach Login und Passwort fragen) hängt von der Konfiguration ab .
quelle
Noch besser als
screen
(meiner Meinung nach)tmux
. Sie können es über installierensudo apt-get install tmux
. Schauen Sie sich auch die Manpage mit anman tmux
.Sie können es starten, indem Sie
tmux
auf einer Ihrer Konsolen tippen (siehe Antwort von XTL).Hier sind die wichtigsten Befehle (
C-b d
bedeutet: Drücke gleichzeitig die Steuertaste und die Taste B und dann die Taste D):C-b d
Sitzung trennentmux attach
auf der Shell, um eine laufende Sitzung erneut anzuhängenC-b "
Aktuellen Frame horizontal teilen (neue Shell wird gestartet)C-b %
Aktuellen Frame vertikal teilen (neue Shell wird gestartet)C-b arrow (up, down, left, right)
Zwischen Fenstern im aktuellen Frame navigierenC-b c
neuer Frame (neue Shell wird gestartet)C-b n
nächstes BildC-b l
letztes BildC-b b
C-b
an die laufende Anwendung sendenquelle
Dies können Sie auch mit screen tun. Mit screen können Sie sogar die Verbindung zu Ihrer Bildschirmsitzung trennen, sich abmelden, anmelden und dann erneut eine Verbindung zu Ihrer Bildschirmsitzung herstellen, ohne etwas zu verlieren. Programme werden weiterhin ausgeführt, und alle Ausgaben werden weiterhin auf den Terminals angezeigt, von denen Sie die Verbindung getrennt haben.
Ein paar Links zu Bildschirm-Tutorials:
http://www.rackaid.com/resources/linux-screen-tutorial-and-how-to/
http://magazine.redhat.com/2007/09/27/a-guide-to-gnu-screen/
Ein Link zu einem Thread mit einigen nützlichen .screenrc-Tipps:
https://bbs.archlinux.org/viewtopic.php?id=55618
Ein Raspberry Pi spezifisches Tutorial:
http://raspi.tv/2012/ using-screen-with-raspberry-pi-to-avoid-leaving-ssh-sessions-open
quelle
Wenn das PHP-Skript, das Sie ausführen möchten, nicht mit dem Benutzer interagiert oder Eingaben benötigt,
Sie können den
&
Befehl verwenden, der das Skript in den Hintergrund sendetHier ist ein Beispiel.
Dadurch wird das Skript in den Hintergrund verschoben und dort weiter ausgeführt.
Wenn Sie in Ihr Terminal sshen, können Sie zweimal in denselben Benutzer sshen und haben zwei Terminals.
Wenn Sie mehrere Terminals von einer SSH-Sitzung aus öffnen möchten,
Sie sollten sich den Bildschirm ansehen oder noch besser installieren,
byobu
der ein Wrapper um den Bildschirm ist.byobu ist ein Wrapper, mit dem Sie einfach neue Bildschirme mit einer einfachen Funktionstaste anstelle einer Tastenkombination von Strg-A öffnen können. Außerdem wird eine Statuszeile mit allen offenen virtuellen Terminals angezeigt, die benannt werden können.
Ein weiteres nettes Feature ist die Tatsache, dass Ihr gesamter Bildschirm eingeschaltet bleiben kann, während Ihre SSH-Verbindung getrennt ist. Du verbindest dich einfach wieder per ssh und rufst byobu an und alles ist wie vorher.
Ich hoffe es hilft.
quelle
Der Vollständigkeit halber kann auch byobu verwendet werden . Es ist eine praktische Ebene über dem GNU-Bildschirm . Es bietet schöne Standardeinstellungen und ist in meinem Sinne einfacher zu bedienen. Ich persönlich benutze es auf meinem Rapsberry Pi und es funktioniert einwandfrei. Geben Sie zum Installieren einfach Folgendes ein:
Einmal installiert, konfigurieren Sie es über:
Dort können Sie festlegen, dass es beim Anmelden automatisch gestartet wird , und die Statusbenachrichtigungs- Applets ( Betriebszeit, Ladezeit, Datum ... ) umschalten.
Nebenbei bemerkt, diese Art von virtueller Konsole ist auch nützlich, um die gleiche Konsolen-Eingabe / Ausgabe für verschiedene Benutzer auf verschiedenen Computern freizugeben (Sie können es als Textmodus-Bildschirmfreigabe bezeichnen ).
quelle
byobu-config
).Da Ihre ursprüngliche Anforderung darin bestand, ein PHP-Skript im Hintergrund zu starten, können Sie den Befehl verwenden
nohup
. Beispiel:Einmal gestartet, spezifiziert der Befehl als Befehlszeilenargument
nohup
ausgeführt wird , im Hintergrund , und die Eingabe / Ausgabe sind unverknüpft von dem Terminal, der es gestartet wird , um zu verhindern ,SIGHUP
Signal (daher dernohup
Name) mit dem Hintergrundprozess gesendet werden , wenn Sie beenden die Startkonsole (Signal, das normalerweise das Programm beendet). Die Ausgabe wird in eine Datei umgeleitet (Standardnohup.out
).Für weitere Informationen:
man nohup
.Für eine bessere und vollständigere Antwort möchten Sie Ihr Programm möglicherweise vollständig "dämonisieren" . Wahrscheinlich finden Sie im Web Ressourcen, die erläutern, wie Sie mit PHP-Skripten vorgehen.
quelle
disown
zum Verhindern des Aufhängens ausgewählter Hintergrundprozesse.