Contents
Greek On Archlinux
Αυτός ο οδηγός μας παρουσιάσει πως μπορούμε να ρυθμίσουμε το σύστημά μας, ώστε να μπορούμε να εναλλάσσουμε το πληκτρολόγιό μας και σε ελληνικά.
hal
Πλέον οι περισσότερες διανομές χρησιμοποιούν το hal ως ενδιάμεσο layer μεταξύ του kernel και του hardware.
Αυτό πρακτικά σημαίνει ότι τα περιφερειακά αναγνωρίζονται από το hal μέσω του dbus. Αυτό πρακτικά σημαίνει ότι το xorg χρησιμοποιεί το hal κι όχι το xorg.conf
για να δει τόσο τις συσκευές, όσο και τις ρυθμίσεις μας.
The old way
Άρα οι εξής δηλώσεις στο xorg:
Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "us,el" Option "XkbOptions" "grp:alt_shift_toggle,compose:menu,grp_led:scroll" EndSection
δεν λειτουργούν, παρά μόνο εάν προσθέσουμε στο τέλος του αρχείου το εξής section:
Section "ServerFlags" Option "AutoAddDevices" "false" EndSection
Γεγονός που πλέον ΔΕΝ συνιστάτε και καλό θα είναι να το αποφεύγουμε.
Hal Policy
Ο νέος τρόπος είναι μέσω του hal.
Το hal για να αποφύγει διάφορες αυτόματες διαδικασίες και φυσικά κάποια security issues ρυθμίζεται μέσω αρχείων που ορίζουν την πολιτική για τις συσκευές που αναγνωρίζει.
Στην δική μας περίπτωση θέλουμε να ορίσουμε ένα policy ώστε όταν αναγνωρίζει το πληκτρολόγιο να μπορούμε να γυρνάμε και στα ελληνικά.
Τι κάνουμε;
Ως διαχειριστές τα παρακάτω βήματα:
Βήμα Α
Αντιγράφουμε το αρχείο /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi στην εξής διαδρομή: /etc/hal/fdi/policy/
Αυτό γίνεται με της εξής εντολή:
cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy/
Βήμα Β
Στην συνέχεια επεξεργαζόμαστε το αρχείο προσθέτοντάς του, τους extra κανόνες που είχαμε στο παρελθόν στο xorg.conf
Από έτσι:
<merge key="input.xkb.layout" type="string">us</merge> <merge key="input.xkb.variant" type="string" />
πρέπει να γίνει έτσι:
<merge key="input.xkb.layout" type="string">us,el</merge> <merge key="input.xkb.options" type="string">grp:alt_shift_toggle,compose:menu,grp_led:scroll</merge> <merge key="input.xkb.variant" type="string" />
Ένα πλήρες έτοιμο αρχείο είναι αυτό:
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- --> <deviceinfo version="0.2"> <device> <match key="info.capabilities" contains="input.keymap"> <append key="info.callouts.add" type="strlist">hal-setup-keymap</append> </match> <match key="info.capabilities" contains="input.keys"> <merge key="input.xkb.rules" type="string">base</merge> <!-- If we're using Linux, we use evdev by default (falling back to keyboard otherwise). --> <merge key="input.xkb.model" type="string">keyboard</merge> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"> <merge key="input.xkb.model" type="string">evdev</merge> </match> <merge key="input.xkb.layout" type="string">us,el</merge> <merge key="input.xkb.options" type="string">grp:alt_shift_toggle,compose:menu,grp_led:scroll</merge> <merge key="input.xkb.variant" type="string" /> </match> </device> </deviceinfo>
Βήμα Γ
Βεβαιωνόμαστε ότι έχουμε τερματίσει το Xorg και βρισκόμαστε σε κονσόλα.
Πάλι ως διαχειριστές γράφουμε:
/etc/rc.d/hal restart
ή εάν χρησιμοποιούμε κάποια άλλη διανομή (κακώς):
/etc/init.d/hal restart
locales
Με τα παραπάνω βήματα έχουμε προσθέσει την δυνατότητα της εναλλαγής γλώσσας στην διανομή μας.
Αλλά πριν ξεκινήσουμε όλα τα παραπάνω πρέπει να είμαστε σίγουροι ότι έχουμε ενεργοποιήσει τα ελληνικά
στην διανομή μας.
Έλεγχος
Για να ελέγξουμε τι γλώσσες έχουμε στην διανομή μας, ανοίγουμε ένα τερματικό και πληκτρολογούμε: locale -a
Εάν έχουμε το παρακάτω αποτέλεσμα, τότε ΔΕΝ έχουμε ελληνικά.
C POSIX en_US en_US.iso88591 en_US.utf8
Ενεργοποίηση Ελληνικών
Άρα χρειάζεται να ενεργοποιήσουμε τα ελληνικά. Αυτό γίνεται αφαιρώντας τον χαρακτήρα του σχολίου (# δίεση ή αλλιώς και κάγκελο) από το αρχείο: /etc/locale.gen
Πριν:
#el_GR.UTF-8 UTF-8 #el_GR ISO-8859-7
Μετά:
el_GR.UTF-8 UTF-8 el_GR ISO-8859-7
Δημιουργία
Απλά ως διαχειριστές τρέχουμε την εξής εντολή:
#locale-gen
και το αποτέλεσμά της θα είναι κάπως έτσι:
Generating locales... el_GR.UTF-8... done el_GR.ISO-8859-7... done en_US.UTF-8... done en_US.ISO-8859-1... done Generation complete.
Την επόμενη φορά που θα πληκτρολογήσουμε: locale -a
θα πρέπει να μας δείξει ένα αποτέλεσμα περίπου σαν κι αυτό:
C POSIX el_GR el_GR.iso88597 el_GR.utf8 en_US en_US.iso88591 en_US.utf8 greek
Προκαθορισμένο περιβάλλον
Εάν θέλουμε να ορίσουμε τα ελληνικά ως προκαθορισμένη γλώσσα στην διανομή μας,
τότε χρειάζεται να επεξεργαστούμε κατάλληλα το εξής αρχείο: /etc/rc.conf
ώστε να περιέχει την εξής δήλωση:
LOCALE="el_GR.utf8"
The New Greek Way (2010.06.21)
Τις τελευταίες ημέρες τα πράγματα άλλαξαν στο Xorg και πλέον εκτός του udev, οι δικές μας ρυθμίσεις πρέπει να αποθηκεύονται στον εξής κατάλογο:
/etc/X11/xorg.conf.d/
Το archlinux έχει ήδη προβεί σε αναβάθμιση όλων των απαραίτητων πακέτων κι έτσι "εμείς" πρέπει να αλλάξουμε λίγο τις συνήθειές μας.
Έτσι λοιπόν πλέον η αλλαγή της γλώσσας ΔΕΝ γίνεται πλέον μέσω hal, οπότε χρειάζεται να επιβεβαιώσουμε ότι το συγκεκριμένο αρχείο είτε δεν υπάρχει, είτε έχει μετονομαστεί:
Στην δική μου περίπτωση έγινε έτσι:
/etc/hal/fdi/policy/.10-keymap.fdi
Και δημιουργούμε το νέο αρχείο:
/etc/X11/xorg.conf.d/10-keyboard.conf
με το εξής περιεχόμενο:
Section "InputClass" Identifier "Generic Keyboard" MatchIsKeyboard "yes" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "us,el" Option "XkbOptions" "grp:alt_shift_toggle,compose:menu,grp_led:scroll" EndSection
startx
Πλέον είμαστε έτοιμοι να εκκινήσουμε το γραφικό μας περιβάλλον με την εντολή: startx
Εάν ΔΕΝ έχουμε δημιουργήσει το xorg.conf πιθανά να μας παράγει ένα αυτόματα για την συγκεκριμένη συνεδρία μας.
Αλλιώς ρίχνουμε μια ματιά εδώ: xorg