Αψήφησε τους κανόνες της αναδυόμενης τάξης της Πληροφορίας

Προσαρμόστε το γραφικό περιβάλλον για απόδοση και χρηστικότητα

Θέλετε γραφικό περιβάλλον αλλά σας φαίνεται βαρύ ή του λείπουν κάποια πράγματα; Κανένα πρόβλημα. Συνδυάστε επιμέρους στοιχεία από διάφορα γραφικά και θα έχετε το ολόδικό σας, μοναδικό περιβάλλον!

Μόντες στο γραφικό περιβάλλον – Πότε, πώς, και γιατί να τις κάνω;

Πότε: Όταν βλέπεις οτι το γραφικό περιβάλλον που θέλεις είναι ίσως κάπως βαρύ σε απαιτήσεις ή του λείπει αυτό το «κάτι» που θα σε κάνει να το δεις σαν «το άλλο σου μισό». Για παράδειγμα το GNOME εχει απίστευτη χρηστικότητα αλλά ο διαχειριστής αρχείων του (Files/πρώην Nautilus) είναι λίγο για τον… αετό. Μπορείς εύκολα να τον πετάξεις και να τον αντικαταστήσεις (ή να εγκαταστήσεις εξαρχής) με τον PCManFM ή τον Thunar (πολύ πιο μικροί αλλά πιο χρηστικοί και με αναλογικά περισσότερες δυνατότητες για το μεγεθός τους)

Πώς: Όλα τα παρακάτω θα γίνουν με επεμβάσεις στο .xinit με το χέρι αλλά προϋποθέτουν σύστημα όπου δεν έχει εγκατασταθεί γραφικό περιβάλλον. Σε ήδη εγκατεστημένα γραφικά σπάνε διάφορα και εμφανίζονται δυσλειτουργίες. Κάποιος με γνώσεις μπορεί να τις αποφύγει και να τα κάνει όλα αυτά σε ήδη εγκατεστημένο γραφικό αλλά καλό είναι να αποφεύγεται (γιατί θέλει διαγραφή ρυθμίσεων, απεγκατάσταση στοιχείων, και κάποιες φορές επέμβαση και από σκέτο command line).

Πολλή προσοχή χρειάζεται επίσης στο συνδυασμό γραφικών στοιχείων που θα επιλέξεις. Δεν είναι συμβατά όλα μεταξύ τους. Πολλά γραφικά κάνουν «συγκρούσεις» και δημιουργούν προβλήματα, από απλά bugs μέχρι και σοβαρές αστάθειες. Αν δεν έχεις πολύ καλή εξοικείωση με ρυθμίσεις σε αρχεία, εντολές, δυσλειτουργίες που μπορεί να προκύψουν κ.λπ., μην προχωρήσεις παρακάτω. Σοβαρά. Θα έρθει ο Γκοτζίλλας να σου φάει το σπίτι. Θα γεννήσει η γάτα σου κουταβάκια. Και πολλά άλλα φρικιαστικά θα σου συμβούν (είναι επίσης πολύ πιθανό να διαλύσεις το συστημά σου).

Γιατί: Γιατί μπορείς. Ή γιατί απλά θέλεις ένα γραφικό περιβάλλον που είναι μοναδικό και απόλυτα προσαρμοσμένο σε εσένα και στο μηχανημά σου, με απόδοση και ευχρηστία που δεν πετυχαίνεις με το έτοιμο γραφικό (που απλά έκανες κλικ και το εγκατέστησες με την εγκατάσταση του λειτουργικού). Για παράδειγμα εγώ έχω πετύχει σε υβριδικό GNOME/XFCE/LXDE χρήση μνήμης συστήματος 180-190ΜΒ, και με γυμνό GNOME Shell 140ΜΒ. Αν και για να φτάσει τόσο χαμηλά η μνήμη σε GNOME θέλει επιπλέον μόντες σε πολύ χαμηλότερο επίπεδο στο λειτουργικό. Αλλά δεν θα τις βάλω εδώ γιατί είναι πολύ περίεργες και επικίνδυνες (περιλαμβάνουν αλλαγές δικαιωμάτων πρόσβασης σε αρχεία συστήματος, διαγραφές, αντικαταστάσεις με dummy files κ.λπ.).

