No sé si el título se explica por sí mismo, pero quería tener múltiples (dos por ahora serían suficientes) terminales abiertas sin tener que iniciar el Escritorio.
Quiero tener un script PHP en ejecución (a tiempo completo) y poder seguir usando mi terminal Raspi tal como está cuando inicio mi Raspi con Raspbian.
Respuestas:
Simplemente use Alt + F1-F12, para que pueda tener 12 pestañas de consola diferentes sin iniciar una GUI
fuente
Si está en la consola (teclado y pantalla adjuntos), debería poder usar el sistema de consola virtual Linux para cambiar entre múltiples terminales usando (ctrl-) alt-F1 a F12 y más con shift.
El número de terminales configurados y el número de ellos que tienen procesos getty (que le solicitan inicio de sesión y contraseña) depende de la configuración .
fuente
Incluso mejor de lo que
screen
es (en mi opinión)tmux
. Puede instalarlo a través desudo apt-get install tmux
. Consulte también la página de manual conman tmux
.Puede comenzar escribiendo
tmux
en una de sus consolas (consulte la respuesta de XTL).Estos son los comandos más importantes (
C-b d
significa: presione control y B al mismo tiempo, luego presione D):C-b d
separar sesióntmux attach
en el shell para volver a adjuntar una sesión en ejecuciónC-b "
dividir el marco actual horizontalmente (se inicia un nuevo shell)C-b %
dividir el marco actual verticalmente (se inicia un nuevo shell)C-b arrow (up, down, left, right)
navegar entre ventanas en el marco actualC-b c
nuevo marco (se inicia un nuevo shell)C-b n
siguiente fotogramaC-b l
último cuadroC-b b
enviarC-b
a la aplicación en ejecuciónfuente
Puedes hacer esto con la pantalla también. Con la pantalla, incluso puede desconectarse de su sesión de pantalla, cerrar sesión, iniciar sesión y luego volver a conectarla a su sesión de pantalla sin perder nada. Los programas continuarán ejecutándose y toda la salida continuará mostrándose en los terminales de los que se desconectó.
Un par de enlaces a tutoriales en pantalla:
http://www.rackaid.com/resources/linux-screen-tutorial-and-how-to/
http://magazine.redhat.com/2007/09/27/a-guide-to-gnu-screen/
Un enlace a un hilo con algunos consejos útiles .screenrc:
https://bbs.archlinux.org/viewtopic.php?id=55618
Un tutorial específico de Raspberry Pi:
http://raspi.tv/2012/using-screen-with-raspberry-pi-to-avoid-leaving-ssh-sessions-open
fuente
Si el script php que desea ejecutar no interactúa con el usuario o necesita información,
puedes usar el
&
comando que envía el script al fondoAquí hay un ejemplo.
Esto enviará el script al fondo donde seguirá ejecutándose.
Si ssh en su terminal, puede ssh en el mismo usuario dos veces y tener dos terminales.
Si desea abrir múltiples terminales desde una sesión ssh,
Debería mirar la pantalla o incluso mejor instalar,
byobu
que es un contenedor alrededor de la pantalla.byobu es un contenedor que permite abrir fácilmente nuevas pantallas con una simple tecla de función en lugar de la combinación de teclas de ctrl-a. También muestra una línea de estado con todos los terminales virtuales abiertos que se pueden nombrar.
Otra característica interesante es el hecho de que toda su pantalla puede permanecer activa mientras su conexión ssh está desconectada. Simplemente se conecta de nuevo a través de ssh y llama a byobu y todo es como antes.
Espero eso ayude.
fuente
Para completar, otra opción es usar byobu . Es una capa conveniente en la parte superior de la pantalla GNU . Proporciona valores predeterminados agradables y, en mi sentido, es más fácil de usar. Personalmente lo uso en mi Rapsberry Pi y funciona bien. Para instalarlo, simplemente escriba:
Una vez instalado, configúrelo a través de:
Puede elegir iniciarlo automáticamente al iniciar sesión y alternar los applets de notificación de estado ( tiempo de actividad, carga, fecha ... )
Como nota al margen, este tipo de consola virtual también es útil para compartir la misma entrada / salida de la consola entre diferentes usuarios en diferentes máquinas (puede llamarlo compartir pantalla en modo texto ).
fuente
byobu-config
).Como su requisito original era lanzar un script PHP en segundo plano, puede usar el comando
nohup
. Ejemplo:Una vez iniciado, el comando especificado como argumento de línea de comando
nohup
se ejecuta en segundo plano , y su entrada / salida se desvincula del terminal que lo inició, para evitar que laSIGHUP
señal (de ahí elnohup
nombre) se envíe al proceso en segundo plano cuando sale de la consola de inicio (la señal generalmente hace que el programa se cierre). La salida se redirige a un archivo (predeterminadonohup.out
).Para más información:
man nohup
.Para obtener una respuesta mejor y más completa, es posible que desee "demonizar" completamente su programa. Probablemente pueda encontrar recursos en la web que explican cómo hacerlo con scripts PHP.
fuente
disown
para evitar que se cuelguen procesos en segundo plano seleccionados.