Showing posts with label XFCE. Show all posts
Showing posts with label XFCE. Show all posts

Sunday, February 16, 2014

FreeBSD 10.0-RELEASE with Custom XFCE Packages

FreeBSD 10.0-RELEASE has been released a while ago, and it is about time I get my custom version out to the wild! FreeBSD 10 brings on a whole new set of features, among them the new pkgng as the default packaging system. The custom ISO (download links below) will allow you to install an XFCE based desktop that includes lots of goodies for productivity, multimedia and Internet browsing:

The complete list of top level ports used in this compilation is available in the README-PKGNG file of the DVD, along with more detailed installation instructions. A VirtualBox image is also available.

Happy (desktop) FreeBSDing!

Sunday, October 13, 2013

FreeBSD 9.2-RELEASE with Custom XFCE pkgng-style Packages

Few years ago, I started a small (and now defunct) project to build Custom FreeBSD installation media with my own selection of mostly desktop packages. The purpose was twofold:
  • To create packages not normally provided by the FreeBSD Project in the installation DVD, such as the XFCE desktop environment
  • To create updated packages and installation media that could be used long after the initial official release and still be up to date.

This project was using the somewhat aged packaging system (commands like pkg_add, pkg_info etc) and the release process would integrate the custom packages to the sysinstall system of the installation DVD. You could then install them like the official packages, during the main installation.

From the beginning this project was plagued with several problems: the release process was lengthy and error prone. Sometimes the packages would fail to integrate properly with sysinstall (the system installer at that time). Testing was tedious and time consuming and package errors meant the whole build would have to be repeated, usually from scratch. Combine this with a rather modest build system, this whole thing was taking huge amounts of time while its output was rather low.

Fast forward to today: 9.2-RELEASE has pkgng, a whole new packaging system (although the older system is still the default). The new installer, bsdinstall only installs the base system and does not interfere with packages in any way (a good thing IMHO). Building packages for pkgng is a lot easier, using the ports-mgmt/poudriere tool. And I do have a little monster now: an i5 with 32GB of RAM that allows me to run ZFS on memory disk and complete both 32 and 64 bit build in a single day, with time to spare. Since the packages do not have to be integrated to the installer, as long as there are no build errors in poudriere, they will work without problems. Testing is a lot faster and easier.

Custom releases are back! Starting today with a DVD containing 9.2-RELEASE and a selection of packages for XFCE, desktop productivity, browsers, Xorg and much more:

The complete list of top level ports used in this compilation is available in the README-PKGNG file of the DVD, along with more detailed installation instructions. A preconfigured VirtualBox image is also available.

Happy (desktop) FreeBSDing!

Tuesday, September 22, 2009

FreeBSD 8.0-RC1 Custom XFCE DVD iso


Εδώ και λίγο καιρό έχω ξεκινήσει ένα μικρό project με σκοπό τη δημιουργία custom FreeBSD DVDs για εγκατάσταση κυρίως σε μηχανήματα desktop. Ένα από τα βασικά προβλήματα χρήσης του FreeBSD ως desktop είναι ότι χρειάζεται αρκετά προγράμματα, και οι περισσότεροι "χρήστες" (υπάρχουν "χρήστες" στο FreeBSD; -lol-) προτιμάμε τα ports για την εγκατάσταση τους.

Τα ports δίνουν φοβερές δυνατότητες και ελευθερία και είναι όνειρο να τα χρησιμοποιήσει κάποιος σε ένα server που χρειάζεται ίσως 80-100 προγράμματα μικρού/μεσαίου μεγέθους. Για ένα desktop όμως που χρειάζεται τυπικά πάνω από 500 -και μερικά πολύ μεγάλα, όπως τα γραφικά περιβάλλοντα και το OpenOffice- η εγκατάσταση φαίνεται να είναι ατελείωτη.

Φυσικά, το FreeBSD Project διαθέτει και έτοιμα πακέτα, τόσο στο ftp site όσο και στα CD/DVD εγκατάστασης. Όμως τα πακέτα του CD απαρχαιώνονται γρήγορα και τι γίνεται αν θέλουμε να εγκαταστήσουμε ένα μηχάνημα με αργό (ή καθόλου) Internet;

Στην τοποθεσία:

