# Εγκατάσταση και χρήση του Compiz Fusion

### Μανώλης Κιαγιάς

`<manolis@FreeBSD.org>`

$FreeBSD: doc/el_GR.ISO8859-7/articles/compiz-fusion/article.sgml,v 1.3 2008/12/08 03:10:50 keramida Exp $

Πνευματικά Δικαιώματα © 2008 Μανώλης Κιαγιάς

Το FreeBSD είναι ένα κατοχυρωμένο εμπορικό σύμβολο του FreeBSD Foundation.

Πολλές από τις λέξεις ή φράσεις οι οποίες χρησιμοποιούνται από τους κατασκευαστές ή τους πωλητές τους για να διακρίνουν τα προϊόντα τους θεωρούνται εμπορικά σύμβολα. Όπου αυτές εμφανίζονται σε αυτό το κείμενο και για όσες από αυτές γνωρίζει η Ομάδα Ανάπτυξης του FreeBSD ότι είναι πιθανόν να είναι εμπορικά σύμβολα, θα δείτε ένα από τα σύμβολα: «"» ή «®».

Η πιο πρόσφατη «μόδα» στον κόσμο του Linux® είναι αναμφίβολα τα τρισδιάστατα εφέ στο desktop. Αν και η χρησιμότητα τους έχει αμφισβητηθεί, δεν παύουν να εντυπωσιάζουν και να παραμένουν συνέχεια στη δημοσιότητα. Τα εφέ αυτά υλοποιούνται με τη βοήθεια διάφορων προγραμμάτων όπως τα Compiz, Beryl, και το πιο πρόσφατο Compiz Fusion. Δεν χρειάζεται να στερείστε αυτά τα εφέ όταν χρησιμοποιείτε το FreeBSD. Οι οδηγίες που ακολουθούν θα σας βοηθήσουν να εγκαταστήσετε και να ρυθμίσετε στο σύστημα σας τα προγράμματα που απαιτούνται για να έχετε τα πλέον πρόσφατα τρισδιάστατα εφέ που προσφέρει το Compiz Fusion χρησιμοποιώντας (αν χρειάζεται) και την κατάλληλη έκδοση των προγραμμάτων οδήγησης γραφικών της nVidia.

[ HTML σε τμήματα / HTML σε ένα τμήμα ]

## 1 Εισαγωγή

H εγκατάσταση του Compiz Fusion από την συλλογή των Ports, είναι μια σχετικά απλή διαδικασία. Χρειάζονται, όμως, και κάποιες επιπλέον ρυθμίσεις, οι οποίες δεν περιγράφονται στην τεκμηρίωση του port. Το άρθρο αυτό θα σας βοηθήσει να ρυθμίσετε τον Xorg server για τρισδιάστατη λειτουργία, να ρυθμίσετε την nVidia κάρτα γραφικών σας, και τελικά να εγκαταστήσετε και να εκτελέσετε την εφαρμογή `compiz`.

Αφού διαβάσετε αυτό το άρθρο, θα ξέρετε:

- Πως να ρυθμίσετε το πιο πρόσφατο πρόγραμμα οδήγησης της nVidia (αν απαιτείται) για το σύστημα σας.

- Πως να ρυθμίσετε το αρχείο `xorg.conf` για να μπορέσετε να ενεργοποιήσετε τα τρισδιάστατα εφέ.

- Πως να εγκαταστήσετε και να ρυθμίσετε το Compiz Fusion χρησιμοποιώντας την συλλογή των Ports.

- Πως να αντιμετωπίσετε συνηθισμένα προβλήματα που αφορούν τα τρισδιάστατα εφέ.

## 2 Ρύθμιση των προγραμμάτων οδήγησης της nVidia για το FreeBSD

Τα τρισδιάστατα εφέ απαιτούν αρκετή ισχύ επεξεργασίας από την κάρτα γραφικών σας. Αν χρησιμοποιείτε κάποια κάρτα γραφικών που βασίζεται σε κυκλώματα της nVidia, θα πρέπει να εγκαταστήσετε και να ρυθμίσετε το πρόγραμμα οδήγησης που παρέχεται από την εταιρία για το FreeBSD, χρησιμοποιώντας την έκδοση που είναι κατάλληλη για το σύστημα σας. Αν χρησιμοποιείτε κάποια άλλη κάρτα, που όμως γνωρίζετε ότι μπορεί να ανταποκριθεί στις απαιτήσεις των εφέ, μπορείτε να παραλείψετε αυτή την ενότητα και να συνεχίσετε με την ρύθμιση του `xorg.conf`.

### 2.1 Προσδιορίστε το σωστό πρόγραμμα οδήγησης

