Προηγούμενο Περιεχόμενα
Η screen είναι ένα πολύ χρήσιμο πρόγραμμα που μας δίνει
τη δυνατότητα να έχουμε σε ένα τερματικό πολλές οθόνες.
Τρέχουμε τη screen και φαίνεται να μας ανοίγει ένα νέο
shell. Πατώντας 'Ctrl-A w' (Control και A μαζί και στη
συνέχεια τα αφήνουμε και πατάμε w) φαίνονται οι οθόνες
που έχουμε. Στην προκειμένη είναι μόνο μία: η νούμερο 0
με τίτλο 'bash'. Μπορούμε να διορθώσουμε τον τίτλο
πατώντας 'Ctrl-A A'.
Πατώντας 'Ctrl-A c' φτιάχνουμε μια καινούρια οθόνη. Άλλος
τρόπος έιναι δίνοντας screen (όταν βρισκόμαστε ήδη μέσα
στη screen, φτιάχνει μια καινούρια οθόνη, δεν τρέχει νέο
στιγμιότυπο της screen). Μπορούμε με 'screen -t title' να
της δώσουμε και τίτλο.
Ο πιο απλός τρόπος να τερματίσουμε μια οθόνη είναι να
κάνουμε logout από το shell της.
Με 'Ctrl-A n' μεταφερόμαστε στην οθόνη με αριθμό n. Με
'Ctrl-A Ctrl-A' εναλλασόμαστε μεταξύ της τρέχουσας και
της προηγούμενης οθόνης.
Φτιάχνοντας ένα αρχείο ~/.screenrc και προσθέτοντας την
παρακάτω γραμμή
caption always "[%n %t]%? (%W)%? (%D %d %M,%c) (%l)"
λέμε στη screen να μας δείχνει στο κάτω μέρος της οθόνης
μας τις εξής πληροφορίες:
[0 main] (1 kernel-build) (Sun 03 Aug,13:44) (1.17 1.11 1.04)
-
Τον αριθμό και τον τίτλο της τρέχουσας οθόνης σε
αγκύλες.
-
Τους αριθμούς και τους τίτλους των άλλων οθονών (αν
υπάρχουν) σε παρενθέσεις.
-
Την ημερομηνία και ώρα.
-
Το system load
Με τη screen μπορούμε να το παίζουμε ... σε πολλά ταμπλώ
έχοντας μόνο ένα τερματικό ανοιχτό.
Επίσης, άλλη πολύ ενδιαφέρουσα δυνατότητα της screen
είναι ότι μπορεί να χωρίσει την οθόνη σε πολλά οριζόντια
τμήματα. Σε κάθε ένα από αυτά θα αντιστοιχεί μια οθόνη,
με δυνατότητα ρύθμισης φυσικά του ύψους του καθενός.
-
Ctrl-A S για χωρισμό της οθόνης
-
Ctrl-A X για καταστροφή τρέχοντος τμήματος
-
Ctrl-A Tab για μετάβαση στο επόμενο τμήμα
-
Ctrl-A :resize n για αλλαγή του ύψους του τρέχοντος
τμήματος σε n γραμμές, (παίρνει και +n,-n για αύξηση ή
μείωση κατα n αντιστοίχως).
Τέλος, με τη screen έχουμε τη δυνατότητα να κάνουμε
detach και reattach ένα session.
Με (Ctrl-A d) γίνεται το detach, οπότε κλείνει η screen.
Το session μας όμως δεν χάθηκε. Δίνοντας screen -ls θα
πάρουμε μια έξοδο της μορφής:
There are screens on:
781.pts-0.linux (Attached)
893.pts-3.linux (Attached)
2002.pts-7.linux (Detached)
3 Sockets in /tmp/uscreens/S-manolis.
Με 'screen -r 2002' (το pid δεν χρειάζεται όταν υπάρχει
μόνο ένα detached session) ξανακάνουμε attach το session
στο τρέχον τερματικό συνεχίζοντας τη δουλειά μας ακριβως
απο εκεί που την αφήσαμε)
Αν το session δεν είναι detached και δεν έχουμε, για
κάποιο λόγο, πρόσβαση σ' αυτό μπορούμε να
χρησιμοποιήσουμε την εντολή 'screen -d -r pid' η οποία
κάνει πρώτα detach κι ύστερα attach στο τρέχον τερματικό.
Μια περίπτωση στην οποία αυτή η ιδιότητα είναι πολύ
χρήσιμη είναι σε remote shells. Ας υποθέσουμε ότι
συνδέόμαι με telnet σε ένα απομακρυσμένο unix box και
αρχίζω να κάνω μια δουλειά. Μπορώ ανά πάσα στιγμή να κάνώ
detach και να τερματίσώ τη σύνδεση. Όταν αργότερα
ξανασυνδεθώ, κάνω attach το προηγούμενο session και
συνεχίζω τη δουλειά μου από εκεί που την άφησα!
Προηγούμενο Περιεχόμενα