http://freebsd-custom.wikidot.com

θα βρείτε έτοιμα DVD iso με τα τελευταία πακέτα για να εγκαταστήσετε το FreeBSD 8.0-RC1 (που μόλις κυκλοφόρησε) με XFCE περιβάλλον και διάφορα καλούδια (όπως OpenOffice, inkscape, gimp, evince κλπ). Θα βρείτε επίσης και αντίστοιχες XFCE και GNOME εκδόσεις για FreeBSD 7.2-RELEASE (αν και είναι παλιότερες).

Και φυσικά μην παραλείψετε να μου στείλετε τα σχόλια σας, είτε εδώ είτε στο email μου!

Wednesday, January 21, 2009

Γράψτε CD στο XFCE με το xfburn

Μόλις ανακάλυψα ότι στα Ports του FreeBSD υπάρχει και το xfburn. Το xfburn είναι ένα συμπαθητικό γραφικό εργαλείο για να γράφετε μουσικά και data CD.



Μπορείτε να το εγκαταστήσετε πολύ απλά:

# cd /usr/ports/sysutils/xfburn
# make install clean


Θα πρέπει ακόμα να κάνετε κάποιες ρυθμίσεις που αφορούν τα δικαιώματα των συσκευών εγγραφής. Αν έχετε χρησιμοποιήσει το k3b, θα τις αναγνωρίσετε. Γενικά χρειάζεται να προσθέσετε κάποιους κανόνες στο /etc/devfs.rules:

[localrules=1]
add path 'acd*' mode 660 group operator
add path 'cd*' mode 660 group operator
add path 'pass*' mode 660 group operator
add path 'xpt0' mode 660 group operator


Ενεργοποιήστε τους κανόνες στο /etc/rc.conf:

devfs_system_ruleset="localrules"

Αν ο λογαριασμός σας δεν ανήκει ήδη στο operator group, προσθέστε τον:

# pw groupmod operators -m your_user_name

Αν δεν έχετε βάλει το atapicam στον πυρήνα σας, φορτώστε το ως module:

kldload atapicam

Προσθέστε την παρακάτω καταχώριση στο /boot/loader.conf για να φορτώνεται αυτόματα:

atapicam_load="YES"

Καλές εγγραφές!

Sunday, November 16, 2008

XFCE Menu + FreeBSD

Το XFCE είναι θαυμάσιο γραφικό περιβάλλον - γρήγορο στην εγκατάσταση ακόμα και αν το κάνει κάποιος compile από τα ports. Ωστόσο όποιος έχει συνηθίσει σε κάτι όπως το GNOME (ή ακόμα περισσότερο το KDE) μερικές φορές σταματάει σε λεπτομέρειες.

Θυμήθηκα χτες να εγκαταστήσω το evince. Θεωρώ ότι είναι αρκετά καλός document viewer. Η εγκατάσταση του είναι φυσικά αρκετά απλή:

# cd /usr/ports/graphics/evince
# make install clean

Μετά την εγκατάσταση, μπορούσα να εκτελέσω μια χαρά το evince από το Terminal, αλλά δεν υπήρχε πουθενά στο μενού του XFCE. Επέλεξα τη μέθοδο του "απλού χρήστη" και άνοιξα το menu editor από τα Settings του XFCE. Με καλοσώρισε το παρακάτω παράθυρο:



Ωραία, γιατί μάθαμε κάτι για τις ρυθμίσεις: Αν προσέξετε τον τίτλο θα δείτε ότι το αρχείο που αλλάζει ο editor είναι:

/home/sonic/.config/xfce4/desktop/menu.xml

Ωστόσο, δεν είναι αυτό που θέλουμε εδώ. Δεν βρίσκονται εδώ οι καταχωρήσεις προγραμμάτων που έχουμε εγκαταστήσει ως root. Λογικό, γιατί αυτές δεν ανήκουν στο προσωπικό μας μενού, αλλά σε όλους τους χρήστες του συστήματος. Ακόμα και αν βάζαμε και το GNOME στο μηχάνημα μας, θα έπρεπε να τις δείχνει στο δικό του μενού. Η παραπάνω σκέψη, πρέπει σίγουρα να μας οδηγήσει στο σωστό κατάλογο: τον share.

