Screen i serwer w tle
(→Uruchomienie) |
(→Jednoczesny obraz) |
||
Linia 46: | Linia 46: | ||
=Jednoczesny obraz= | =Jednoczesny obraz= | ||
− | Kolejnym ciekawym parametrem do screen-a jest | + | Kolejnym ciekawym parametrem do screen-a jest '''-x'''. |
Jest to parametr pozwalający pracować więcej niż jednemu terminalowi/osobie na danym screen-ie. | Jest to parametr pozwalający pracować więcej niż jednemu terminalowi/osobie na danym screen-ie. | ||
Otóż zaistnieje przykładowo taka sytuacja: mamy dwóch headadminów na serwerze i obaj naraz chcą podpatrzeć co się aktualnie dzieje na serwerze (będąc zalogowanym na tego samego uzytkownika!), w tym momencie jeden wpisuje: ''screen -r'' i już jest na screenie i widzi wszystko, natomiast drugi nie może się dołączyć, ponieważ dany screen jest już okupowany przez tego pierwszego. | Otóż zaistnieje przykładowo taka sytuacja: mamy dwóch headadminów na serwerze i obaj naraz chcą podpatrzeć co się aktualnie dzieje na serwerze (będąc zalogowanym na tego samego uzytkownika!), w tym momencie jeden wpisuje: ''screen -r'' i już jest na screenie i widzi wszystko, natomiast drugi nie może się dołączyć, ponieważ dany screen jest już okupowany przez tego pierwszego. |
Wersja z 13:34, 17 cze 2006
Spis treści |
Wstęp
Mam nadzieję, że przeczytałeś text o screen.
Uruchomienie
Przykład dla serwera HLDS ale dla wszelkich innych programów będzie podobnie - róznica w komendie startującej dany program i parametrach.
Wpisujemy w konsoli
screen -A -m -d ./hlds_run -game cstrike -autoupdate +servercfgfile server.cfg +maxplayers 22
Oczywiście jak trzeba dodajemy potrzebne opcje z parametrami jak +ip czy +rcon_password, czyli wklejamy całą linie startową naszego serwera.
Sprawdzenie
Upewniamy się że proces chodzi na screenie [i]screen -ls[/i] Powinna się pojawić lista aktywnych screenów do których mozna sie podłączyć, na przykład
hlds@bagno ~ $ screen -ls There is a screen on: 19381.cs (Detached) 1 Socket in /var/run/screen/S-hlds. hlds@bagno ~ $
Aby sie do niego dołączyć wpisujemy [i]screen -r[/i]
Aby odłączyć wciskamy klawisze ctrl+a+d, albo jak to nie działa zamknij program do polączeń przez SSH
Kilka serwerów
Jeśli uruchamiamy kilka serwerów, czyli także i screenów (choć można i to wszystko zrobić na jednym...) przydaje się dodanie parametru: -S <nazwa>. Owy parametr pozwala określić nazwę dla danego screen-a, zamiast wpisywać jego PID (Numer identyfikacyjny procesu, czyli coś takiego jak numer na tablicy rejestracyjnej danego pojazdu), np.:
screen -r <jakiś numerek>
Zastosujmy to z powyższym przykładem (zauważ że chodzą na różnych portach):
screen -A -m -d -S nazwa1 ./hlds_run -game cstrike -autoupdate +servercfgfile server.cfg +maxplayers 22 +port 27015
I teraz odpalamy drugi server:
screen -A -m -d -S nazwa2 ./hlds_run -game cstrike -autoupdate +servercfgfile server.cfg +maxplayers 22 +port 27016
I później aby się do niego dołączyć wpisujemy:
screen -r nazwa
W tym wypadku będzie to nazwa1' i nazwa2 - odpowiednio dla serwerów postawionych na porcie 27015 i 27016.
Jednoczesny obraz
Kolejnym ciekawym parametrem do screen-a jest -x. Jest to parametr pozwalający pracować więcej niż jednemu terminalowi/osobie na danym screen-ie. Otóż zaistnieje przykładowo taka sytuacja: mamy dwóch headadminów na serwerze i obaj naraz chcą podpatrzeć co się aktualnie dzieje na serwerze (będąc zalogowanym na tego samego uzytkownika!), w tym momencie jeden wpisuje: screen -r i już jest na screenie i widzi wszystko, natomiast drugi nie może się dołączyć, ponieważ dany screen jest już okupowany przez tego pierwszego. Teraz, aby mógł on się do niego dołączyć jest użycie metody dość drastycznej, czyli "wykickowanie" danej osoby z tego screen-a, ale po co, skoro można użyć czegoś takiego jak -x, dzięki temu dwóch adminów może siedzieć na jednej konsoli serwera. To tyle, jeśli chodzi o ciekawostki związane z genialnym narzędziem jakim jest screen, reszta w manualu.
Jeden terminal a tyle screenów
Jak juz odpalac kilka procesow na jednym koncie to czasami sie przydaje praca na jednym procesie screena z wieloma konsolami, bodajze (mam to w palcach nie w glowie :P by vib ):
- ctrl+a+c - dodanie dodatkowego ekranu
- ctrl+a+spacja - przelaczenie na nastepny ekran
- ctrl+a+a - przelaczenie na poprzedni ekran
- ctrl+a+numerek - wybor ekranu o numerze od 0 do 9
a szczegoly w manualu screen'a
Podziękowania
- Pawels
- trawiator
- vib