Ubuntu 8.04: Compiz + KDE + Nvidia
Ιουλίου 30, 2008
Κάθε φορά που πρέπει για κάποιο λόγο να βγάλω και να ξαναβάλω το compiz ή κάτι πάει στραβά σε κάποιο update, reconfigure ή άλλο πείραμά μου πρέπει να ξαναψάχνω τι έκανα από την αρχή… Αυτή τη φορά όμως θα καταγράψω την εύκολη λύση (με μερικές ρυθμίσεις να γίνονται και μέσω GUI) για να υπάρχει κάπου κι αυτή για ώρα ανάγκης!!!
( Φοβάμαι ότι τελικά αυτό το blog θα καταλήξει να έχει posts για οτιδήποτε χαλάω…
)
Λοιπόν!
Βήμα 1: Εγκαθιστούμε τους nvidia drivers…
Μέχρι τώρα για την εγκατάσταση των drivers της nvidia χρησιμοποιούσα apt-get install και διάλεγα τους legacy drivers. Στο 99,9% των περιπτώσεων τα έκανα λίγο σαλάτα μετά με το compiz και όταν δούλευε συνήθως ήταν κατά τύχη μετά από άπειρες δοκιμές… Ένας απλός τρόπος να βάλουμε κατευθείαν το σωστό driver, είναι χρησιμοποιώντας το πρόγραμμα Envy που υπάρχει στα repositories και λειτουργεί είτε σε κονσόλα είτε σε GUI (υπάρχει qt version για KDE και gtk για Gnome).
Σε μια κονσόλα γράφουμε τα εξής:
sudo apt-get install envyng-gtk envyng-core
Αν θέλουμε να χρησιμοποιήσουμε GUI ανοίγουμε το Envy και επιλέγουμε αυτόματο εντοπισμό υλικού όπως στην επόμενη εικόνα:
Αν θέλουμε να βάλουμε το σωστό driver από κονσόλα γράφουμε
envyng -t
και επιλέγουμε 1.
Βήμα 2: Εγκαθιστούμε τον xorg-xgl server για σιγουριά (προσπάθησα με xorg/aiglx αλλά δεν έπαιζε…)
$ sudo apt-get install xorg-xgl
Βήμα 3: Πρέπει να εγκαταστήσουμε το compiz και μερικές βοηθητικές εφαρμογές για να ρυθμίζουμε τα effects του από τα repositories του Ubuntu.
sudo apt-get install compiz compiz-core compiz-gnome compiz-kde libdecoration0 libcompizconfig0
και για να μπορούμε στο μέλλον να διαχειριστούμε καλά τα effects, να αλλάζουμε themes κ.α.:
sudo apt-get install compiz-fusion-plugins-main compiz-fusion-plugins-extra desktop-effects-kde simple-ccsm fusion-icon emerald libemeraldengine0
Βήμα 4: Χρειάζεται να γίνουν ορισμένες αλλαγές στο xorg.conf και στο kdmrc για να λειτουργήσει σωστά το compiz:
Ανοίγουμε με έναν editor το /etc/X11/xorg.conf ως superuser:
sudo nano /etc/X11/xorg.conf
Προσθέτουμε τις επόμενες γραμμές μόνο στην περίπτωση που δεν υπάρχουν ήδη:
Section "Extensions"
Option "Composite" "Enable"
EndSection
και στο Section Device:
Option "DisableGLXRootClipping" "true"
Option "RenderAccel" "true"
Option "AllowGLXWithComposite" "true"
Option "AddARGBGLXVisuals" "True"
Μετά, πηγαίνουμε στο /etc/kde3/kdm/kdmrc:
sudo nano /etc/kde3/kdm/kdmrc
και κάνουμε την εξής αλλαγή (αφού κρατήσουμε backup του αρχείου!!! Αν κάτι πάει στραβά μπορεί να μη μπαίνει στα Χ και να χρειάζεται mv /path/backup_name /etc/kde3/kdm/kdmrc):
Βάζουμε μια # μπροστά από τη σειρά ServerCmd=/usr/bin/X -br (ώστε να γίνει σχόλιο):
#ServerCmd=/usr/bin/X -br
και ακριβώς από κάτω προσθέτουμε τη σειρά:
ServerCmd=/usr/bin/Xgl :1 -fullscreen -ac -accel glx:pbuffer -accel xv:pbuffer
και τελειώσαμε!! Κάνουμε ένα restart στον X-server
# /etc/init.d/kdm restart
και κανονικά θα πρέπει να δουλεύει…
Για να ρυθμίσουμε τα effects του compiz πληροφορίες εδώ.
Some Ubuntu 8.04 Repositories
Ιουλίου 30, 2008
Επειδή πολύ συχνά χαλάω πράγματα στο Ubuntu (μαστροχαλαστής) σκέφτηκα να ανεβάσω κάπου να βρίσκεται το τωρινό μου αρχείο /etc/apt/sources.list που περιέχει μερικά βασικά repositories του Ubuntu… Είναι για όποιον το χρειάζεται αλλά κυρίως για την επόμενη φορά που θα χαλάσω κάτι και θα το χρειαστώ και η ίδια…
(Παρατήρηση! Το αρχείο δεν είναι καν το δικό μου sources.list… Είναι το αρχείο που βρήκα την τελευταία φορά που πείραξα τα repositories – thanx to vistakiller!
)
deb-src http://archive.ubuntu.com/ubuntu/ hardy multiverse universe main restricted #Added by software-properties
## Major bug fix updates produced after the final release of the
## distribution.deb http://archive.ubuntu.com/ubuntu/ hardy-updates main restricted
deb-src http://archive.ubuntu.com/ubuntu/ hardy-updates multiverse universe main restricted #Added by software-properties##Universe
deb http://archive.ubuntu.com/ubuntu/ hardy universe
deb http://archive.ubuntu.com/ubuntu/ hardy-updates universe## Multiverse
deb http://archive.ubuntu.com/ubuntu/ hardy multiverse
deb http://archive.ubuntu.com/ubuntu/ hardy-updates multiverse## Backports
## Canonical Partner Repository
deb http://archive.canonical.com/ubuntu hardy partner
deb-src http://archive.canonical.com/ubuntu hardy partner
deb http://archive.ubuntu.com/ubuntu/ hardy-security main restricted
deb-src http://archive.ubuntu.com/ubuntu/ hardy-security multiverse universe main restricted #Added by software-properties
deb http://archive.ubuntu.com/ubuntu/ hardy-security universe
deb http://archive.ubuntu.com/ubuntu/ hardy-security multiversedeb http://archive.ubuntu.com/ubuntu/ hardy-proposed multiverse universe main restricted
deb-src http://archive.ubuntu.com/ubuntu/ hardy-proposed multiverse universe main restricted
Μερικές φορές πειράζοντας τις ρυθμίσεις μπορεί να νομίζουμε ότι διαλύσαμε ένα σύστημα και να θέλουμε να διαγράψουμε διάφορους φακέλους. Εγώ για παράδειγμα κατάφερα να χαλάσω τόσο πολύ τις ρυθμίσεις του KDE που δεν μπορούσα με τίποτα να βρω τι πρέπει να διορθώσω και πώς για να ξαναγίνουν όλα όπως πριν!!! Η λύση σε αυτή την περίπτωση ήταν μία! Διαγραφή ολόκληρου του φακέλου .kde από το home directory του user μου για να ισχύσουν ξανά οι αρχικές ρυθμίσεις… Το πρόβλημά μου ήταν ότι ήθελα να κρατήσω backup από τα mail μου στο kmail και επιπλέον να μην ξαναδημιουργώ τους 8999…9 φακέλους που είχα φτιάξει για να τα κατηγοριοποιήσω σε Mail σχολής, Mail από λίστα Ubuntu users, Mail από λίστα Linux, Mail από φίλους, θείους, ξαδέρφια, συγγενείς κλπ κλπ κλπ…
Μετά από αρκετό ψαξιματάκι βρήκα μια καλούτσικη λύση!
Για να σώσουμε ένα φάκελο όπως είναι κάνουμε το εξής:
1: cd στο φάκελο
π.χ.:
$ cd ~/.kde/share/apps/kmail
μετά:
2: Ως root γράφουμε find . | cpio -pdumv όνομα_φακέλου_προορισμού
π.χ.:
# find . | cpio -pdumv /kmail_backup/
3: Διαγράφουμε τους φακέλους που θέλουμε, π.χ. τον .kde στη δική μου περίπτωση και εφαρμόζουμε την αντίστροφη ακριβώς διαδικασία.
Π.χ.:
cd /kmail_backup/
και
# find . | cpio -pdumv ~/.kde/share/apps/kmail
Στην περίπτωση που περιγράφω, όταν άνοιξα το kmail στο καινούριο kde μου, όλοι οι φάκελοι με τα e-mail μου υπήρχαν όπως πριν διαγράψω το kde με τα ίδια user permissions και το μόνο που χρειάστηκε να κάνω, ήταν να ρυθμίσω το account μου (mail servers κλπ) για άλλη μια φορά.
Αυτά
Χτες εγκατέστησα FreeBSD στον primary σκληρό δίσκο ενώ είχα ήδη εγκατεστημένο το Ubuntu στον secondary disk. Αν κάποιος έχει ήδη εγκατεστημένο Linux και θέλει να εγκαταστήσει BSD σε άλλο σκληρό μπορεί να ακολουθήσει τα επόμενα βήματα. Προσοχή! Οι οδηγίες είναι για διαφορετικούς σκληρούς δίσκους, όχι για διαφορετικά partitions του ίδιου δίσκου!!
Βήμα 1:
Πριν προχωρήσουμε στην εγκατάσταση του FreeBSD ελέγχουμε σε ποιο δίσκο έχουμε εγκατεστημένο το Linux και ποιος είναι ελεύθερος. Γράφουμε ως root:
# fdisk -l
και κοιτάζουμε σε ποιο sd ή hd είναι εγκατεστημένο το Linux.
Για παράδειγμα σε μένα η fdisk βρίσκει 2 σκληρούς δίσκους sda και sdb (το s επειδή είναι sata, αν δεν ήταν θα έβρισκε hda και hdb αντίστοιχα). Από την έξοδο της fdisk στον υπολογιστή μου φαίνεται ότι ο δεύτερος σκληρός (sdb) έχει το Linux:
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xb68cb68c
[...]
Disk /dev/sdb: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xa5c84c37
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 9352 75119908+ 83 Linux
/dev/sdb2 9353 9729 3028252+ 5 Extended
/dev/sdb5 9353 9729 3028221 82 Linux swap / Solaris
Βήμα 2:
Θέλουμε να εγκαταστήσουμε το FreeBSD στο σκληρό δίσκο που δεν έχει Linux (στο προηγούμενο παράδειγμα στο δίσκο sda). Κατά τη διάρκεια της εγκατάστασης το FreeBSD εντοπίζει τους δύο σκληρούς sda και sdb (ή hda hdb αν δεν είναι sata) ως ad0 και ad1 αντίστοιχα. Όταν λοιπόν τους εντοπίσει επιλέγουμε ως δίσκο εγκατάστασης τον ελεύθερο σκληρό. Στην προκειμένη περίπτωση ελεύθερος ήταν ο sda και επέλεξα ad0.
Βήμα 3:
Επιλογή bootloader! Σε κάποιο σημείο της εγκατάστασης του FreeBSD ζητείται να επιλέξουμε αν θα εγκατασταθεί boot loader ή όχι. Για να μη ρισκάρουμε να χαλάσουμε τις ρυθμίσεις του grub μπορούμε να επιλέξουμε την επιλογή: “None” που δεν εγκαθιστά κανένα boot loader. Τελειώνουμε την εγκατάσταση σύμφωνα με τις οδηγίες στο Handbook του FreeBSD και αφού αφαιρέσουμε το cd κάνουμε reboot.
Βήμα 4:
Αν όλα έχουν πάει καλά, μετά το reboot ανοίγει κανονικά το menu του grub όπως ακριβώς ήταν και πριν την εγκατάσταση του FreeBSD. Κάνουμε boot κανονικά στο Ubuntu και ανοίγουμε το /boot/grub/menu.lst με κάποιον editor ως root. Στο τέλος του αρχείου προσθέτουμε τις γραμμές:
title FreeBSD
root (hd0,a)
kernel /boot/loader
όπου στο root βάζουμε:
hd0 για sda, hda
hd1 για sdb, hdb κ.ο.κ.
hd0,0 για sda1 ή hda1
hd0,1 για sda2 ή hda2
hd1,1 για sdb1 ή hdb1 κ.ο.κ.
και a,b,… για το partition.
Αν για παράδειγμα θέλαμε να περιγράψουμε στη γλώσσα του grub το 3ο partition θα έπρεπε να πούμε root (hd0,2,a)
στο kernel βάζουμε /boot/loader πάντα και στο title ό,τι μας αρέσει εγώ έβαλα FreeBSD…
Βήμα 5:
Κλείνουμε και σώζουμε το νέο menu.lst και κάνουμε reboot.
Αν όλα πήγαν καλά, στο menu του grub θα πρέπει τώρα να δούμε κάτω από τις εγγραφές που αφορούν διάφορους kernels του Ubuntu μια εγγραφή FreeBSD που όταν επιλεγεί φορτώνει το FreeBSD.
Αν πήγαν όλα καλά και βάλατε FreeBSD με αυτή τη διαδικασία, καλό κουράγιο με τη συνέχεια που σας περιμένει μέχρι να το στήσετε καλά… ![]()
Αν έχετε Ubuntu, συνδέεστε στο Internet με καλώδιο Ethernet, έχετε static ip μέσα στο LAN σας και εγκατεστημένο Virtualbox (όλα τα φυσιολογικά δηλαδή) παρακάτω είναι ένα script-άκι που έφτιαξα για να μπορώ να μπαίνω στο Internet από τα Guest OSes του VirtualBox…
Host: Ubuntu Linux με εγκατεστημένο VirtualBox
Guest OSes: Νομίζω ότι όταν έφτιαξα και δοκίμασα το script είχα Guests: Debian Etch, Windows XP και FreeBSD 7.0, τώρα πάντως έχω Windows XP και δουλεύει..
Δεν έχετε παρά να γράψετε τις αριθμημένες εντολές σε ένα αρχείο και μετά να ακολουθήσετε τις οδηγίες:
1. tunctl -t tap1 -u eleni
(όπου eleni βάζετε το όνομα του user που χρησιμοποιεί το VirtualBox)
2. chown root.vboxusers /dev/net/tun ;
3. chmod g+rw /dev/net/tun ;
4. brctl addbr br0 ;
5. ifconfig eth0 0.0.0.0 promisc ;
6. brctl addif br0 eth0 ;
7. ifconfig br0 192.168.1.22 netmask 255.255.255.0 ;
(όπου η ip πρέπει να είναι η ip που έχετε μέσα στο LAN σας και μπορείτε να τη βρείτε μαζί με το netmask σας γράφοντας cat /etc/network/interfaces και βρίσκοντας κάτι σαν αυτό:
iface eth0 inet static
address 192.168.1.22
netmask 255.255.255.0)
8. route add default gw 192.168.1.1 br0 ;
(όπου η ip πρέπει να είναι η ip του router σας και μπορείτε να τη βρείτε γράφοντας route -n και βρίσκοντας μια εγγραφή σαν αυτή:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 br0)
9. brctl addif br0 tap1 ;
10. ifconfig tap1 up ;
Το script θα είναι κάπως έτσι:
#!/bin/sh
# set up the bridge (nat-virtualbox)
tunctl -t tap1 -u eleni ;
chown root.vboxusers /dev/net/tun ;
chmod g+rw /dev/net/tun ;
brctl addbr br0 ;
ifconfig eth0 0.0.0.0 promisc ;
brctl addif br0 eth0 ;
ifconfig br0 192.168.1.22 netmask 255.255.255.0 ;
route add default gw 192.168.1.1 br0 ;
brctl addif br0 tap1 ;
ifconfig tap1 up ;
(με τις αλλαγές που προαναφέρθηκαν)
Σώζετε ως name.sh ή name (όπου name το όνομα που θέλετε να έχει το script) και ακολουθείτε τις οδηγίες εδώ (από το βήμα 2) για να το κάνετε να τρέχει στο startup.
Προσοχή!! Αν χρησιμοποιείτε κάποιο firewall θα πρέπει να τροποποιήσετε τις ρυθμίσεις του (network settings στο firestarter)
Επιπλέον βοήθεια για όσους χρησιμοποιούν wireless υπάρχει εδώ.
Αν το script-άκι δουλέψει σωστά, γράφοντας την εντολή ifconfig θα μπορείτε να δείτε μια νέα συσκευή tap.
Καλή τύχη!
Υ.Γ: Εννοείται ότι το guest os θα παίρνει μια τυχαία ip μέσα στο LAN. Αν θέλετε να ρυθμίσετε το guest λειτουργικό ώστε να έχει static ip μέσα στο LAN π.χ. για να κάνετε port forwarding, τότε πρέπει να βεβαιωθείτε ότι δε δώσατε τη static ip που έχει το host! Αν δώσετε την ίδια static ip σε host και guest, αυτό που νομίζω ότι θα συμβεί (χωρίς να είμαι σίγουρη) είναι ότι θα μπορεί να μπει στο internet ή μόνο το guest λειτουργικό ή μόνο το host αλλά όχι και τα 2 ταυτόχρονα…
Startup Script – Ubuntu
Ιουλίου 5, 2008
Έχω αρχίσει να ξεχνάω τι κάνω
Θα κάνω μερικά post με ό,τι φτιάχνω στο pc για να τα βρίσκω όταν βιάζομαι!
Πώς φτιάχνουμε ένα script που τρέχει στην εκκίνηση:
Βήμα 1:
Γράφουμε το script σώζουμε ως .sh ή και χωρίς κατάληξη
Βήμα 2:
Βάζουμε το script στο /etc/init.d/ και
chmod +x scriptname
(ή αντί για x 755)
Βήμα 3:
update-rc.d scriptname defaults
Αν θέλουμε να το βγάλουμε από το startup:
update-rc.d -f scriptname remove
