Screen ή σύνδεση στο ίδιο κέλυφος από άλλο τερματικό

...το μέρος για να ξεκινήσετε!

Συντονιστής: adem1

Κανόνες Δ. Συζήτησης
Παρακαλώ να επιλέξετε, με προσοχή, την άδεια που θέλετε να έχουν οι οδηγοί που συγγράφετε.
Πληροφορίες για τις άδειες μπορείτε να βρείτε εδώ.
Άμα επιθυμείτε κάποια άλλη άδεια επικοινωνήστε με κάποιο Διαχειριστή είτε Συντονιστή.

Σημαντικό είναι να χρησιμοποιήσετε την υπηρεσία http://imagebin.ubuntu-gr.org για τις εικόνες.

Screen ή σύνδεση στο ίδιο κέλυφος από άλλο τερματικό

Δημοσίευσηαπό Dimitris » 20 Νοέμ 2008, 12:06

Ο τίτλος ίσως να ακούγεται λίγο μπερδεμένος, αλλά αληθεύει. Άλλο το κέλυφος και άλλο το τερματικό. Παρολ'αυτά μπορούμε να συνδεθούμε στο ίδιο κέλυφος από διαφορετικό τερματικό.

Σιγουρα θα έχει τύχει να θέλετε να συνδεθείτε σε έναν απομακρυσμένο υπολογιστή, π.χ. με ssh, να ξεκινήσετε μια εντολή από τη γραμμή εντολών, να αποσυνδεθείτε και μετά να συνδεθείτε από κάποιον άλλο υπολογιστή για να δείτε τα αποτελέσματά της. Κάτι τέτοιο είναι δυνατό με τη χρήση του προγράμματος 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
Τελευταία επεξεργασία από Dimitris και 20 Νοέμ 2008, 16:03, έχει επεξεργασθεί 2 φορά/ες συνολικά
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Screen

Δημοσίευσηαπό ftso » 20 Νοέμ 2008, 14:26

Πολύ ωραία :)
Δώσε όμως ένα πιο περιληπτικό τίτλο...
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Re: Screen ή σύνδεση στο ίδιο κέλυφος από άλλο τερματικό

Δημοσίευσηαπό linuxs » 03 Ιαν 2011, 20:08

ίσως δεν κατάλαβα τον τίτλο αλλα τι διαφορά έχει με την απομακρυσμένη σύνδεση?
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Screen ή σύνδεση στο ίδιο κέλυφος από άλλο τερματικό

Δημοσίευσηαπό ktogias » 03 Ιαν 2011, 21:15

linuxs έγραψε:ίσως δεν κατάλαβα τον τίτλο αλλα τι διαφορά έχει με την απομακρυσμένη σύνδεση?

