Je ne sais pas si le titre est explicite, mais je voulais avoir plusieurs terminaux (deux pour l'instant suffiraient) ouverts sans avoir à démarrer le bureau.
Je veux avoir un script PHP en cours d'exécution (à temps plein) et pouvoir continuer à utiliser mon terminal Raspi tel qu'il est lorsque je démarre mon Raspi avec Raspbian.
Réponses:
Utilisez simplement Alt + F1-F12, vous pouvez donc avoir 12 onglets de console différents sans démarrer une interface graphique
la source
Si vous êtes sur la console (clavier et écran attachés), vous devriez pouvoir utiliser le système de console virtuelle Linux pour basculer entre plusieurs terminaux en utilisant (ctrl-) alt-F1 à F12 et plus avec shift.
Le nombre de terminaux configurés et le nombre d'entre eux ayant des processus Getty (qui vous demandent un identifiant et un mot de passe) dépendent de la configuration .
la source
Encore mieux que ce qui
screen
est (à mon avis)tmux
. Vous pouvez l'installer viasudo apt-get install tmux
. Consultez également la page de manuel avecman tmux
.Vous pouvez le démarrer en tapant
tmux
sur l'une de vos consoles (voir la réponse de XTL).Voici les commandes les plus importantes (
C-b d
signifie: appuyez simultanément sur Ctrl et B, puis sur D):C-b d
détacher la sessiontmux attach
sur le shell pour rattacher une session en coursC-b "
diviser l'image courante horizontalement (un nouveau shell est démarré)C-b %
diviser l'image courante verticalement (un nouveau shell est démarré)C-b arrow (up, down, left, right)
naviguer entre les fenêtres dans le cadre actuelC-b c
nouveau cadre (le nouveau shell est démarré)C-b n
image suivanteC-b l
dernière imageC-b b
envoyerC-b
à l'application en cours d'exécutionla source
Vous pouvez également le faire avec l'écran. Avec écran, vous pouvez même vous détacher de votre session écran, vous déconnecter, vous connecter, puis vous reconnecter à votre session écran sans rien perdre. Les programmes continueront de s'exécuter et toutes les sorties continueront d'être affichées sur les terminaux dont vous vous êtes déconnecté.
Quelques liens vers des didacticiels d'écran:
http://www.rackaid.com/resources/linux-screen-tutorial-and-how-to/
http://magazine.redhat.com/2007/09/27/a-guide-to-gnu-screen/
Un lien vers un fil de discussion avec quelques conseils utiles .screenrc:
https://bbs.archlinux.org/viewtopic.php?id=55618
Un tutoriel spécifique au Raspberry Pi:
http://raspi.tv/2012/using-screen-with-raspberry-pi-to-avoid-leaving-ssh-sessions-open
la source
Si le script php que vous souhaitez exécuter n'interagit pas avec l'utilisateur ou doit être saisi,
vous pouvez utiliser la
&
commande qui envoie le script en arrière-planVoici un exemple.
Cela enverra le script en arrière-plan où il continuera à fonctionner.
Si vous utilisez ssh dans votre terminal, vous pouvez ssh dans le même utilisateur deux fois et avoir deux terminaux.
Si vous souhaitez ouvrir plusieurs terminaux à partir d'une session ssh,
Vous devriez regarder l'écran ou encore mieux installer
byobu
qui est un écran enveloppant.byobu est un wrapper qui permet d'ouvrir facilement de nouveaux écrans avec une simple touche de fonction au lieu d'une combinaison de touches de ctrl-a. Il affiche également une ligne d'état avec tous les terminaux virtuels ouverts qui peuvent être nommés.
Une autre fonctionnalité intéressante est le fait que tout votre écran peut rester en place pendant que votre connexion ssh est déconnectée. Vous vous connectez à nouveau via ssh et appelez byobu et tout est comme avant.
J'espère que cela aide.
la source
Pour être complet, une autre option consiste à utiliser byobu . C'est une couche pratique en haut de l' écran GNU . Il fournit de belles valeurs par défaut et est à mon sens plus facile à utiliser. Je l'utilise personnellement sur mon Rapsberry Pi et cela fonctionne très bien. Pour l'installer, tapez simplement:
Une fois installé, configurez-le via:
Vous pouvez y choisir de le démarrer automatiquement lors de la connexion, et de basculer entre les applets de notification d'état ( disponibilité, chargement, date ... )
En remarque, ce type de console virtuelle est également utile pour partager la même entrée / sortie de console entre différents utilisateurs sur différentes machines (vous pouvez l'appeler partage d'écran en mode texte ).
la source
byobu-config
).Puisque votre exigence initiale était de lancer un script PHP en arrière-plan, vous pouvez utiliser la commande
nohup
. Exemple:Une fois lancée, la commande spécifiée comme argument de ligne de commande pour
nohup
est exécutée en arrière-plan , et ses entrées / sorties sont dissociées du terminal qui l'a démarrée, pour empêcher leSIGHUP
signal (d'où lenohup
nom) d'être envoyé au processus d'arrière-plan lorsque vous quittez la console de démarrage (signal provoquant généralement la fermeture du programme). La sortie est redirigée vers un fichier (par défautnohup.out
).Pour plus d' informations:
man nohup
.Pour une réponse meilleure et plus complète, vous voudrez peut-être "démoniser" complètement votre programme. Vous pouvez probablement trouver des ressources sur le Web qui expliquent comment le faire avec des scripts PHP.
la source
disown
pour empêcher le blocage des processus d'arrière-plan sélectionnés.