Υπάρχουν διάφορες εκδόσεις των προγραμμάτων οδήγησης της nVidia στη συλλογή των ports. Η επιλογή του σωστού προγράμματος για το σύστημα σας, εξαρτάται από το μοντέλο (και την παλαιότητα) της κάρτας γραφικών σας:

- Οι τελευταίες εκδόσεις των καρτών nVidia, υποστηρίζονται από το port `x11/nvidia-driver`.

- Κάρτες της nVidia που ανήκουν στις σειρές GeForce 2MX/3/4 υποστηρίζονται από τα προγράμματα οδήγησης της σειράς 96 τα οποία διατίθενται μέσω του port `x11/nvidia-driver-96xx`.

- Ακόμα πιο παλιές κάρτες, όπως οι GeForce και RIVA TNT υποστηρίζονται από τη σειρά 71 των προγραμμάτων οδήγησης, τα οποία διατίθενται μέσω του port `x11/nvidia-driver-71xx`.

Στην πραγματικότητα, η nVidia παρέχει λεπτομερείς πληροφορίες σχετικά με το ποια κάρτα υποστηρίζεται από ποιο πρόγραμμα οδήγησης. Οι πληροφορίες αυτές διατίθενται απευθείας από το δικτυακό τους τόπο: http://www.nvidia.com/object/IO_32667.html.

### 2.2 Εγκατάσταση του προγράμματος οδήγησης της nVidia

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

> Σημείωση: Βεβαιωθείτε ότι έχετε ανανεώσει τη συλλογή των ports, χρησιμοποιώντας τη μέθοδο που προτιμάτε (π.χ. csup, CVSup ή portsnap) πριν εγκαταστήσετε οποιαδήποτε εφαρμογή από τα ports. Τα προγράμματα οδήγησης των καρτών γραφικών, καθώς και τα προγράμματα τρισδιάστατων εφέ, είναι υπό συνεχή εξέλιξη και εμφανίζονται τακτικά νέες εκδόσεις.

Για παράδειγμα, για να εγκαταστήσετε το τελευταίο πρόγραμμα οδήγησης:

    # cd /usr/ports/x11/nvidia-driver
    # make install clean

Το πρόγραμμα οδήγησης θα δημιουργήσει ένα άρθρωμα (module) για τον πυρήνα, το οποίο θα πρέπει να φορτωθεί στην εκκίνηση του συστήματος. Θα χρειαστεί να προσθέσετε την ακόλουθη γραμμή στο αρχείο `/boot/loader.conf`:

    nvidia_load="YES"

> Σημείωση: Μπορείτε να φορτώσετε το άρθρωμα απευθείας στον πυρήνα που εκτελείται τη δεδομένη χρονική στιγμή χρησιμοποιώντας την εντολή `kldload nvidia`, αλλά έχει παρατηρηθεί ότι οι τελευταίες εκδόσεις του Xorg δεν λειτουργούν σωστά αν το πρόγραμμα οδήγησης δεν φορτωθεί κατά την εκκίνηση του συστήματος. Για το λόγο αυτό, σας συνιστούμε να επανεκκινήσετε το σύστημα σας μετά την προσθήκη της καταχώρησης στο αρχείο `/boot/loader.conf`.

Έχοντας φορτώσει το άρθρωμα στον πυρήνα, χρειάζεται μόνο μια μικρή αλλαγή σε μια γραμμή του αρχείου `xorg.conf` για να ενεργοποιήσετε το πρόγραμμα οδήγησης.

Βρείτε την ακόλουθη γραμμή στο `/etc/X11/xorg.conf`:

    Driver      "nv"

και αλλάξτε την σε:

    Driver      "nvidia"

Όταν ξεκινήσετε το γραφικό περιβάλλον με το συνήθη τρόπο, θα δείτε την οθόνη χαιρετισμού της nVidia. Όλα θα πρέπει να λειτουργούν κανονικά. Σημειώστε ωστόσο, ότι στο σημείο αυτό δεν έχει ακόμα ρυθμιστεί το Xorg για τρισδιάστατα εφέ. Η ρύθμιση αυτή περιγράφεται παρακάτω.

> Σημείωση: Αν και δεν είναι οπωσδήποτε απαραίτητο, μπορείτε επίσης να εγκαταστήσετε τα ports `x11/nvidia-xconfig` και `x11/nvidia-settings`. Το πρώτο μπορεί να σας βοηθήσει να ρυθμίσετε το `/etc/X11/xorg.conf` μέσω της γραμμής εντολών, ενώ το δεύτερο θα σας επιτρέψει να αλλάζετε ρυθμίσεις στην οθόνη μέσα από γραφικό περιβάλλον και ενώ εκτελείται το Xorg.