Αν εννοείς απομακρυσμένη σύνδεση τύπου VNC, δηλαδή με γραφικά, οι διαφορές είναι οι εξής:
  • Η σύνδεση μπορεί να γίνεται με SSH, δηλαδή κρυπτογραφημένα από άκρη σε άκρη. (Μπορεί αυτό να γίνει και με το VNC αλλά δεν ξέρω αν είναι έτσι η εξ οριμού ρυθμισή του, ενώ η χρήση ssh+screen είναι πολύ πιο απλή και δεν χρειάζεται κάποια ρύθμιση).
  • Η σύνδεση γίνεται σε εικονική κονσόλα κειμένου (virtual console) πράγμα που σημαίνει ότι δεν χρειάζεται να μεταφέρονται γραφικά, θέσεις και περιεχόμενα παραθύρων, κινήσεις κέρσορα.
  • Απόρροια του προηγουμένου είναι ότι ο χειρισμός του απομακρυσμένου υπολογιστή μπορεί να γίνεται με μεγάλη ταχύτητα. Με μια αξιοπρεπή σύνδεση η αίσθηση είναι σχεδόν ίδια με το να χρησιμοποιείς την κονσόλα του τοπικού σου υπολογιστή.
  • Μπορεί ο χειρισμός του απομακρυσμένου υπολογιστή να γίνει ακόμα και από πολύ αργές συνδέσεις (π.χ. dialup 33600 ή GSM) με σχεδόν ανεπαίσθητες καθυστερήσεις.
  • Με τη χρήση του screen ανοίγεις ένα session εικονικής κονσόλας κειμένου, εκτελείς κάποιο πρόγραμμα εκεί, αποσυνδέεις την κονσόλα (detach) και κάνεις logout. Αργότερα από άλλο υπολογιστή και δίκτυο, συνδέεσαι με ssh στο μηχάνημα συνδέεις την προηγούμενη κονσόλα (attach) και είναι σαν να μην έφυγες ποτέ. Η έξοδος του προγράμματος είναι εκεί, οι προηγούμενες εντολές που έδωσες με το βλεάκι κλπ.
  • Δεν χρειάζεται να τρέχει κάποιος server γραφικών (X) ούτε στο τοπικό, ούτε στο απομακρυσμένο μηχάνημα. Σε συνδυασμό με την ταχύτητα χειρισμού, το ssh+screen μπορεί να χρησιμοποιηθεί για πρόσβαση από και σε οποιοδήποτε μηχάνημα έχει κάποιο κέλυφος κειμένου (bash, rsh κλπ), ssh client/server και screen, και οποιουδήποτε είδους δικτύωση, δηλαδή πρακτικά από και προς unix/linux servers χωρίς ή με γραφικό περιβάλλον, κινητά τηλέφωνα, pdas, embeded unix/linux συστήματα (πχ. ρομπότ, αυτοματισμούς και ότι άλλο μπορεί να φανταστεί κάποιος).
  • Στην οθόνη του συστήματος που συνδέεσαι με ssh+screen (αν υπάρχει οθόνη) δεν φαίνεται τίποτα από το δικό σου session (σε αντίθεση με το vnc που δείχνει στην οθόνη του απομακρυσμένου υπολογιστή όλες τις ενέργειες αυτού που τον χειρίζεται από απόσταση).
ktogias
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 305
Εγγραφή: 10 Μάιος 2008, 22:52
IRC: ktogias
Εκτύπωση

Re: Screen ή σύνδεση στο ίδιο κέλυφος από άλλο τερματικό

Δημοσίευσηαπό linuxs » 03 Ιαν 2011, 22:51

με κάλυψες....thx!
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Screen ή σύνδεση στο ίδιο κέλυφος από άλλο τερματικό

Δημοσίευσηαπό Dimitris » 04 Ιαν 2011, 12:40

Να τονίσω ότι μπορείς να κάνεις και ssh σύνδεση με X forwarding, δηλαδή να ανοίγεις προγράμματα γραφικών τα οποία θα τρέχουν στον απομακρυσμένο υπολογιστή αλλά το αποτελεσμα, δηλ. τα γραφικά θα τα βλέπεις στον τοπικό υπολογιστή.
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Screen ή σύνδεση στο ίδιο κέλυφος από άλλο τερματικό

Δημοσίευσηαπό ktogias » 04 Ιαν 2011, 16:13

Dimitris έγραψε:Να τονίσω ότι μπορείς να κάνεις και ssh σύνδεση με X forwarding, δηλαδή να ανοίγεις προγράμματα γραφικών τα οποία θα τρέχουν στον απομακρυσμένο υπολογιστή αλλά το αποτελεσμα, δηλ. τα γραφικά θα τα βλέπεις στον τοπικό υπολογιστή.


Αυτό γίνεται απλά τρέχοντας την εντολή "ssh -XY user@host" . Αφού κάνεις login στο απομακρυσμένο μηχάνημα μπορείς να εκκινήσεις εκεί εφαρμογές δίνοντας το όνομα του εκτελέσιμού τους (π.χ. firefox --no-remote) και αυτές θα συνδεθούν μέσω του ssh session στο X server του τοπικού σου μηχανήματος και θα εμφανίσουν εκεί το παράθυρό τους. Με μια απλή DSL θα χρειαστεί να περιμένεις λίγο μέχρι να έρθουν τα περιεχόμενα των παραθύρων της εφαρμογής στον X server σου, και μετά θα μπορείς να τη χειριστείς με μικρές καθυστερήσεις. Σε περιβάλλον LAN 10/100/1000 οι καθυστερήσεις είναι ανεπαίσθητες.
ktogias
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 305
Εγγραφή: 10 Μάιος 2008, 22:52
IRC: ktogias
Εκτύπωση


Επιστροφή στο Οδηγοί - How to - Tutorials