GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Ubuntu – Warum macht der Bildschirm anscheinend nichts mit Befehlen, die mit -x übergeben werden?

Ich habe versucht, ein automatisiertes Sicherungssystem für einen Minecraft-Server einzurichten, und ich habe Probleme mit dem Bildschirm, insbesondere wenn ich 'screen -r sessionname -X "/var/minecraft/somebatchfile"" verwende, passiert nichts.

Mein Prozessablauf sieht im Moment ungefähr so ​​aus:

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

Dies startet den Minecraft-Server ohne Probleme. Das Problem ist jedoch, dass selbst einfache Folgemaßnahmen wie diese fehlschlagen:

screen -r minecraft -X "stop"

Ich erhalte keine Fehlermeldung oder Erfolgsmeldung, und der Server trennt die Clients nicht wirklich und fährt nicht herunter, wie er sollte. Ich vermute, dass ich etwas falsch mache, aber ich weiß nicht was. Gibt es einen offensichtlichen Fehler, den ich mache? Ich habe die Manpage ein wenig gelesen, aber ich habe kein Glück, es selbst herauszufinden.

Akzeptierte Antwort:

Sie müssen den Parameter -X angeben ein screen Befehl, ich denke, Sie möchten einen Minecraft-Server-Befehl in den screen „stopfen“. Sitzung.

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

Der printf einen Wagenrücklauf senden, damit der Befehl „Stopp“ ausgeführt wird. -p 0 stellt sicher, dass die Zeichen an das anfängliche Bildschirmfenster gesendet werden.

Zum Senden über ssh Sie müssen den Befehl in " " einschließen (Sie könnten auch ` ` verwenden , aber das würde Ihnen die Befehlsersetzung nicht erlauben).

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')""

Achtung ! ein reserviertes Wort ist, müssen Sie es maskieren.

Es ist auch möglich, einen vom Benutzer generierten Zeilenumbruch in den Befehl einzufügen, um ihn auszuführen:

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

Escaping ! ist hier nicht notwendig.


Ubuntu
  1. So erstellen Sie einen Minecraft-Server mit Hostinger, Ubuntu, Windows und macOS

  2. So führen Sie Befehle für Datei- oder Verzeichnisänderungen mit Incron unter Ubuntu aus

  3. Ist Ubuntu mit Laptops mit Touchscreen-Funktionen kompatibel?

  4. Ubuntu 18.04 Vnc grauer Bildschirm?

  5. Grauer Bildschirm Problem mit verschwindendem Menü in Ubuntu 18.04?

So zeichnen Sie Ihren Bildschirm in Ubuntu mit SimpleScreenRecorder auf

Bildschirm in Ubuntu Linux mit Kazam aufnehmen [Anfängerleitfaden]

Warum können Dateien mit keinem Browser unter Ubuntu 14.04 hochgeladen werden?

Ubuntu startet nicht mit Acpi-Fehlern?

Warum kann ich Windows 10 mit Ubuntu 18.04 nicht dual booten?

Führen Sie Befehle mit einem Zeitlimit in Ubuntu 20.04 aus