GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Ubuntu - Pourquoi l'écran ne fait apparemment rien avec les commandes passées avec -x ?

J'ai essayé de mettre en place un système de sauvegarde automatisé pour un serveur minecraft, et j'ai des problèmes avec l'écran, en particulier lorsque j'utilise 'screen -r sessionname -X "/var/minecraft/somebatchfile"', rien ne se passe.

Mon flux de processus ressemble un peu à ceci pour le moment :

screen -m -d -S minecraft /var/minecraft/bin/server_nogui.sh

Cela démarre le serveur minecraft sans aucun problème. Cependant, le problème est que même des suivis simples comme celui-ci échouent :

screen -r minecraft -X "stop"

Je ne reçois aucun message d'erreur ou message de réussite, et le serveur ne déconnecte pas réellement les clients et ne s'arrête pas, comme il se doit. Je suppose que je fais quelque chose de mal, mais je ne sais pas quoi. Y a-t-il une erreur évidente que je fais? J'ai un peu lu la page de manuel, mais je n'arrive pas à comprendre moi-même.

Réponse acceptée :

Vous devez donner le paramètre -X un screen commande, je pense que vous voulez "fournir" une commande minecraft-server à l'screen séance.

screen -r minecraft -p 0 -X stuff "stop $(printf 'r')"

Le printf envoyer un retour chariot, de sorte que la commande "stop" soit exécutée. -p 0 s'assure que les caractères sont envoyés à la fenêtre d'écran initiale.

Pour l'envoyer via ssh vous devez enfermer la commande dans " " (vous pouvez également utiliser ` ` , mais cela ne vous permettrait pas de faire la substitution de commande).

ssh -t -i ~/.ssh/id_dsa [email protected]_address "screen -r minecraft -X stuff "even other_server_name is getting in on the action! $(echo -ne 'r')""

Méfiez-vous de cela ! est un mot réservé, vous devez l'échapper.

Il est également possible d'inclure une nouvelle ligne générée par l'utilisateur dans la commande pour l'exécuter :

ssh -t -i ~/.ssh/id_dsa [email protected]_address "screen -r minecraft -X stuff 'even other_server_name is getting in on the action!
'"

Échappement de ! n'est pas nécessaire ici.


Ubuntu
  1. Comment créer un serveur Minecraft avec Hostinger, Ubuntu, Windows et macOS

  2. Comment exécuter des commandes sur les changements de fichier ou de répertoire avec Incron sur Ubuntu

  3. Ubuntu est-il compatible avec les ordinateurs portables dotés de fonctionnalités d'écran tactile ? ?

  4. Écran gris Ubuntu 18.04 Vnc ?

  5. Je ne peux pas modifier la résolution d'écran sur Virtualbox avec le serveur Ubuntu installé dessus ?

Comment enregistrer votre écran dans Ubuntu avec SimpleScreenRecorder

Enregistrer l'écran dans Ubuntu Linux avec Kazam [Guide du débutant]

Impossible de télécharger des fichiers avec n'importe quel navigateur sur Ubuntu 14.04, pourquoi ?

Ubuntu ne parvient pas à démarrer avec des erreurs Acpi ?

Pourquoi suis-je incapable de double démarrer Windows 10 avec Ubuntu 18.04 ?

Exécuter des commandes avec une limite de temps dans Ubuntu 20.04