Αφού λοιπόν καταλαβαίνεις τους κινδύνους, αν συμφωνείς να συνεχίσεις, ας αρχίσουμε με τις μόντες. Όλα τα παρακάτω πρέπει να γίνουν χωρίς επανεκκίνηση, για να αποφευχθούν τυχόν σπασίματα στο γραφικό σύστημα. Αρχικά θέλεις ένα λειτουργικό (προφανώς Linux) που είναι κάπως έτσι (δηλαδή χωρίς γραφικό):

GIU-mods-commandline

Μην τρομάζεις, είναι πολύ πιο εύχρηστο από όσο δείχνει. Σε αυτό το πράγμα θα χρειαστεί να εγκαταστήσεις αρχικά τη γραφική υποστήριξη. Είναι τα πακέτα xorg και xserver-xorg (σ.σ. οι ονομασίες αναφέρονται σε Debian. Σε άλλες διανομές θα είναι παρεμφερείς). Αυτά τα κάνεις εγκατάσταση με την εντολή

sudo apt-get install xorg xserver-xorg

Αφού εγκατασταθούν, επιλέγεις τα γραφικά στοιχεία που θέλεις και τα εγκαθιστάς με τον ίδιο περίπου τρόπο. Περίπου, γιατί πλέον θέλεις όσο το δυνατόν λιγότερη σαβούρα μέσα στο σύστημα, οπότε η παραπάνω εντολή αλλάζει λίγο και γίνεται

sudo apt-get install --no-install-recommends --no-install-suggests paketo-tade

Τώρα εξαρτάται από το γραφικό αποτέλεσμα που θέλεις να έχεις και τι συνδυασμό θέλεις να επιτύχεις. Μια γενική κατηγοριοποίηση των αυτόνομων ανεξάρτητων γραφικών στοιχείων και μια σύντομη περιγραφή για το καθένα είναι η παρακάτω (αυτά μπορούν να τρέξουν μόνα τους σε διαφορετικό γραφικό περιβάλλον από αυτό που εχουν σχεδιαστεί, χωρίς πρόβλημα). Σε κάποια γραφικά όπως το GNOME χρειάζεται για κάποιον ηλίθιο λόγο να έχει εγκατασταθεί και display manager (π.χ. GDM που είναι του GNOME). Αν δεν τον περάσει μόνο του, τον κάνεις εγκατάσταση με τη γνωστή εντολή παραπάνω (sudo apt-get… άντε, πάλι τα ίδια θα λέω; ).

Επιμέρους γραφικά στοιχεία των κυριότερων γραφικών περιβαλλόντων

Γραφικά στοιχεία Fluxbox:

fluxbox. Αυτό. Δεν έχει κάτι άλλο. Σκέτος διαχειριστής παραθύρων, δηλαδή οι διακοσμήσεις των παραθύρων και οι σχετικές λειτουργίες (άνοιγμα, κλείσιμο, μεγιστοποίηση, κ.λπ.). Μπορεί όμως άνετα να συμπληρωθεί από άλλα γραφικά στοιχεία για να είναι πιο γεμάτο και πλήρες.

Γραφικά στοιχεία XFCE:

xfce4-panel (Το panel του XFCE)
xfdesktop4 (Διαχείριση desktop του XFCE)
xfwm4 (Διαχειριστής παραθύρων του XFCE)
thunar (Διαχειριστής αρχείων του XFCE)

Γραφικά στοιχεία GNOME:

gnome-shell (Το γνωστό σε όλους και μισητό σε πολλούς)
mutter (Διαχειριστής παραθύρων του gnome-shell)
gnome-panel (Το Flashback panel. Εξαιρετικά ασταθές – να αποφεύγεται η χρήση του)
nautilus (Διαχειριστής αρχείων του GNOME)

Γραφικά στοιχεια LXDE:

lxpanel (Το panel του LXDE)
pcmanfm (Διαχειριστής αρχείων του LXDE. Με εκκίνηση ως pcmanfm –desktop χρησιμοποιείται και για διαχείριση desktop)

Γραφικά στοιχεια KDE Plasma

kwin (Διαχειριστής παραθύρων του Plasma – δυστυχώς μόνο αυτό μπορεί να χρησιμοποιηθεί αυτόνομα σε άλλο γραφικό)

Ανεξάρτητα γραφικά στοιχεία

