Thursday 20 November 2008

Screen

Σιγουρα θα έχει τύχει να θέλετε να συνδεθείτε σε έναν απομακρυσμένο υπολογιστή, π.χ. με shh, να ξεκινήσετε μια εντολή από τη γραμμή εντολών, να αποσυνδεθείτε και μετά να συνδεθείτε από κάποιον άλλο υπολογιστή για να δείτε τα αποτελέσματά της. Κάτι τέτοιο είναι δυνατό με τη χρήση του προγράμματος screen, το οποίο πρέπει να είναι εγκατεστημένο φυσικά στον απομακρυσμένο υπολογιστή. Η εγκατάσταση γίνεται όπως πάντα από τη γραμμή εντολών:
sudo apt-get install screen
H τυπική χρήση της εντολής είναι πρώτα να δημιουργήσουμε μια "οθόνη", να εκκινήσουμε εκεί τα προγράμματά μας, να "αποκολλήσουμε" (detach) την οθόνη, και έπειτα να ξανασυνδεθούμε από κάποιο άλλο μέρος του πλανήτη στην ίδια "οθόνη". Πληκτρολογώντας απλά
screen
δημιουργείται μια οθόνη με ένα τυχαίο id. Έπειτα πατάμε Enter ή Space όπως μας λέει η οθονη και είμαστε σε ένα νέο κέλυφος. Εδω μπορούμε να εκκινήσουμε μια οποιαδήποτε διεργασία. Για να αποκολλήσουμε την οθονη στην οποία βρισκόμαστε πληκτρολογούμε Ctrl+A+D (εχοντας πατημένο το ctrl, χωρίς τα + φυσικά)Τώρα είμαστε στο προηγούμενο τερματικό απ' όπου ξεκινήσαμε. Για να δούμε πόσες οθόνες υπάρχουν, πληκτρολογούμε:
screen -ls
και μπορούμε να δούμε τα ονόματα των "οθονών" καθώς και αν είναι αποκολλημένες ή όχι (Detached-Attached).
Για να δώσουμε ένα δικό μας όνομα, πχ. myscreen, στην οθόνη πληκτρολογούμε:
screen -R myscreen
Aν μια οθόνη είναι αποκολλημένη τότε μπορούμε να ανοίξουμε ένα άλλο κέλυφος, το οποίο μπορεί να προέλθει και από ssh, και πληκτρολογούμε για παράδειγμα:
screen -r myscreen
Eτσι επανερχόμαστε σε ότι κάναμε προηγουμένως. Φυσικά δε θα κρατήσει στη μνήμη όλα τα αποτελέσματα του προγράμματος που εκκινήσαμε στην οθονη. Για να το πετυχουμε και αυτό, πρέπει να κάνουμε χρήση της εντολής script. Οι οθόνες τερματίζονται όπως κάθε κέλυφος με exit ή ctrl+D. Περισσότερες λεπτομέρειες μπορείτε να βρείτε στο εγχειρίδιο:
man screen

No comments:

Post a Comment