Πώς να αλλάξετε το προεπιλεγμένο κέλυφος στο Linux με το chsh
Βασικά Takeaways
-
Η δοκιμή διαφορε
τι
κών κελύφους Linux, όπως το Zsh, μπορεί να είναι μια ευεργετική και εύκολη διαδικασία για να βρείτε αυτό που ευθυγραμμίζεται με τις προτιμήσεις σας. -
Κάθε κέλυφος έχει τα δικά του μοναδικά χαρακτηριστικά και τον τρόπο εκτέλεσης εργασιών και διαφορετικά κελύφη μπορούν να επηρεάσουν σημαντικά τη ροή
εργασία
ς σας. - Η εντολή chsh σας επιτρέπει να αλλάξετε το προεπιλεγμένο κέλυφος.
Το Bash
δεν είναι
το μόνο κέλυφος Linux. Είναι εύκολο να δοκιμάσετε άλλα κελύφη, όπως το Zsh, το οποίο είναι πολύ δημοφιλές. Όταν βρείτε αυτό που σας αρέσει, χρησιμοποιήστε το
chsh
εντολή για να γίνει το προεπιλεγμένο σας κέλυφος. Θα σας δείξουμε πώς.
Γιατί είναι σημαντικό ένα κέλυφος
Το κέλυφος
βρίσκεται ανάμεσα σε εσάς και το λειτουργικό σύστημα. Παρέχει το περιβάλλον μέσα σε ένα παράθυρο τερματικού που σας επιτρέπει να πληκτρολογείτε εντολές και να εκτελείτε προγράμματα. Το κέλυφος ελέγχει την εισαγωγή σας και καταλαβαίνει τι θέλετε. Εάν μπορεί να εκτελέσει η ίδια την προσφορά σας, το κάνει. Εάν χρειάζεται εξωτερική βοήθεια, αναζητά τη διαδρομή και βρίσκει τα προγράμματα που μπορούν να κάνουν ό,τι ζητήσετε.
Υπάρχουν πολλά διαφορετικά κελύφη διαθέσιμα στο Linux. Όλα σας επιτρέπουν να εκτελείτε τις ίδιες βασικές εργασίες: εξερευνήστε το σύστημα αρχείων, εργαστείτε με αρχεία, εκκινήστε προγράμματα και εκτελέστε σενάρια. Ωστόσο, ο καθένας εκτελεί αυτές τις εργασίες με τον δικό του τρόπο και έχει τα δικά του ιδιαίτερα χαρακτηριστικά και ιδιαιτερότητες.
Τα κοχύλια τείνουν να σχεδιάζονται από άτομα που θέλουν τα πράγματα να συμπεριφέρονται με συγκεκριμένο τρόπο. Εάν η σκέψη σας ευθυγραμμίζεται με αυτή του σχεδιαστή, αυτό το κέλυφος μπορεί κάλλιστα να σας ταιριάζει.
Επιπλέον
, η δοκιμή ενός νέου κελύφους στο Linux είναι εύκολη.
Στις περισσότερες διανομές Linux, συμπεριλαμβανομένου του Ubuntu,
το προεπιλεγμένο κέλυφος είναι
bash
. Κάνει εξαιρετική δουλειά και είναι πολύ ικανό. Ωστόσο, ένα άλλο κέλυφος μπορεί να προσφέρει μια διαφορά εξοικονόμησης χρόνου που θα είχε μεγάλο αντίκτυπο στη ροή εργασίας σας. Ποτέ δεν θα μάθετε αν δεν κοιτάξετε!
Ποια είναι τα καλύτερα κελύφη Linux;
Έχουμε καλύψει τα διάφορα κελύφη Linux στο παρελθόν, αλλά εδώ είναι μια γρήγορη εισαγωγή στα πιο συνηθισμένα:
-
βίαιο χτύπημα:
ο
Οριο
πάλι κέλυφος είναι
η προεπιλεγμένη
σε πολλές διανομές. -
rbash:
Αυτό
Περιορισμένος
bash
Το κέλυφος παρέχει ελάχιστη λειτουργικότητα στο άτομο ή το σενάριο που εκτελείται σε αυτό. -
φλαμουριά:
ο
Κοχύλι Almquist
είναι μια πιο ελαφριά εκδοχή του bash. -
παύλα:
Το Debian Alquist Shell είναι το
προεπιλεγμένο σενάριο φλοιού
στο Ubuntu. Ενώ
bash
είναι η προεπιλεγμένη σύνδεση και το διαδραστικό κέλυφος,
dash
χρησιμοποιείται για την εκτέλεση διεργασιών συστήματος επειδή είναι πολύ πιο ελαφρύ από
bash
. -
zsh:
Το κέλυφος Z
είναι μια σύγχρονη αντίληψη για το
bash
οικογένεια κοχυλιών. Προσφέρει καθαρές βελτιώσεις, όπως ορθογραφικούς ελέγχους εντολών και προτεινόμενες διορθώσεις. -
ψάρι:
Αυτό
φιλικό διαδραστικό κέλυφος
γράφτηκε από την αρχή και δεν προέρχεται από καμία από τις άλλες οικογένειες κελύφους. Προορίζεται να είναι φιλικό προς τον χρήστη. Μεταξύ των πολλών άλλων προνομίων του, το fish προσφέρει προτάσεις για εντολές με βάση το ιστορικό σας και τα περιεχόμενα του τρέχοντος φακέλου, παρόμοια με
προγνωστικό κείμενο
. -
ksh:
Το KornShell
παρέχει μια ιδιαίτερα ισχυρή γλώσσα σεναρίου.
Καταχωρίστε τα εγκατεστημένα κελύφη
Για να δείτε ποια κελύφη είναι εγκατεστημένα στον υπολογιστή σας, χρησιμοποιήστε αυτήν την εντολή. Απλώς παραθέτει τα περιεχόμενα του αρχείου /etc/shells:
cat /etc/shells
Έχουμε αναφέρει
bash
,
dash
και
rbash
αλλά τι είναι
sh
?
sh
είναι το
Τόμσον
κέλυφος, γραμμένο πολύ πίσω το 1971 από
Κεν Τόμσον
του
Bell Labs
φήμη. Δεν συντηρείται πλέον και έχει αντικατασταθεί εδώ και πολύ καιρό από τα σύγχρονα κοχύλια. Περιλαμβάνεται καθαρά για τη διατήρηση της συμβατότητας με παλαιότερα σενάρια που εξακολουθούν να έχουν ως πρώτη γραμμή τα εξής:
#!/bin/sh
Αυτό δίνει οδηγίες στο σύστημα να χρησιμοποιήσει το
sh
κέλυφος για την εκτέλεση του σεναρίου. Έχετε πραγματικά αυτό το αρχαίο κέλυφος στον υπολογιστή σας και χρησιμοποιείται για την εκτέλεση των σεναρίων σας; ο
which
Η εντολή θα μας πει ποιο πρόγραμμα εκτελείται πραγματικά όταν πληκτρολογείτε μια εντολή.
Ας δούμε τι τρέχει όταν πληκτρολογείτε
sh
:
which sh
Αυτό φαίνεται να βρίσκει ένα δυαδικό. Αν ψάξουμε λίγο βαθύτερα, όμως, θα δούμε ότι είναι ένας συμβολικός σύνδεσμος που στην πραγματικότητα δείχνει
dash
το ελαφρύ κέλυφος που χρησιμοποιείται για την εκτέλεση σεναρίων:
ls -l /bin/sh
Αυτός είναι ένας τακτοποιημένος, ελαφρύς τρόπος για να παρέχετε ένα δίχτυ ασφαλείας για σενάρια που αναμένεται να βρουν
sh
σε σύγχρονα συστήματα.
Εγκατάσταση άλλου κελύφους
Ας εγκαταστήσουμε το
fish
κέλυφος και ορίστε το ως προεπιλογή για
dave
. Στο Ubuntu, πληκτρολογούμε την ακόλουθη εντολή:
sudo apt-get install fish
Στο Manjaro, χρησιμοποιήστε
pacman
:
sudo pacman -Sy fish
Στο Fedora, πληκτρολογήστε τα εξής:
sudo dnf install fish
Όταν ολοκληρωθεί η εγκατάσταση, μπορείτε να ελέγξετε ξανά τα εγκατεστημένα κελύφη:
cat /etc/shells
Το νέο μας κέλυφος εμφανίζεται ως
/usr/bin/fish
. Λάβετε υπόψη αυτό το μονοπάτι – θα το χρειαστείτε σύντομα.
Η μεταβλητή περιβάλλοντος $SHELL
ο
$SHELL
Η μεταβλητή περιβάλλοντος περιέχει το όνομα του τρέχοντος κελύφους σας. Μπορούμε να ελέγξουμε με ποια είναι ρυθμισμένη
echo
:
echo $SHELL
Ας ξεκινήσουμε το
fish
κέλυφος:
fish
Τώρα, ας ελέγξουμε ξανά τι
$SHELL
Η μεταβλητή περιβάλλοντος λέει:
echo $SHELL
Την πρώτη φορά που χρησιμοποιούμε
echo $SHELL
είμαστε στο
bash
κέλυφος. Η μεταβλητή περιβάλλοντος κρατά τη διαδρομή προς το
bash
εκτελέσιμο,
/bin/bash
.
Όταν εκκινήσουμε το
fish
shell, λαμβάνουμε ένα φιλικό
μήνυμα
καλωσορίσματος και η γραμμή εντολών αλλάζει. Αυτό που μπορεί να εκπλήσσει είναι το
$SHELL
περιβάλλον εξακολουθεί να κρατά το μονοπάτι προς το
bash
εκτελέσιμο,
/bin/bash
. Δεν πειράζει – αυτό είναι φυσιολογικό.
Όταν εκκινείτε ένα νέο κέλυφος (ή οποιοδήποτε άλλο πρόγραμμα), αυτό κληρονομεί το περιβάλλον του γονικού κελύφους. Ετσι το
fish
Το shell κληρονομεί τις καθολικές και τις εξαγόμενες μεταβλητές περιβάλλοντος από το
bash
κέλυφος. Επειδή η αξία στο
$SHELL
η μεταβλητή περιβάλλοντος δεν έχει αλλάξει, έχει την ίδια τιμή στο
fish
κέλυφος που έκανε στο
bash
κέλυφος.
Τρέχουμε
fish
όπως κάθε άλλο πρόγραμμα. Μπορούμε επίσης να χρησιμοποιήσουμε
exit
για έξοδο από το
fish
κέλυφος. Κλείνει όπως κάθε άλλο πρόγραμμα και επιστρέφουμε στο
bash
κέλυφος.
Αυτό είναι εξαιρετικό για να δοκιμάζετε νέα κοχύλια, να βλέπετε τι μπορούν να κάνουν και αν τα πηγαίνετε καλά μαζί τους. Μπορείτε να εξερευνήσετε προτού κάνετε το άλμα και να υιοθετήσετε ένα ως το καλύτερο κέλυφός σας.
Εάν αποφασίσετε να κάνετε το
fish—
ή οποιοδήποτε άλλο κέλυφος—η προεπιλογή σας, θα πρέπει να χρησιμοποιήσετε το
chsh
εντολή.
Η εντολή chsh
ο
chsh
εντολή σας επιτρέπει να αλλάξετε το προεπιλεγμένο κέλυφος σας. Το κόλπο είναι να γνωρίζετε ότι σας επιτρέπει να αλλάξετε τόσο τα προεπιλεγμένα στοιχεία σύνδεσης όσο και τα προεπιλεγμένα διαδραστικά κελύφη. Μπορεί να θέλετε να αλλάξετε το ένα ή το άλλο, ή και τα δύο.
Κάθε φορά που συνδέεστε για να λάβετε μια γραμμή εντολών, χρησιμοποιείτε το κέλυφος που έχει ρυθμιστεί να είναι το κέλυφος σύνδεσής σας. Όταν είστε ήδη συνδεδεμένοι και ανοίγετε ένα παράθυρο τερματικού, χρησιμοποιείτε το κέλυφος που έχει ρυθμιστεί να είναι το διαδραστικό σας κέλυφος. Αυτά μπορεί να είναι είτε ίδια είτε διαφορετικά κελύφη.
Για να ορίσετε το κέλυφος σύνδεσής σας, χρησιμοποιήστε
chsh
χωρίς παραμέτρους:
chsh
Σας ζητείται ο κωδικός πρόσβασής σας. Στη συνέχεια, πρέπει να πληκτρολογήσετε τη διαδρομή προς το νέο κέλυφος και να πατήσετε Enter.
Εάν κάνουμε μια απομακρυσμένη σύνδεση σε αυτόν τον δοκιμαστικό υπολογιστή από άλλον, θα βρεθούμε στο
fish
shell μόλις συνδεθούμε.
Για να αλλάξετε τη χρήση του διαδραστικού κελύφους σας
chsh
με την
-s
(κέλυφος) επιλογή. Περάστε τη διαδρομή προς το νέο κέλυφος στη γραμμή εντολών:
chsh -s /usr/bin/fish
Σας ζητείται ο κωδικός πρόσβασής σας και επιστρέφετε στη γραμμή εντολών του τρέχοντος κελύφους σας. Πρέπει να αποσυνδεθείτε και να συνδεθείτε ξανά για να τεθεί σε ισχύ η αλλαγή. Όταν το κάνετε, θα δείτε τον χαιρετισμό και το
fish
γραμμή εντολών του κελύφους.
ο
$SHELL
Η μεταβλητή περιβάλλοντος κρατά τώρα τη διαδρομή προς το νέο προεπιλεγμένο κέλυφος:
echo $SHELL
Αλλαγή του κελύφους ενός άλλου λογαριασμού χρήστη
Εάν έχετε δικαιώματα root και μπορείτε να χρησιμοποιήσετε
sudo
, μπορείτε να αλλάξετε τα κελύφη άλλων λογαριασμών χρηστών. Η εντολή είναι ίδια με πριν, με την προσθήκη του ονόματος χρήστη αυτού του ατόμου στη γραμμή εντολών:
sudo chsh -s /usr/bin/fish mary
Οταν
mary
στην επόμενη σύνδεση, θα δει το νέο κέλυφος όταν ανοίξει ένα παράθυρο τερματικού.
Όλοι έχουν ένα αγαπημένο
Εφόσον αισθάνεστε άνετα με την επιλογή του κελύφους σας και λειτουργεί για εσάς, αυτό είναι υπέροχο! Απλώς θυμηθείτε, πρέπει να μπορεί να εκτελεί κοινά σενάρια, όπως ρουτίνες εγκατάστασης. Για τα κοχύλια που αναφέρονται εδώ, αυτό δεν θα πρέπει να είναι πρόβλημα.
Φυσικά, μπορείτε επίσης να κατεβάσετε και να εγκαταστήσετε ένα νέο κέλυφος και να το πάρετε για δοκιμή χωρίς να κάνετε αλλαγές στη διαμόρφωση του υπολογιστή σας. Όταν είστε έτοιμοι να δέσετε τον κόμπο,
chsh
θα κάνει την τελετή για εσάς.
VIA:
HowToGeek.com