ratpoison (Το απόλυτο… τίποτα. Είναι μια κενή οθόνη. Ο χειρισμός γίνεται με το πληκτρολόγιο και με εντολές. Είναι τόσο εύχρηστο που είναι μεγαλειώδες)

Μερικοί συμβατοί συνδυασμοί γραφικών στοιχείων

Υπάρχουν πάρα πολλοί, με τόσα γραφικά στοιχεία που συνδυάζονται. Εγώ απλά βάζω κάποιους ενδεικτικούς:

xfce4-panel + xfwm4 + pcmanfm –desktop
gnome-shell + pcmanfm –desktop + xfce4-panel
mutter + xfce4-panel + pcmanfm –desktop
mutter + xfce4-panel + xfdesktop4
kwin + xfce4-panel / xfdesktop

Ασύμβατοι συνδυασμοί

GNOME Shell με οποιονδήποτε άλλον διαχειριστή παραθύρων εκτός του mutter. Το GNOME Shell έχει ενσωματωμένο τον mutter και δεν αλλάζει. Αν επιχειρήσεις να χρησιμοποιήσεις οτιδήποτε άλλο, μπλοκάρει και δεν ξεκινάει. Μην αλλάξεις τη διαχείριση παραθύρων του GNOME Shell από τον mutter που είναι η προεπιλογή.

gui-mods-gnomeshell-replace-crash
Απόπειρα αντικατάστασης του mutter από τον xfwm στο GNOME Shell, που οδηγεί σε μπλοκάρισμα του γραφικου.

Flashback panel του GNOME με οποιονδήποτε συνδυασμό άλλων γραφικών στοιχείων. Το gnome-panel του GNOME Flashback είναι εξαιρετικά ασταθές. Αν κρεμόσουν από έναν γκρεμό με το ένα χέρι από ένα σχοινί που είναι έτοιμο να σπάσει και το μόνο που θα σε έσωζε θα ήταν να χρησιμοποιήσεις το gnome-panel, ίσως μπορούσες να το επιχειρήσεις. Αλλιώς μακριά από το gnome-panel.

Ωραία. Και τώρα που αποφάσισες τι γραφικά στοιχεία θέλεις, συνεχίζουμε. Ακόμα θα πρέπει να βρίσκεσαι στο τερματικό (αυτό το μαύρο εύχρηστο πράγμα που εικονίζεται και κάπου παραπάνω). Θα φτιάξεις ένα αρχειάκι .xinitrc στο $HOME σου, με την εντολή vim.tiny ~/.xinitrc.

Όταν ανοίξει το Vim, πατάς το i για να αρχίσεις να γράφεις εκεί μέσα. Εδώ εξαρτάται τι γραφικά στοιχεία θα χρησιμοποιήσεις, οπότε βάζεις αυτά μέσα στο αρχείο. π.χ. Αυτό είναι το .xinitrc του δικού μου συστήματος (έχω βάλει να τρέχει μόνο το γυμνό GNOME Shell):

xset dpms 0 0 0
gnome-shell --sm-disable --mode=user

Αφου γράψεις τα παραπάνω μέσα στο αρχειάκι, πατάς το Esc και μετά πληκτρολογείς : και w+q και τέλος Enter, για να το σώσει και να βγει. Το πρώτο αυτό αρχείο πρέπει οπωσδήποτε να ονομάζεται .xinitrc και να μη μετονομαστεί, να μη διαγραφεί, ούτε να πειραχτεί πλέον (το πείραγμα επιτρέπεται μόνο αν ξέρεις πολύ καλά τι αλλάζεις και μόνο αν θέλεις να κάνεις μια μόνιμη αλλαγή στο γραφικό). Αν θέλεις να αλλάξεις προσωρινά κάποια γραφικά στοιχεία, μπορείς να φτιάξεις ένα άλλο xinitrc, με άλλη προφανώς ονομασία (έστω xfce-xinit). Αν θέλεις να εκκινήσεις τα νέα γραφικά στοιχεία, βγαίνεις από το κανονικό γραφικό σου και δίνεις στο τερματικό την εντολή startx xfce-xinit

