diff --git a/el_GR.ISO8859-7/books/handbook/linuxemu/chapter.sgml b/el_GR.ISO8859-7/books/handbook/linuxemu/chapter.sgml index 1e12074a40..9c79b89142 100644 --- a/el_GR.ISO8859-7/books/handbook/linuxemu/chapter.sgml +++ b/el_GR.ISO8859-7/books/handbook/linuxemu/chapter.sgml @@ -1,3692 +1,3700 @@ Jim Mock Αναδομήθηκε και μέρη του ανανεώθηκαν από τον Brian N. Handy Αρχική συνεισφορά από τον Rich Murphey Συμβατότητα με Εκτελέσιμα του Linux Σύνοψη Συμβατότητα με εκτελέσιμα (binary) Linux binary συμβατότητα Linux συμβατότητα εκτελέσιμων Linux συμβατότητα εκτελέσιμων Linux Το &os; παρέχει binary συμβατότητα (εκτελέσιμων) με αρκετά άλλα λειτουργικά τύπου &unix;, συμπεριλαμβανομένου και του Linux. Σε αυτό το σημείο, μπορεί να αναρωτιέστε γιατί ακριβώς χρειάζεται το &os; να μπορεί να τρέξει εκτελέσιμα Linux; H απάντηση σε αυτή την ερώτηση είναι αρκετά απλή. Πολλές εταιρίες και προγραμματιστές αναπτύσσουν εφαρμογές μόνο για Linux, μια και είναι πολύ της μόδας στο κόσμο των υπολογιστών. Αυτό αναγκάζει εμάς τους υπόλοιπους, που χρησιμοποιούμε το &os;, να πιέζουμε τις ίδιες αυτές εταιρίες και προγραμματιστές να δημιουργήσουν κανονικές εκδόσεις των εφαρμογών τους για &os;. Το πρόβλημα είναι, ότι οι περισσότερες από αυτές τις εταιρίες δεν αντιλαμβάνονται πραγματικά πόσοι περισσότεροι άνθρωποι θα χρησιμοποιούσαν το προϊόν τους αν είχαν εκδόσεις και για &os;, και οι περισσότερες συνεχίζουν να αναπτύσσουν μόνο για Linux. Άρα τι μπορεί να κάνει ένας χρήστης του &os;; Εδώ έρχεται να βοηθήσει η binary συμβατότητα του &os; με το Linux. Εν συντομία, η συμβατότητα επιτρέπει στους χρήστες του &os; να εκτελέσουν περίπου το 90% όλων των Linux εφαρμογών χωρίς μετατροπές. Αυτό περιλαμβάνει εφαρμογές όπως το &staroffice;, την Linux έκδοση του &netscape;, &adobe; &acrobat;, RealPlayer, VMware, &oracle;, WordPerfect, Doom, Quake, και περισσότερα. Έχει επίσης αναφερθεί ότι σε κάποιες περιπτώσεις, τα εκτελέσιμα του Linux έχουν καλύτερη απόδοση στο &os; από ότι στο Linux. Υπάρχουν ωστόσο κάποια συγκεκριμένα για το Linux στοιχεία του λειτουργικού που δεν υποστηρίζονται στο &os;. Τα εκτελέσιμα του Linux δεν θα δουλέψουν στο &os; αν χρησιμοποιούν πολλές εξειδικευμένες κλήσεις &i386;, όπως για παράδειγμα την ενεργοποίηση της εικονικής κατάστασης 8086. Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε: Πως να ενεργοποιήσετε την συμβατότητα εκτελέσιμων με το Linux στο σύστημα σας. Πως να εγκαταστήσετε πρόσθετες κοινόχρηστες βιβλιοθήκες του Linux. Πως να εγκαταστήσετε εφαρμογές του Linux στο &os;. Τις λεπτομέρειες της υλοποίησης της συμβατότητας με το Linux στο &os;. Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει: Να γνωρίζετε πως θα εγκαταστήσετε πρόσθετο λογισμικό τρίτου κατασκευαστή (). Εγκατάσταση KLD (kernel loadable object) Η συμβατότητα με εκτελέσιμα του Linux δεν είναι ενεργή εξ' αρχής. Ο ευκολότερος τρόπος για να ενεργοποιήσετε αυτή τη λειτουργία είναι να φορτώσετε το KLD (άρθρωμα) linux (Kernel LoaDable object). Μπορείτε να φορτώσετε αυτό το άρθρωμα στον πυρήνα δίνοντας τη παρακάτω εντολή ως root: &prompt.root; kldload linux Αν θέλετε να έχετε πάντα ενεργοποιημένη τη συμβατότητα με Linux, τότε θα χρειαστεί να προσθέσετε τη παρακάτω γραμμή στο /etc/rc.conf: linux_enable="YES" Η εντολή &man.kldstat.8; μπορεί να χρησιμοποιηθεί για να ελεγχθεί αν το KLD είναι φορτωμένο: &prompt.user; kldstat Id Refs Address Size Name 1 2 0xc0100000 16bdb8 kernel 7 1 0xc24db000 d000 linux.ko kernel options COMPAT_LINUX Αν για κάποιο λόγο δεν θέλετε ή δε μπορείτε να φορτώσετε το KLD, τότε μπορείτε να συνδέσετε στατικά την υποστήριξη εκτελέσιμων του Linux στον πυρήνα με το να προσθέσετε την επιλογή options COMPAT_LINUX στο αρχείων ρυθμίσεων του πυρήνα. Στη συνέχεια μπορείτε να εγκαταστήσετε τον νέο πυρήνα όπως περιγράφεται στο . Εγκατάσταση των Linux Runtime Libraries Linux εγκατάσταση βιβλιοθηκών Linux Αυτό μπορεί να γίνει με δύο τρόπους. Είτε με τη χρήση του linux_base-fc4 port, ή με χειροκίνητη εγκατάσταση τους. Εγκατάσταση μέσω του linux_base Port Ports Collection Αυτός είναι κατά γενική ομολογία ο ευκολότερος τρόπος για την εγκατάσταση των runtime libraries. Είναι η ίδια διαδικασία εγκατάστασης που ακολουθείται και για οποιοδήποτε άλλο port από τη Συλλογή των Ports. Απλά κάντε το παρακάτω: - &prompt.root; cd /usr/ports/emulators/linux_base-fc4 + &prompt.root; cd /usr/ports/emulators/linux_base-f10 &prompt.root; make install distclean + + Αν χρησιμοποιείτε κάποια έκδοση του &os; πριν την 8.0, θα + πρέπει να εγκαταστήσετε το port emulators/linux_base-fc4 + αντί για το emulators/linux_base-f10. + + Θα πρέπει τώρα να έχετε κανονική συμβατότητα με εκτελέσιμα του Linux. Μερικά προγράμματα παραπονιούνται ότι οι βιβλιοθήκες συστήματος (system libraries) δεν είναι στη τελευταία τους έκδοση. Γενικά όμως, αυτό δεν αποτελεί κανένα πρόβλημα. Μπορούν να υπάρχουν πολλαπλές εκδόσεις του emulators/linux_base, που να αντιστοιχούν στις διαφορετικές εκδόσεις των διανομών Linux. Θα πρέπει να κάνετε εγκατάσταση των ports που προαπαιτούνται από τις εφαρμογές Linux τις οποίες θέλετε να εγκαταστήσετε. Χειροκίνητη εγκατάσταση των Libraries Αν δεν έχετε εγκαταστήσει την συλλογή των ports, μπορείτε να εγκαταστήσετε τις βιβλιοθήκες χειροκίνητα. Θα χρειαστείτε τα Linux shared libraries τα οποία απαιτεί το πρόγραμμα. Επίσης, θα χρειαστεί να δημιουργήσετε και έναν κατάλογο shadow root, /compat/linux, για τις βιβλιοθήκες Linux που θα υπάρχουν στο &os;. Οποιαδήποτε κοινές βιβλιοθήκες (shared libraries) οι οποίες χρησιμοποιούνται από εφαρμογές Linux και εκτελούνται στο &os; θα κοιτάξουν πρώτα σε αυτόν τον κατάλογο. Επομένως, αν μια εφαρμογή Linux φορτώσει για παράδειγμα το /lib/libc.so, το &os; θα προσπαθήσει να φορτώσει πρώτα το /compat/linux/lib/libc.so, και αν αυτό δεν υπάρχει, τότε θα προσπαθήσει να φορτώσει το /lib/libc.so. Τα shared libraries θα πρέπει να εγκατασταθούν στο shadow tree /compat/linux/lib αντί για τις τοποθεσίες που αναφέρει το ld.so στο Linux. Γενικά, τουλάχιστον στις πρώτες σας εγκαταστάσεις εφαρμογών Linux, θα χρειαστεί να ψάξετε για τις κοινές βιβλιοθήκες από τα αντίστοιχα εκτελέσιμα. Μετά από κάποιο διάστημα θα έχετε ένα ικανοποιητικό αριθμό Linux shared libraries στο σύστημά σας και πλέον δε θα χρειάζεται επιπλέον εργασία πέρα από την εγκατάσταση της εφαρμογής. Εγκατάσταση Πρόσθετων Shared Libraries shared libraries Και τι γίνεται στη περίπτωση που έχετε εγκαταστήσει το linux_base port και οι εφαρμογές σας ακόμη παραπονιούνται για shared libraries που λείπουν; Πώς μπορείτε να ξέρετε ποια shared libraries χρειάζεται κάποια εφαρμογή, και που μπορείτε να τα βρείτε; Βασικά, υπάρχουν 2 επιλογές (για να ακολουθήσετε τις παρακάτω οδηγίες θα πρέπει να είστε root στο σύστημά σας). Αν έχετε πρόσβαση σε κάποιο μηχάνημα Linux, ρίξτε μια ματιά στα shared libraries που χρειάζεται μια εφαρμογή, και αντιγράψτε τα στο &os;. Δείτε το παρακάτω παράδειγμα: Ας υποθέσουμε ότι κατεβάσατε μέσω FTP το εκτελέσιμο του Doom για το Linux, και το βάλατε στο Linux σύστημα στο οποίο έχετε πρόσβαση. Μπορείτε στη συνέχεια να ελέγξετε ποια shared libraries χρειάζεται η εφαρμογή με την εντολή ldd linuxdoom, όπως: &prompt.user; ldd linuxdoom libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0 libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0 libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29 symbolic links Θα χρειαστεί να πάρετε όλα τα αρχεία από τη τελευταία στήλη, και να τα αντιγράψετε στον κατάλογο /compat/linux, και να δημιουργήσετε προς αυτά τους αντίστοιχους συμβολικούς δεσμούς (symbolic links) με τα ονόματα της πρώτης στήλης. Αυτό σημαίνει ότι πρακτικά, θα έχετε αυτά τα αρχεία στο σύστημα σας: /compat/linux/usr/X11/lib/libXt.so.3.1.0 /compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0 /compat/linux/usr/X11/lib/libX11.so.3.1.0 /compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0 /compat/linux/lib/libc.so.4.6.29 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Σημειώστε ότι αν έχετε ήδη κάποιο Linux shared library που ο αριθμός έκδοσης είναι ο ίδιος με αυτόν της πρώτης στήλης του ldd, δε θα χρειαστεί να αντιγράψετε το αρχείο όπως αυτό ονομάζεται στη τελευταία στήλη, τα υπάρχοντα αρχεία θα πρέπει να κάνουν τη δουλειά τους. Σας συμβουλεύουμε όμως να αντιγράψετε το shared library αν είναι κάποια νεότερη έκδοση. Μπορείτε να διαγράψετε τα παλιά αρχεία, αρκεί όμως να ανανεώσετε τους συμβολικούς δεσμούς ώστε να οδηγούν στα νέα αρχεία. Επομένως, αν έχετε τις παρακάτω βιβλιοθήκες στο σύστημά σας: /compat/linux/lib/libc.so.4.6.27 /compat/linux/lib/libc.so.4 -> libc.so.4.6.27 και βρείτε μια εφαρμογή η οποία ζητάει μια νεότερη έκδοση μέσω του ldd: libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29 Αν η διαφορά της έκδοσης στο τελευταία ψηφίο είναι μόνο μίας ή δύο εκδόσεων, τότε μην σας απασχολεί η αντιγραφή του /lib/libc.so.4.6.29, γιατί το πρόγραμμα θα πρέπει να τρέχει κανονικά και με τη λίγο παλαιότερη έκδοση. Παρ' όλα αυτά, αν θέλετε, μπορείτε να αντικαταστήσετε το libc.so και έτσι θα έχετε το παρακάτω: /compat/linux/lib/libc.so.4.6.29 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Ο μηχανισμός των συμβολικών συνδέσμων χρειάζεται μόνο για τις εφαρμογές του Linux. Ο runtime linker του &os; κοιτάει μόνος του για τις πιο πρόσφατες εκδόσεις των βιβλιοθηκών και έτσι δε χρειάζεται να σας απασχολεί.
Εγκατάσταση των Linux ELF Binaries Linux ELF binaries Τα ELF binaries χρειάζονται μερικές φορές ένα ακόμα βήμα, το branding. Αν προσπαθήσετε να τρέξετε ένα εκτελέσιμο ELF χωρίς branding, τότε θα σας εμφανιστεί το παρακάτω σφάλμα: &prompt.user; ./my-linux-elf-binary ELF binary type not known Abort Για να βοηθήσετε τον πυρήνα του &os; να ξεχωρίσει ένα ELF του &os; από ένα του Linux, χρησιμοποιήσετε την εντολή &man.brandelf.1;. &prompt.user; brandelf -t Linux my-linux-elf-binary GNU toolchain To GNU toolchain, ομάδα πρόγραμμα GNU, τοποθετεί πλέον αυτόματα τα κατάλληλα χαρακτηριστικά στα εκτελέσιμα ELF, επομένως το παραπάνω βήμα θα χρειάζεται όλο και λιγότερο στο μέλλον. Ρύθμιση του Hostname Resolver Αν το DNS δε δουλεύει ή αν σας εμφανίζεται το παρακάτω σφάλμα: resolv+: "bind" is an invalid keyword resolv+: "hosts" is an invalid keyword Θα χρειαστεί να ρυθμίσετε το /compat/linux/etc/host.conf ώστε να περιέχει: order hosts, bind multi on Η σειρά εδώ δηλώνει ότι αρχικά ελέγχεται το αρχείο /etc/hosts και στη συνέχεια ο DNS server. Όταν το /compat/linux/etc/host.conf δεν είναι διαθέσιμο, οι εφαρμογές Linux χρησιμοποιούν το /etc/host.conf του &os; και παραπονιούνται ότι η σύνταξη του αρχείου δεν είναι σωστή. Θα πρέπει να αφαιρέσετε την αναφορά στο bind αν δεν έχετε ρυθμίσει ένα name server μέσω του /etc/resolv.conf.
Boris Hollas Ανανεώθηκε για το Mathematica 5.X από τον Εγκαθιστώντας το &mathematica; applications Mathematica Το κείμενο αυτό περιγράφει τη διαδικασία εγκατάστασης της έκδοσης Linux του &mathematica; 5.X σε ένα σύστημα &os;. Μπορείτε να αγοράσετε την κανονική ή μαθητική έκδοση του &mathematica; για Linux, απευθείας από τη Wolfram στο . Το Πρόγραμμα Εγκατάστασης του &mathematica; Αρχικά, θα πρέπει να πείτε στο &os; ότι τα εκτελέσιμα για Linux του &mathematica; κάνουν χρήση του Linux ABI. Ο ευκολότερος τρόπος για να το κάνετε αυτό είναι να ορίσετε τον τύπο του ELF ως Linux σε όλες τις εφαρμογές που δεν είναι ήδη branded, κάνοντας χρήση της εντολής: &prompt.root; sysctl kern.fallback_elf_brand=3 Αυτό θα κάνει το &os; να υποθέσει ότι τα εκτελέσιμα ELF που δεν είναι branded, κάνουν χρήση του Linux ABI και έτσι θα μπορείτε να τρέξετε το πρόγραμμα της εγκατάστασης απευθείας από το CDROM. Τώρα, αντιγράψτε το αρχείο MathInstaller στον σκληρό σας δίσκο: &prompt.root; mount /cdrom &prompt.root; cp /cdrom/Unix/Installers/Linux/MathInstaller /localdir/ Ανοίξτε το αρχείο και αντικαταστήστε το /bin/sh στη πρώτη γραμμή με το /compat/linux/bin/sh. Αυτό θα σιγουρέψει ότι το πρόγραμμα εγκατάστασης θα τρέχει με την έκδοση &man.sh.1; για Linux. Στη συνέχεια, αντικαταστήστε όλες τις εγγραφές Linux) με &os;) χρησιμοποιώντας έναν συντάκτη κειμένου ή με το παρακάτω script στην επόμενη ενότητα. Αυτό θα πει στο πρόγραμμα εγκατάστασης του &mathematica;, το οποίο τρέχει την εντολή uname -s για να διαπιστώσει το λειτουργικό σύστημα, να αντιμετωπίσει το &os; σαν ένα λειτουργικό παρεμφερές με το Linux. Η εκτέλεση του MathInstaller θα ξεκινήσει τώρα την εγκατάσταση του &mathematica;. Τροποποιώντας τα Εκτελέσιμα του &mathematica; Τα shell scripts τα οποία δημιουργεί το &mathematica; κατά τη διαδικασία της εγκατάστασης πρέπει να τροποποιηθούν πριν χρησιμοποιηθούν. Αν επιλέξετε το /usr/local/bin ως τον κατάλογο για τα εκτελέσιμα του &mathematica;, θα βρείτε εκεί συμβολικούς δεσμούς (symlinks) προς τα αρχεία math, mathematica, Mathematica, και MathKernel. Σε κάθε περίπτωση από τις παραπάνω, αντικαταστήστε τις εγγραφές Linux) με &os;) με κάποιον συντάκτη κειμένου ή με το παρακάτω shell script: #!/bin/sh cd /usr/local/bin for i in math mathematica Mathematica MathKernel do sed 's/Linux)/&os;)/g' $i > $i.tmp sed 's/\/bin\/sh/\/compat\/linux\/bin\/sh/g' $i.tmp > $i rm $i.tmp chmod a+x $i done Αποκτώντας Κωδικό για το &mathematica; Ethernet MAC address Όταν εκκινήσετε το &mathematica; για πρώτη φορά, θα ερωτηθείτε για έναν κωδικό. Αν δεν έχετε κάποιον κωδικό σε αυτό το στάδιο, τρέξτε το πρόγραμμα mathinfo που βρίσκεται στον κατάλογο εγκατάστασης για να σας δοθεί το machine ID. Το "machine ID" είναι εξ' ολοκλήρου βασισμένο στη διεύθυνση MAC της κάρτας δικτύου που έχετε. Αυτό σημαίνει ότι δεν μπορείτε να τρέξετε το &mathematica; σε άλλους υπολογιστές. Όταν εγγραφείτε στη Wolfram, με e-mail, τηλέφωνο ή fax, θα χρειαστεί να δώσετε το machine ID και θα σας απαντήσουν με έναν αντίστοιχο κωδικό που θα αποτελείται από μια σειρά αριθμών. Τρέχοντας το &mathematica; Frontend μέσω Δικτύου Το &mathematica; κάνει χρήση κάποιων ειδικών γραμματοσειρών για να εμφανίσει χαρακτήρες οι οποίοι δεν υπάρχουν στα συνηθισμένα σετ (ολοκληρώματα, αθροίσματα, Ελληνικά γράμματα, κλπ). To πρωτόκολλο X απαιτεί αυτές οι γραμματοσειρές να υπάρχουν στο τοπικό σύστημα. Αυτό σημαίνει ότι θα χρειαστεί να αντιγράψετε τις γραμματοσειρές αυτές από το CDROM ή από από κάποιον άλλον υπολογιστή που έχει το &mathematica;. Συνήθως αυτές οι γραμματοσειρές μπορούν να βρεθούν μέσα στο κατάλογο /cdrom/Unix/Files/SystemFiles/Fonts του CDROM, ή στον κατάλογο /usr/local/mathematica/SystemFiles/Fonts στον τοπικό σκληρό δίσκο. Οι πραγματικές γραμματοσειρές βρίσκονται σε υποκαταλόγους όπως Type1 και X. Υπάρχουν αρκετοί τρόποι να τις χρησιμοποιήσετε, οι οποίοι περιγράφονται στη συνέχεια. Ο πρώτος τρόπος είναι να τις αντιγράψετε μέσα σε έναν υπάρχοντα κατάλογο στο /usr/X11R6/lib/X11/fonts. Θα χρειαστεί όμως να τροποποιήσετε το αρχείο fonts.dir, ώστε να προσθέσετε τα ονόματα των γραμματοσειρών μέσα σε αυτό, και να αλλάξετε τον αριθμό των γραμματοσειρών στη πρώτη γραμμή. Εναλλακτικά, είναι συνήθως αρκετό να εκτελέσετε απλώς την εντολή &man.mkfontdir.1; μέσα στον κατάλογο που έχετε αντιγράψει τις γραμματοσειρές. Ο δεύτερος τρόπος είναι να αντιγράψετε τους παραπάνω καταλόγους μέσα στο /usr/X11R6/lib/X11/fonts: &prompt.root; cd /usr/X11R6/lib/X11/fonts &prompt.root; mkdir X &prompt.root; mkdir MathType1 &prompt.root; cd /cdrom/Unix/Files/SystemFiles/Fonts &prompt.root; cp X/* /usr/X11R6/lib/X11/fonts/X &prompt.root; cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1 &prompt.root; cd /usr/X11R6/lib/X11/fonts/X &prompt.root; mkfontdir &prompt.root; cd ../MathType1 &prompt.root; mkfontdir Τώρα προσθέστε τους νέους καταλόγους με τις γραμματοσειρές στο font path: &prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/X &prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/MathType1 &prompt.root; xset fp rehash Αν χρησιμοποιείτε το &xorg;, μπορείτε να φορτώνετε τις γραμματοσειρές αυτές αυτόματα, προσθέτοντας τους νέους καταλόγους στο αρχείο xorg.conf. Για τον εξυπηρετητή &xfree86;, το αρχείο ρυθμίσεων είναι το XF86Config. fonts Αν δεν έχετε ήδη έναν κατάλογο με το όνομα /usr/X11R6/lib/X11/fonts/Type1, μπορείτε να αλλάξετε το όνομα του MathType1 από το παραπάνω παράδειγμα σε Type1. Aaron Kaplan Συνεισφορά του Robert Getschmann Ευχαριστίες στον Εγκαθιστώντας το &maple; applications Maple Το &maple; είναι μία εμπορική εφαρμογή μαθηματικών παρόμοια με το &mathematica;. Θα πρέπει να αγοράσετε το λογισμικό από το και στη συνέχεια να κάνετε αίτηση για μια άδεια χρήσης. Για να εγκαταστήσετε το λογισμικό στο &os;, ακολουθήστε τα παρακάτω απλά βήματα. Εκτελέστε το INSTALL shell script από το μέσο εγκατάστασης που έχετε. Επιλέξτε RedHat όταν ερωτηθείτε από το πρόγραμμα εγκατάστασης. Ο τυπικός κατάλογος είναι ο /usr/local/maple. Αν δεν έχετε αγοράσει ακόμη κάποια άδεια για το &maple;, αγοράστε μία από το Maple Waterloo Software () και αντιγράψτε το αρχείο που θα σας δοθεί στο /usr/local/maple/license/license.dat. Εγκαταστήσετε το FLEXlm license manager εκτελώντας το INSTALL_LIC shell script το οποία παρέχεται μαζί με το &maple;. Δώστε το βασικό όνομα του υπολογιστή σας το οποίο απαιτείται από τον εξυπηρετητή διαχείρισης των αδειών (license server). Χρησιμοποιήστε το παρακάτω patch στο αρχείο /usr/local/maple/bin/maple.system.type: ----- snip ------------------ *** maple.system.type.orig Sun Jul 8 16:35:33 2001 --- maple.system.type Sun Jul 8 16:35:51 2001 *************** *** 72,77 **** --- 72,78 ---- # the IBM RS/6000 AIX case MAPLE_BIN="bin.IBM_RISC_UNIX" ;; + "FreeBSD"|\ "Linux") # the Linux/x86 case # We have two Linux implementations, one for Red Hat and ----- snip end of patch ----- Σημειώστε ότι μετά το "FreeBSD"|\ δεν πρέπει να εμφανίζεται άλλο κενό διάστημα. Το patch αυτό οδηγεί το &maple; να αναγνωρίσει το &os; σαν ένα σύστημα Linux. Το bin/maple shell script καλεί το bin/maple.system.type shell script, το οποίο με τη σειρά του καλεί την εντολή uname -a προκειμένου να εντοπιστεί το όνομα του λειτουργικού συστήματος. Αναλόγως με το ποιο λειτουργικό βρεθεί, θα χρησιμοποιηθούν και τα αντίστοιχα εκτελέσιμα αρχεία. Εκκινήστε τον license server. Ένας βολικός τρόπος για να εκκινήσετε τοlmgrd είναι το ακόλουθο script που βρίσκεται στο /usr/local/etc/rc.d/lmgrd.sh: ----- snip ------------ #! /bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin PATH=${PATH}:/usr/local/maple/bin:/usr/local/maple/FLEXlm/UNIX/LINUX export PATH LICENSE_FILE=/usr/local/maple/license/license.dat LOG=/var/log/lmgrd.log case "$1" in start) lmgrd -c ${LICENSE_FILE} 2>> ${LOG} 1>&2 echo -n " lmgrd" ;; stop) lmgrd -c ${LICENSE_FILE} -x lmdown 2>> ${LOG} 1>&2 ;; *) echo "Usage: `basename $0` {start|stop}" 1>&2 exit 64 ;; esac exit 0 ----- snip ------------ Δοκιμή του &maple;: &prompt.user; cd /usr/local/maple/bin &prompt.user; ./xmaple Σε αυτό το σημείο θα πρέπει να είναι όλα έτοιμα και να μην έχετε κανένα πρόβλημα. Μην ξεχάσετε όμως να στείλετε ένα e-mail στη Maplesoft και να τους πείτε ότι θέλετε μια έκδοση που να υποστηρίζεται επίσημα στο &os;. Συνηθισμένα Προβλήματα Ίσως δυσκολευτείτε με την λειτουργία του FLEXlm license manager. Επιπλέον τεκμηρίωση μπορείτε να βρείτε στο . Το lmgrd είναι γνωστό ότι θέλει το αρχείο της άδειας να έχει συγκεκριμένη μορφή αλλιώς η εκτέλεση του θα αποτύχει. Ένα σωστό αρχείο άδειας χρήσης πρέπει είναι σε γενικές γραμμές όπως το παρακάτω: # ======================================================= # License File for UNIX Installations ("Pointer File") # ======================================================= SERVER chillig ANY #USE_SERVER VENDOR maplelmg FEATURE Maple maplelmg 2000.0831 permanent 1 XXXXXXXXXXXX \ PLATFORMS=i86_r ISSUER="Waterloo Maple Inc." \ ISSUED=11-may-2000 NOTICE=" Technische Universitat Wien" \ SN=XXXXXXXXX Ο σειριακός αριθμός και το κλειδί φαίνονται εδώ με 'X'. Το chillig είναι το όνομα του συστήματος. Μπορείτε να τροποποιήσετε το αρχείο της άδειας χρήσης, αρκεί να μην αλλάξετε την γραμμή FEATURE (η οποία προστατεύεται από το κλειδί της άδειας). Dan Pelleg Συνεισφορά του Εγκαθιστώντας το &matlab; applications MATLAB Το κείμενο αυτό περιγράφει τη διαδικασία εγκατάστασης της Linux έκδοσης του &matlab; 6.5 σε ένα σύστημα &os;. Δουλεύει αρκετά καλά, με εξαίρεση το &java.virtual.machine; (δείτε στο ). Η Linux έκδοση του &matlab; μπορεί να αγοραστεί απευθείας από την εταιρεία The MathWorks στο . Σιγουρευτείτε ότι πήρατε και το αρχείο που περιέχει την άδεια χρήσης ή οδηγίες για το πως να το δημιουργήσετε. Μια και θα επικοινωνήσετε με την εταιρεία, πείτε τους ότι θα θέλατε να υπάρχει επίσης υποστήριξη για το &os;. Εγκατάσταση του &matlab; Για να εγκαταστήσετε το &matlab;, κάντε τα παρακάτω: Εισάγετε το CD και προσαρτήστε το στο σύστημα σας. Συνδεθείτε ως χρήστης root, όπως συνιστά το script της εγκατάστασης. Για να ξεκινήσετε το script της εγκατάστασης δώστε την εντολή: &prompt.root; /compat/linux/bin/sh /cdrom/install Το πρόγραμμα της εγκατάστασης είναι σε γραφικό περιβάλλον. Αν λαμβάνετε σφάλματα σχετικά με την οθόνη, δώστε την εντολή: setenv HOME ~USER, όπου USER είναι ο χρήστης από όπου δώσατε την εντολή &man.su.1;. Όταν ερωτηθείτε για τον κατάλογο του &matlab;, δώστε: /compat/linux/usr/local/matlab. Για ευκολότερη διαδικασία εγκατάστασης, ορίστε το παρακάτω: set MATLAB=/compat/linux/usr/local/matlab στη γραμμή εντολών του κελύφους σας. Τροποποιήσετε το αρχείο της άδειας (license file) σύμφωνα με τις οδηγίες που λάβατε με την άδεια του &matlab;. Μπορείτε να ετοιμάσετε εκ των προτέρων το αρχείο αυτό και να το αντιγράψετε στο $MATLAB/license.dat, πριν καν σας πει το πρόγραμμα εγκατάστασης να το τροποποιήσετε. Ολοκλήρωση της Εγκατάστασης Σε αυτό το σημείο, η εγκατάσταση του &matlab; έχει ολοκληρωθεί. Τα επόμενα βήματα χρειάζονται για να μπορέσετε να το δουλέψετε σωστά με το &os;. Εκκίνηση του License Manager Δημιουργία συμβολικών συνδέσμων για τα scripts του license manager: &prompt.root; ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW &prompt.root; ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMW Δημιουργήστε το αρχείο εκκίνησης /usr/local/etc/rc.d/flexlm.sh. Το παράδειγμα παρακάτω είναι μια τροποποιημένη έκδοση του $MATLAB/etc/rc.lm.glnx86. Οι αλλαγές είναι στις τοποθεσίες των αρχείων, και στην εκκίνηση του license manager στο περιβάλλον εξομοίωσης Linux του &os; . #!/bin/sh case "$1" in start) if [ -f /usr/local/etc/lmboot_TMW ]; then /compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u username && echo 'MATLAB_lmgrd' fi ;; stop) if [ -f /usr/local/etc/lmdown_TMW ]; then /compat/linux/bin/sh /usr/local/etc/lmdown_TMW > /dev/null 2>&1 fi ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac exit 0 Το αρχείο πρέπει να είναι εκτελέσιμο: &prompt.root; chmod +x /usr/local/etc/rc.d/flexlm.sh Πρέπει επίσης να αντικαταστήσετε το παραπάνω username με ένα υπαρκτό όνομα χρήστη του συστήματος σας (και να μην είναι ο root). Εκκινήστε τον license manager με την εντολή: &prompt.root; /usr/local/etc/rc.d/flexlm.sh start Σύνδεση με το Περιβάλλον του &java; Runtime Environment Αλλάξτε τον σύνδεσμο του&java; Runtime Environment (JRE) σε έναν ο οποίος θα δουλεύει στο &os;: &prompt.root; cd $MATLAB/sys/java/jre/glnx86/ &prompt.root; unlink jre; ln -s ./jre1.1.8 ./jre Δημιουργήστε το Script Εκκίνησης του &matlab; Τοποθετήστε το παρακάτω script στο /usr/local/bin/matlab: #!/bin/sh /compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@" Στη συνέχεια δώστε την εντολή chmod +x /usr/local/bin/matlab. Ανάλογα με την έκδοση του emulators/linux_base, που έχετε, μπορεί να εμφανιστούν μερικά σφάλματα όταν τρέξετε το script. Για να το αποφύγετε αυτό, τροποποιήστε το αρχείο /compat/linux/usr/local/matlab/bin/matlab, και αλλάξτε τη γραμμή που λέει: if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then (στην έκδοση 13.0.1 βρίσκεται στη γραμμή 410) σε αυτή τη γραμμή: if test -L $newbase; then Δημιουργία Script Τερματισμού του &matlab; Τα επόμενα βήματα χρειάζονται για να λύσετε ένα πρόβλημα που υπάρχει με τον τερματισμό του &matlab;. Δημιουργήστε το αρχείο $MATLAB/toolbox/local/finish.m, και μέσα σε αυτό προσθέστε μόνο τη γραμμή: ! $MATLAB/bin/finish.sh To $MATLAB γράψτε το ακριβώς όπως το βλέπετε. Στον ίδιο κατάλογο, θα βρείτε τα αρχεία finishsav.m και finishdlg.m, τα οποία θα σας δίνουν τη δυνατότητα να σώζετε την εργασία σας πριν κλείσετε το πρόγραμμα. Αν πρόκειται να χρησιμοποιήσετε κάποιο από αυτά, προσθέστε του την παραπάνω γραμμή αμέσως μετά την εντολή save . Δημιουργήστε το αρχείο $MATLAB/bin/finish.sh, το οποίο θα περιέχει τα παρακάτω: #!/usr/compat/linux/bin/sh (sleep 5; killall -1 matlab_helper) & exit 0 Κάντε το αρχείο εκτελέσιμο: &prompt.root; chmod +x $MATLAB/bin/finish.sh Χρησιμοποιώντας το &matlab; Σε αυτό το σημείο θα πρέπει να είστε έτοιμοι να δώσετε την εντολή matlab και να αρχίσετε να χρησιμοποιείτε την εφαρμογή. Marcel Moolenaar Συνεισφορά του Εγκατάσταση της &oracle; applications Oracle Εισαγωγή Το κείμενο αυτό περιγράφει τη διαδικασία εγκατάστασης των &oracle; 8.0.5 και &oracle; 8.0.5.1 Enterprise Edition για Linux σε ένα σύστημα &os;. Εγκατάσταση του Περιβάλλοντος Linux Σιγουρευτείτε ότι έχετε εγκαταστήσει τα emulators/linux_base και devel/linux_devtools από τη συλλογή των Ports. Αν αντιμετωπίζετε δυσκολίες με τα παραπάνω, ίσως χρειαστεί να τα εγκαταστήσετε από πακέτα ή από παλιότερες εκδόσεις της συλλογής των Ports. Αν θέλετε να τρέξετε τον intelligent agent, θα χρειαστεί να εγκαταστήσετε και το πακέτο Red Hat Tcl: tcl-8.0.3-20.i386.rpm. Η εντολή για την εγκατάσταση μέσω του επίσημου RPM port (archivers/rpm) είναι: &prompt.root; rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm package Η εγκατάσταση του package θα πρέπει να γίνει ομαλά και χωρίς προβλήματα. Ρυθμίζοντας το Περιβάλλον για την &oracle; Πριν την εγκατάσταση της &oracle;, θα πρέπει να ρυθμίσετε σωστά το περιβάλλον του συστήματός σας. Το παρακάτω κείμενο περιγράφει τι ακριβώς πρέπει να κάνετε για να εκτελέσετε την &oracle; για Linux στο &os;, και δεν περιγράφει ότι υπάρχει ήδη στον οδηγό εγκατάστασης της &oracle;. Ρύθμιση του Πυρήνα kernel tuning Όπως περιγράφει ο οδηγός εγκατάστασης της &oracle;, θα πρέπει να ορίσετε τις τιμές της shared memory στο μέγιστο. Μην χρησιμοποιήσετε το SHMMAX στο &os;. Το SHMMAX υπολογίζεται απλώς από το SHMMAXPGS και το PGSIZE. Επομένως καθορίστε το SHMMAXPGS. Όλες οι άλλες επιλογές μπορούν να οριστούν όπως περιγράφεται στον οδηγό. Για παράδειγμα: options SHMMAXPGS=10000 options SHMMNI=100 options SHMSEG=10 options SEMMNS=200 options SEMMNI=70 options SEMMSL=61 Ορίστε τις τιμές των επιλογών έτσι ώστε να ταιριάζουν στη χρήση της &oracle; που θέλετε να κάνετε. Επίσης, επιβεβαιώστε ότι έχετε ενεργοποιήσει τις παρακάτω επιλογές στις ρυθμίσεις του πυρήνα: options SYSVSHM #SysV shared memory options SYSVSEM #SysV semaphores options SYSVMSG #SysV interprocess communication Ο Χρήστης &oracle; Δημιουργήστε ένα χρήστη συστήματος με όνομα oracle, με τον ίδιο τρόπο που θα δημιουργούσατε και οποιονδήποτε άλλον χρήστη. Το μόνο ιδιαίτερο χαρακτηριστικό του χρήστη oracle είναι ότι χρειάζεται να του δώσετε ένα κέλυφος Linux. Προσθέστε το /compat/linux/bin/bash στο /etc/shells και ορίστε το κέλυφος του χρήστη oracle σε /compat/linux/bin/bash. Το Περιβάλλον Εκτός των συνηθισμένων μεταβλητών της &oracle;, όπως οι ORACLE_HOME και ORACLE_SID θα πρέπει να ορίσετε και τις ακόλουθες μεταβλητές περιβάλλοντος: Μεταβλητή Τιμή LD_LIBRARY_PATH $ORACLE_HOME/lib CLASSPATH $ORACLE_HOME/jdbc/lib/classes111.zip PATH /compat/linux/bin /compat/linux/sbin /compat/linux/usr/bin /compat/linux/usr/sbin /bin /sbin /usr/bin /usr/sbin /usr/local/bin $ORACLE_HOME/bin Σας συνιστούμε να ορίσετε όλες τις μεταβλητές περιβάλλοντος στο αρχείο .profile. Ένα ολοκληρωμένο παράδειγμα είναι το παρακάτω: ORACLE_BASE=/oracle; export ORACLE_BASE ORACLE_HOME=/oracle; export ORACLE_HOME LD_LIBRARY_PATH=$ORACLE_HOME/lib export LD_LIBRARY_PATH ORACLE_SID=ORCL; export ORACLE_SID ORACLE_TERM=386x; export ORACLE_TERM CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip export CLASSPATH PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin export PATH Εγκατάσταση της &oracle; Λόγω μια μικρής έλλειψης στον εξομοιωτή του Linux, θα χρειαστεί να δημιουργήσετε έναν κατάλογο με το όνομα .oracle μέσα στο /var/tmp, πριν ξεκινήσετε το πρόγραμμα εγκατάστασης. Ο κατάλογος αυτός θα πρέπει να ανήκει στον χρήστη oracle. Θα πρέπει τώρα να πραγματοποιήσετε την εγκατάσταση της &oracle; δίχως κανένα πρόβλημα. Αν αντιμετωπίζετε όμως ακόμη προβλήματα, ελέγξτε την έκδοση της &oracle; που έχετε ή/και τις ρυθμίσεις σας! Αφότου έχετε πραγματοποιήσει την εγκατάσταση της &oracle;, εφαρμόστε τα patches που περιγράφονται στις δύο παρακάτω ενότητες. Ένα συχνό πρόβλημα είναι ότι δεν γίνεται σωστή εγκατάσταση του προσαρμογέα του πρωτοκόλλου TCP. Αυτό έχει ως αποτέλεσμα να μην μπορείτε να ξεκινήσετε τους TCP listeners. Οι ακόλουθες οδηγίες θα σας βοηθήσουν να λύσετε αυτό το πρόβλημα.: &prompt.root; cd $ORACLE_HOME/network/lib &prompt.root; make -f ins_network.mk ntcontab.o &prompt.root; cd $ORACLE_HOME/lib &prompt.root; ar r libnetwork.a ntcontab.o &prompt.root; cd $ORACLE_HOME/network/lib &prompt.root; make -f ins_network.mk install Μη ξεχάσετε να τρέξετε ξανά το root.sh Διόρθωση του root.sh Όταν εγκαθιστάτε την &oracle;, κάποιες ενέργειες, οι οποίες χρειάζονται να γίνουν ως root, καταγράφονται σε ένα shell script που λέγεται root.sh. Το script αυτό δημιουργείται στον κατάλογο orainst. Εφαρμόστε το παρακάτω patch στο root.sh, για να μπορέσει να βρει και να χρησιμοποιήσει το chown. Εναλλακτικά, τρέξτε το script μέσα από ένα κέλυφος Linux. *** orainst/root.sh.orig Tue Oct 6 21:57:33 1998 --- orainst/root.sh Mon Dec 28 15:58:53 1998 *************** *** 31,37 **** # This is the default value for CHOWN # It will redefined later in this script for those ports # which have it conditionally defined in ss_install.h ! CHOWN=/bin/chown # # Define variables to be used in this script --- 31,37 ---- # This is the default value for CHOWN # It will redefined later in this script for those ports # which have it conditionally defined in ss_install.h ! CHOWN=/usr/sbin/chown # # Define variables to be used in this script Όταν δεν κάνετε χρήση του CD για την εγκατάσταση, μπορείτε να περάσετε το patch για το root.sh, στην πηγή εγκατάστασης. To αρχείο ονομάζεται rthd.sh και βρίσκεται στον κατάλογο orainst. Διόρθωση του genclntsh To script genclntsh χρησιμοποιείται για να δημιουργήσει μια shared client library. Τρέξτε το παρακάτω patch για να σβήσετε το καθορισμένο PATH: *** bin/genclntsh.orig Wed Sep 30 07:37:19 1998 --- bin/genclntsh Tue Dec 22 15:36:49 1998 *************** *** 32,38 **** # # Explicit path to ensure that we're using the correct commands #PATH=/usr/bin:/usr/ccs/bin export PATH ! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH # # each product MUST provide a $PRODUCT/admin/shrept.lst --- 32,38 ---- # # Explicit path to ensure that we're using the correct commands #PATH=/usr/bin:/usr/ccs/bin export PATH ! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH # # each product MUST provide a $PRODUCT/admin/shrept.lst Εκτέλεση της &oracle; Αφού έχετε ακολουθήσει αυτές τις οδηγίες, θα πρέπει να μπορείτε να εκτελέσετε την &oracle; σαν να βρισκόσασταν σε ένα σύστημα Linux. Holger Kipp Συνεισφορά του Valentino Vaschetto Αρχική μετατροπή σε SGML από τον Εγκατάσταση του &sap.r3; applications SAP R/3 Η εγκατάσταση συστημάτων &sap; χρησιμοποιώντας το &os; δεν υποστηρίζεται από την ομάδα υποστήριξης της &sap; — υποστήριξη παρέχεται μόνο σε συγκεκριμένες, υποστηριζόμενες, πλατφόρμες. Εισαγωγή Το κείμενο αυτό περιγράφει ένα πιθανό τρόπο για την εγκατάσταση του &sap.r3; System με μία βάση δεδομένων &oracle; για Linux σε ένα σύστημα &os;, περιλαμβάνοντας την εγκατάσταση του &os; και της &oracle;. Θα περιγράψουμε δύο διαφορετικά είδη ρυθμίσεων: &sap.r3; 4.6B (IDES) με &oracle; 8.0.5 σε &os; 4.3-STABLE &sap.r3; 4.6C με &oracle; 8.1.7 σε &os; 4.5-STABLE Παρ' όλο που αυτό το κείμενο προσπαθεί να περιγράψει με λεπτομέρειες όλα τα απαραίτητα βήματα, δεν θα πρέπει να θεωρηθεί ως αντικαταστάτης των οδηγών εγκατάστασης της &oracle; και του &sap.r3;. Δείτε τον οδηγό του &sap.r3; για Linux για ερωτήσεις σχετικά με το &sap; και την &oracle;, και για πηγές από την &oracle; και το &sap; OSS. Λογισμικό Τα ακόλουθα CD-ROMs έχουν χρησιμοποιηθεί για την εγκατάσταση του &sap;: &sap.r3; 4.6B, &oracle; 8.0.5 Όνομα Αρίθμηση Περιγραφή KERNEL 51009113 SAP Kernel Oracle / Installation / AIX, Linux, Solaris RDBMS 51007558 Oracle / RDBMS 8.0.5.X / Linux EXPORT1 51010208 IDES / DB-Export / Disc 1 of 6 EXPORT2 51010209 IDES / DB-Export / Disc 2 of 6 EXPORT3 51010210 IDES / DB-Export / Disc 3 of 6 EXPORT4 51010211 IDES / DB-Export / Disc 4 of 6 EXPORT5 51010212 IDES / DB-Export / Disc 5 of 6 EXPORT6 51010213 IDES / DB-Export / Disc 6 of 6 Επιπλέον, χρησιμοποιήσαμε το &oracle; 8 Server (Pre-production version 8.0.5 για Linux, Kernel Version 2.0.33) CD το οποίο δεν είναι απαραίτητο, και το &os; 4.3-STABLE (ένα στιγμιότυπο λίγες μόνο μέρες μετά την έκδοση 4.3-RELEASE). &sap.r3; 4.6C SR2, &oracle; 8.1.7 Όνομα Αρίθμηση Περιγραφή KERNEL 51014004 SAP Kernel Oracle / SAP Kernel Version 4.6D / DEC, Linux RDBMS 51012930 Oracle 8.1.7/ RDBMS / Linux EXPORT1 51013953 Release 4.6C SR2 / Export / Disc 1 of 4 EXPORT1 51013953 Release 4.6C SR2 / Export / Disc 2 of 4 EXPORT1 51013953 Release 4.6C SR2 / Export / Disc 3 of 4 EXPORT1 51013953 Release 4.6C SR2 / Export / Disc 4 of 4 LANG1 51013954 Release 4.6C SR2 / Language / DE, EN, FR / Disc 1 of 3 Αναλόγως με τις γλώσσες που θέλετε να εγκαταστήσετε, θα χρειαστείτε επιπλέον τα αντίστοιχα CDs. Εμείς χρησιμοποιούμε Γερμανικά (DE) και Αγγλικά (EN), οπότε χρειαζόμαστε μόνο το πρώτο CD. Μια μικρή σημείωση, η αρίθμηση των EXPORT CDs είναι ακριβώς η ίδια. Όλα τα CDs των γλωσσών έχουν την ίδια αρίθμηση (αυτό διαφέρει σε σχέση με την αρίθμηση της έκδοσης 4.6B IDES). Την ώρα που γράφονται αυτές οι γραμμές, η εγκατάσταση λειτουργεί σε &os; 4.5-STABLE (20.03.2002). Σημειώσεις &sap; Οι ακόλουθες σημειώσεις θα πρέπει να διαβαστούν πριν την εγκατάσταση του &sap.r3; μια και είναι χρήσιμες για τη διαδικασία εγκατάστασης: &sap.r3; 4.6B, &oracle; 8.0.5 Αρίθμηση Τίτλος 0171356 SAP Software on Linux: Essential Comments 0201147 INST: 4.6C R/3 Inst. on UNIX - Oracle 0373203 Update / Migration Oracle 8.0.5 --> 8.0.6/8.1.6 LINUX 0072984 Release of Digital UNIX 4.0B for Oracle 0130581 R3SETUP step DIPGNTAB terminates 0144978 Your system has not been installed correctly 0162266 Questions and tips for R3SETUP on Windows NT / W2K &sap.r3; 4.6C, &oracle; 8.1.7 Αρίθμηση Τίτλος 0015023 Initializing table TCPDB (RSXP0004) (EBCDIC) 0045619 R/3 with several languages or typefaces 0171356 SAP Software on Linux: Essential Comments 0195603 RedHat 6.1 Enterprise version: Known problems 0212876 The new archiving tool SAPCAR 0300900 Linux: Released DELL Hardware 0377187 RedHat 6.2: important remarks 0387074 INST: R/3 4.6C SR2 Installation on UNIX 0387077 INST: R/3 4.6C SR2 Inst. on UNIX - Oracle 0387078 SAP Software on UNIX: OS Dependencies 4.6C SR2 Απαιτήσεις Συστήματος Ο ακόλουθος εξοπλισμός είναι αρκετός για μια τυπική εγκατάσταση του &sap.r3; System. Για μηχανήματα παραγωγής θα χρειαστείτε φυσικά καλύτερη εκτίμηση των απαιτήσεων σας: Εξάρτημα 4.6B 4.6C Επεξεργαστής 2 x 800MHz &pentium; III 2 x 800MHz &pentium; III Μνήμη 1GB ECC 2GB ECC Σκληρός Δίσκος 50-60GB (IDES) 50-60GB (IDES) Για χρήση σε παραγωγή, θα χρειαστείτε επεξεργαστές &xeon; με μεγάλη μνήμη cache, δίσκους υψηλής ταχύτητας (SCSI, με hardware ελεγκτή RAID), USV και ECC-RAM. Το μεγάλο μέγεθος του σκληρού δίσκου, οφείλεται στο προρυθμισμένο σύστημα IDES, που δημιουργεί 27 GB αρχεία βάσης δεδομένων κατά τη διάρκεια της εγκατάστασης. Ο χώρος αυτός επαρκεί επίσης για τα δεδομένα της εφαρμογής σε ένα αρχικό σύστημα παραγωγής. &sap.r3; 4.6B, &oracle; 8.0.5 Χρησιμοποιήθηκαν τα ακόλουθα κοινά εξαρτήματα: μητρική για δύο επεξεργαστές με 2 &pentium; III στα 800 MHZ, ελεγκτή SCSI &adaptec; 29160 Ultra160 (για πρόσβαση σε οδηγό ταινίας 40/80 GB DLT και στο CDROM), &mylex; &acceleraid; (2 καναλιών, firmware 6.00-1-00 με 32 MB RAM). Στο &mylex; RAID controller είναι συνδεδεμένοι δύο σκληροί δίσκοι των 17 GB (mirrored) και τέσσερις των 36 GB (RAID level 5). &sap.r3; 4.6C, &oracle; 8.1.7 Σε αυτή την εγκατάσταση χρησιμοποιήσαμε έναν &dell; &poweredge; 2500: μητρική με δύο επεξεργαστές &pentium; III στα 1000 MHz (256 kB Cache), 2 GB PC133 ECC SDRAM, PERC/3 DC PCI RAID Controller με 128 MB, και οδηγό EIDE DVD-ROM. Στο RAID controller είναι συνδεδεμένοι δύο σκληροί δίσκοι των 18 GB (mirrored) και τέσσερις των 36 GB (RAID level 5). Εγκατάσταση του &os; Αρχικά πρέπει να εγκαταστήσετε το &os;. Αυτό μπορεί να γίνει με διάφορους τρόπους, για περισσότερες πληροφορίες δείτε στο . Διάταξη Δίσκου Για να κρατήσουμε τη διαδικασία απλή, χρησιμοποιήσαμε την ίδια διάταξη δίσκου, τόσο στο &sap.r3; 46B όσο και στο &sap.r3; 46C SR2. Μόνο τα ονόματα των συσκευών άλλαξαν, καθώς η κάθε εγκατάσταση έγινε σε διαφορετικό μηχάνημα. (/dev/da και /dev/amr αντίστοιχα, οπότε αν χρησιμοποιείτε έναν AMI &megaraid;, θα δείτε το /dev/amr0s1a αντί του /dev/da0s1a): Σύστημα αρχείων Μέγεθος (1k-blocks) Μέγεθος (GB) Προσάρτηση στο /dev/da0s1a 1.016.303 1 / /dev/da0s1b 6 swap /dev/da0s1e 2.032.623 2 /var /dev/da0s1f 8.205.339 8 /usr /dev/da1s1e 45.734.361 45 /compat/linux/oracle /dev/da1s1f 2.032.623 2 /compat/linux/sapmnt /dev/da1s1g 2.032.623 2 /compat/linux/usr/sap Ρυθμίστε από πριν τους δύο δίσκους με το λογισμικό &mylex; ή το PERC/3 RAID. Μπορείτε να εισέλθετε σε αυτό κατά τη φάση εκκίνησης του BIOS. Προσέξτε εδώ ότι η διάταξη του δίσκου διαφέρει λίγο ως προς τη συνιστώμενη από τη &sap;, καθώς η &sap; προτείνει να προσαρτήσετε τους υποκαταλόγους της &oracle; (και κάποιους άλλους) ξεχωριστά — εμείς προτιμήσαμε, για λόγους απλότητας, να δημιουργήσουμε κανονικούς καταλόγους. <command>make world</command> και Νέος Πυρήνας Κατεβάστε τον πηγαίο κώδικα του τελευταίου πυρήνα -STABLE. Μεταγλωττίστε το world (βασικό σύστημα) και τον πυρήνα σας αφού δημιουργήσετε πρώτα ένα προσαρμοσμένο αρχείο ρυθμίσεων πυρήνα. Εδώ θα πρέπει να συμπεριλάβετε και τις παραμέτρους πυρήνα (kernel parameters) οι οποίες χρειάζονται τόσο για το &sap.r3; όσο και την &oracle;. Εγκατάσταση του Περιβάλλοντος Linux Εγκατάσταση του Linux Base System Αρχικά χρειάζεται να έχετε εγκαταστήσει το linux_base port (ως χρήστης root): &prompt.root; cd /usr/ports/emulators/linux_base &prompt.root; make install distclean Εγκατάσταση του Περιβάλλοντος Ανάπτυξης Linux Το περιβάλλον ανάπτυξης Linux χρειάζεται αν θέλετε να εγκαταστήσετε την &oracle; στο &os; όπως περιγράφεται στο : &prompt.root; cd /usr/ports/devel/linux_devtools &prompt.root; make install distclean Εγκαταστήσαμε το περιβάλλον ανάπτυξης Linux μόνο για την εγκατάσταση του &sap.r3; 46B IDES. Αν έχετε εγκαταστήσει την &oracle; DB από την &oracle; για συστήματα Linux, τότε δεν χρειάζεται να σας απασχολεί. Εγκατάσταση των Απαραίτητων RPMs RPMs Για να ξεκινήσει το πρόγραμμα R3SETUP, χρειάζεται να υπάρχει υποστήριξη PAM. Κατά τη διάρκεια της πρώτης εγκατάστασης του &sap; στο &os; 4.3-STABLE, προσπαθήσαμε να εγκαταστήσουμε το PAM με όλα τα απαραίτητα πακέτα και τελικά εξαναγκάσαμε την εγκατάσταση του πακέτου PAM, το οποίο και δούλεψε. Για το &sap.r3; 4.6C SR2 εξαναγκάσαμε άμεσα την εγκατάσταση του πακέτου PAM, το οποίο επίσης δούλεψε, πράγμα που σημαίνει ότι τα πακέτα που αναφέρονται ως εξαρτήσεις του, δεν χρειάζονται: &prompt.root; rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \ pam-0.68-7.i386.rpm Για τον intelligent agent του &oracle; 8.0.5, έπρεπε να εγκαταστήσουμε το πακέτο Tcl της RedHat tcl-8.0.5-30.i386.rpm (διαφορετικά η επανασύνδεση κατά τη διάρκεια της εγκατάστασης της &oracle; δεν θα ήταν εφικτή). Υπάρχουν και κάποια άλλα προβλήματα σχετικά με τη επανασύνδεση της &oracle;, αλλά αυτό είναι θέμα της &oracle; για Linux, και όχι του &os;. Επιπλέον Συμβουλές Ίσως είναι επίσης καλή ιδέα να προσθέσετε το linprocfs στο /etc/fstab. Για περισσότερες πληροφορίες, δείτε τη σελίδα manual &man.linprocfs.5;. Μια άλλη παράμετρος που μπορείτε να ορίσετε είναι η kern.fallback_elf_brand=3 η οποία ορίζεται στο αρχείο /etc/sysctl.conf. Δημιουργία του Περιβάλλοντος &sap.r3; Δημιουργία των Απαραιτήτων Συστημάτων Αρχείων και Προσαρτήσεων Για μια απλή εγκατάσταση, αρκεί να δημιουργήσετε τα παρακάτω συστήματα αρχείων και προσαρτήσεις: σημείο προσάρτησης μέγεθος σε GB /compat/linux/oracle 45 GB /compat/linux/sapmnt 2 GB /compat/linux/usr/sap 2 GB Είναι επίσης απαραίτητο να δημιουργήσετε και μερικούς συνδέσμους. Διαφορετικά το πρόγραμμα εγκατάστασης του &sap; θα παραπονεθεί: &prompt.root; ln -s /compat/linux/oracle /oracle &prompt.root; ln -s /compat/linux/sapmnt /sapmnt &prompt.root; ln -s /compat/linux/usr/sap /usr/sap Ένα πιθανό μήνυμα σφάλματος κατά τη διάρκεια της εγκατάστασης (εδώ με System PRD και εγκατάσταση του &sap.r3; 4.6C SR2): INFO 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:200 Checking existence of symbolic link /usr/sap/PRD/SYS/exe/dbg to /sapmnt/PRD/exe. Creating if it does not exist... WARNING 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:400 Link /usr/sap/PRD/SYS/exe/dbg exists but it points to file /compat/linux/sapmnt/PRD/exe instead of /sapmnt/PRD/exe. The program cannot go on as long as this link exists at this location. Move the link to another location. ERROR 2002-03-19 16:45:36 R3LINKS_IND_IND Ins_SetupLinks:0 can not setup link '/usr/sap/PRD/SYS/exe/dbg' with content '/sapmnt/PRD/exe' Δημιουργία Χρηστών και Καταλόγων Το &sap.r3; χρειάζεται δύο χρήστες και τρεις ομάδες (groups). Τα ονόματα των χρηστών εξαρτώνται από το &sap; system ID (SID) το οποίο αποτελείται από τρία γράμματα. Μερικά από αυτά τα SIDs είναι δεσμευμένα από το &sap; (για παράδειγμα τα SAP και NIX. Για πλήρη λίστα δείτε την τεκμηρίωση του &sap;). Για την εγκατάσταση IDES, χρησιμοποιήσαμε IDS, για την εγκατάσταση στο σύστημα 4.6C SR2 χρησιμοποιήσαμε PRD, καθώς αυτό το σύστημα προορίζεται για χρήση παραγωγής. Επομένως, χρειαστήκαμε τις ακόλουθες ομάδες (τα ID των ομάδων μπορούν να διαφέρουν, αυτές είναι απλώς οι τιμές που χρησιμοποιήσαμε στη δική μας εγκατάσταση): ID ομάδας όνομα ομάδας περιγραφή 100 dba Data Base Administrator (Διαχειριστής Βάσης Δεδομένων) 101 sapsys &sap; System 102 oper Data Base Operator (Χειριστής Βάσης Δεδομένων) Για τη τυπική εγκατάσταση της &oracle;, θα χρειαστείτε μόνο την ομάδα dba (δείτε τη τεκμηρίωση της &oracle; και του &sap; για περισσότερες πληροφορίες). Θα χρειαστούμε επίσης τους ακόλουθους χρήστες: ID χρήστη όνομα χρήστη γενικό όνομα αρχική ομάδα επιπλέον ομάδες περιγραφή 1000 idsadm/prdadm sidadm sapsys oper &sap; Administrator (Διαχειριστής) 1002 oraids/oraprd orasid dba oper &oracle; Administrator (Διαχειριστής) Η προσθήκη των χρηστών με την εντολή &man.adduser.8; απαιτεί τις ακόλουθες καταχωρήσεις για τον &sap; Administrator (προσέξτε το shell και τον κατάλογο home): Name: sidadm Password: ****** Fullname: SAP Administrator SID Uid: 1000 Gid: 101 (sapsys) Class: Groups: sapsys dba HOME: /home/sidadm Shell: bash (/compat/linux/bin/bash) και για τον &oracle; Administrator: Name: orasid Password: ****** Fullname: Oracle Administrator SID Uid: 1002 Gid: 100 (dba) Class: Groups: dba HOME: /oracle/sid Shell: bash (/compat/linux/bin/bash) Θα πρέπει να περιλάβετε και την ομάδα oper σε περίπτωση που χρησιμοποιήσετε και τις δύο ομάδες dba και oper. Δημιουργία Καταλόγων Οι παρακάτω κατάλογοι δημιουργούνται συνήθως ως ξεχωριστά συστήματα αρχείων. Αυτό όμως εξαρτάται από τις απαιτήσεις σας. Εμείς επιλέξαμε να τους δημιουργήσουμε ως απλούς καταλόγους, καθώς όλοι τους βρίσκονται στο ίδιο RAID 5: Αρχικά θα χρειαστεί να ορίσουμε ιδιοκτήτες και άδειες σε κάποιους καταλόγους (ως χρήστης root): &prompt.root; chmod 775 /oracle &prompt.root; chmod 777 /sapmnt &prompt.root; chown root:dba /oracle &prompt.root; chown sidadm:sapsys /compat/linux/usr/sap &prompt.root; chmod 775 /compat/linux/usr/sap Σε δεύτερη φάση θα δημιουργήσουμε τους καταλόγους ως χρήστης orasid. Όλοι αυτοί οι κατάλογοι υπάγονται στον /oracle/SID: &prompt.root; su - orasid &prompt.root; cd /oracle/SID &prompt.root; mkdir mirrlogA mirrlogB origlogA origlogB &prompt.root; mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6 &prompt.root; mkdir saparch sapreorg &prompt.root; exit Για την εγκατάσταση της &oracle; 8.1.7, θα χρειαστούν μερικοί κατάλογοι ακόμη: &prompt.root; su - orasid &prompt.root; cd /oracle &prompt.root; mkdir 805_32 &prompt.root; mkdir client stage &prompt.root; mkdir client/80x_32 &prompt.root; mkdir stage/817_32 &prompt.root; cd /oracle/SID &prompt.root; mkdir 817_32 Ο κατάλογος client/80x_32 χρησιμοποιείται με αυτό ακριβώς το όνομα. Μην αντικαταστήσετε το x με κάποιον αριθμό ή κάτι άλλο. Στο τρίτο βήμα δημιουργούμε τους καταλόγους ως χρήστης sidadm: &prompt.root; su - sidadm &prompt.root; cd /usr/sap &prompt.root; mkdir SID &prompt.root; mkdir trans &prompt.root; exit Εγγραφές στο <filename>/etc/services</filename> Το &sap.r3; χρειάζεται μερικές εγγραφές στο αρχείο /etc/services, οι οποίες δεν εισάγονται κατά τη διάρκεια της εγκατάστασης του &os;. Προσθέστε τις παρακάτω εγγραφές (θα χρειαστείτε τουλάχιστον τις εγγραφές που αντιστοιχούν στο instance της εφαρμογής που τρέχετε — στη περίπτωση μας, το 00. Δεν θα υπάρξει κανένα πρόβλημα αν προσθέσετε όλες τις εγγραφές από το 00 ως το 99 για τα dp, gw, sp και ms). Αν πρόκειται να χρησιμοποιήσετε SAProuter ή χρειάζεστε πρόσβαση στο &sap; OSS, θα χρειαστείτε και την εγγραφή 99, μια και η θύρα 3299 χρησιμοποιείται συχνά από την διεργασία του SAProuter: sapdp00 3200/tcp # SAP Dispatcher. 3200 + Instance-Number sapgw00 3300/tcp # SAP Gateway. 3300 + Instance-Number sapsp00 3400/tcp # 3400 + Instance-Number sapms00 3500/tcp # 3500 + Instance-Number sapmsSID 3600/tcp # SAP Message Server. 3600 + Instance-Number sapgw00s 4800/tcp # SAP Secure Gateway 4800 + Instance-Number Απαραίτητες Τοπικές Ρυθμίσεις locale Το &sap; απαιτεί τουλάχιστον δύο τοπικές ρυθμίσεις (locales) που δεν ανήκουν στις προεπιλεγμένες που εγκαθιστά το RedHat. Το &sap; προσφέρει τα απαιτούμενα RPMs για να τα κατεβάσετε από τον δικό τους διακομιστή FTP (ο οποίος είναι διαθέσιμος μόνο αν είστε πελάτης με πρόσβαση OSS). Δείτε τη σημείωση 0171356 για τη λίστα από πακέτα RPMs που χρειάζεστε. Είναι επίσης εφικτό να δημιουργήσετε απλώς τους κατάλληλους συνδέσμους (για παράδειγμα από τα de_DE και en_US), αλλά προτείνουμε να μη κάνετε κάτι τέτοιο αν πρόκειται για μηχάνημα παραγωγής (ωστόσο αυτό έχει μέχρι στιγμής δουλέψει χωρίς πρόβλημα σε σύστημα IDES). Θα χρειαστείτε τις ακόλουθες τοπικές ρυθμίσεις: de_DE.ISO-8859-1 en_US.ISO-8859-1 Οι σύνδεσμοι μπορούν να δημιουργηθούν με τον ακόλουθο τρόπο: &prompt.root; cd /compat/linux/usr/share/locale &prompt.root; ln -s de_DE de_DE.ISO-8859-1 &prompt.root; ln -s en_US en_US.ISO-8859-1 Αν οι σύνδεσμοι δεν υπάρχουν, θα δημιουργηθούν προβλήματα κατά την εγκατάσταση. Αν αγνοήσετε αυτά τα προβλήματα, (ορίζοντας το STATUS των προβληματικών βημάτων σε OK στο αρχείο CENTRDB.R3S), ίσως είναι αδύνατο να συνδεθείτε στο &sap; χωρίς κάποια επιπλέον προσπάθεια και σπατάλη χρόνου. Ρύθμιση του Πυρήνα kernel tuning Το &sap.r3; χρειάζεται αρκετούς πόρους από το σύστημά σας. Για αυτό το λόγο ορίσαμε τις παρακάτω παραμέτρους στις ρυθμίσεις του πυρήνα: # Set these for memory pigs (SAP and Oracle): options MAXDSIZ="(1024*1024*1024)" options DFLDSIZ="(1024*1024*1024)" # System V options needed. options SYSVSHM #SYSV-style shared memory options SHMMAXPGS=262144 #max amount of shared mem. pages #options SHMMAXPGS=393216 #use this for the 46C inst.parameters options SHMMNI=256 #max number of shared memory ident if. options SHMSEG=100 #max shared mem.segs per process options SYSVMSG #SYSV-style message queues options MSGSEG=32767 #max num. of mes.segments in system options MSGSSZ=32 #size of msg-seg. MUST be power of 2 options MSGMNB=65535 #max char. per message queue options MSGTQL=2046 #max amount of msgs in system options SYSVSEM #SYSV-style semaphores options SEMMNU=256 #number of semaphore UNDO structures options SEMMNS=1024 #number of semaphores in system options SEMMNI=520 #number of semaphore identifiers options SEMUME=100 #number of UNDO keys Οι ελάχιστες τιμές που θέτουμε προέρχονται από τη τεκμηρίωση του &sap;. Μια και δεν υπάρχουν οδηγίες για Linux, για περισσότερες πληροφορίες, ρίξτε μια ματιά σε αυτές για το HP-UX (32-bit). Μια και το σύστημα για την εγκατάσταση του 4.6C SR2 έχει περισσότερη μνήμη, τα διαμοιραζόμενα τμήματα μπορούν να είναι μεγαλύτερα, τόσο για το &sap; όσο και για την &oracle;. Επομένως, επιλέξτε έναν μεγαλύτερο αριθμό για τα shared memory pages. Με την προεπιλεγμένη εγκατάσταση του &os; σε &i386;, αφήστε τα MAXDSIZ και DFLDSIZ στο 1 GB το πολύ. Διαφορετικά, μπορεί να δείτε να εμφανίζονται περίεργα σφάλματα όπως ORA-27102: out of memory και Linux Error: 12: Cannot allocate memory Εγκατάσταση του &sap.r3; Προετοιμάζοντας τα &sap; CDROMs Στη διαδικασία της εγκατάστασης εμπλέκονται αρκετά CDROMs. Αν έχετε αρκετούς οδηγούς, θα μπορέσετε να τα προσαρτήσετε όλα με μιας στο σύστημα σας. Εμείς αποφασίσαμε να αντιγράψουμε το περιεχόμενο των CDROMs στους αντίστοιχους καταλόγους: /oracle/SID/sapreorg/cd-name όπου cd-name αντιστοιχεί σε ένα από τα KERNEL, RDBMS, EXPORT1, EXPORT2, EXPORT3, EXPORT4, EXPORT5 και EXPORT6 για την εγκατάσταση σε 4.6B/IDES, και KERNEL, RDBMS, DISK1, DISK2, DISK3, DISK4 και LANG για την εγκατάσταση του 4.6C SR2. Όλα τα ονόματα των αρχείων στα προσαρτημένα CDs θα πρέπει να είναι με κεφαλαία, διαφορετικά κάντε χρήση της επιλογής κατά την προσάρτηση. Χρησιμοποιείστε λοιπόν τις παρακάτω εντολές: &prompt.root; mount_cd9660 -g /dev/cd0a /mnt &prompt.root; cp -R /mnt/* /oracle/SID/sapreorg/cd-name &prompt.root; umount /mnt Τρέξτε το Script της Εγκατάστασης Αρχικά πρέπει να προετοιμάσετε τον κατάλογο install: &prompt.root; cd /oracle/SID/sapreorg &prompt.root; mkdir install &prompt.root; cd install Στη συνέχεια ξεκινήστε το script της εγκατάστασης, το οποίο θα αντιγράψει όλα τα σχετικά αρχεία μέσα στον κατάλογο install: &prompt.root; /oracle/SID/sapreorg/KERNEL/UNIX/INSTTOOL.SH Η εγκατάσταση του IDES (4.6B) έρχεται με ένα πλήρως προσαρμοσμένο σύστημα επίδειξης του &sap.r3;, έτσι υπάρχουν έξι CD EXPORT αντί για τρία. Σε αυτό το σημείο το πρότυπο αρχείο εγκατάστασης CENTRDB.R3S προορίζεται για την εγκατάσταση του βασικού συστήματος (το ίδιο το &r3; και τη βάση δεδομένων), όχι την κεντρική εφαρμογή IDES, έτσι χρειάζεται να αντιγράψετε και το αντίστοιχο CENTRDB.R3S από τον κατάλογο EXPORT1, διαφορετικά το R3SETUP θα ζητήσει μόνο τα τρία EXPORT CDs. Η νεότερη έκδοση &sap; 4.6C SR2 περιέχει τέσσερα EXPORT CD. Το αρχείο το οποίο ελέγχει τα βήματα της εγκατάστασης είναι το CENTRAL.R3S. Σε αντίθεση με τις προηγούμενες εκδόσεις, δεν υπάρχουν διαφορετικές μορφές εγκατάστασης, για κεντρική εγκατάσταση με ή χωρίς βάση δεδομένων. Το &sap; χρησιμοποιεί πλέον μια διαφορετική διαδικασία για την εγκατάσταση της βάσης δεδομένων. Αν θέλετε όμως να επανεκκινήσετε την εγκατάσταση αργότερα, αρκεί να χρησιμοποιήσετε ξανά το αρχικό αρχείο. Τόσο κατά τη διάρκεια όσο και μετά την εγκατάσταση, το &sap; απαιτεί η εντολή hostname να επιστρέφει μόνο το όνομα του συστήματος σας και όχι το πλήρες όνομα (με τον τομέα). Επομένως, είτε ρυθμίστε το όνομα με αυτό τον τρόπο, ή χρησιμοποιήστε κάποιο alias δίνοντας alias hostname='hostname -s' τόσο για τον χρήστη orasid όσο και για τον χρήστη sidadm (και για τον root τουλάχιστον κατά την εγκατάσταση, μιας και όλα τα βήματα γίνονται ωςroot). Είναι επίσης πιθανό να τροποποιήσετε τα αρχεία .profile και .login των δύο χρηστών που δημιουργήθηκαν κατά τη διάρκεια εγκατάστασης του &sap;. Εκκίνηση του <command>R3SETUP</command> 4.6B Βεβαιωθείτε ότι το LD_LIBRARY_PATH έχει οριστεί σωστά: &prompt.root; export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/lib Ξεκινήστε το R3SETUP ως root από τον κατάλογο εγκατάστασης: &prompt.root; cd /oracle/IDS/sapreorg/install &prompt.root; ./R3SETUP -f CENTRDB.R3S Το script θα σας κάνει μερικές ερωτήσεις (οι προεπιλογές φαίνονται σε αγκύλες,και ακολουθούνται από την τιμή που δόθηκε ως είσοδος): Ερώτηση Προεπιλογή Είσοδος δεδομένων Enter SAP System ID [C11] IDSEnter Enter SAP Instance Number [00] Enter Enter SAPMOUNT Directory [/sapmnt] Enter Enter name of SAP central host [troubadix.domain.de] Enter Enter name of SAP db host [troubadix] Enter Select character set [1] (WE8DEC) Enter Enter Oracle server version (1) Oracle 8.0.5, (2) Oracle 8.0.6, (3) Oracle 8.1.5, (4) Oracle 8.1.6 1Enter Extract Oracle Client archive [1] (Yes, extract) Enter Enter path to KERNEL CD [/sapcd] /oracle/IDS/sapreorg/KERNEL Enter path to RDBMS CD [/sapcd] /oracle/IDS/sapreorg/RDBMS Enter path to EXPORT1 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT1 Directory to copy EXPORT1 CD [/oracle/IDS/sapreorg/CD4_DIR] Enter Enter path to EXPORT2 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT2 Directory to copy EXPORT2 CD [/oracle/IDS/sapreorg/CD5_DIR] Enter Enter path to EXPORT3 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT3 Directory to copy EXPORT3 CD [/oracle/IDS/sapreorg/CD6_DIR] Enter Enter path to EXPORT4 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT4 Directory to copy EXPORT4 CD [/oracle/IDS/sapreorg/CD7_DIR] Enter Enter path to EXPORT5 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT5 Directory to copy EXPORT5 CD [/oracle/IDS/sapreorg/CD8_DIR] Enter Enter path to EXPORT6 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT6 Directory to copy EXPORT6 CD [/oracle/IDS/sapreorg/CD9_DIR] Enter Enter amount of RAM for SAP + DB 850Enter (in Megabytes) Service Entry Message Server [3600] Enter Enter Group-ID of sapsys [101] Enter Enter Group-ID of oper [102] Enter Enter Group-ID of dba [100] Enter Enter User-ID of sidadm [1000] Enter Enter User-ID of orasid [1002] Enter Number of parallel procs [2] Enter Αν δεν έχετε αντιγράψει τα CDs σε διαφορετικούς καταλόγους, τότε το πρόγραμμα εγκατάστασης του &sap; δε θα μπορέσει να βρει τα CD τα οποία χρειάζεται (και τα οποία αναγνωρίζονται από το αρχείο LABEL.ASC που βρίσκεται μέσα σε αυτά) και θα σας ζητηθεί να εισάγετε και προσαρτήσετε τα CD και να επιβεβαιώσετε το σημείο προσάρτησης. Το CENTRDB.R3S μπορεί όμως να παράγει μερικά σφάλματα. Στη περίπτωσή μας, μας ζήτησε ξανά το EXPORT4 CD αλλά μας έδειξε το σωστό κλειδί (6_LOCATION, μετά 7_LOCATION κλπ.), και έτσι μπορείτε να συνεχίσετε βάζοντας τις σωστές τιμές. Εκτός από κάποια προβλήματα που αναφέρονται παρακάτω, η εγκατάσταση θα πρέπει να κυλίσει ομαλά, μέχρι το σημείο που θα χρειαστεί να εγκαταστήσετε τη βάση δεδομένων της &oracle;. Εκκίνηση του <command>R3SETUP</command> 4.6C SR2 Βεβαιωθείτε ότι έχετε ορίσει σωστά το LD_LIBRARY_PATH. Η τιμή της μεταβλητής είναι διαφορετική από την αντίστοιχη της εγκατάστασης του 4.6B με την &oracle; 8.0.5: &prompt.root; export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/lib Ξεκινήστε το R3SETUP ως root από τον κατάλογο εγκατάστασης: &prompt.root; cd /oracle/PRD/sapreorg/install &prompt.root; ./R3SETUP -f CENTRAL.R3S Tο script θα σας κάνει μερικές ερωτήσεις (οι προεπιλογές φαίνονται σε αγκύλες και ακολουθούνται από την πραγματική είσοδο): Ερώτηση Προεπιλογή Εισαγωγή δεδομένων Enter SAP System ID [C11] PRDEnter Enter SAP Instance Number [00] Enter Enter SAPMOUNT Directory [/sapmnt] Enter Enter name of SAP central host [majestix] Enter Enter Database System ID [PRD] PRDEnter Enter name of SAP db host [majestix] Enter Select character set [1] (WE8DEC) Enter Enter Oracle server version (2) Oracle 8.1.7 2Enter Extract Oracle Client archive [1] (Yes, extract) Enter Enter path to KERNEL CD [/sapcd] /oracle/PRD/sapreorg/KERNEL Enter amount of RAM for SAP + DB 2044 1800Enter (in Megabytes) Service Entry Message Server [3600] Enter Enter Group-ID of sapsys [100] Enter Enter Group-ID of oper [101] Enter Enter Group-ID of dba [102] Enter Enter User-ID of oraprd [1002] Enter Enter User-ID of prdadm [1000] Enter LDAP support 3Enter (no support) Installation step completed [1] (continue) Enter Choose installation service [1] (DB inst,file) Enter Μέχρι στιγμής, η δημιουργία χρηστών εμφανίζει ένα σφάλμα κατά τη διάρκεια της εγκατάστασης, στις φάσεις των OSUSERDBSID_IND_ORA (για τη δημιουργία του χρήστη orasid) και OSUSERSIDADM_IND_ORA (για τη δημιουργία του χρήστη sidadm). Εκτός από μερικά προβλήματα που αναφέρονται παρακάτω, όλα θα πρέπει να κυλήσουν ήρεμα μέχρι την εγκατάσταση της βάσης δεδομένων &oracle;. Εγκατάσταση της &oracle; 8.0.5 Παρακαλούμε, να δείτε τις αντίστοιχες σημειώσεις των &sap; και &oracle; Readme σχετικά με τα προβλήματα που μπορεί να προκύψουν κατά την εγκατάσταση του &oracle; DB στο Linux. Τα περισσότερα, αν όχι όλα, έχουν να κάνουν με ασυμβατότητα βιβλιοθηκών. Για περισσότερες πληροφορίες σχετικά με την εγκατάσταση της &oracle;, δείτε το κεφάλαιο εγκατάστασης της &oracle;. Εγκατάσταση του &oracle; 8.0.5 με το <command>orainst</command> Αν πρόκειται να κάνετε χρήση της &oracle; 8.0.5, θα χρειαστείτε κάποιες επιπλέον βιβλιοθήκες για επιτυχή επανασύνδεση (relinking), καθώς η &oracle; 8.0.5 είναι linked με την παλιά έκδοση του glibc (RedHat 6.0), αλλά ήδη από το RedHat 6.1 χρησιμοποιείται μια νέα έκδοση. Επομένως χρειάζεται να εγκαταστήσετε επιπρόσθετα τα επόμενα πακέτα για να βεβαιωθείτε ότι οι σύνδεσμοι θα δουλέψουν: compat-libs-5.2-2.i386.rpm compat-glibc-5.2-2.0.7.2.i386.rpm compat-egcs-5.2-1.0.3a.1.i386.rpm compat-egcs-c++-5.2-1.0.3a.1.i386.rpm compat-binutils-5.2-2.9.1.0.23.1.i386.rpm Για περισσότερες πληροφορίες δείτε τα αντίστοιχα &sap; Notes ή &oracle; Readme. Αν όμως δεν έχετε αυτή την επιλογή (κατά τη διάρκεια της εγκατάστασης δεν είχαμε αρκετό χρόνο να το ελέγξουμε), μπορείτε να χρησιμοποιήσετε τα αρχικά εκτελέσιμα ή εκτελέσιμα τα οποία έχουν γίνει relink σε ένα κανονικό σύστημα RedHat. Για να μεταγλωττίσετε τον intelligent agent, πρέπει να έχετε εγκατεστημένο το πακέτο RedHat Tcl. Αν δεν μπορείτε να βρείτε το tcl-8.0.3-20.i386.rpm, τότε το νεότερο tcl-8.0.5-30.i386.rpm για RedHat 6.1 θα πρέπει επίσης να δουλέψει. Με εξαίρεση το relinking, η διαδικασία εγκατάστασης είναι σχετικά απλή: &prompt.root; su - oraids &prompt.root; export TERM=xterm &prompt.root; export ORACLE_TERM=xterm &prompt.root; export ORACLE_HOME=/oracle/IDS &prompt.root; cd $ORACLE_HOME/orainst_sap &prompt.root; ./orainst Επιβεβαιώστε όλα τα μηνύματα πατώντας Enter έως ότου το λογισμικό εγκατασταθεί. Δεν θα πρέπει να επιλέξετε όμως το &oracle; On-Line Text Viewer, μιας και δεν είναι διαθέσιμο για Linux. Στην περίπτωση αυτή, η &oracle; προσπαθεί να κάνει relink με το i386-glibc20-linux-gcc αντί του διαθέσιμου gcc, egcs ή i386-redhat-linux-gcc. Λόγω έλλειψης χρόνου, αποφασίσαμε να χρησιμοποιήσουμε τα έτοιμα εκτελέσιμα της έκδοσης &oracle; 8.0.5 PreProduction, μετά από μια αποτυχημένη προσπάθεια να κάνουμε την έκδοση από το RDBMS CD να δουλέψει, και η εύρεση και πρόσβαση στα σωστά RPMs εκείνη τη στιγμή ήταν σκέτος εφιάλτης. Εγκατάσταση του &oracle; 8.0.5 Pre-production Release για Linux (Kernel 2.0.33) Αυτή η εγκατάσταση είναι σχετικά εύκολη. Προσαρτήστε το CD και ξεκινήστε το πρόγραμμα εγκατάστασης. Θα ερωτηθείτε στη συνέχεια για τον αρχικό (home) κατάλογο της &oracle;, όπου και θα αντιγραφούν όλα τα εκτελέσιμα. Ωστόσο δεν διαγράψαμε ότι απέμεινε από τις προηγούμενες απόπειρες μας εγκατάστασης του RDBMS. Στη συνέχεια, η βάση δεδομένων &oracle; θα πρέπει να ξεκινήσει δίχως προβλήματα. Εγκατάσταση &oracle; 8.1.7 για Linux από Συμπιεσμένο Αρχείο Πάρτε το συμπιεσμένο αρχείο oracle81732.tgz το οποίο δημιουργήσατε από τον κατάλογο εγκατάστασης ενός συστήματος Linux, και αποσυμπιέστε το στο /oracle/SID/817_32/. Συνέχεια της Εγκατάστασης του &sap.r3; Αρχικά ελέγξτε τις ρυθμίσεις περιβάλλοντος των χρηστών idsamd (sidadm) και oraids (orasid). Θα πρέπει τώρα να έχουν και οι δύο χρήστες τα αρχεία .profile, .login και .cshrc τα οποία όλα χρησιμοποιούν το hostname. Σε περίπτωση που το όνομα του συστήματος περιλαμβάνει και το domain, αντικαταστήστε το hostname με το hostname -s σε όλα τα αρχεία. Φόρτωση της Βάσης Δεδομένων Στη συνέχεια, ανάλογα με το αν είχατε πριν επιλέξει έξοδο ή όχι, μπορείτε είτε να ξεκινήσετε το R3SETUP από την αρχή, ή να συνεχίσετε την εκτέλεση του. Το R3SETUP θα δημιουργήσει και θα φορτώσει τα αρχικά δεδομένα της βάσης (για 46B IDES, από τα EXPORT1 σε EXPORT6, για 46C από DISK1 σε DISK4) κάνοντας χρήση του R3load. Όταν η φόρτωση της βάσης δεδομένων ολοκληρωθεί (μπορεί να χρειαστούν μερικές ώρες), θα χρειαστεί να ορίσετε μερικούς κωδικούς. Για δοκιμαστικές εγκαταστάσεις, μπορείτε να χρησιμοποιήσετε τους γνωστούς προεπιλεγμένους κωδικούς (αν υπάρχει θέμα ασφάλειας, χρησιμοποιήστε διαφορετικούς!): Ερώτηση Είσοδος δεδομένων Enter Password for sapr3 sapEnter Confirum Password for sapr3 sapEnter Enter Password for sys change_on_installEnter Confirm Password for sys change_on_installEnter Enter Password for system managerEnter Confirm Password for system managerEnter Σε αυτό το σημείο είχαμε μερικά προβλήματα με την εντολή dipgntab κατά την εγκατάσταση του 4.6B. Listener Ξεκινήστε τον &oracle; Listener ως χρήστης orasid με τον ακόλουθο τρόπο: &prompt.user; umask 0; lsnrctl start Αν δε το κάνετε, μπορεί να σας εμφανιστεί το σφάλμα ORA-12546 καθώς στα sockets δεν θα έχουν οριστεί οι κατάλληλες άδειες. Δείτε την Σημείωση 072984 του &sap;. Ανανεώνοντας τους Πίνακες MNLS Αν έχετε σκοπό να εισάγετε γλώσσες εκτός των Latin-1 στο &sap;, θα πρέπει να ανανεώσετε τους πίνακες Multi National Language Support. Ατό περιγράφεται στα &sap; OSS Notes 15023 και 45619. Μπορείτε όμως αν θέλετε να παρακάμψετε αυτό το βήμα κατά την εγκατάσταση του &sap;. Ακόμη και αν δεν χρειάζεστε το MNLS, θα χρειαστεί να ελέγξετε τον πίνακα TCPDB και να τον αρχικοποιήσετε, αν αυτό δεν έχει ήδη γίνει. Δείτε στο &sap; τις σημειώσεις 0015023 και 0045619 για περισσότερες πληροφορίες. Βήματα Μετά την Εγκατάσταση Άδεια χρήσης για το &sap.r3; Θα πρέπει να ζητήσετε ένα Κλειδί Άδειας - License Key - για το &sap.r3;. Το χρειάζεστε, μιας και η προσωρινή άδεια που χρησιμοποιήσατε κατά την εγκατάσταση, έχει ισχύ μόνο για τέσσερις εβδομάδες. Πρέπει πρώτα να αποκτήσετε το hardware key. Συνδεθείτε ως χρήστης idsadm και εκτελέστε το saplicense: &prompt.root; /sapmnt/IDS/exe/saplicense -get Εκτελώντας το saplicense χωρίς παραμέτρους, σας δίνει μια λίστα επιλογών. Όταν λάβετε το κλειδί άδειας, μπορείτε να το εγκαταστήσετε με τον παρακάτω τρόπο: &prompt.root; /sapmnt/IDS/exe/saplicense -install Στη συνέχεια, θα χρειαστεί να εισάγετε τις ακόλουθες τιμές: SAP SYSTEM ID = SID, 3 chars CUSTOMER KEY = hardware key, 11 chars INSTALLATION NO = installation, 10 digits EXPIRATION DATE = yyyymmdd, usually "99991231" LICENSE KEY = license key, 24 chars Δημιουργία Χρηστών Δημιουργήστε έναν νέο χρήστη στο client 000 (για μερικές εργασίες που χρειάζεται να γίνουν μέσα στο client 000, αλλά με χρήστη διαφορετικό από τους sap* και ddic). Ως όνομα χρήστη συνήθως επιλέγουμε το wartungservice στα Αγγλικά). Τα προφίλ που χρειάζονται είναι τα sap_new και sap_all. Για επιπλέον ασφάλεια, οι κωδικοί των προεπιλεγμένων χρηστών σε όλους τους clients θα πρέπει να αλλαχθούν (αυτό περιλαμβάνει και τους χρήστες sap* και ddic). Ρύθμιση των Transport System, Profile, Operation Modes, κλπ. Μέσα στο client 000, χρήστες εκτός των ddic και sap*, μπορούν να κάνουν τουλάχιστον τα ακόλουθα: Εργασία Transaction (Συναλλαγή) Ρύθμιση του Transport System, π.χ. ως Stand-Alone Transport Domain Entity STMS Δημιουργία / τροποποίηση του Profile Συστήματος RZ10 Συντήρηση Operation Modes και Instances RZ04 Αυτό και όλα τα υπόλοιπα βήματα σχετικά με τις ρυθμίσεις μετά την εγκατάσταση περιγράφονται στους οδηγούς εγκατάστασης του &sap;. Τροποποίηση του <filename>init<replaceable>sid</replaceable>.sap</filename> (<filename>initIDS.sap</filename>) Το αρχείο /oracle/IDS/dbs/initIDS.sap περιέχει το αντίγραφο ασφαλείας του προφίλ του &sap;. Εδώ χρειάζεται να ορίσετε το μέγεθος της ταινίας που θα χρησιμοποιηθεί, τον τύπο συμπίεσης και όλα τα σχετικά. Για να μπορέσουμε να το εκτελέσουμε με το sapdba / brbackup, αλλάξαμε τις παρακάτω τιμές: compress = hardware archive_function = copy_delete_save cpio_flags = "-ov --format=newc --block-size=128 --quiet" cpio_in_flags = "-iuv --block-size=128 --quiet" tape_size = 38000M tape_address = /dev/nsa0 tape_address_rew = /dev/sa0 Επεξηγήσεις: compress: Η ταινία που χρησιμοποιούμε είναι μία HP DLT1 η οποία παρέχει συμπίεση μέσω υλικού. archive_function: Αυτό ορίζει τον προεπιλεγμένο τρόπο με τον οποίο θα αποθηκεύονται τα αρχειοθετημένα logs της &oracle;: τα νέα logs αποθηκεύονται στην ταινία, τα ήδη αποθηκευμένα αποθηκεύονται ξανά και στη συνέχεια διαγράφονται. Αυτό σας σώζει από τη ταλαιπωρία αν χρειαστεί να ανακτήσετε τη βάση δεδομένων σε περίπτωση που μια από τις ταινίες έχει πρόβλημα. cpio_flags: Προεπιλεγμένη είναι η χρήση του το οποίο ορίζει το μέγεθος κάθε block στα 5120 Bytes. Για ταινίες DLT, η HP προτείνει το λιγότερο 32 K μέγεθος block, οπότε κι εμείς δώσαμε για 64 K. Το χρειάζεται διότι έχουμε inode με αρίθμηση μεγαλύτερη από 65535. Η τελευταία παράμετρος χρειάζεται γιατί διαφορετικά το brbackup θα παραπονεθεί με που το cpio εμφανίσει τον αριθμό των blocks που έχουν αποθηκευτεί. cpio_in_flags: Τα Flags χρειάζονται προκειμένου να φορτωθούν τα δεδομένα από τη ταινία. Η μορφή ανιχνεύεται αυτόματα. tape_size: Η παράμερος αυτή δίνει χοντρικά το μέγεθος χωρητικότητας της ταινίας. Για λόγους ασφάλειας (χρησιμοποιούμε hardware συμπίεση), η τιμή της παραμέτρου είναι λίγο μικρότερη από το πραγματικό μέγεθος. tape_address: Το όνομα συσκευής (χωρίς δυνατότητα επανατύλιξης της ταινίας) που θα χρησιμοποιηθεί με το cpio. tape_address_rew: Το όνομα συσκευής (με δυνατότητα επανατύλιξης της ταινίας) που θα χρησιμοποιηθεί με το cpio. Ρυθμίσεις Μετά την Εγκατάσταση Οι ακόλουθοι παράμετροι του &sap; θα πρέπει να ρυθμιστούν μετά την εγκατάσταση (παραδείγματα για IDES 46B, και μνήμη 1 GB): Όνομα Τιμή ztta/roll_extension 250000000 abap/heap_area_dia 300000000 abap/heap_area_nondia 400000000 em/initial_size_MB 256 em/blocksize_kB 1024 ipc/shm_psize_40 70000000 &sap; Σημείωση 0013026: Όνομα Τιμή ztta/dynpro_area 2500000 &sap; Σημείωση 0157246: Όνομα Τιμή rdisp/ROLL_MAXFS 16000 rdisp/PG_MAXFS 30000 Με τις παραπάνω παραμέτρους σε ένα σύστημα με 1 gigabyte μνήμης, μπορεί να δείτε κάτι σαν το παρακάτω όσο αφορά την κατανάλωση μνήμης: Mem: 547M Active, 305M Inact, 109M Wired, 40M Cache, 112M Buf, 3492K Free Προβλήματα κατά την Εγκατάσταση Επανεκκίνηση του <command>R3SETUP</command> μετά τη Διόρθωση Προβλήματος Το R3SETUP θα σταματήσει αν αντιληφθεί κάποιο σφάλμα. Αν κοιτάξετε καλά τα logfiles και διορθώσετε το σφάλμα, θα πρέπει να ξεκινήσετε το R3SETUP από την αρχή, συνήθως επιλέγοντας REPEAT στο τελευταίο βήμα για το οποίο παραπονέθηκε το R3SEΤUP. Για να επανεκκινήσετε το R3SETUP, απλώς δώστε τη παρακάτω εντολή με το αντίστοιχο αρχείο R3S: &prompt.root; ./R3SETUP -f CENTRDB.R3S για την έκδοση 4.6B, ή την εντολή &prompt.root; ./R3SETUP -f CENTRAL.R3S για την έκδοση 4.6C, χωρίς να έχει σημασία αν το σφάλμα προκλήθηκε από το CENTRAL.R3S ή το DATABASE.R3S. Σε κάποια στάδια, το R3SETUP υποθέτει ότι τόσο η βάση δεδομένων όσο και το &sap; έχουν ξεκινήσει και εκτελούνται κανονικά (καθώς πρόκειται για βήματα που έχουν ήδη ολοκληρωθεί). Αν προκύψουν λάθη, και για παράδειγμα δεν μπόρεσε να ξεκινήσει η βάση, ξεκινήστε τη βάση και το &sap; με το χέρι, αφού διορθώσετε τα λάθη και πριν εκτελέσετε ξανά το R3SETUP. Μη ξεχάσετε επίσης να εκκινήσετε το &oracle; listener (εκτελέστε το ως χρήστης orasid με umask 0; lsnrctl start) αν είχε διακοπεί και αυτό (για παράδειγμα σε μια αναγκαία επανεκκίνηση του συστήματος). OSUSERSIDADM_IND_ORA κατά το <command>R3SETUP</command> Αν το R3SETUP παραπονιέται σε αυτό το σημείο, τροποποιήστε το πρότυπο αρχείο του R3SETUP που χρησιμοποιείται εκείνη τη στιγμή (το CENTRDB.R3S (4.6B) ή κάποιο από τα CENTRAL.R3S ή το DATABASE.R3S (4.6C)). Βρείτε το [OSUSERSIDADM_IND_ORA] ή ψάξτε μέσα στο αρχείο για τη μοναδική εγγραφή STATUS=ERROR και προσθέστε τα παρακάτω: HOME=/home/sidadm (was empty) STATUS=OK (had status ERROR) Στη συνέχεια μπορείτε να ξεκινήσετε και πάλι το R3SETUP. OSUSERDBSID_IND_ORA κατά το <command>R3SETUP</command> Πιθανό είναι να υπάρχει πρόβλημα και σε αυτό το βήμα με το R3SETUP. Το πρόβλημα εδώ είναι παρόμοιο με το προηγούμενο, του OSUSERSIDADM_IND_ORA. Απλά τροποποιήστε το αρχείο προτύπου που χρησιμοποιείτε με το R3SETUP (CENTRDB.R3S (4.6B) ή κάποιο από τα CENTRAL.R3S ή DATABASE.R3S (4.6C)). Βρείτε το [OSUSERDBSID_IND_ORA] ή ψάξτε μέσα στο αρχείο για την μοναδική εγγραφή STATUS=ERROR και προσθέστε τα παρακάτω: STATUS=OK Τώρα τρέξτε ξανά το R3SETUP. <errorname>oraview.vrf FILE NOT FOUND</errorname> κατά τη διάρκεια Εγκατάστασης της &oracle; Το σφάλμα αυτό σημαίνει ότι έχετε επιλέξει το &oracle; On-Line Text Viewer πριν ξεκινήσετε την εγκατάσταση. Η επιλογή αυτή είναι προεπιλεγμένη, παρ' όλο που δεν είναι διαθέσιμη στο Linux. Αφαιρέστε λοιπόν αυτή την επιλογή από το μενού εγκατάστασης και ξεκινήστε ξανά. <errorname>TEXTENV_INVALID</errorname> κατά την Εκτέλεση <command>R3SETUP</command>, του RFC ή του SAPgui Αν βρεθείτε αντιμέτωποι με αυτό το σφάλμα, τότε δεν έχετε τις σωστές τοπικές ρυθμίσεις. Η σημείωση 0171356 του &sap; αναφέρει όλα τα RPMs που χρειάζονται να εγκατασταθούν (π.χ. saplocales-1.0-3, saposcheck-1.0-1 για RedHat 6.1). Στην περίπτωση που αγνοήσατε όλα τα σχετικά λάθη, και αν ακόμη έχετε ορίσει το STATUS από ERROR σε OK (στο CENTRDB.R3S) κάθε φορά που παραπονιόταν το R3SETUP και απλώς το ξεκινούσατε από την αρχή, το &sap; δεν θα ρυθμιστεί σωστά και δεν θα μπορείτε να συνδεθείτε στο σύστημα μέσω του SAPgui, ακόμη και αν το σύστημα σας έχει ξεκινήσει. Προσπαθώντας να συνδεθούμε με το παλιό SAPgui Linux, εμφανίστηκε το παρακάτω σφάλμα: Sat May 5 14:23:14 2001 *** ERROR => no valid userarea given [trgmsgo. 0401] Sat May 5 14:23:22 2001 *** ERROR => ERROR NR 24 occured [trgmsgi. 0410] *** ERROR => Error when generating text environment. [trgmsgi. 0435] *** ERROR => function failed [trgmsgi. 0447] *** ERROR => no socket operation allowed [trxio.c 3363] Speicherzugriffsfehler Η συμπεριφορά αυτή οφείλεται στο ότι το &sap.r3; δεν μπορεί να ορίσει σωστά τις τοπικές ρυθμίσεις και δεν μπορεί στη συνέχεια να ρυθμίσει τον εαυτό του (ελλειπή δεδομένα στη βάση δεδομένων). Για να μπορέσετε να συνδεθείτε προσθέστε τις παρακάτω καταχωρήσεις στο DEFAULT.PFL (δείτε Σημείωση 0043288): abap/set_etct_env_at_new_mode = 0 install/collate/active = 0 rscp/TCP0B = TCP0B Ξεκινήστε ξανά το &sap;. Τώρα μπορείτε να συνδεθείτε ακόμη και αν οι ρυθμίσεις χώρας και γλώσσας δε δουλεύουν όπως θα έπρεπε. Αφού διορθώσετε τις ρυθμίσεις της χώρας (και ορίσετε τις σωστές τοπικές ρυθμίσεις), μπορείτε να αφαιρέσετε τα παραπάνω από το DEFAULT.PFL και να εκτελέσετε το &sap; από την αρχή. <errorcode>ORA-00001</errorcode> Το σφάλμα αυτό το συναντήσαμε μόνο με το &oracle; 8.1.7 στο &os;. Ο λόγος ήταν ότι η βάση &oracle; δεν μπορούσε να ορίσει τις σωστές παραμέτρους για την εκκίνησή της με αποτέλεσμα να κολλάει, αφήνοντας σηματοφορείς και κοινόχρηστη μνήμη στο σύστημα. Η επόμενη προσπάθεια να ξεκινήσουμε τη βάση δεδομένων μας εμφάνισε το σφάλμα ORA-00001. Βρείτε τους με την εντολή ipcs -a και αφαιρέστε τους με την ipcrm. <errorcode>ORA-00445</errorcode> (Background Process PMON Did Not Start) Το σφάλμα αυτό μπορεί να εμφανιστεί με το &oracle; 8.1.7 όταν η βάση δεδομένων έχει εκκινηθεί με το script startsap (για παράδειγμα startsap_majestix_00) και σαν χρήστης prdadm. Μια πιθανή λύση είναι να ξεκινήσετε τη βάση ως χρήστης oraprd και μέσω του svrmgrl: &prompt.user; svrmgrl SVRMGR> connect internal; SVRMGR> startup; SVRMGR> exit <errorcode>ORA-12546</errorcode> (Ξεκινήστε τον Listener με τις Σωστές Άδειες) Ξεκινήστε τον &oracle; listener ως χρήστης oraids, με τις ακόλουθες εντολές: &prompt.root; umask 0; lsnrctl start Διαφορετικά μπορεί να εμφανιστεί το σφάλμα ORA-12546 που σημαίνει ότι τα sockets δεν έχουν σωστές άδειες. Δείτε τη σημείωση 0072984 του &sap;. <errorcode>ORA-27102</errorcode> (Έλλειψη μνήμης) Το πρόβλημα αυτό παρουσιάστηκε όταν χρησιμοποιήσαμε τιμές μεγαλύτερες του 1 GB (1024X1024X1024) στις μεταβλητές MAXDSIZ και DFLDSIZ. Επιπλέον, μας εμφανίστηκε το σφάλμα Linux Error 12: Cannot allocate memory. [DIPGNTAB_IND_IND] κατά την Εκτέλεση του <command>R3SETUP</command> Σε γενικές γραμμές, δείτε τη σημείωση 0130581 του &sap; (R3SETUP step DIPGNTAB terminates). Κατά την εγκατάσταση IDES, για κάποιο λόγο η διαδικασία εγκατάστασης δε χρησιμοποιούσε το σωστό όνομα συστήματος του &sap; IDS, αλλά το κενό "". Αυτό οδηγεί σε κάποια μικρά προβλήματα με τη πρόσβαση στους καταλόγους μια και τα μονοπάτια δημιουργούνται δυναμικά με τη χρήση του SID (στη περίπτωσή μας IDS). Πράγμα που σημαίνει ότι αντί να γίνει η πρόσβαση στο: /usr/sap/IDS/SYS/... /usr/sap/IDS/DVMGS00 θα προσπαθήσει να γίνει στο: /usr/sap//SYS/... /usr/sap/D00 Για να συνεχίσουμε με την εγκατάσταση, δημιουργήσαμε έναν σύνδεσμο και έναν επιπλέον κατάλογο: &prompt.root; pwd /compat/linux/usr/sap &prompt.root; ls -l total 4 drwxr-xr-x 3 idsadm sapsys 512 May 5 11:20 D00 drwxr-x--x 5 idsadm sapsys 512 May 5 11:35 IDS lrwxr-xr-x 1 root sapsys 7 May 5 11:35 SYS -> IDS/SYS drwxrwxr-x 2 idsadm sapsys 512 May 5 13:00 tmp drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 trans Το πρόβλημα αυτό το είδαμε επίσης στις σημειώσεις 0029227 και 0008401 του &sap;. Δεν αντιμετωπίσαμε όμως κανένα από αυτά τα προβλήματα με την εγκατάσταση του &sap; 4.6C. [RFCRSWBOINI_IND_IND] κατά την Εκτέλεση του <command>R3SETUP</command> Το σφάλμα αυτό εμφανίστηκε κατά την εγκατάσταση του &sap; 4.6C, και ήταν το αποτέλεσμα ενός άλλου σφάλματος που προέκυψε νωρίτερα στην εγκατάσταση. Σε τέτοιες περιπτώσεις θα πρέπει να δείτε τα αντίστοιχα logfiles και να διορθώσετε το αρχικό πρόβλημα. Αν αφού ελέγξετε τα logfiles διαπιστώσετε ότι το σφάλμα είναι πράγματι αυτό (κοιτάξτε τις σημειώσεις του &sap;), μπορείτε να ορίσετε το STATUS σε αυτό το βήμα από ERROR σε OK (στο αρχείο CENTRDB.R3S) και να εκτελέσετε ξανά το R3SETUP. Μετά την εγκατάσταση, πρέπει να εκτελέσετε το RSWBOINS από τη συναλλαγή SE38. Δείτε τη σημείωση 0162266 του &sap; για τα RFCRSWBOINI και RFCRADDBDIF. [RFCRADDBDIF_IND_IND] κατά την Εκτέλεση <command>R3SETUP</command> Όπως και πριν, και εδώ ισχύει η ίδια λογική: σιγουρευτείτε ποιο είναι το πρωταρχικό σφάλμα κοιτάζοντας τα logfiles. Αν επιβεβαιώσετε ότι η σημείωση του &sap; 0162266 ανταποκρίνεται στο πρόβλημά σας, απλά ορίστε το STATUS σε αυτό το βήμα από ERROR σε OK (στο αρχείο CENTRDB.R3S) και τρέξτε πάλι το R3SETUP. Μετά την εγκατάσταση, πρέπει να εκτελέσετε το RADDBDIF από τη συναλλαγή SE38. <errorcode>sigaction sig31: File size limit exceeded</errorcode> Το σφάλμα αυτό μπορεί να εμφανιστεί κατά την εκκίνηση των διεργασιών του &sap; disp+work. Αν ξεκινήσετε το &sap; με το script startsap, οι υποδιεργασίες θα αρχίσουν μόνες τους, ξεκινώντας τις υπόλοιπες διεργασίες που απαιτούνται από το &sap;. Αυτό έχει ως αποτέλεσμα το ίδιο το script να μην γνωρίζει αν κάτι πήγε στραβά. Για να ελέγξετε αν όντως ξεκίνησαν σωστά οι διεργασίες του &sap;, ρίξτε μια ματιά στη λίστα διεργασιών με την εντολή ps ax | grep SID, η οποία θα σας επιστρέψει μιας λίστα με όλες τις διεργασίες από τα &oracle; και &sap;. Αν φαίνεται σαν να λείπουν μερικές διεργασίες, ή αν δεν μπορείτε να συνδεθείτε στο &sap;, κοιτάξτε τα αντίστοιχα logfiles τα οποία μπορούν να βρεθούν στον κατάλογο /usr/sap/SID/DVEBMGSnr/work/. Τα αρχεία που πρέπει να κοιτάξετε είναι τα dev_ms και dev_disp. Το Signal 31 θα εμφανιστεί αν η ποσότητα της κοινής μνήμης που χρησιμοποιείται από τα &oracle; και &sap; ξεπεράσει το μέγεθος που έχει ήδη οριστεί κατά τη ρύθμιση του πυρήνα. Με το να ορίσετε μια μεγαλύτερη τιμή θα μπορέσετε να προσπεράσετε το πρόβλημα αυτό: # μεγαλύτερη μνήμη για συστήματα παραγωγής 46C: options SHMMAXPGS=393216 # μικρότερη μνήμη για συστήματα 46B: #options SHMMAXPGS=262144 Ανεπιτυχής Εκκίνηση του <command>saposcol</command> Υπάρχουν επίσης μερικά προβλήματα με το πρόγραμμα saposcol (έκδοση 4.6D). Το &sap; χρησιμοποιεί το saposcol για να συλλέξει δεδομένα σχετικά με τις επιδόσεις του συστήματος. Το πρόγραμμα αυτό δεν το χρειάζεστε για να εκτελέσετε το &sap;, οπότε μπορεί να θεωρηθεί ως μικρότερη σημασίας. Παλαιότερες εκδόσεις (4.6B) δουλεύουν, αλλά δε συλλέγουν όλα τα δεδομένα (πολλές κλήσεις επιστρέφουν 0, για παράδειγμα η χρήση της CPU). Προχωρημένα Θέματα Αν έχετε την απορία πως λειτουργεί η συμβατότητα με εφαρμογές Linux, τότε θα πρέπει να διαβάσετε τη παρακάτω ενότητα. Τα περισσότερα από όσα έχουν γραφτεί είναι βασισμένα στην &a.chat; και έχουν γραφτεί από τον Terry Lambert tlambert@primenet.com (Message ID: <199906020108.SAA07001@usr09.primenet.com>). Πως Λειτουργεί; execution class loader Το &os; περιέχει ένα επίπεδο αφαίρεσης (abstraction) που ονομάζεται execution class loader. Αυτό βασίζεται στο &man.execve.2;. Αυτό που συμβαίνει είναι ότι το &os; έχει μια λίστα φορτωτών (loaders), αντί για ένα που να καταφεύγει σε περίπτωση αποτυχίας στο #! για να τρέξει κάποιο shell interpreter ή shell script. Ιστορικά, ο μόνος φορτωτής στη πλατφόρμα του &unix; έλεγχε τον μαγικό αριθμό (γενικά τα πρώτα 4 ή 8 bytes του αρχείου) για να δει αν είναι κάποιο εκτελέσιμο / εφαρμογή γνωστό στο σύστημα, και στην περίπτωση αυτή να καλέσει τον αντίστοιχο φορτωτή. Αν το αρχείο δεν ήταν εκτελέσιμο με βάση τον τύπο του συστήματος, η κλήση στο &man.execve.2; επέστρεφε κάποιο σφάλμα, και το shell προσπαθούσε να εκτελέσει το αρχείο σαν shell script. Η γενική ιδέα ήταν αν δεν είναι εκτελέσιμο, προσπάθησε να το τρέξεις ως shell script με βάση το τρέχον shell . Αργότερα, βρέθηκε ένας έξυπνος τρόπος ώστε το &man.sh.1; να ελέγχει τους πρώτους δύο χαρακτήρες, και αν ήταν :\n, τότε καλούσε το shell &man.csh.1; (πιστεύουμε πως η λύση αυτή βρέθηκε αρχικά από τη SCO). Αυτό που κάνει τώρα το &os; είναι να διατρέχει τη λίστα με όλους τους φορτωτές, με ένα γενικό φορτωτή #! ο οποίος αναγνωρίζει ως διερμηνέα (interpreter) τους χαρακτήρες από το επόμενο κενό μετά το ! και μέχρι το τέλος, ενώ αν δεν αναγνωριστεί κάποιος, χρησιμοποιείται ως έσχατη λύση το /bin/sh. ELF Για την υποστήριξη του Linux ABI, το &os; βλέπει τον μαγικό αριθμό του ELF binary (δε αναγνωρίζει τη διαφορά ανάμεσα σε &os;, &solaris;, Linux, ή κάποιο άλλο λειτουργικό σύστημα το οποίο χρησιμοποιεί αρχεία τύπου ELF). Solaris Ο φορτωτής ELF κοιτάει για ένα ειδικό brand, το οποίο είναι μια ενότητα σχολίων μέσα στο ELF image, και το οποίο δεν υπάρχει σε ELF binaries για SVR4/&solaris; Για να λειτουργήσουν τα εκτελέσιμα του Linux, θα πρέπει να γίνουν branded (μαρκαριστούν) ως Linux μέσω της &man.brandelf.1;: &prompt.root; brandelf -t Linux file Όταν γίνει αυτό, ο φορτωτής ELF θα βλέπει το Linux brand πάνω στο αρχείο. ELF branding Όταν ο φορτωτής ELF δει το Linux brand, θα αντικαταστήσει έναν δείκτη μέσα στη δομή proc. Όλες οι κλήσεις του συστήματος ταξινομούνται μέσα από αυτόν τον δείκτη (σε ένα παραδοσιακό σύστημα &unix;, ο δείκτης θα ήταν ο πίνακας sysent[], που περιέχει τις κλήσεις του συστήματος (system calls)). Επιπλέον, η διεργασία σημειώνεται για ειδική μεταχείριση του trap vector και άλλες (μικρές) διορθώσεις, τις οποίες χειρίζεται το άρθρωμα πυρήνα της συμβατότητας Linux. Το system call vector του Linux περιέχει, μεταξύ άλλων, μια λίστα με τα δεδομένα του sysent[] των οποίων οι διευθύνσεις βρίσκονται μέσα στο άρθρωμα του πυρήνα. Όταν γίνεται μια κλήση συστήματος από μια εφαρμογή Linux, ο κώδικας (trap code) τροποποιεί τον δείκτη της μέσω της δομής που έχει εγγραφεί στο proc, και αλλάζει την διεύθυνση ώστε να δείχνει στο σημείο εισόδου της συνάρτησης του Linux, και όχι του &os;. Επίσης, το σύστημα συμβατότητας με Linux μπορεί και προσαρμόζει δυναμικά τις τοποθεσίες αναζήτησης. Ουσιαστικά αυτό κάνει και η επιλογή κατά την προσάρτηση ενός συστήματος αρχείων (δεν εννοούμε εδώ το σύστημα αρχείων unionfs!). Αρχικά, γίνεται απόπειρα να βρεθεί το αρχείο στον κατάλογο /compat/linux/original-path, και μόνο αν αυτό αποτύχει, θα γίνει αναζήτηση στον κατάλογο /original-path. Με τον τρόπο αυτό σιγουρεύουμε ότι τα εκτελέσιμα που χρειάζονται άλλα εκτελέσιμα θα τρέξουν (για παράδειγμα, το σύνολο εργαλείων του Linux μπορεί να εκτελεστεί μέσω της υποστήριξης του Linux ABI). Επίσης σημαίνει ότι τα εκτελέσιμα του Linux μπορούν να φορτώσουν και να εκτελέσουν αρχεία του &os; αν δεν μπορούν να εντοπίσουν τα αντίστοιχα αρχεία στο Linux. Μπορείτε επίσης να τοποθετήσετε μια εντολή &man.uname.1; μέσα στο /compat/linux προκειμένου τα αρχεία του Linux να μη μπορούν να αναγνωρίσουν ότι δεν χρησιμοποιούνται πραγματικά σε Linux. Ουσιαστικά, υπάρχει ένας πυρήνας Linux μέσα στον πυρήνα του &os;. Οι διάφορες λειτουργίες οι οποίες υλοποιούν όλες τις υπηρεσίες που παρέχονται από τον πυρήνα είναι ίδιες τόσο στον πίνακα κλήσεων συστήματος του &os; όσο και στον αντίστοιχο του Linux: λειτουργίες του συστήματος αρχείων, εικονική μνήμη, διαχείριση σημάτων, System V IPC κλπ. Η μόνη διαφορά είναι ότι το εκτελέσιμα του &os; κάνουν χρήση των συναρτήσεων glue του &os;, ενώ τα εκτελέσιμα του Linux, κάνουν χρήση των συναρτήσεων glue του Linux (πολλά από τα παλιά λειτουργικά είχαν τις δικές τους συναρτήσεις glue: οι διευθύνσεις των συναρτήσεων βρίσκονταν στο στατικό πίνακα sysent[], αντί να διευκρινίζονται μέσω ενός δυναμικού δείκτη στη δομή proc της διεργασίας που πραγματοποιεί την κλήση). Ποιο είναι όμως το εγγενές &os; ABI; Δεν έχει και πολύ σημασία. Η μόνη βασική διαφορά είναι (κάτι το οποίο μπορεί εύκολα να αλλάξει σε μελλοντικές εκδόσεις, και πολύ πιθανόν να αλλάξει) ότι οι συναρτήσεις glue του &os; είναι στατικά συνδεδεμένες στο πυρήνα, ενώ οι αντίστοιχες του Linux μπορούν είτε να είναι συνδεδεμένες στατικά, είτε να είναι προσβάσιμες μέσω ενός αρθρώματος πυρήνα. Είναι αυτό όμως πραγματική εξομοίωση; Όχι. Είναι μια υλοποίηση του ABI, όχι εξομοίωση. Δεν υπάρχει καμία εξομοίωση (ή προσομοίωση, για να προλάβουμε την επόμενη σας ερώτηση). Τότε γιατί μερικές φορές μιλάμε για εξομοίωση Linux; Για να δυσκολευτεί η προώθηση του &os;! Η αρχική υλοποίηση έγινε την εποχή όπου δεν υπήρχε άλλη λέξη που να μπορούσε να περιγράψει το τι ακριβώς γινόταν. Το να λέγαμε ότι το &os; έτρεχε εκτελέσιμα Linux δεν θα ήταν αλήθεια, μια και χρειαζόταν να ενσωματωθεί κάποιος κώδικας στον πυρήνα, ή να φορτωθεί κάποιο άρθρωμα. Χρειαζόταν κάποια λέξη που να περιγράφει τι φορτωνόταν—έτσι προέκυψε ο εξομοιωτής Linux.
diff --git a/el_GR.ISO8859-7/books/handbook/x11/chapter.sgml b/el_GR.ISO8859-7/books/handbook/x11/chapter.sgml index f46397b402..d508e87681 100644 --- a/el_GR.ISO8859-7/books/handbook/x11/chapter.sgml +++ b/el_GR.ISO8859-7/books/handbook/x11/chapter.sgml @@ -1,1800 +1,1869 @@ Ken Tom Ανανεώθηκε για τον X11 server του X.Org από τον Marc Fonvieille Το Σύστημα X Window Σύνοψη Το &os; χρησιμοποιεί το X11 για να παρέχει στους χρήστες ένα ισχυρό γραφικό περιβάλλον εργασίας. Το περιβάλλον X11 είναι μια υλοποίηση ανοικτού κώδικα του συστήματος X Window που περιλαμβάνει τόσο το &xorg; όσο και το &xfree86; (καθώς και άλλο λογισμικό που δεν περιγράφεται εδώ). Οι εκδόσεις του &os; μέχρι και την &os; 5.2.1-RELEASE διαθέτουν στην προεπιλεγμένη εγκατάσταση το &xfree86;, τον X11 server από The &xfree86; Project, Inc. Από το &os; 5.3-RELEASE και έπειτα, η προεπιλεγμένη και επίσημη διανομή του X11 άλλαξε στο &xorg;, τον X11 server που αναπτύχθηκε από το X.Org Foundation με άδεια χρήσης αρκετά όμοια με αυτή που χρησιμοποιείται από το &os;. Υπάρχουν επίσης διαθέσιμοι εμπορικοί X servers για το &os;. Αυτό το κεφάλαιο θα καλύψει την εγκατάσταση και ρύθμιση των X11 με έμφαση στην έκδοση &xorg.version; του &xorg;. Για πληροφορίες σχετικά με την ρύθμιση του &xfree86; (π.χ. σε παλιότερες εκδόσεις του &os; όπου το &xfree86; ήταν η προεπιλεγμένη διανομή X11), μπορείτε πάντα να ανατρέξετε στις αρχειοθετημένες εκδόσεις του &os; Handbook στο . Για περισσότερες πληροφορίες που σχετίζονται με τις κάρτες γραφικών που υποστηρίζονται από το περιβάλλον X11, δείτε την δικτυακή τοποθεσία &xorg;. Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε: Τα διάφορα τμήματα του συστήματος X Window, και πως συνεργάζονται μεταξύ τους. Πως να εγκαταστήσετε και να ρυθμίσετε το περιβάλλον X11. Πως να εγκαταστήσετε και να ρυθμίσετε διαφορετικούς διαχειριστές παραθύρων (window managers). Πως να χρησιμοποιήσετε &truetype; γραμματοσειρές στο X11. Πως να ρυθμίσετε το σύστημα σας για σύνδεση (login) μέσω γραφικού περιβάλλοντος (XDM). Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει: Να ξέρετε πως να εγκαταστήσετε πρόσθετο λογισμικό τρίτου κατασκευαστή (). Κατανόηση του περιβάλλοντος X11 Η χρήση του περιβάλλοντος X11 για πρώτη φορά μπορεί να προκαλέσει μια μικρή ταραχή σε όποιον έχει συνηθίσει σε άλλα γραφικά περιβάλλοντα, όπως τα µsoft.windows; ή το &macos;. Γενικά, δεν είναι απαραίτητο να καταλαβαίνετε με κάθε λεπτομέρεια των διαφόρων τμημάτων του X11 και πώς αλληλεπιδρούν μεταξύ τους. Κάποιες βασικές γνώσεις όμως, είναι χρήσιμες και βοηθούν στο να εκμεταλλευτείτε καλύτερα τις δυνατότητες του X11. Γιατί λέγεται X11 το περιβάλλον εργασίας; Το X δεν είναι το πρώτο περιβάλλον εργασίας που γράφτηκε για συστήματα &unix;, αλλά είναι σήμερα το πιο δημοφιλές. Η αρχική ομάδα ανάπτυξης του X είχε δουλέψει σε ένα άλλο σύστημα πριν γράψει το X. Το όνομα του παλιότερου συστήματος ήταν W (από την Αγγλική λέξη window). Το γράμμα X ήταν απλά το επόμενο γράμμα στο Λατινικό αλφάβητο. Μπορείτε να αναφέρεσθε στο X με τα ονόματα X, X Window System, X11, καθώς και με μερικούς άλλους όρους. Προσοχή όμως: κάποιοι άνθρωποι θεωρούν προσβλητικό τον όρο X Windows. Για περισσότερες πληροφορίες σχετικά με αυτό, δείτε τη σελίδα manual &man.X.7;. Το Μοντέλο Πελάτη/Διακομιστή των X11 Το περιβάλλον X11 έχει σχεδιαστεί από την αρχή έτσι ώστε να έχει εγγενή δικτυακή υποστήριξη, με βάση ένα μοντέλο πελάτη-διακομιστή. Στο μοντέλο λειτουργίας του X11, ο διακομιστής X εκτελείται στον υπολογιστή στον οποίο έχει συνδεθεί το πληκτρολόγιο, η οθόνη και το ποντίκι. Ο διακομιστής X είναι υπεύθυνος για τη διαχείριση της οθόνης, της εισόδου από το πληκτρολόγιο, το ποντίκι, κλπ. Κάθε εφαρμογή X (π.χ. το XTerm ή το &netscape;) είναι ένας πελάτης. Ένας πελάτης στέλνει μηνύματα στον διακομιστή όπως Παρακαλώ σχεδίασε ένα παράθυρο σε αυτές τις συντεταγμένες, και ο διακομιστής στέλνει πίσω μηνύματα όπως Ο χρήστης μόλις πάτησε το πλήκτρο OK. Σε ένα σπίτι ή ένα μικρό γραφείο, ο διακομιστής και οι πελάτες X συχνά εκτελούνται στον ίδιο υπολογιστή. Όμως, είναι απόλυτα εφικτό να εκτελείται ο διακομιστής X σε έναν λιγότερο ισχυρό επιτραπέζιο υπολογιστή, και να εκτελούνται οι εφαρμογές X (οι πελάτες) σε ένα, ας πούμε, ισχυρό και ακριβό μηχάνημα που εξυπηρετεί το γραφείο. Σε αυτό το σενάριο η επικοινωνία μεταξύ των πελατών X και του διακομιστή γίνεται μέσω δικτύου. Αυτό προκαλεί σύγχυση σε ορισμένους, επειδή η ορολογία του X είναι ακριβώς αντίθετη από ότι περίμεναν. Οι χρήστες συνήθως περιμένουν ο διακομιστής X να είναι ένα μεγάλο ισχυρό μηχάνημα σε ένα δωμάτιο και ο πελάτης X να είναι το μηχάνημα του γραφείου τους. Είναι σημαντικό να θυμάστε ότι ο διακομιστής X είναι το μηχάνημα με την οθόνη και το πληκτρολόγιο, και οι πελάτες X είναι τα προγράμματα που εμφανίζουν τα παράθυρα. Δεν υπάρχει τίποτα στο πρωτόκολλο που να αναγκάζει τα μηχανήματα των πελατών και του διακομιστή να εκτελούνται στο ίδιο λειτουργικό σύστημα, ή ακόμη να εκτελούνται στον ίδιο τύπο υπολογιστή. Είναι απόλυτα εφικτό να εκτελείται ένας διακομιστής X στα µsoft.windows; ή στο &macos; της Apple, και υπάρχουν διαθέσιμες διάφορες ελεύθερες και εμπορικές εφαρμογές που κάνουν ακριβώς αυτό. Ο Διαχειριστής Παραθύρων Η φιλοσοφία σχεδιασμού του X μοιάζει πολύ με την φιλοσοφία σχεδιασμού του &unix;, εργαλεία, όχι πολιτική. Αυτό σημαίνει ότι το X δεν προσπαθεί να υπαγορεύσει πως θα υλοποιηθεί μια εργασία. Αντίθετα, παρέχονται εργαλεία στον χρήστη, και είναι δική του ευθύνη να αποφασίσει πως θα τα χρησιμοποιήσει. Αυτή η φιλοσοφία επεκτείνεται στο ότι το X δεν υπαγορεύει πως πρέπει να εμφανίζονται τα παράθυρα στην οθόνη, πως θα μετακινηθούν με το ποντίκι, τι συνδυασμοί πλήκτρων πρέπει να χρησιμοποιηθούν για να μετακινηθούμε μεταξύ των παραθύρων (π.χ., Alt Tab , στην περίπτωση των µsoft.windows;), πώς πρέπει να μοιάζουν οι μπάρες τίτλων σε κάθε παράθυρο, αν θα έχουν ή όχι πλήκτρα κλεισίματος πάνω τους, κ.o.κ. Αντίθετα, το X αναθέτει αυτήν την ευθύνη σε μία εφαρμογή που ονομάζεται Διαχειριστής Παραθύρων. Υπάρχουν πάρα πολλοί διαχειριστές παραθύρων διαθέσιμοι για το περιβάλλον X. Ορισμένοι από αυτούς είναι οι: AfterStep, Blackbox, ctwm, Enlightenment, fvwm, Sawfish, twm, Window Maker, και πολλοί άλλοι. Κάθε ένας από αυτούς τους διαχειριστές παραθύρων έχει διαφορετική αίσθηση και εμφάνιση. Μερικοί από αυτούς υποστηρίζουν εικονικές επιφάνειες εργασίας, μερικοί επιτρέπουν προσαρμοσμένους συνδυασμούς πλήκτρων για την διαχείριση της επιφάνειας εργασίας, μερικοί έχουν ένα πλήκτρο Start ή κάτι παρόμοιο, μερικοί υποστηρίζουν θέματα (themes), επιτρέποντας την ολοκληρωτική αλλαγή εμφάνισης με την εφαρμογή ενός νέου θέματος. Οι διαχειριστές παραθύρων που έχουμε αναφέρει ως τώρα, και πολλοί άλλοι, είναι διαθέσιμοι στην κατηγορία x11-wm της συλλογής των Ports. Επιπλέον, τα δύο πιο δημοφιλή ολοκληρωμένα περιβάλλοντα εργασίας, το KDE και το GNOME, έχουν τον δικό τους διαχειριστή παραθύρων που είναι ενσωματωμένος με το υπόλοιπο περιβάλλον εργασίας. Κάθε διαχειριστής παραθύρων έχει επίσης και διαφορετικό μηχανισμό ρύθμισης: μερικοί ρυθμίζονται συμπληρώνοντας με χειροκίνητο τρόπο ένα αρχείο ρυθμίσεων, άλλοι διαθέτουν γραφικά εργαλεία για τις περισσότερες ρυθμίσεις. Υπάρχει ακόμα κι ένας (Sawfish) που έχει αρχείο ρυθμίσεων γραμμένο σε μια διάλεκτο της γλώσσας Lisp. Πολιτική Εστίασης Άλλο ένα θέμα για το οποίο είναι υπεύθυνος ο διαχειριστής παραθύρων είναι η πολιτική εστίασης του ποντικιού. Κάθε σύστημα παραθύρων χρειάζεται κάποιο τρόπο επιλογής του παραθύρου που θα δέχεται αυτά που πληκτρολογούνται, και θα πρέπει να φαίνεται κάπως ότι αυτό το παράθυρο είναι ενεργό. Μία γνωστή πολιτική εστίασης λέγεται click-to-focus. Αυτό το μοντέλο χρησιμοποιείται στα µsoft.windows;, όπου ένα παράθυρο γίνεται ενεργό αν δεχτεί ένα πάτημα του ποντικιού. Το X δεν υποστηρίζει καμία συγκεκριμένη πολιτική εστίασης. Αντίθετα, ο διαχειριστής παραθύρων ελέγχει ποίο παράθυρο έχει εστιαστεί κάθε στιγμή. Διαφορετικοί διαχειριστές παραθύρων υποστηρίζουν διαφορετικές μεθόδους εστίασης. Όλοι τους υποστηρίζουν την μέθοδο click to focus, και οι περισσότεροι από αυτούς υποστηρίζουν και αρκετές άλλες. Οι πιο δημοφιλείς μέθοδοι εστίασης είναι: focus-follows-mouse Το παράθυρο που βρίσκεται κάτω από τον δείκτη του ποντικιού είναι το παράθυρο που έχει την εστίαση. Το ενεργό παράθυρο δεν είναι απαραίτητο να είναι αυτό που βρίσκεται πάνω από όλα τα άλλα. Η εστίαση αλλάζει με την στόχευση ενός άλλου παραθύρου, χωρίς να είναι απαραίτητο το κλικ πάνω του. sloppy-focus Αυτή η πολιτική είναι μια μικρή επέκταση του focus-follows-mouse. Με την πολιτική εστίασης focus-follows-mouse, αν το ποντίκι βρεθεί πάνω από το αρχικό (root) παράθυρο (ή το παρασκήνιο) δεν υπάρχει εστίαση σε κανένα παράθυρο, και ότι πληκτρολογείται απλώς χάνεται. Με τη sloppy-focus, η εστίαση αλλάζει μόνο αν ο δείκτης βρεθεί πάνω από ένα νέο παράθυρο, και όχι όταν φεύγει από το τρέχον παράθυρο. click-to-focus Το ενεργό παράθυρο επιλέγεται με κλικ του ποντικιού. Το παράθυρο τότε ανασηκώνεται, και εμφανίζεται μπροστά από όλα τα άλλα παράθυρα. Ότι πληκτρολογηθεί θα οδηγηθεί σε αυτό το παράθυρο, ακόμα και αν ο δείκτης μετακινηθεί σε άλλο παράθυρο. Πολλοί διαχειριστές παραθύρων υποστηρίζουν ακόμα πιο εξωτικές πολιτικές εστίασης, καθώς και παραλλαγές των παραπάνω. Συμβουλευθείτε την τεκμηρίωση του εκάστοτε διαχειριστή παραθύρων για περισσότερες λεπτομέρειες. Γραφικά Στοιχεία Διεπαφής (Widgets) Η προσέγγιση του X να διαθέτει εργαλεία και όχι να υπαγορεύει τον τρόπο χρήσης τους, διευρύνεται και στα γραφικά στοιχεία διεπαφής (widgets) που φαίνονται στην οθόνη σε κάθε εφαρμογή. Τα widgets είναι ένας όρος για όλα τα αντικείμενα στο περιβάλλον του χρήστη που μπορεί κάποιος να κάνει κλικ ή να τα χειριστεί με κάποιον τρόπο: πλήκτρα, πλαίσια επιλογής, πλήκτρα εναλλαγής, εικονίδια, λίστες, και άλλα. Τα µsoft.windows; τα ονομάζουν controls (χειριστήρια). Τα µsoft.windows; και το &macos; της Apple έχουν και τα δύο πολύ αυστηρή πολιτική γραφικών στοιχείων διεπαφής. Οι προγραμματιστές εφαρμογών πρέπει υποτίθεται να εξασφαλίσουν ότι οι εφαρμογές τους θα έχουν κοινή αίσθηση και εμφάνιση (look and feel). Στο X, δεν θεωρήθηκε απαραίτητο να γίνει επιβολή ενός συγκεκριμένου στυλ γραφικών, ή να τεθούν κάποια υποχρεωτικά γραφικά στοιχεία διεπαφής. Σαν αποτέλεσμα, μην περιμένετε τις εφαρμογές για X να έχουν κοινή εμφάνιση. Υπάρχουν διάφορες δημοφιλείς συλλογές γραφικών στοιχείων διεπαφής και παραλλαγές τους, συμπεριλαμβανομένης και της αυθεντικής Athena συλλογής γραφικών στοιχείων διεπαφής του MIT, &motif; (παραλλαγή της οποίας είναι και η συλλογή γραφικών στοιχείων διεπαφής των µsoft.windows;, με λοξές γωνίες και τρεις διαβαθμίσεις του γκρι), το OpenLook, και άλλα. Οι περισσότερες νέες X εφαρμογές σήμερα χρησιμοποιούν μια συλλογή γραφικών στοιχείων διεπαφής με μοντέρνα εμφάνιση, είτε το Qt, που χρησιμοποιείται από το KDE, είτε το GTK+, που χρησιμοποιείται από το GNOME. Από αυτή την άποψη, υπάρχει κάποια σύγκλιση στην εμφάνιση του &unix; desktop, το οποίο οπωσδήποτε κάνει τα πράγματα ευκολότερα για τον νέο χρήστη. Εγκατάσταση του X11 Το &xorg; είναι η προεπιλεγμένη υλοποίηση X11 για το &os;. Το &xorg; είναι ο διακομιστής Χ της υλοποίησης X Window System του X.Org Foundation, και είναι ανοικτού κώδικα. Ο &xorg; είναι βασισμένος στον κώδικα του &xfree86 4.4RC2 και του X11R6.6. Η έκδοση του &xorg; που διατίθεται από την συλλογή των Ports του &os; είναι η &xorg.version;. Για να μεταγλωττίσετε και να εγκαταστήσετε το &xorg; από την συλλογή των Ports: &prompt.root; cd /usr/ports/x11/xorg &prompt.root; make install clean Για να μεταγλωττίσετε ολόκληρο το &xorg; σιγουρευθείτε ότι έχετε το λιγότερο 4 GB ελεύθερο χώρο διαθέσιμο. Εναλλακτικά, το X11 μπορεί να εγκατασταθεί άμεσα από πακέτα. Υπάρχουν διαθέσιμα έτοιμα πακέτα του Χ11 για χρήση με το εργαλείο &man.pkg.add.1;. Αν χρησιμοποιήσετε τη δυνατότητα του &man.pkg.add.1; για λήψη μέσω δικτύου, δεν θα πρέπει στην γραμμή εντολών να δώσετε τον αριθμό έκδοσης (version number) του πακέτου. Το &man.pkg.add.1; θα κατεβάσει αυτόματα την τελευταία έκδοση της εφαρμογής. Έτσι, για να γίνει η λήψη και η εγκατάσταση του &xorg;, απλώς εκτελέστε: &prompt.root; pkg_add -r xorg Τα παραπάνω παραδείγματα θα εγκαταστήσουν ολόκληρη την διανομή X11 που περιλαμβάνει διακομιστές, πελάτες, γραμματοσειρές κλπ. Διατίθενται επίσης ξεχωριστά, τμηματικά πακέτα και ports για το X11. Το υπόλοιπο του κεφαλαίου θα σας εξηγήσει πως ρυθμίζεται το X11, και πως να στήσετε ένα παραγωγικό desktop περιβάλλον. Christopher Shumway Συνεισφορά του Ρύθμιση του X11 &xorg; X11 Πριν ξεκινήσετε Πριν την ρύθμιση του X11 χρειάζονται οι ακόλουθες πληροφορίες για το σύστημα: Προδιαγραφές της οθόνης Chipset της κάρτας γραφικών Μνήμη της κάρτας γραφικών οριζόντιος ρυθμός ανανέωσης κατακόρυφος ρυθμός ανανέωσης Οι προδιαγραφές της οθόνης χρησιμοποιούνται από το X11 για να ορισθεί η ανάλυση και ο ρυθμός ανανέωσης στο οποίο θα λειτουργήσει. Οι προδιαγραφές αυτές βρίσκονται συνήθως στην τεκμηρίωση που συνοδεύει την οθόνη ή στην ιστοσελίδα του κατασκευαστή. Χρειάζονται δύο σειρές αριθμών, ο οριζόντιος ρυθμός ανανέωσης και ο κατακόρυφος ρυθμός ανανέωσης. Το chipset (ολοκληρωμένο κύκλωμα) της κάρτας γραφικών ορίζει ποίος οδηγός συσκευής θα χρησιμοποιηθεί από το X11 για την επικοινωνία με την κάρτα γραφικών. Για τα περισσότερα chipset, αυτό μπορεί να ανιχνευθεί αυτόματα, αλλά είναι χρήσιμο να το γνωρίζετε σε περίπτωση που δεν πετύχει η αυτόματη ανίχνευση. Η μνήμη της κάρτας γραφικών καθορίζει την ανάλυση και το βάθος χρώματος στο οποίο μπορεί να δουλέψει το σύστημα. Αυτό είναι σημαντικό ώστε να γνωρίζει ο χρήστης τα όρια του συστήματος. Ρύθμιση του X11 Από την έκδοση 7.3 και μετά, το &xorg; μπορεί συχνά να λειτουργήσει χωρίς κανένα αρχείο ρυθμίσεων, γράφοντας απλώς στη γραμμή εντολών: &prompt.user; startx Από την έκδοση 7.4 και μετά, το &xorg; έχει τη δυνατότητα να χρησιμοποιεί το HAL για την αυτόματη ανίχνευση του πληκτρολογίου και του ποντικιού. Τα ports sysutils/hal και devel/dbus εγκαθίστανται ως εξαρτήσεις του x11/xorg, αλλά θα πρέπει να ενεργοποιηθούν με τις ακόλουθες εγγραφές στο /etc/rc.conf: hald_enable="YES" dbus_enable="YES" Θα πρέπει να ξεκινήσετε τις υπηρεσίες αυτές (είτε χειροκίνητα, είτε κάνοντας επανεκκίνηση) πριν συνεχίσετε με τη ρύθμιση του &xorg;. Σε κάποιες περιπτώσεις, η αυτόματη ρύθμιση μπορεί να μη λειτουργήσει σωστά, ή να μη ρυθμίσει τις συσκευές ακριβώς όπως επιθυμείτε. Στις περιπτώσεις αυτές, θα χρειαστεί να κάνετε χειροκίνητες ρυθμίσεις. Κάποια γραφικά περιβάλλοντα, όπως το GNOME το KDE ή το XFCE, διαθέτουν εργαλεία που επιτρέπουν στο χρήστη να ρυθμίσει με εύκολο τρόπο διάφορες παραμέτρους της οθόνης, όπως η ανάλυση. Αν η προεπιλεγμένη ρύθμιση δεν είναι αποδεκτή, και σκοπεύετε να εγκαταστήσετε κάποιο από αυτά τα περιβάλλοντα, μπορείτε να συνεχίσετε με την εγκατάσταση του, και να ολοκληρώσετε τις ρυθμίσεις σας χρησιμοποιώντας το κατάλληλο γραφικό εργαλείο. Το πρώτο βήμα είναι η δημιουργία ενός αρχικού αρχείου ρυθμίσεων. Ως root, απλώς εκτελέστε: &prompt.root; Xorg -configure Αυτό θα δημιουργήσει ένα πρότυπο αρχείο ρυθμίσεων του X11 στον κατάλογο /root με το όνομα xorg.conf.new (είτε χρησιμοποιήσετε το &man.su.1; είτε συνδεθείτε απευθείας, η μεταβλητή καταλόγου $HOME αλλάζει δείχνοντας τον κατάλογο του root). Το X11 θα προσπαθήσει να ανιχνεύσει το υποσύστημα γραφικών του συστήματος και να δημιουργήσει ένα αρχείο ρυθμίσεων που θα φορτώνει τους σωστούς οδηγούς συσκευών για το υλικό που ανιχνεύθηκε στο σύστημα σας. Το επόμενο βήμα είναι ο έλεγχος των υπάρχοντων ρυθμίσεων για να επιβεβαιώσετε ότι το &xorg; λειτουργεί με το υποσύστημα γραφικών του συστήματος σας. Για εκδόσεις του &xorg; μέχρι το 7.3, πληκτρολογήστε: &prompt.root; Xorg -config xorg.conf.new Από το &xorg; 7.4 και μετά, το παραπάνω τεστ δείχνει μια μαύρη οθόνη η οποία κάνει δύσκολη τη διάγνωση καλής λειτουργίας του X11. Χρησιμοποιήστε την επιλογή για να αποκαταστήσετε την παλιότερη συμπεριφορά: &prompt.root; Xorg -config xorg.conf.new -retro Εάν εμφανιστεί ένα μαύρο και γκρι πλέγμα και ένας δείκτης ποντικιού με μορφή X, η ρύθμιση ήταν επιτυχής. Για να τερματίσετε τη δοκιμή, απλώς πιέστε Ctrl Alt Backspace ταυτόχρονα. Αυτός ο συνδυασμός πλήκτρων ήταν ενεργοποιημένος από προεπιλογή στις εκδόσεις του &xorg; μέχρι την 7.3. - Για να το ενεργοποιήσετε από την έκδοση 7.4 και μετά, προσθέστε την - παρακάτω γραμμή στην ενότητα ServerLayout ή - ServerFlags του αρχείου ρυθμίσεων: - - Option "DontZap" "Off" + Για να το ενεργοποιήσετε από την έκδοση 7.4 και μετά, μπορείτε + να δώσετε την παρακάτω εντολή σε κάποιο τερματικό του X: + + &prompt.user; setxkbmap -option terminate:ctrl_alt_bksp + + Εναλλακτικά, δημιουργήστε ένα αρχείο ρυθμίσεων πληκτρολογίου + για το hald με την ονομασία + x11-input.fdi και αποθηκεύστε το στον + κατάλογο /usr/local/etc/hal/fdi/policy. + Το αρχείο αυτό θα πρέπει να περιέχει τις παρακάτω γραμμές: + + <?xml version="1.0" encoding="ISO-8859-1"?> +<deviceinfo version="0.2"> + <device> + <match key="info.capabilities" contains="input.keyboard"> + <merge key="input.x11_options.XkbOptions" type="string">terminate:ctrl_alt_bksp</merge> + </match> + </device> +</deviceinfo> + + Θα χρειαστεί να επανεκκινήσετε το μηχάνημα σας για να + εξαναγκάσετε το hald να διαβάσει αυτό + το αρχείο. Αν το ποντίκι δεν λειτουργεί, θα χρειαστεί να το ρυθμίσετε πριν συνεχίσετε. Δείτε το στο κεφάλαιο εγκατάστασης του &os;. Επιπρόσθετα, από την έκδοση 7.4 και μετά, οι ενότητες InputDevice στο xorg.conf αγνοούνται καθώς γίνεται χρήση των συσκευών που ανιχνεύθηκαν αυτόματα. Για να επαναφέρετε την παλιά συμπεριφορά, προσθέστε την παρακάτω γραμμή στην ενότητα ServerLayout ή ServerFlags του αρχείου ρυθμίσεων: Option "AutoAddDevices" "false" Θα μπορείτε έπειτα να ρυθμίσετε τις συσκευές εισόδου όπως στις προηγούμενες εκδόσεις του &xorg;, χρησιμοποιώντας και όποιες άλλες επιλογές χρειάζεστε (π.χ. εναλλαγή πληκτρολογίου). + + Όπως εξηγήσαμε και προηγουμένως, από την έκδοση 7.4 και μετά + ο δαίμονας hald αναλαμβάνει να + ανιχνεύσει αυτόματα το πληκτρολόγιο σας. Υπάρχει περίπτωση να + μην γίνει σωστή ανίχνευση του μοντέλου ή της διάταξης, ωστόσο + κάποια γραφικά περιβάλλοντα όπως το + GNOME το KDE + και το Xfce παρέχουν τα δικά τους + εργαλεία για τη ρύθμιση του. Μπορείτε όμως να ρυθμίσετε τις + ιδιότητες του πληκτρολογίου και απευθείας, είτε μέσω του + βοηθητικού προγράμματος &man.setxkbmap.1; είτε με την προσθήκη + ενός κανόνα στο hald. + + Για παράδειγμα, αν κάποιος θέλει να χρησιμοποιήσει ένα + πληκτρολόγιο 102 πλήκτρων με γαλλική διάταξη, θα πρέπει να + δημιουργήσει ένα αρχείο ρυθμίσεων για το + hald με το όνομα + x11-input.fdi και να το αποθηκεύσει στον + κατάλογο /usr/local/etc/hal/fdi/policy. + Το αρχείο αυτό θα περιέχει τις παρακάτω γραμμές: + + <?xml version="1.0" encoding="ISO-8859-1"?> +<deviceinfo version="0.2"> + <device> + <match key="info.capabilities" contains="input.keyboard"> + <merge key="input.x11_options.XkbModel" type="string">pc102</merge> + <merge key="input.x11_options.XkbLayout" type="string">fr</merge> + </match> + </device> +</deviceinfo> + + Αν το αρχείο αυτό υπάρχει ήδη, απλώς αντιγράψτε τις παραπάνω + γραμμές μέσα στο υπάρχον περιεχόμενο. + + Θα πρέπει να επανεκκινήσετε το μηχάνημα σας για να + εξαναγκάσετε το hald να διαβάσει το + αρχείο. + + Μπορείτε επίσης να κάνετε την ίδια ρύθμιση μέσα από ένα + τερματικό στα Χ ή ακόμα και από ένα script, εκτελώντας την + παρακάτω εντολή: + + &prompt.user; setxkbmap -model pc102 -layout fr + + Μπορείτε να βρείτε τις διαθέσιμες επιλογές πληκτρολογίων και + διατάξεων στο αρχείο + /usr/local/share/X11/xkb/rules/base.lst. + + Ρύθμιση του X11 Έπειτα, προσαρμόστε το αρχείο ρυθμίσεων xorg.conf.new στις προτιμήσεις σας. Ανοίξτε το με έναν συντάκτη κειμένου όπως ο &man.emacs.1; ή ο &man.ee.1;. Πρώτα, προσθέστε τις συχνότητες της οθόνης. Συνήθως αναφέρονται ως οριζόντιοι και κατακόρυφοι ρυθμοί συγχρονισμού. Αυτές οι τιμές τοποθετούνται στο αρχείο xorg.conf.new στο Section "Monitor": Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 30-107 VertRefresh 48-120 EndSection Οι μεταβλητές HorizSync και VertRefresh μπορεί να μην υπάρχουν στο αρχείο ρυθμίσεων. Αν δεν υπάρχουν, πρέπει να προστεθούν, με τον σωστό οριζόντιο ρυθμό συγχρονισμού μετά την λέξη HorizSync και τον κατακόρυφο ρυθμό συγχρονισμού μετά την λέξη VertRefresh. Στο παραπάνω παράδειγμα, προσθέσαμε τους αντίστοιχους ρυθμούς ανανέωσης της οθόνης μας. Το X επιτρέπει τη χρήση των δυνατοτήτων DPMS (Energy Star) σε οθόνες που υποστηρίζουν την αντίστοιχη λειτουργία. Το πρόγραμμα &man.xset.1; ελέγχει τους χρόνους και μπορεί να επιβάλλει τις καταστάσεις standby, suspend, ή off. Αν θέλετε να ενεργοποιήσετε τις δυνατότητες DPMS της οθόνης σας, πρέπει να προσθέσετε την ακόλουθη γραμμή στο Section monitor: Option "DPMS" xorg.conf Όσο το αρχείο ρυθμίσεων xorg.conf.new είναι ακόμα ανοικτό σε έναν συντάκτη κειμένου, επιλέξτε την ανάλυση και το βάθος χρωμάτων που επιθυμείτε. Αυτό καθορίζεται στο Section "Screen": Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1024x768" EndSubSection EndSection Η μεταβλητή DefaultDepth ορίζει το προεπιλεγμένο βάθος χρώματος που θα χρησιμοποιηθεί. Μπορείτε να την παρακάμψετε με τον διακόπτη στη γραμμή εντολών του &man.Xorg.1;. Η επιλογή Modes ορίζει την ανάλυση με την οποία θα λειτουργεί η οθόνη σε ένα συγκεκριμένο βάθος χρωμάτων. Προσέξτε ότι υποστηρίζονται μόνο κανονικές καταστάσεις VESA, όπως ορίζονται από το υποσύστημα γραφικών του συστήματος. Στο παραπάνω παράδειγμα, το καθορισμένο βάθος χρωμάτων είναι εικοσιτέσσερα bits ανά pixel. Σε αυτό το βάθος χρωμάτων, η αποδεκτή ανάλυση είναι 1024Χ768 pixels. Τέλος, αποθηκεύστε το αρχείο ρυθμίσεων και ελέγξτε το με την μέθοδο ελέγχου που εξηγήσαμε παραπάνω. Ένα από τα εργαλεία που μπορεί να σας βοηθήσουν κατά την διαδικασία επίλυσης προβλημάτων, είναι τα αρχεία X11 log, που περιέχουν πληροφορίες για κάθε συσκευή που επικοινωνεί με τον διακομιστή X11. Τα αρχεία &xorg; log ονομάζονται με την μορφή /var/log/Xorg.0.log. Το ακριβές όνομα ενός log μπορεί να είναι Xorg.0.log έως Xorg.8.log και πάει λέγοντας. Αν όλα είναι καλά, το αρχείο ρυθμίσεων πρέπει να τοποθετηθεί σε μια κοινή τοποθεσία ώστε να εντοπίζεται από το &man.Xorg.1;. Αυτή συνήθως είναι η /etc/X11/xorg.conf ή /usr/local/etc/X11/xorg.conf. &prompt.root; cp xorg.conf.new /etc/X11/xorg.conf Η διαδικασία ρύθμισης του X11 έχει τώρα ολοκληρωθεί Το &xorg; μπορείτε να το ξεκινήσετε με το βοηθητικό πρόγραμμα &man.startx.1;. Ο διακομιστής X11 μπορεί επίσης να εκκινήσει με τη βοήθεια του &man.xdm.1;. Εξειδικευμένα Θέματα Ρυθμίσεων Ρυθμίσεις για τα &intel; i810 Graphics Chipsets Intel i810 graphic chipset Για να χρησιμοποιήσετε κάρτα βασισμένη στα &intel; i810 integrated chipsets, απαιτείται το agpgart, η διεπαφή προγραμματισμού των X11 για το AGP. Δείτε την σελίδα manual του προγράμματος οδήγησης &man.agp.4; για περισσότερες πληροφορίες. Mε αυτό τον τρόπο, η ρύθμιση του υλικού σας θα μπορεί να γίνει όπως και σε κάθε άλλη κάρτα γραφικών. Προσοχή, σε συστήματα χωρίς ενσωματωμένο τον οδηγό &man.agp.4;, ο οδηγός δεν θα φορτωθεί με την εντολή &man.kldload.8;. Ο οδηγός αυτός πρέπει να βρίσκεται στον πυρήνα κατά την εκκίνηση, είτε στατικά μεταγλωττισμένος, είτε με χρήση του /boot/loader.conf. Προσθέτοντας μια Widescreen Επίπεδη Οθόνη Ρύθμιση widescreen επίπεδης οθόνης Αυτό το τμήμα προϋποθέτει μερικές γνώσεις εξειδικευμένων ρυθμίσεων. Αν οι προσπάθειες με τα συνήθη εργαλεία ρυθμίσεων δεν καταλήξουν σε μια ρύθμιση που να λειτουργεί, υπάρχουν αρκετές πληροφορίες στα αρχεία log που μπορούν να σας βοηθήσουν. Ωστόσο, είναι απαραίτητη η χρήση ενός συντάκτη κειμένου. Οι τρέχουσες αναλύσεις widescreen (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, κ.α.) υποστηρίζουν formats και aspect ratios (αναλογίες) 16:10 και 16:9 που μπορεί να δημιουργήσουν προβλήματα. Παραδείγματα μερικών κοινών αναλύσεων για αναλογία 16:10 είναι τα: 2560x1600 1920x1200 1680x1050 1440x900 1280x800 Κάποια στιγμή, η ρύθμιση θα γίνεται πολύ απλά προσθέτοντας την ανάλυση ως ένα πιθανό Mode στο Section "Screen" όπως εδώ: Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1680x1050" EndSubSection EndSection Το &xorg; είναι αρκετά έξυπνο ώστε να ανακτήσει τις πληροφορίες της ανάλυσης της widescreen οθόνης μέσω των πληροφοριών I2C/DDC, γνωρίζοντας έτσι τι μπορεί να χειριστεί η οθόνη όσο αφορά τις συχνότητες και τις αναλύσεις. Αν αυτές οι ModeLines δεν υπάρχουν στους οδηγούς, μπορεί να χρειαστεί να τις δώσετε εσείς στο &xorg;. Χρησιμοποιώντας το /var/log/Xorg.0.log μπορείτε να ανακτήσετε αρκετές πληροφορίες ώστε να δημιουργήσετε μόνοι σας ένα ModeLine που να λειτουργεί. Απλώς αναζητήστε πληροφορίες που θα μοιάζουν με αυτό: (II) MGA(0): Supported additional Video Mode: (II) MGA(0): clock: 146.2 MHz Image Size: 433 x 271 mm (II) MGA(0): h_active: 1680 h_sync: 1784 h_sync_end 1960 h_blank_end 2240 h_border: 0 (II) MGA(0): v_active: 1050 v_sync: 1053 v_sync_end 1059 v_blanking: 1089 v_border: 0 (II) MGA(0): Ranges: V min: 48 V max: 85 Hz, H min: 30 H max: 94 kHz, PixClock max 170 MHz Αυτές ονομάζονται πληροφορίες EDID. Η δημιουργία ενός ModeLine από αυτές, γίνεται βάζοντας απλώς τους αριθμούς στη σωστή σειρά: ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings> Τελικά, το ModeLine στο Section "Monitor" στο παράδειγμα μας θα μοιάζει με αυτό: Section "Monitor" Identifier "Monitor1" VendorName "Bigname" ModelName "BestModel" ModeLine "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089 Option "DPMS" EndSection Τώρα που έχετε τελειώσει με αυτά τα απλά βήματα, το X θα πρέπει να λειτουργήσει στη νέα widescreen οθόνη σας. Murray Stokely Συνεισφορά του Χρήση Γραμματοσειρών στο X11 Γραμματοσειρές τύπου Type1 Οι προκαθορισμένες γραμματοσειρές που συνοδεύουν το X11 δεν είναι ιδανικές για εφαρμογές επιτραπέζιας τυπογραφίας. Οι μεγάλες γραμματοσειρές παρουσίασης φαίνονται οδοντωτές και ερασιτεχνικές, και οι μικρές γραμματοσειρές στο &netscape; είναι σχεδόν ακατάληπτες. Ευτυχώς όμως, υπάρχουν διαθέσιμες αρκετές, υψηλής ποιότητας γραμματοσειρές Type1 (&postscript;) που μπορούν να χρησιμοποιηθούν άμεσα από το X11. Για παράδειγμα, η συλλογή γραμματοσειρών URW (x11-fonts/urwfonts) περιέχει εκδόσεις υψηλής ποιότητας των συνηθισμένων type1 γραμματοσειρών (Times Roman, Helvetica, Palatino και άλλες). Η συλλογή Freefonts (x11-fonts/freefonts) περιέχει πολλές περισσότερες γραμματοσειρές, αλλά οι περισσότερες από αυτές είναι για λογισμικό γραφικών όπως το Gimp, και δεν είναι κατάλληλες για γραμματοσειρές οθόνης. Ακόμη, το X11 μπορεί με ελάχιστο κόπο να ρυθμιστεί ώστε να χρησιμοποιεί &truetype; γραμματοσειρές. Για περισσότερες λεπτομέρειες, δείτε την σελίδα manual &man.X.7; ή το τμήμα σχετικά με τις γραμματοσειρές &truetype;. Για να εγκαταστήσετε τις παραπάνω συλλογές γραμματοσειρών Type1 από την συλλογή των ports, εκτελέστε τις παρακάτω εντολές: &prompt.root; cd /usr/ports/x11-fonts/urwfonts &prompt.root; make install clean Με παρόμοιο τρόπο μπορείτε να εγκαταστήσετε και την freefont ή άλλες συλλογές. Για να ανιχνεύσει ο X server αυτές τις γραμματοσειρές, προσθέστε την κατάλληλη γραμμή στο αρχείο ρυθμίσεων του (/etc/X11/xorg.conf): FontPath "/usr/local/lib/X11/fonts/URW/" Εναλλακτικά, εκτελέστε στην γραμμή εντολών μιας συνόδου X: &prompt.user; xset fp+ /usr/local/lib/X11/fonts/URW &prompt.user; xset fp rehash Αυτό θα λειτουργήσει, αλλά όταν τερματίσει η σύνοδος X, οι ρυθμίσεις θα χαθούν, εκτός αν προστεθούν στο αρχείο εκκίνησης (το ~/.xinitrc για μία συνηθισμένη σύνοδο μέσω startx, η το ~/.xsession αν συνδέεστε μέσω ενός γραφικού διαχειριστή σύνδεσης όπως ο XDM). Ένας ακόμη τρόπος είναι να χρησιμοποιήσετε το αρχείο /usr/local/etc/fonts/local.conf: δείτε το τμήμα anti-aliasing (εξομάλυνσης). Γραμματοσειρές &truetype; Γραμματοσειρές TrueType γραμματοσειρές TrueType Το &xorg; έχει ενσωματωμένη υποστήριξη απεικόνισης γραμματοσειρών &truetype;. Υπάρχουν δύο διαφορετικά modules (αρθρώματα) που μπορούν να ενεργοποιήσουν αυτήν την λειτουργία. Σε αυτό το παράδειγμα χρησιμοποιείται το freetype module επειδή είναι πιο συνεργάσιμο με τα άλλα back-ends απεικόνισης γραμματοσειρών. Για να ενεργοποιήσετε το freetype module, απλώς προσθέστε την παρακάτω γραμμή στο τμήμα "Module" του αρχείου /etc/X11/xorg.conf. Load "freetype" Τώρα, δημιουργήστε έναν κατάλογο για τις γραμματοσειρές &truetype; (για παράδειγμα, /usr/local/lib/X11/fonts/TrueType) και αντιγράψτε όλες τις γραμματοσειρές &truetype; σε αυτόν. Προσέξτε ότι οι γραμματοσειρές &truetype; δεν μπορούν να είναι από ένα σύστημα &macintosh; πρέπει να είναι σε μορφή &unix;/&ms-dos;/&windows; για να λειτουργούν στο X11. Μόλις αντιγραφούν τα αρχεία στον κατάλογο, χρησιμοποιήστε το ttmkfdir για να δημιουργήσετε το αρχείο fonts.dir, ώστε ο X font renderer να γνωρίζει την ύπαρξη των νέων αυτών αρχείων. Το ttmkfdir διατίθεται από την συλλογή ports του &os; ως x11-fonts/ttmkfdir. &prompt.root; cd /usr/local/lib/X11/fonts/TrueType &prompt.root; ttmkfdir -o fonts.dir Τώρα, πρoσθέστε τον κατάλογο &truetype; στη διαδρομή των fonts. Αυτό γίνεται με τον ίδιο τρόπο που περιγράψαμε παραπάνω στις Type1 γραμματοσειρές, χρησιμοποιώντας το &prompt.user; xset fp+ /usr/local/lib/X11/fonts/TrueType &prompt.user; xset fp rehash ή απλά προσθέστε μια γραμμή FontPath στο αρχείο xorg.conf. Αυτό ήταν. Τώρα ο &netscape;, το Gimp, το &staroffice;, και όλες οι άλλες εφαρμογές X πρέπει να αναγνωρίζουν τις εγκαταστημένες &truetype; γραμματοσειρές. Πολύ μικρές γραμματοσειρές (όπως αυτές που φαίνονται στο κείμενο μιας ιστοσελίδας σε υψηλή ανάλυση) και πολύ μεγάλες γραμματοσειρές (στο &staroffice;) θα φαίνονται τώρα πολύ καλύτερα. Joe Marcus Clarke Ανανεώθηκε από τον Anti-Aliased Γραμματοσειρές anti-aliased γραμματοσειρές γραμματοσειρές anti-aliased Το anti-aliasing (εξομάλυνση γραμματοσειρών) διατίθεται στο X11 ήδη από το &xfree86; 4.0.2. Όμως, ή ρύθμιση των γραμματοσειρών ήταν δύσκολη πριν το &xfree86; 4.3.0. Από το &xfree86; 4.3.0 και μετά, όλες οι γραμματοσειρές X11 που βρίσκονται στο /usr/local/lib/X11/fonts/ και το ~/.fonts/ είναι έτοιμες για anti-aliasing σε Xft-aware εφαρμογές. Δεν είναι όλες οι εφαρμογές Xft-aware, αλλά πολλές υποστηρίζουν το Xft. Παραδείγματα Xft-aware εφαρμογών είναι το Qt από την έκδοση 2.3 και μετά (πρόκειται για το toolkit του KDE), το GTK+ από την έκδοση 2.0 και μετά (πρόκειται για το toolkit του GNOME), και ο Mozilla από την έκδοση 1.2 και μετά. Για να ελέγξετε ποίες γραμματοσειρές είναι anti-aliased, ή να ρυθμίσετε τις ιδιότητες του anti-aliasing, δημιουργήστε (ή τροποποιήστε, αν ήδη υπάρχει) το αρχείο /usr/local/etc/fonts/local.conf. Μέσω αυτού του αρχείου μπορούν να ρυθμιστούν αρκετά εξειδικευμένα χαρακτηριστικά του συστήματος γραμματοσειρών Xft. Αυτό το τμήμα περιγράφει μόνο μερικές απλές δυνατότητες. Για περισσότερες λεπτομέρειες, δείτε το &man.fonts-conf.5;. XML Το αρχείο αυτό πρέπει να είναι μορφής XML. Δώστε μεγάλη προσοχή στα πεζά / κεφαλαία, και σιγουρευθείτε ότι όλα τα tags έχουν κλείσει σωστά. Το αρχείο ξεκινά με την συνηθισμένη επικεφαλίδα XML και ένα ορισμό DOCTYPE, και έπειτα ακολουθεί το <fontconfig> tag: <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> Όπως είπαμε προηγουμένως, όλες οι γραμματοσειρές στο /usr/local/lib/X11/fonts/ όπως και στο ~/.fonts/ διατίθενται ήδη σε Xft-aware εφαρμογές. Αν θέλετε να προσθέσετε και άλλους καταλόγους εκτός από αυτούς τους δύο, προσθέστε μια γραμμή παρόμοια με αυτή που ακολουθεί στο /usr/local/etc/fonts/local.conf: <dir>/path/to/my/fonts</dir> Αφού προσθέσετε νέες γραμματοσειρές, και ειδικότερα νέους καταλόγους γραμματοσειρών, πρέπει να εκτελέσετε την ακόλουθη εντολή για να αναδημιουργήσετε την cache γραμματοσειρών: &prompt.root; fc-cache -f Το anti-aliasing κάνει τα άκρα ελαφρώς συγκεχυμένα, κάνοντας έτσι τα πολύ μικρά γράμματα πιο αναγνώσιμα, και αφαιρεί τις κλίμακες (σκαλοπάτια) από τα μεγάλα γράμματα, αλλά μπορεί να προκαλέσει ενοχλήσεις στα μάτια αν χρησιμοποιηθεί σε κανονικά μεγέθη. Για να εξαιρέσετε από το anti-aliasing μεγέθη γραμματοσειρών μικρότερα από 14 point, προσθέστε αυτές τις γραμμές: <match target="font"> <test name="size" compare="less"> <double>14</double> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match> <match target="font"> <test name="pixelsize" compare="less" qual="any"> <double>14</double> </test> <edit mode="assign" name="antialias"> <bool>false</bool> </edit> </match> γραμματοσειρές spacing Το spacing (διαστήματα) σε μερικές monospaced γραμματοσειρές μπορεί επίσης να είναι ακατάλληλο όταν χρησιμοποιείται anti-aliasing. Αυτό φαίνεται να αποτελεί ιδιαίτερο πρόβλημα με το KDE. Μια διόρθωση για αυτό, είναι να επιβάλλετε στο spacing την τιμή 100 για αυτές τις γραμματοσειρές. Προσθέστε τις ακόλουθες γραμμές: <match target="pattern" name="family"> <test qual="any" name="family"> <string>fixed</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match> <match target="pattern" name="family"> <test qual="any" name="family"> <string>console</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match> (αυτό μετονομάζει τα άλλα κοινά ονόματα των fixed γραμματοσειρών ως "mono"), και έπειτα προσθέστε: <match target="pattern" name="family"> <test qual="any" name="family"> <string>mono</string> </test> <edit name="spacing" mode="assign"> <int>100</int> </edit> </match> Συγκεκριμένες γραμματοσειρές, όπως οι Helvetica, μπορεί να εμφανίζουν πρόβλημα όταν είναι anti-aliased. Το πρόβλημα συχνά εκδηλώνεται ως μία γραμματοσειρά κομμένη κάθετα στην μέση. Στην χειρότερη περίπτωση, μπορεί να κάνει εφαρμογές όπως ο Mozilla να καταρρεύσουν. Για να το αποφύγετε αυτό, μπορείτε να προσθέσετε το ακόλουθο στο local.conf: <match target="pattern" name="family"> <test qual="any" name="family"> <string>Helvetica</string> </test> <edit name="family" mode="assign"> <string>sans-serif</string> </edit> </match> Μόλις τελειώσετε την μετατροπή του local.conf σιγουρευθείτε ότι κλείσατε το αρχείο με το </fontconfig> tag. Αν δεν το κάνετε, οι αλλαγές σας θα αγνοηθούν. Η συλλογή γραμματοσειρών που συνοδεύει το X11 δεν είναι ιδιαίτερα καλή όσο αφορά το anti-aliasing. Μπορείτε να βρείτε μια πολύ καλύτερη συλλογή προεπιλεγμένων γραμματοσειρών στο port x11-fonts/bitstream-vera Αυτό το port θα εγκαταστήσει το αρχείο /usr/local/etc/fonts/local.conf αν δεν υπάρχει ήδη. Αν το αρχείο υπάρχει, το port θα δημιουργήσει ένα αρχείο /usr/local/etc/fonts/local.conf-vera. Συγχωνεύστε τα περιεχόμενα αυτού του αρχείου με το /usr/local/etc/fonts/local.conf, και οι γραμματοσειρές Bitstream θα αντικαταστήσουν αυτόματα τις αρχικές X11 Serif, Sans Serif, και Monospaced. Τέλος, οι χρήστες μπορούν να προσθέσουν τις δικές τους ρυθμίσεις μέσω των προσωπικών τους αρχείων .fonts.conf. Για να γίνει αυτό, κάθε χρήστης πρέπει απλώς να δημιουργήσει ένα ~/.fonts.conf. Αυτό το αρχείο πρέπει να είναι επίσης XML μορφής. LCD οθόνη γραμματοσειρές LCD screen Κάτι τελευταίο: σε μία LCD οθόνη, μπορεί να είναι επιθυμητός ο δειγματισμός sub-pixel. Ο δειγματισμός χειρίζεται χωριστά τα (οριζόντια διαχωρισμένα) κόκκινα, πράσινα και μπλε στοιχεία ώστε να βελτιώσει την οριζόντια ανάλυση. Τα αποτελέσματα μπορεί να είναι δραματικά καλύτερα. Για να τον ενεργοποιήσετε, προσθέστε την παρακάτω γραμμή κάπου στο αρχείο local.conf: <match target="font"> <test qual="all" name="rgba"> <const>unknown</const> </test> <edit name="rgba" mode="assign"> <const>rgb</const> </edit> </match> Ανάλογα με τον τύπο της οθόνης, το rgb μπορεί να χρειαστεί να αλλάξει σε bgr, vrgb ή vbgr: πειραματιστείτε και δείτε ποίο λειτουργεί καλύτερα. Mozilla κατάργηση των anti-aliased γραμματοσειρών Το anti-aliasing θα πρέπει να ενεργοποιηθεί στην επόμενη εκκίνηση του διακομιστή X. Όμως, τα προγράμματα πρέπει να γνωρίζουν πώς να το εκμεταλλευθούν. Τη δεδομένη στιγμή, το Qt toolkit το γνωρίζει, έτσι όλο το περιβάλλον KDE μπορεί να χρησιμοποιήσει anti-aliased γραμματοσειρές. Το GTK+ και το GNOME μπορούν επίσης να χρησιμοποιήσουν το anti-aliasing μέσω του Font capplet (δείτε το για λεπτομέρειες). Εξ ορισμού, ο Mozilla από την έκδοση 1.2 και μετά χρησιμοποιεί αυτόματα το anti-aliasing. Για να το απενεργοποιήσετε, αναμεταγλωττίστε τον Mozilla με την επιλογή -DWITHOUT_XFT. Seth Kingsley Συνεισφορά του Ο X Display Manager Εισαγωγή X Display Manager Ο X Display Manager (XDM) είναι ένα προαιρετικό μέρος του συστήματος X Windows που χρησιμοποιείται για διαχείριση συνδέσεων (logins). Αυτό είναι χρήσιμο σε πολλές περιπτώσεις, όπως σε απλά X Terminals, σε desktop μηχανήματα, καθώς και σε διακομιστές μεγάλων δικτύων. Αφού το σύστημα X Windows είναι ανεξάρτητο πρωτοκόλλων και δικτύων, υπάρχει μεγάλο εύρος πιθανών ρυθμίσεων για την λειτουργία X πελατών και διακομιστών σε διαφορετικά μηχανήματα συνδεδεμένα σε ένα δίκτυο. Ο XDM παρέχει ένα γραφικό περιβάλλον για την επιλογή του διακομιστή με τον οποίο θα γίνει η σύνδεση, και για την είσοδο πληροφοριών πιστοποίησης όπως του ονόματος χρήστη και του κωδικού πρόσβασης. Σκεφθείτε τον XDM ως μια εφαρμογή που παρέχει τις ίδιες δυνατότητες στον χρήστη με το εργαλείο &man.getty.8; (δείτε το για λεπτομέρειες). Το XDM εκτελεί συνδέσεις (logins) στον διακομιστή και έπειτα εκτελεί ένα διαχειριστή συνεδρίας (session manager, συνήθως έναν X διαχειριστή παραθύρων, window manager) για λογαριασμό του χρήστη. Ο XDM έπειτα περιμένει να τερματίσει αυτό το πρόγραμμα, που σηματοδοτεί ότι ο χρήστης τελείωσε και πρέπει να αποσυνδεθεί. Σε αυτό το σημείο, ο XDM μπορεί να εμφανίσει ξανά την οθόνη εισόδου (login) και την οθόνη επιλογής γραφικής σύνδεσης ώστε να συνδεθεί ένας άλλος χρήστης. Χρήση του XDM Το πρόγραμμα XDM βρίσκεται στο /usr/local/bin/xdm. Αυτό το πρόγραμμα μπορεί να εκτελεστεί οποιαδήποτε στιγμή ως root και θα ξεκινήσει να διαχειρίζεται την οθόνη του X στο τοπικό μηχάνημα. Αν ο XDM πρέπει να εκτελείται κάθε φορά που εκκινείται το μηχάνημα, ένας βολικός τρόπος είναι η προσθήκη μιας γραμμής στο /etc/ttys. Για περισσότερες πληροφορίες σχετικά με την μορφή και την χρήση αυτού του αρχείου, δείτε το . Υπάρχει μία γραμμή στο αρχικό /etc/ttys αρχείο για την εκτέλεση του XDM σε ένα εικονικό τερματικό: ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure Αρχικά αυτή η λειτουργία είναι απενεργοποιημένη — για να την ενεργοποιήσετε αλλάξτε το πεδίο 5 από off σε on και επαννεκίνηστε το &man.init.8; χρησιμοποιώντας τις οδηγίες του . Το πρώτο πεδίο, το όνομα του τερματικού που θα διαχειρίζεται το πρόγραμμα, είναι το ttyv8. Αυτό σημαίνει ότι ο XDM θα εκτελείται στο 9ο εικονικό τερματικό. Ρύθμιση του XDM Ο κατάλογος ρυθμίσεων του XDM βρίσκεται στο /usr/local/lib/X11/xdm. Σε αυτόν τον κατάλογο υπάρχουν πολλά αρχεία που χρησιμοποιούνται για να αλλάξουν την συμπεριφορά και εμφάνιση του XDM. Τυπικά, θα βρείτε τα παρακάτω αρχεία: Αρχείο Περιγραφή Xaccess Κανόνες πιστοποίησης πελατών. Xresources Προκαθορισμένες τιμές X resource. Xservers Λίστα απομακρυσμένων και τοπικών οθονών (Χ displays) στις οποίες θα γίνεται διαχείριση. Xsession Προεπιλεγμένο script συνόδων για logins. Xsetup_* Script για την εκτέλεση εντολών πριν την εμφάνιση του περιβάλλοντος σύνδεσης (login screen). xdm-config Ρυθμίσεις για όλες τις απεικονίσεις (displays) που εκτελούνται σε αυτό το μηχάνημα. xdm-errors Λάθη που δημιουργούνται από το πρόγραμμα. xdm-pid Το ID της διεργασίας του τρέχοντος XDM. Επίσης σε αυτόν τον κατάλογο υπάρχουν μερικά scripts και προγράμματα που χρησιμοποιούνται για να ρυθμίσουν την επιφάνεια εργασίας όταν εκτελείται το XDM. Θα περιγράψουμε περιληπτικά το σκοπό καθενός από αυτά τα αρχεία. Η ακριβής σύνταξη και χρήση όλων αυτών των αρχείων περιγράφεται στο &man.xdm.1;. Η προκαθορισμένη ρύθμιση είναι ένα απλό ορθογώνιο παράθυρο σύνδεσης με το όνομα του μηχανήματος να φαίνεται στην κορυφή με μεγάλα γράμματα και τις προτροπές Login: και Password: από κάτω. Αυτό είναι ένα καλό σημείο εκκίνησης για να αλλάξετε την εμφάνιση του XDM. Xaccess Το πρωτόκολλο για σύνδεση με απεικονίσεις που ελέγχονται από το XDM ονομάζεται X Display Manager Connection Protocol (XDMCP). Το αρχείο αυτό είναι ένα σύνολο κανόνων για των έλεγχο των συνδέσεων XDMCP από απομακρυσμένα μηχανήματα. Αγνοείται, εκτός και αν το xdm-config έχει ρυθμιστεί ώστε να δέχεται εισερχόμενες συνδέσεις. Η προεπιλογή είναι να μην επιτρέπεται σε κανένα πελάτη να συνδεθεί. Xresources Πρόκειται για το αρχείο προκαθορισμένων τιμών για τις εφαρμογές εμφάνισης του παράθυρου σύνδεσης (login) και επιλογέα απεικόνισης (display chooser). Μέσα από αυτό μπορεί να τροποποιηθεί η εμφάνιση του προγράμματος login. Η μορφή του είναι ίδια με το αρχείο app-defaults που περιγράφεται στην τεκμηρίωση του X11. Xservers Αυτή είναι μια λίστα των απομακρυσμένων σταθμών που πρέπει να εμφανίζονται ως επιλογές στο πρόγραμμα (chooser). Xsession Αυτό είναι το προκαθορισμένο session script που εκτελεί το XDM μετά τη σύνδεση κάποιου χρήστη. Κανονικά, κάθε χρήστης θα έχει ένα τροποποιημένο, δικό του, session script στο ~/.xsession που θα παρακάμπτει αυτό το script. Xsetup_* Τα αρχεία αυτά εκτελούνται αυτόματα πριν την εμφάνιση των παραθύρων επιλογής ή σύνδεσης. Υπάρχει ένα script για κάθε display που χρησιμοποιείται, που ονομάζεται Xsetup_ με το νούμερο του display στο τέλος (για παράδειγμα Xsetup_0). Κανονικά αυτά τα scripts θα εκτελούν ένα ή δυο προγράμματα στο παρασκήνιο όπως π.χ. το xconsole. xdm-config Το αρχείο αυτό περιέχει ρυθμίσεις στην μορφή των app-defaults, που εφαρμόζονται σε κάθε display που διαχειρίζεται η συγκεκριμένη εγκατάσταση. xdm-errors Το αρχείο αυτό περιέχει την έξοδο των διακομιστών X που προσπαθεί να εκτελέσει το XDM. Αν ένα display που προσπαθεί να εκκινήσει o XDM κολλήσει για κάποιο λόγο, καλό είναι να αναζητήσετε εδώ τυχόν μηνύματα σφαλμάτων. Τα μηνύματα αυτά καταγράφονται και στα αρχεία χρηστών ~/.xsession-errors. Διατηρώντας έναν Διακομιστή Απομακρυσμένων Συνδέσεων Για να συνδέονται και άλλοι πελάτες στον διακομιστή οθόνης, τροποποιήστε τους κανόνες ελέγχου πρόσβασης, και ενεργοποιήστε τις εισερχόμενες συνδέσεις. Τα παραπάνω είναι, από προεπιλογή ρυθμισμένα σε συντηρητικές τιμές. Για να κάνετε το XDM να δέχεται συνδέσεις, αρχικά μετατρέψτε σε σχόλιο την παρακάτω γραμμή στο αρχείο xdm-config: ! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with xdm DisplayManager.requestPort: 0 και μετά επανεκκινήστε τον XDM. Να έχετε υπόψιν σας ότι τα σχόλια στα αρχεία app-defaults ξεκινούν με τον χαρακτήρα !, και όχι τον συνήθη #. Μπορεί να επιθυμείτε πιο αυστηρούς κανόνες ελέγχου πρόσβασης. Δείτε τα παραδείγματα στο Xaccess, και συμβουλευθείτε τη σελίδα manual του &man.xdm.1;. Αντικαταστάτες του XDM Υπάρχουν αρκετοί αντικαταστάτες για το πρόγραμμα XDM. Ένας από αυτούς, ο kdm (έρχεται με το KDE) αναλύεται αργότερα σε αυτό το κεφάλαιο. Ο kdm display manager προσφέρει πολλά προτερήματα στα γραφικά και διακοσμητικά στοιχεία, όπως επίσης και την δυνατότητα να επιλέγουν οι χρήστες τον επιθυμητό διαχειριστή παραθύρων την στιγμή της σύνδεσης. Valentino Vaschetto Συνεισφορά του Γραφικά Περιβάλλοντα Αυτό το τμήμα περιγράφει μερικά γραφικά περιβάλλοντα που διατίθενται για το X στο &os;. Η έννοια γραφικό περιβάλλον μπορεί να σημαίνει οτιδήποτε, από έναν απλό διαχειριστή παραθύρων μέχρι ένα ολοκληρωμένα πακέτο desktop εφαρμογών, όπως το KDE ή το GNOME. GNOME Σχετικά με το GNOME GNOME Το GNOME είναι ένα φιλικό προς τον χρήστη γραφικό περιβάλλον που επιτρέπει στους χρήστες να χρησιμοποιούν και να ρυθμίζουν εύκολα τους υπολογιστές τους. Το GNOME διαθέτει ένα panel (για την εκκίνηση εφαρμογών και την προβολή κατάστασης), επιφάνεια εργασίας (όπου εμφανίζονται δεδομένα και εφαρμογές), ένα πλήθος από διαδεδομένα εργαλεία και εφαρμογές, καθώς και ένα σύνολο τυποποιήσεων που επιτρέπει στις εφαρμογές να συνεργάζονται μεταξύ τους και να δείχνουν ένα συνεπές περιβάλλον εργασίας. Οι χρήστες άλλων λειτουργικών συστημάτων ή περιβάλλoντων θα αισθάνονται σαν στο σπίτι τους χρησιμοποιώντας το πανίσχυρο γραφικό περιβάλλον που παρέχει το GNOME. Περισσότερες πληροφορίες σχετικά με το GNOME στο &os; μπορούν να βρεθούν στο διαδικτυακό τόπο του &os; GNOME Project. Η τοποθεσία περιέχει επίσης και αναλυτικά FAQs σχετικά με την εγκατάσταση, την ρύθμιση, και την διαχείριση του GNOME. Εγκατάσταση του GNOME Το GNOME μπορεί να εγκατασταθεί εύκολα από πακέτα ή από την συλλογή των ports: Για να εγκαταστήσετε το έτοιμο πακέτο του GNOME από το δίκτυο, απλώς πληκτρολογήστε: &prompt.root; pkg_add -r gnome2 Για να μεταγλωττίσετε το GNOME από τον πηγαίο κώδικα, χρησιμοποιήστε την συλλογή των ports: &prompt.root; cd /usr/ports/x11/gnome2 &prompt.root; make install clean Μόλις εγκατασταθεί το GNOME, θα πρέπει να ρυθμιστεί ο διακομιστής X ώστε να εκκινεί το GNOME αντί για τον προκαθορισμένο διαχειριστή παραθύρων. Ο ευκολότερος τρόπος για να εκκινήσετε το GNOME είναι με το GDM, τον GNOME Display Manager. Το GDM, που εγκαθίσταται ως μέρος του GNOME (αλλά είναι ανενεργό αρχικά), μπορεί να ενεργοποιηθεί με την προσθήκη του gdm_enable="YES" στο /etc/rc.conf. Μόλις κάνετε επανεκκίνηση, το GNOME θα ξεκινήσει αμέσως μόλις συνδεθείτε — χωρίς να χρειάζεται περαιτέρω ρύθμιση. Το GNOME μπορεί επίσης να ξεκινήσει από την γραμμή εντολών ρυθμίζοντας κατάλληλα το αρχείο .xinitrc. Αν υπάρχει ήδη το αρχείο .xinitrc, απλώς αντικαταστήστε την γραμμή που εκκινεί τον τρέχοντα διαχειριστή παραθύρων με μία που να εκκινεί το /usr/local/bin/gnome-session. Αν δεν θέλετε να κάνετε περισσότερες ρυθμίσεις στο αρχείο, χρειάζεται απλά να γράψετε: &prompt.user; echo "/usr/local/bin/gnome-session" > ~/.xinitrc Έπειτα, πληκτρολογήστε startx, και θα ξεκινήσει το γραφικό περιβάλλον του GNOME Αν χρησιμοποιείτε κάποιο παλαιότερο display manager, όπως το XDM, το παραπάνω δεν θα λειτουργήσει. Στην περίπτωση αυτή, δημιουργήστε ένα εκτελέσιμο αρχείο .xsession το οποίο να περιέχει την ίδια εντολή. Τροποποιήστε το αρχείο .xsession και αντικαταστήστε την εντολή του τρέχοντος διαχειριστή παραθύρων με το /usr/local/bin/gnome-session: &prompt.user; echo "#!/bin/sh" > ~/.xsession &prompt.user; echo "/usr/local/bin/gnome-session" >> ~/.xsession &prompt.user; chmod +x ~/.xsession Άλλη μια επιλογή είναι να ρυθμιστεί ο display manager ώστε να επιτρέπει την επιλογή του διαχειριστή παραθύρων κατά την σύνδεση. Το τμήμα Λεπτομέρειες KDE εξηγεί πως μπορεί να γίνει αυτό μέσω του kdm, του display manager του KDE. Anti-aliased Γραμματοσειρές στο GNOME GNOME anti-aliased γραμματοσειρές Το X11 επιτρέπει το anti-aliasing μέσω της επέκτασης RENDER. Το GTK+ 2.0 (η βιβλιοθήκη που χρησιμοποιεί το GNOME) ή μεταγενέστερο μπορεί να χρησιμοποιήσει αυτή την δυνατότητα. Η ρύθμιση του anti-aliasing περιγράφεται στο . Έτσι, με ανανεωμένο λογισμικό, είναι εφικτό το anti-aliasing στο περιβάλλον του GNOME. Απλώς πηγαίνετε στο Applications Desktop Preferences Font, και επιλέξτε είτε το Best shapes, Best contrast, είτε το Subpixel smoothing (LCDs). Για κάποια εφαρμογή GTK+ που δεν ανήκει στο GNOME, θέστε την μεταβλητή περιβάλλοντος GDK_USE_XFT σε 1 πριν την ξεκινήσετε. KDE KDE Σχετικά με το KDE Το KDE είναι ένα σύγχρονο, εύκολο στη χρήση, γραφικό περιβάλλον. Μερικά πράγματα που προσφέρει το KDE στον χρήστη είναι: Ένα όμορφο σύγχρονο περιβάλλον Ένα περιβάλλον με πλήρη δικτυακή διαφάνεια Ένα ενσωματωμένο σύστημα βοήθειας που επιτρέπει εύκολη, συνεπή πρόσβαση στην βοήθεια για την χρήση του KDE και των εφαρμογών του Συνεπής εμφάνιση και συμπεριφορά όλων των εφαρμογών του KDE Τυποποιημένα menu και γραμμές εργαλείων (toolbars), συνδυασμοί πλήκτρων, χρωματικοί συνδυασμοί, κλπ. Διεθνείς ρυθμίσεις: το KDE διατίθεται σε περισσότερες από 40 γλώσσες Κεντρικό και συνεπές σύστημα ρυθμίσεων βασισμένο σε διαλόγους Μεγάλο αριθμό χρήσιμων εφαρμογών, σχεδιασμένων ειδικά για το KDE Το KDE συνοδεύεται από έναν περιηγητή (browser) που ονομάζεται Konqueror, και ανταγωνίζεται σοβαρά τους άλλους περιηγητές των συστημάτων &unix;. Περισσότερες πληροφορίες για το KDE μπορείτε να βρείτε στο KDE website. Για πληροφορίες σχετικές με το &os; και το KDE, συμβουλευθείτε τον διαδικτυακό τόπο του FreeBSD-KDE team. Υπάρχουν διαθέσιμες δύο εκδόσεις του KDE για το &os;. Η Έκδοση 3, κυκλοφορεί αρκετό καιρό και θεωρείται γενικά ώριμη. Στη Συλλογή των Ports θα βρείτε επίσης την Έκδοση 4 από τη νεότερη γενιά. Οι δύο αυτές εκδόσεις μπορούν μάλιστα να συνυπάρχουν στον ίδιο υπολογιστή. Εγκατάσταση του KDE Όπως και με το GNOME ή κάθε άλλο γραφικό περιβάλλον, το λογισμικό μπορεί να εγκατασταθεί εύκολα μέσω πακέτων ή από την συλλογή των Ports: Για να εγκαταστήσετε το KDE3 μέσω πακέτων από το δίκτυο, απλώς πληκτρολογήστε: &prompt.root; pkg_add -r kde Για να εγκαταστήσετε το KDE4 μέσω πακέτων από το δίκτυο, απλώς πληκτρολογήστε: &prompt.root; pkg_add -r kde4 Το &man.pkg.add.1; θα ανακτήσει αυτόματα την τελευταία έκδοση της εφαρμογής. Για να μεταγλωττίσετε το KDE3 από τον πηγαίο κώδικα, χρησιμοποιήστε τη Συλλογή των Ports: &prompt.root; cd /usr/ports/x11/kde3 &prompt.root; make install clean Για να μεταγλωττίσετε το KDE4 από τον πηγαίο κώδικα, χρησιμοποιήστε τη Συλλογή των Ports: &prompt.root; cd /usr/ports/x11/kde4 &prompt.root; make install clean Αφού εγκατασταθεί το KDE, θα πρέπει να ρυθμιστεί ο διακομιστής X ώστε να το εκκινεί αντί για τον προκαθορισμένο διαχειριστή παραθύρων. Αυτό γίνεται με την αλλαγή του αρχείου .xinitrc: Για το KDE3: &prompt.user; echo "exec startkde" > ~/.xinitrc Για το KDE4: &prompt.user; echo "exec /usr/local/kde4/bin/startkde" > ~/.xinitrc Τώρα, όποτε το X Window System εκκινείται μέσω του startx, το γραφικό περιβάλλον θα είναι το KDE. Αν χρησιμοποιείτε κάποιο display manager όπως το XDM, η ρύθμιση είναι λίγο διαφορετική. Θα πρέπει αντί για το .xinitrc να τροποποιήσετε το .xsession. Οδηγίες για το kdm δίνονται αργότερα στο κεφάλαιο αυτό. Περισσότερες Λεπτομέρειες για το KDE Τώρα που το KDE έχει εγκατασταθεί στο σύστημα, μπορείτε να ανακαλύψετε τις περισσότερες λειτουργίες μέσω των σελίδων βοήθειας ή δοκιμάζοντας μενού και επιλογές. Οι χρήστες των &windows; η του &mac; θα αισθάνονται σαν στο σπίτι τους. Η καλύτερη βοήθεια για το KDE είναι η on-line τεκμηρίωση. Το KDE συνοδεύεται από τον δικό του περιηγητή, τον Konqueror, πολλές χρήσιμες εφαρμογές, και αναλυτική τεκμηρίωση. Το υπόλοιπο αυτής της ενότητας συζητά τεχνικά θέματα που είναι δύσκολο να ανακαλυφθούν με δοκιμές. Ο KDE Display Manager KDE display manager Ο διαχειριστής ενός πολυχρηστικού συστήματος θέλει ενδεχομένως η σύνδεση των χρηστών να γίνεται μέσω γραφικού περιβάλλοντος. Όπως περιγράψαμε πρίν, μπορεί να χρησιμοποιηθεί το XDM. Όμως, το KDE περιέχει μια εναλλακτική επιλογή, το kdm, το οποίο έχει σχεδιαστεί να είναι ποίο ελκυστικό και παρέχει περισσότερες επιλογές κατά τη σύνδεση. Συγκεκριμένα, οι χρήστες μπορούν εύκολα να επιλέξουν (μέσω μενού) ποίο γραφικό περιβάλλον (KDE, GNOME, ή κάποιο άλλο) θα εκτελεστεί μετά την σύνδεση τους. Για να ενεργοποιήσετε το kdm, θα πρέπει να αλλάξετε το ttyv8 στο /etc/ttys. Η γραμμή θα μοιάζει με την παρακάτω: Για το KDE3: ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure Για το KDE4: ttyv8 "/usr/local/kde4/bin/kdm -nodaemon" xterm on secure Xfce Σχετικά με το Xfce Το Xfce είναι ένα γραφικό περιβάλλον που στηρίζεται στην βιβλιοθήκη GTK+ που χρησιμοποιείται και από το GNOME, αλλά είναι πολύ πιο ελαφρύ και προορίζεται για όσους θέλουν ένα απλό, αποτελεσματικό γραφικό περιβάλλον που είναι εύκολο να χρησιμοποιηθεί και να ρυθμιστεί. Οπτικά, μοιάζει πολύ με το CDE, που συναντάται σε εμπορικά συστήματα &unix;. Μερικά από τα χαρακτηριστικά του Xfce είναι: Ένα απλό, εύκολο στην χρήση γραφικό περιβάλλον Πλήρως παραμετροποιήσιμο με το ποντίκι, με drag and drop, κλπ. Κεντρικό panel παρόμοιο με του CDE, με μενού, μικρο-εφαρμογές και πλήκτρα εκκίνησης εφαρμογών Ολοκληρωμένος διαχειριστής παραθύρων, διαχειριστής αρχείων, διαχειριστής ήχου, συμβατότητα με το GNOME, και άλλα Δυνατότητα χρήσης θεμάτων (themes, αφού χρησιμοποιεί το GTK+) Γρήγορο, ελαφρύ και αποτελεσματικό: ιδανικό για παλαιότερα/πιο αργά μηχανήματα ή μηχανήματα με λίγη μνήμη Περισσότερες πληροφορίες για το Xfce μπορείτε να βρείτε στη δικτυακή τοποθεσία του Xfce. Εγκατάσταση του Xfce Υπάρχει (την ώρα που γράφονται αυτές οι γραμμές) έτοιμο πακέτο για το Xfce. Για να το εγκαταστήσετε, απλώς πληκτρολογήστε: &prompt.root; pkg_add -r xfce4 Εναλλακτικά, για να το μεταγλωττίσετε από τον πηγαίο κώδικα, χρησιμοποιήστε την συλλογή των ports: &prompt.root; cd /usr/ports/x11-wm/xfce4 &prompt.root; make install clean Τώρα, πείτε στον διακομιστή X να εκκινήσει το Xfce την επόμενη φορά που θα γίνει εκκίνηση του γραφικού περιβάλλοντος. Απλώς πληκτρολογήστε το παρακάτω: &prompt.user; echo "/usr/local/bin/startxfce4" > ~/.xinitrc Την επόμενη φορά που θα εκκινήσετε το Χ, θα εμφανιστεί το Xfce. Όπως και προηγουμένως, αν χρησιμοποιείτε κάποιο display manager όπως το XDM, δημιουργήστε ένα αρχείο .xsession, όπως περιγράφεται στην παράγραφο του GNOME, αλλά με την εντολή /usr/local/bin/startxfce4, ή ρυθμίστε τον display manager να επιτρέπει την επιλογή γραφικού περιβάλλοντος, όπως περιγράφεται στην παράγραφο σχετικά με το kdm.