GNU/Linux >> Znalost Linux >  >> Linux

Linux – odesílání textového vstupu na samostatnou obrazovku?

Snažím se spustit minecraft server na mém unRAID serveru.

Server poběží v shellu a pak tam bude čekat na vstup. Abych to zastavil, musím napsat ‚stop‘ a stisknout enter, a pak to zachrání svět a elegantně odejde a jsem zpátky ve skořápce. To vše funguje, když to spustím přes telnetting do boxu NAS, ale chci to spustit přímo na boxu.

toto jsem měl předtím jako první pokus:

#define USER_SCRIPT_LABEL Start Minecraft server
#define USER_SCRIPT_DESCR Start minecraft server. needs sde2 mounted first
cd /mnt/disk/sde2/MCunraid
screen -d -m -S minecraft /usr/lib/java/bin/java -Xincgc -Xmx1024M -jar CraftBukkit.jar

MCunraid je složka, kde mám Craftbukkit.jar a všechny světové soubory atd. Pokud napíšu tento řádek obrazovky přímo, obrazovka se odpojí a server se spustí. Pokud tento řádek spustím ze skriptu, nezdá se, že by nastavil obrazovku

pro zastavení serveru musím ‚zadat‘ STOP a poté stisknout enter. Můj přístup byl

screen -S minecraft -X stuff "stop $(echo -ne 'r')"

odeslat na obrazovku „minecraft“ text s-t-o-p a návrat vozíku. Ale to nefunguje, i když to napíšu přímo do příkazového řádku. Ale pokud ‚screen -r‘ dostanu na obrazovku se spuštěným serverem, pak napište ‚stop‘ a ono se to správně vypne.

Server běží dobře, pokud se připojím k telnetu a udělám to ručně, stačí jej spustit bez připojení ze vzdáleného počítače.

Přijatá odpověď:

Dokážu vyřešit alespoň část problému:proč ten stop část nefunguje. Experimentálně, když spustíte relaci obrazovky v odděleném režimu (screen -d -m ), není vybráno žádné okno, takže vstup bude odeslán později s screen -X stuff je prostě ztracen. Musíte explicitně určit, že chcete posílat úhozy do okna 0 (-p 0 ). To je každopádně dobrý nápad pro případ, že z nějakého důvodu vytvoříte v této relaci obrazovky další okna.

screen -S minecraft -p 0 -X stuff "stop^M"

(Překlad obrazovky ^M na control-M, což je znak odeslaný Enter klíč.)

Problém se spuštěním relace ze skriptu pravděpodobně souvisí s unMENU.

Související:Jak zabránit zobrazení uvítací obrazovky / zamykací obrazovky po nečinnosti ve Windows 8?
Linux
  1. Změňte název hostitele serveru Linux

  2. Administrace Linux serveru

  3. Zabijte relaci oddělené obrazovky

  1. Odesíláte vstup na relaci obrazovky zvenčí?

  2. Jak zavést systém Linux bez grafického serveru

  3. odeslání textového vstupu na oddělenou obrazovku

  1. Nainstalujte si ownCloud 5 na Linux Mint 14

  2. Linux – Zakázat zatemnění obrazovky na textové konzoli?

  3. Vyberte text pomocí klávesnice v linuxovém prostředí