Έτσι φορτώνει το γραφικό με τα νέα στοιχεία. Για να επιστρέψεις στο κανονικό γραφικό απλά βγαίνεις από το υπάρχον, στο τερματικό δίνεις απλά startx και φορτώνει το βασικό .xinitrc. Μια καλή ιδέα για να ξεχωρίζεις τα αρχειάκια είναι να τα ονομάσεις ανάλογα με τα γραφικά στοιχεία που θα τρέχουν. Αν δηλαδή τρέχει στοιχεία του XFCE, το ονομάζεις xfce-xinit ή κατι παρόμοιο. Αυτό παρακάτω εγώ το εχω ονομάσει pear (αχλάδι), γιατί μοιάζει κάπως με Mac.

xset dpms 0 0 0
xfce4-panel&
pcmanfm --desktop&
gnome-shell --sm-disable --mode=user

Αφου γίνει και αυτό, σειρά εχει η απενεργοποίηση του display manager, αν έχει εγκατασταθεί κάποιος. Αυτό γίνεται από το systemd, με τις ακόλουθες εντολές κατά σειρά:

sudo systemctl disable gdm
sudo systemctl mask gdm
sudo systemctl disable gdm3
sudo systemctl mask gdm3

Το επόμενο είναι η είσοδος από command line (αφού πλέον δεν υπάρχει display manager). Αυτό γίνεται με την παρακάτω εντολή, η οποία μπλοκάρει οριστικά τη γραφική είσοδο και ζητάει είσοδο από τερματικό:

sudo systemctl set-default multi-user.target

Το έκανες και αυτό; Ωραία λοιπόν, πάμε παρακάτω. Ναι, έχει κι άλλα. Το επόμενο θα σε κάνει να χαρείς. Επειδή σε βλέπω οτι βαριέσαι, σίγουρα σκέφτεσαι, «γιατί να μπαίνω σε τερματικό, να δίνω κωδικό κ.λπ. για να συνδεθώ στο σύστημα;». Ε, λοιπόν δεν χρειάζεται να το κάνεις. Υπάρχει η δυνατότητα αυτόματης σύνδεσης και στο τερματικό. Αυτό γίνεται με τον εξής τρόπο. Βρίσκεις το αρχειάκι /lib/systemd/system/getty@.service και το αντιγράφεις στο φάκελο του systemd με αυτή την εντολή παρακάτω (σαν root προφανώς, γιατί είναι αρχεία συστήματος και δεν σε αφήνει σαν χρήστη):

sudo cp -p /lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@tty1.service

Αφού αντιγραφεί, το ανοίγεις με το vim.tiny σαν root, δίνοντας την εντολή

sudo vim.tiny /etc/systemd/system/getty.target.wants/getty@tty1.service

Θα ανοίξει το αρχείο στο μικροσκοπικό Vim. Πατάς το i για να μπορείς να γράψεις (το είπαμε και παραπάνω αν δεν το θυμάσαι), βρίσκεις τη γραμμή που λέει

ExecStart=-/sbin/agetty --noclear %I $TERM

και την κάνεις να λέει

ExecStart=-/sbin/agetty --noclear --autologin username %I $TERM

Αποθηκεύεις και βγαίνεις. Τώρα μπορείς να κάνεις επανεκκίνηση και να απολαύσεις το «φρέσκο» και μοναδικό γραφικό σου:

gui-mods-hybrid-gnomeshell-ram-usage
Υβριδικό GNOME Shell με στοιχεία XFCE και LXDE. Χρήση μνήμης… κρατηθείτε… 180ΜΒ.

Σημαντικές διευκρινίσεις

Επειδή τα γραφικά στοιχεία τρέχουν αυτόνομα, χωρίς sessions κ.λπ., δεν υπάρχει κανένα γραφικό προγραμματάκι προσαρμογής ρυθμίσεων. Θα πρέπει να έχεις αρκετές γνώσεις ρύθμισης με αρχεία και εντολές. Αν δεν έχεις τόση εξοικείωση με αυτά, μην κάνεις τίποτα από τα παραπάνω.

Για τα themes είναι τα αρχεία ~/.gtkrc.2-0 και ~/.config/gtk.3-0/settings.ini και κάποιες ρυθμίσεις στο dconf-editor (αυτές είναι ανάλογα τι γραφικά στοιχεία θα επιλέξεις. Αν κάνεις αναζήτηση για κάτι σχετικό στον dconf-editor, θα σου βγάλει και τις σχετικές ρυθμίσεις που μπορείς να αλλάξεις).