## 3 Ρύθμιση του xorg.conf για τρισδιάστατα εφέ

Πριν εγκαταστήσετε και εκτελέσετε το Compiz Fusion, θα πρέπει να προσθέσετε μερικές ρυθμίσεις στο `/etc/X11/xorg.conf`:

Προσθέστε τις ακόλουθες γραμμές για να ενεργοποιηθούν τα εφέ τύπου composite:

    Section "Extensions"
    Option         "Composite" "Enable"
    EndSection

Εντοπίστε το τμήμα «Screen» το οποίο θα μοιάζει με το παρακάτω:

    Section "Screen"
    Identifier     "Screen0"
    Device         "Card0"
    Monitor        "Monitor0"
    ...

και προσθέστε τις δύο γραμμές που ακολουθούν (μπορείτε να τις βάλετε μετά την καταχώρηση «Monitor»):

    DefaultDepth    24
    Option         "AddARGBGLXVisuals" "True"

Εντοπίστε το «Subsection» το οποίο αναφέρεται στην επιθυμητή ανάλυση οθόνης. Για παράδειγμα, αν θέλετε να χρησιμοποιήσετε ανάλυση 1280x1024, βρείτε την ενότητα που φαίνεται στο παράδειγμα. Αν δεν υπάρχει ενότητα που να αναφέρεται στην επιθυμητή ανάλυση, μπορείτε να την προσθέσετε χειροκίνητα:

    SubSection     "Display"
    Viewport    0 0
    Modes      "1280x1024"
    EndSubSection

Για τη λειτουργία των εφέ, απαιτείται βάθος χρώματος 24bits. Αλλάξτε το παραπάνω ώστε να δείχνει:

    SubSection     "Display"
    Viewport    0 0
    Depth       24
    Modes      "1280x1024"
    EndSubSection

Τέλος, επιβεβαιώστε ότι φορτώνονται τα αρθρώματα «glx» και «extmod» μέσα από το τμήμα «Module»:

    Section "Module"
    Load           "extmod"
    Load           "glx"
    ...

> Σημείωση: Αν έχετε εγκαταστήσει το port `x11/nvidia-xconfig`, μπορείτε να κάνετε τις περισσότερες από τις παραπάνω ρυθμίσεις δίνοντας τις ακόλουθες εντολές (ως root):

>     # nvidia-xconfig --add-argb-glx-visuals
>     # nvidia-xconfig --composite
>     # nvidia-xconfig --depth=24

> Αν θέλετε να δείτε όλες τις δυνατότητες του παραπάνω προγράμματος, δώστε την εντολή `nvidia-xconfig -A | more`.

## 4 Εγκατάσταση και ρύθμιση Compiz Fusion

Η εγκατάσταση του Compiz Fusion είναι το ίδιο απλή με οποιοδήποτε άλλο πρόγραμμα:

    # cd /usr/ports/x11-wm/compiz-fusion
    # make install clean

Βεβαιωθείτε ότι επιλέξατε τα «EXTRA» plugins και το «EMERALD» window decorator από τη λίστα επιλογών που θα εμφανιστεί. Αν χρησιμοποιείτε GNOME, ή έχετε εγκαταστήσει στο σύστημα σας υποστήριξη `gconf`, μπορείτε επίσης να επιλέξετε «gconf support». Με τον τρόπο αυτό, οι ρυθμίσεις των εφέ θα ενσωματωθούν με τις άλλες ρυθμίσεις που έχετε κάνει στο γραφικό περιβάλλον σας, και θα μπορείτε να τις δείτε χρησιμοποιώντας το `gconf-editor`. Ωστόσο, το Compiz Fusion μπορεί να αποθηκεύσει τις ρυθμίσεις του και σε απλά αρχεία κειμένου, αν δεν επιθυμείτε τέτοιου είδους ολοκλήρωση. Στην περίπτωση αυτή, θα δημιουργηθεί ο κατάλογος `.compizconfig` μέσα στον προσωπικό σας κατάλογο.

Μετά το τέλος της εγκατάστασης, ξεκινήστε το γραφικό περιβάλλον και σε ένα τερματικό, δώστε (ως απλός χρήστης) τις ακόλουθες εντολές:

    % compiz --replace --sm-disable --ignore-desktop-hints ccp &
    % emerald --replace &

