News | About | Get Frugalware | Packages | Documentation | Discussion Forums | Bug Tracker | Wiki | Community | Development

Screen tippek

From FrugalWiki

Jump to: navigation, search

A screen egy VT100/ANSI terminálemulátor. A kezdő felhasználók többnyire nem ismerik, pedig rengeteg hasznos funkciója van, amiket kár kihagyni. Mióta először elindítottam, meg sem lennék nélküle.

Fontos tudni, hogy a screen-ben indított programok tovább futhatnak akkor is, ha kijelentkezünk. Így távoli gépeken futtathatjuk irc kliensünket (pl. irssi, weechat, erc), levelezőnket (pl mutt, mutt-ng, gnus), torrent kliensünket (pl. rtorrent, rblibtorrent, launchmany.py), vagyis nem kell 80 helyen beállítanunk őket.

Íme néhány hasznos funkció és beállítás. Nyilván nem használom ki minden funkcióját, ezért kérek mindenkit, ha van valami olyan megoldása, ami itt nem hangzik el, ossza meg velünk, talán másoknak is hasznos lesz.

A program telepítése: sudo pacman -Sy screen

Ha szimplán 'screen' paranccsal indítjuk, kapunk egy rövid ismertetőt, Space vagy Enter leütésére továbblép. Látszólag nem változik semmi, de a screen már fut. Indíthatjuk 'screen program' módon is, így a kívánt programot is elindítja. Ha a program lefutott, a screen is kilép.

Legfontosabb billentyűkombinációk (természetesen állíthatók): (A C-a azt jelenti, hogy a 'Ctrl' és az 'a' billentyűket egyszerre nyomjuk le)

 C-a d --> lecsatolja a screen ablakot (detach)
 screen -r --> visszatér a futó screen ablakhoz
 screen -x --> visszatér a futó screen ablakhoz (Multi display mode)
 screen -d -m --> screen indítása detached módban (hatterben fut)
 C-a c --> új ablak létrehozása a futó screen-ben
 C-a A --> ablak átnevezése
 C-a " --> ablaklista megjelenítése
 C-a [0..9] --> ugrás adott ablakra
 C-a Esc --> görgetés mód

---

 C-a w --> screen ablakok listaja
 C-a a --> gyors valtas az utoljara hasznalt ablakra

Érdemes még megemlíteni a ~/.screenrc fájlt, ahol felüldefiniálhatjuk az alapértelmezett screen beállításokat. Alapértelmezésben a screen nem küld beep jelet, ha nem az aktív aklakban futó program jelez. Mivel a weechat az aktív ablak, többnyire nem venném észre, ha levelem érkezik a mutt-ba. De az alábbi sor ezt is megoldja:

 bell_msg '^GBell in window %n'

Igazából a ^G adja a beep jelet, a többi csak segít odatalálnom.

Másik probléma a vim és a screen együttes futtatása közben jött elő, miszerint nem működtek a Home és End gombjaim. Ezekre az alábbi sor adta a megoldást:

 term 'xterm'

Ilyenkor viszont azt tapasztaljuk, hogy a mutt-ng illetve a weechat képernyőváltáskor elmaszatolja a karaktereket. A mutt-ng-nek és weechatnek rxvt kell xterm helyett.

No, én ezt az aprócska dillemát úgy oldottam meg, hogy a ~/.bash_login fájlba beletettem ezt a három sort:

 alias mutt='TERM=rxvt mutt'
 alias weechat='TERM=rxvt weechat'
 alias screen='TERM=xterm screen'

Példaként megmutatom mindehhez az én ~/.screenrc fájlomat:

 vbell on
 vbellwait 10
 defscrollback 5000
 activity 'activity: window ~%'
 startup_message off
 hardstatus on
 hardstatus alwayslastline
 caption always '%{= k.} %{w}[host: (%H)] %{r}[Date: %M %d] %{g}[Time: %c:%s] %{y}[Load: %l] %{w}| %{= c}%?%-Lw%?%{= Y}%n*%f %t%?(%u)%?%{= c}%?%+Lw%?'
 activity '*knock* *knock* Wake up ... window %n'
 bell_msg '^G*knock* *knock* Follow the white rabbit in window %n'
 pow_detach_msg        'BYE'
 vbell_msg             ' H-A-H-O-O-O-K-A!!!1 '
 defbce on
 term screen-bce
 screen -t 'WeeChat' 0 weechat
 screen -t 'Mutt' 1 mutt
 screen -t 'MC' 2 mc
 screen -t 'Vim' 3 vi
 screen -t 'Shell' 4

és még egy link, ahonnan sok ötletet merítettem: http://strcat.neessen.net/dotfiles/misc/screenrc

Innentől nálam sem mutt-ng-vel, sem vi-jal nem volt probléma.

---

Screen megosztasa:

Inditsunk egy screen-t session-nev megadasaval, pl.

screen -S kozos

Ezzel az uj screen session-ben talaljuk magunkat. Engedelyezzuk a tobbfelhasznalos modot:

Ctrl-a :multiuser on

Adjuk hozza a csatlakozni engedelyezett felhasznalok userneveit:

Ctrl-a :acladd pistike

Ezek utan amig a 'kozos' nevu screen fut, az engedelyezett felhasznalok tetszolegesen be- es kilephetnek (levalaszthatjak es csatlakoztathatjak magukat az adott session-hoz).

Personal tools
Namespaces
Variants
Actions