Για το session (δεν υπάρχει session ουσιαστικά) πρέπει οι όποιες ρυθμίσεις (π.χ. αλλαγή γλώσσας) να γίνουν στο ~/.xinitrc ή στο ~/.bashrc. Επίσης προσοχή, επειδή δεν υπάρχει session, πολλά προγράμματα που χρειάζονται root μπορεί να κολλήσουν το σύστημα αν εκκινηθούν από το γραφικό (από κάποιο μενού ή συντόμευση. Ευτυχώς το GNOME, ακόμα και γυμνό, δεν έχει αυτό το πρόβλημα). Καλό είναι αν θέλεις να εκκινήσεις ένα τέτοιο πρόγραμμα (ένα τέτοιο είναι το Synaptic), να το κάνεις από τερματικό με sudosu και μετά να τρέξεις το πρόγραμμα αν αυτό σε βολεύει καλύτερα)

Επειδή εγκαθιστάς επιμέρους γραφικά στοιχεία, δεν θα εγκατασταθεί κανένα πρόγραμμα στο σύστημα (π.χ. Libre Office, Firefox). Θα έχεις ένα εντελώς γυμνό σύστημα, μόνο με το γραφικό που έχεις φτιάξει. Εγκαθιστάς οτι επιπλέον θέλεις από τον διαχειριστή πακέτων.

Εκτός του GNOME Shell που έχει δυνατότητα εξόδου από το γραφικό με δική του εντολή (πατάς Alt+F2, γράφεις debugexit και πατάς Enter), σε άλλους συνδυασμούς γραφικών στοιχείων δεν υπάρχει αυτή η δυνατότητα. Αυτές τις λειτουργίες τις διαχειρίζεται κυρίως το session, το οποίο όμως εδώ δεν υπάρχει. Για να βγεις από το γραφικό θέλει «hack», αν δεν έχει δική του εντολή εξόδου. Ποιό ειναι αυτό; Απλούστατο. Στο .xinitrc του γραφικού που θέλεις, θα βάλεις στο τέλος της τελευταίας γραμμής ένα & και θα προσθέσεις από κάτω, σε νέα γραμμή, αυτό:

zenity --progress --no-cancel

Αν για παράδειγμα το .xinitrc ήταν έτσι:

xset dpms 0 0 0
xfce4-panel&
pcmanfm --desktop&
gnome-shell --sm-disable --mode=user

τώρα θα πρέπει να είναι έτσι:

xset dpms 0 0 0
xfce4-panel&
pcmanfm --desktop&
gnome-shell --sm-disable --mode=user&
zenity --progress --no-cancel

Αυτό παραπάνω πετάει στο τέλος της φόρτωσης ενα μικρούλι παραθυράκι του zenity. Αυτό ουσιαστικά «κρατάει» το γραφικό ανοιχτό. Αν θέλεις να βγεις από το γραφικό, κλείνεις το παραθυράκι του zenity (απλά πατάς το Esc), ακολουθεί και το γραφικό και σε πετάει σε command line (γι’ αυτό προσοχή. Αν δεν θέλεις να πατηθεί και να κλείσει καταλάθος το γραφικό, βάλε το παραθυράκι κάπου σε μια άκρη να μην είναι εύκολα προσβάσιμο).

Κάτι μικρό και άσχετο για το τέλος

Με αυτές τις μόντες, επειδή τρέχει το γραφικό χειροκίνητα από command line, όταν ανοίγεις το τερματικό μέσα στο γραφικό, πετάει μια σαχλαμαρίτσα του τύπου «xserver cannot start on this screen μπλα μπλα». Δεν είναι κάτι σοβαρό. Ακίνδυνη σαχλαμαρίτσα είναι, αλλά αν δεν θέλεις να το βλέπεις κάθε φορά, μπορείς να κάνεις το εξής: ανοίγεις το ~/.bashrc και κάτω-κάτω προσθέτεις αυτό:

if [ -z "$DISPLAY" ]; then
startx
fi

Μοιραστείτε μαζί μας τις σκέψεις σας

avatar
  Εγγραφή  
Ειδοποίηση για

Σας ενημερώνουμε ότι η ιστοσελίδα μας ακολουθεί ειδικό πρόγραμμα διατροφής και μασουλάει φρεσκοψημένα cookies Καλά μωρέΘέλω να μάθω περισσότερα