Η οθόνη σας θα τρεμοπαίξει για λίγα δευτερόλεπτα, καθώς θα γίνεται αντικατάσταση του τρέχοντος διαχειριστή παραθύρων σας (π.χ. Metacity αν χρησιμοποιείτε περιβάλλον GNOME) από το Compiz Fusion. Η εφαρμογή Emerald αναλαμβάνει τις διακοσμήσεις των παραθύρων (π.χ. τα πλήκτρα για κλείσιμο, μεγιστοποίηση, ελαχιστοποίηση, τις μπάρες τίτλων κ.ο.κ.).

Μπορείτε να μετατρέψετε το παραπάνω σε ένα απλοϊκό script το οποίο να εκτελείται αυτόματα κατά την εκκίνηση του περιβάλλοντος (π.χ. προσθέτοντας το στο «Sessions» στο γραφικό περιβάλλον GNOME):

    #! /bin/sh
    compiz --replace --sm-disable --ignore-desktop-hints ccp &
    emerald --replace &

Αποθηκεύστε το στον κατάλογο σας, για παράδειγμα με το όνομα `start-compiz` και δώστε του δικαιώματα εκτέλεσης:

    % chmod +x ~/start-compiz

Χρησιμοποιήστε έπειτα τα γραφικά εργαλεία για να το προσθέσετε στα προγράμματα εκκίνησης, Startup Programs (βρίσκεται στο System, Preferences, Sessions στο περιβάλλον εργασίας GNOME).

Για να ρυθμίσετε όπως θέλετε τα εφέ, εκτελέστε (πάλι ως κανονικός χρήστης) την εφαρμογή Compiz Config Settings Manager:

    % ccsm

> Σημείωση: Στο GNOME, μπορείτε να βρείτε την εφαρμογή αυτή στο μενού System, Preferences.

Αν επιλέξατε «gconf support» κατά τη μεταγλώττιση, θα μπορείτε επίσης να δείτε τις ρυθμίσεις σας μέσω του `gconf-editor`, στην ενότητα `apps/compiz`.

## 5 Αντιμετώπιση προβλημάτων του Compiz Fusion

Η ακόλουθη ενότητα καλύπτει συχνές ερωτήσεις που αφορούν προβλήματα κατά την εκτέλεση του Compiz Fusion.

5.1. Έχω εγκαταστήσει το Compiz Fusion, και μετά την εκτέλεση των εντολών που περιγράφετε, τα παράθυρα μου δεν έχουν πλέον μπάρες τίτλων και πλήκτρα ελέγχου. Που είναι το λάθος;
5.2. Όταν εκτελώ την εντολή για να ξεκινήσει το Compiz Fusion, ο X server τερματίζεται απότομα και επιστρέφω στην κονσόλα. Που είναι το λάθος;

5.1. Έχω εγκαταστήσει το Compiz Fusion, και μετά την εκτέλεση των εντολών που περιγράφετε, τα παράθυρα μου δεν έχουν πλέον μπάρες τίτλων και πλήκτρα ελέγχου. Που είναι το λάθος;

Το πιθανότερο είναι ότι σας λείπει κάποια ρύθμιση στο `/etc/X11/xorg.conf`. Ελέγξτε προσεκτικά το αρχείο, και ειδικά τις καταχωρήσεις `DefaultDepth` και `AddARGBGLXVisuals`.

5.2. Όταν εκτελώ την εντολή για να ξεκινήσει το Compiz Fusion, ο X server τερματίζεται απότομα και επιστρέφω στην κονσόλα. Που είναι το λάθος;

Αν ελέγξετε το αρχείο `/var/log/Xorg.0.log`, θα δείτε πιθανόν κάποια σφάλματα κατά την εκκίνηση του Χ. Το πιο κοινό σφάλμα είναι:

    (EE) NVIDIA(0):     Failed to initialize the GLX module; please check in your X
    (EE) NVIDIA(0):     log file that the GLX module has been loaded in your X
    (EE) NVIDIA(0):     server, and that the module is the NVIDIA GLX module.  If
    (EE) NVIDIA(0):     you continue to encounter problems, Please try
    (EE) NVIDIA(0):     reinstalling the NVIDIA driver.

Αυτό συνήθως συμβαίνει μετά από κάποια αναβάθμιση της εφαρμογής Xorg. Θα πρέπει να επανεγκαταστήσετε το port `x11/nvidia-driver` ώστε να μεταγλωττιστεί από την αρχή και το άρθρωμα glx.

Αυτό το κείμενο, και άλλα κείμενα, μπορεί να βρεθεί στο ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Για ερωτήσεις σχετικά με το FreeBSD, διαβάστε την τεκμηρίωση πριν να επικοινωνήσετε με την <questions@FreeBSD.org>.
Για ερωτήσεις σχετικά με αυτή την τεκμηρίωση, στείλτε e-mail στην <doc@FreeBSD.org>.