Για την ακρίβεια, θα χρειαστεί να πάμε στο:

/usr/local/share/applications


Όλα αυτά τα αρχεία με κατάληξη .desktop αντιπροσωπεύουν καταχωρήσεις στο μενού. Υπάρχει και το ύποπτο αρχείο:

evince.desktop

Ανοίγοντας το (ως root) και προσπερνώντας τις καταχωρήσεις που έχει σε 100 γλώσσες, βρισκόμαστε επιτέλους μπροστά στον ένοχο:

NoDisplay=True

το οποίο αλλάζουμε αμέσως σε:

NoDisplay=False

και είμαστε πλέον έτοιμοι:



Ηθικό δίδαγμα: Text configuration files rule ;)

Sunday, October 26, 2008

XFCE Automounting & άλλα annoyances ;)

Το FreeBSD είναι γνωστό ότι χρειάζεται αρκετές "χειροκίνητες" ρυθμίσεις για να γίνει ένα συνηθισμένο desktop. Σε πολλούς αυτό φαίνεται ως χάσιμο χρόνου, όμως σε όσους ασχολούνται είναι απλώς μια ευκαιρία για μάθηση και βαθύτερη κατανόηση του συστήματος τους.
Οι περισσότεροι χρήστες θεωρούν δεδομένο ότι μόλις συνδέσουν το usb flash drive τους, θα προσαρτηθεί αυτόματα και θα εμφανιστεί το σχετικό εικονίδιο στην επιφάνεια εργασίας τους.
Το παραπάνω σχετίζεται με μια σειρά αυτοματισμών που θα πρέπει να ρυθμίσετε στο FreeBSD με τον παραδοσιακό τρόπο (ρύθμιση conf αρχείων). Εδώ εξετάζουμε πως μπορεί να γίνει στο γραφικό περιβάλλον του XFCE4, αν και αντίστοιχες ρυθμίσεις θα χρειαστούν και για άλλα γραφικά περιβάλλοντα.

Βήμα 1ο: Επιτρέψτε το mounting από κανονικούς χρήστες


Οι παρακάτω πληροφορίες υπάρχουν στο FreeBSD Handbook και το FAQ. Τις αναδημοσιεύουμε εδώ στα ελληνικά, καθώς η μετάφραση των κεφαλαίων αυτών δεν έχει ολοκληρωθεί ακόμα.
Για να μπορεί ένας απλός χρήστης να προσαρτήσει συστήματα αρχείων από CD/DVD και flash drives, θα πρέπει:
  • Να γίνει ρύθμιση του πυρήνα με ένα κατάλληλο sysctl

  • Να δοθούν τα κατάλληλα permissions στις αντίστοιχες συσκευές, στον κατάλογο /dev. Αυτό είναι αρκετά απλό για συσκευές που υπάρχουν στο σύστημα ήδη από την εκκίνηση (CD-ROM) αλλά είναι ελαφρά πιο σύνθετο για συσκευές που προσθαφαιρούνται δυναμικά (USB drives).

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

Ρύθμιση του Πυρήνα


Αρκετά εύκολο. Εκτελέστε την εντολή:

# sysctl vfs.usermount=1

Προσθέστε επίσης την παρακάτω γραμμή στο /etc/sysctl.conf ώστε να ενεργοποιείται σε κάθε εκκίνηση:

vfs.usermount=1

Η ρύθμιση του πυρήνα έχει ολοκληρωθεί.

Ρύθμιση των συσκευών (/dev)


Για να μπορεί κάποιος χρήστης να χρησιμοποιεί τις συσκευές που δημιουργούνται όταν συνδέουμε κάποιο usb flash drive, θα πρέπει να έχει δικαιώματα σε αυτές. Οι συσκευές αυτές στο FreeBSD φαίνονται ως scsi, με ονόματα του τύπου /dev/daX. Θα πρέπει λοιπόν να δώσουμε τις κατάλληλες οδηγίες στο devfs ώστε οι συσκευές να δημιουργούνται με τα κατάλληλα permissions. Προσθέτουμε την παρακάτω γραμμή στο /etc/devfs.rules:

[localrules=5]
add path 'da*' mode 0660 group operator


Θα πρέπει να ενεργοποιήσουμε αυτούς τους κανόνες, προσθέτοντας το παρακάτω στο /etc/rc.conf:

devfs_system_ruleset="localrules"


Μια και είμαστε εδώ, ας κάνουμε το ίδιο και για το CD-ROM drive. Τυπικά το CD-ROM δεν είναι αφαιρούμενη συσκευή σε ένα σύστημα (εκτός αν είναι USB, αλλά τότε καλύπτεται από τους παραπάνω κανόνες). Χρειάζεται να προσθέσουμε τις παρακάτω γραμμές στο /etc/devfs.conf το οποίο αφορά την εκκίνηση του συστήματος:

own /dev/acd0 root:operator
perm /dev/acd0 0660


Αν η συσκευή CD-ROM έχει άλλο όνομα, προσαρμόστε κατάλληλα τις παραπάνω γραμμές. Αν έχετε παραπάνω από μια συσκευή CD-ROM, θα έχετε και /dev/acd1. Τέλος αν χρησιμοποιείτε το atapicam module, θα έχετε και συσκευές τύπου /dev/cd0 (SCSI).

Αν προσέξετε τις παραπάνω οδηγίες, έχουμε δώσει δικαιώματα στο operator group. Αν ο λογαριασμός σας δεν ανήκει στο operator group, θα πρέπει να τον προσθέσετε:

# pw groupmod operator -m myusername


Προσάρτηση


Η ρύθμιση έχει ολοκληρωθεί. Αν δημιουργήσετε π.χ. τον κατάλογο mymount στο home σας (οπότε σίγουρα θα είστε ιδιοκτήτης) θα μπορείτε να προσαρτήσετε κάποιο CD-ROM γράφοντας:

$ mount -t cd9660 /dev/acd0 ~/mymount

και κάποιο USB flash drive, με κάτι σαν:

$ mount -t msdosfs /dev/da0s1 ~/mymount

Μην ξεχάσετε να αποπροσαρτήσετε το USB flash πριν το αφαιρέσετε! Αλλιώς θα έχετε πραγματικά δυσάρεστες συνέπειες...

Βήμα 2ο: Ρυθμίστε το XFCE


Εδώ οι ρυθμίσεις είναι πολύ απλές. Θα χρειαστεί να προσθέσετε τις παρακάτω γραμμές στο /usr/local/etc/PolicyKit/PolicyKit.conf:

<match action="org.freedesktop.hal.storage.mount-removable">
<return result="yes" />
</match>


Μπορείτε να κάνετε τους κανόνες πιο περιοριστικούς, βάζοντας γύρω από το παραπάνω ένα <match user="myusername"> ... </match> ώστε να περιρρίσετε τη δυνατότητα σε ένα συγκεκριμένο λογαριασμό.

Για να μπορείτε να ρυθμίσετε το automount του XFCE, εγκαταστήστε το πακέτο thunar-volman-plugin:

# cd /usr/ports/sysutils/thunar-volman-plugin
# make install clean


Στα XFCE settings θα έχετε πλέον και επιλογή "Removable Drives and Media" από την οποία μπορείτε να ορίσετε τι και αν θα γίνεται auto-mount.

Σημείωση: Από προεπιλογή ο Thunar (file manager) του XFCE στο FreeBSD δεν περιέχει στις ρυθμίσεις του το FAM (File Alteration Monitor). Αυτό σημαίνει π.χ. ότι αν δημιουργήσετε σε ένα terminal ένα κατάλογο στο Desktop, δεν θα εμφανιστεί μέχρι να πάτε στο Desktop και να πιέσετε το F5. Αυτό φυσικά είναι χαζό: εμείς θέλουμε το Desktop μας να ανανεώνεται αυτόματα. Μεταγλωττίστε λοιπόν ξανά το Thunar, αυτή τη φορά με FAM support:

# cd /usr/ports/x11-fm/thunar
# make deinstall
# make config
(επιλέξτε το FAM στο διάλογο)
# make install clean


Τελειώσατε! Τι; Φάγατε όλο το απόγευμα; Ήταν δημιουργικό όμως ;)

Περαιτέρω Διάβασμα: FreeBSD Handbook: Storage (Αγγλικά, για την ώρα :) )