ubuntistas issue 7 january february 2010

37

Upload: iasptk

Post on 09-Mar-2016

219 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Ubuntistas issue 7 january february 2010
Page 2: Ubuntistas issue 7 january february 2010

«Δείξε μου τον φίλο σου να σου πω ποιος

είσαι» ...λένε στο χωριό μου, σε μια μικρή

χερσόνησο της Ενωμένης Ευρώπης.

Αλλά τι γίνεται σε μια παρέα σχεδόν 5000

ατόμων? :-S Μήπως η λαϊκή σοφία δεν

είχε προετοιμαστεί για την ευρύτητα μιας

ΑΝΟΙΧΤΗΣ και ΕΛΕΥΘΕΡΗΣ παρέας? Μιας

παρέας στην οποία χωράνε όλοι με μόνο

κριτήριο αυτό της ελευθερίας. Με μόνο

κριτήριο την συνειδητοποιημένη απόφαση

τους ότι ελευθερία δεν είναι το θέμα στον

κέρσορα, είτε στο wallpaper ... αλλά ότι

ελευθερία είναι η δυνατότητα να μπορείς να

επέμβεις στις εξελίξεις όποτε εσύ ο ίδιος το

θελήσεις ή το χρειαστείς.

Γιατί στη τελική, το κριτήριο για να

συμμετέχεις στην παρέα δεν είναι καν να

είσαι developer ή απλός χρήστης. Το

κριτήριο είναι να είσαι πρόθυμος! Πρόθυμος

να βοηθήσεις και να συμμετέχεις ... με μια

κουβέντα, ...με μια συμβουλή, ...με ένα post

ή ένα ΑΡΘΡΟ!

Ναι, ένα ΆΡΘΡΟ! ...δηλαδή τι νόμισες,

ότι το περιοδικό γράφεται μόνο του; Όλα

αυτά τα άρθρα όπως για την Ruby, τους

comic viewers, το debian squeeze, την πολύ

ενδιαφέρουσα συνέντευξη με τον Άλκη (alk-

isg), τις σταθερές στήλες, και τόσα ακόμη,

ήρθαν από απλά άτομα σαν εσένα που μας

διαβάζεις.

Και αφού είσαι μέλος της ίδιας παρέας,

μπορείς να τους μοιάσεις. Η πρόσκληση

είναι ανοιχτή και διαρκής. Γράψε μας

τις εμπειρίες σου, συμβουλές από την

καθημερινή σου ενασχόληση με ΕΛΛΑΚ

λογισμικό, tips, παρατηρήσεις, οτιδήποτε

κρίνεις ότι θα ήθελες να είχες διαβάσει

πριν το βρεις μόνος σου. Αν μάλιστα

ξέρεις κάποια γλώσσα προγραμματισμού

ή αν δουλεύεις μια εφαρμογή, κάνε μια

παρουσίαση ή ένα tutorial, ακόμα και για

απλά πράγματα όπως το openoffice ή τα plu-

gins του firefox, ...άλλωστε αυτά τα απλά

είναι τα οποία ενδιαφέρονται να διαβάσουν

οι χιλιάδες απλοί χρήστες της κοινότητας

μας. Και μην ανησυχείς για τις ικανότητες

σου στο γράψιμο, ...η επιτροπή “επιμέλειας”

σε περιμένει με ανοιχτές αγκάλες να κόψει

και να ράψει τα πάντα. Αγνώριστο θα στο

κάνουμε....

Το λοιπόν: «Δείξε μου το forum σου να

σου πω ποιος είσαι»!

Καλή ανάγνωση!

Σημείωμα από τη σύνταξη...

Ομάδα Περιοδικού:• Αλμπανόπουλος Νίκος (nikosal):Επιμελητής Κειμένων - [email protected]

• Γεωργάς Γιώργος (apopas):Συντάκτης - [email protected]

• Διαμαντής Δημήτρης (ftso):Συντάκτης - [email protected]

• Ευθυμίου Νίκος (nisok):Συντάκτης - - [email protected]

• Ζηντίλης Μάριος:Συντάκτης, Επιμελητής Κειμένων - [email protected]

• Κουράτορας Κωνσταντίνος:Σελιδοποίηση - [email protected]

• Κωστάρας Γιάννης (hawk):Συντάκτης - [email protected]

• Παπαδόπουλος ∆ημήτρης (Dimitris):Συντάκτης - [email protected]

• Παραπονιάρης Ηλίας (ilpara):Συντάκτης, Συντονιστής, ∆ημ. Σχέσεις - [email protected]

• Πετούμενου Τζένη (jennie):Επιμελητής Κειμένων - [email protected]

• Πολίτης Δημήτρης (katharman):Επιμελητής Κειμένων - [email protected]

• Πούλιος Κωνσταντίνος (logari81):Συντάκτης - [email protected]

• Σαββίδης Σόλων (g00fy):Συντάκτης, ∆ημόσιες Σχέσεις - [email protected]

• Στεφανίδης Φώτης (atermon):Συντάκτης - [email protected]

• Ταμπούρης Ευθύμιος (Themis-T):Συντάκτης - [email protected]

• Χατζηπαντελής Παντελής (kalakouentin):Συντάκτης - [email protected]

• Φωτιάδης Φίλιππος (filippos.xf):Συντάκτης - [email protected]

• Χάμπας Αντώνης (dexter_ax):Συντάκτης - [email protected]

• vista killer:Συντάκτης - [email protected]

Τεύχος 7 - Ιανουάριος Φεβρουάριος 2010

Page 3: Ubuntistas issue 7 january february 2010

17 Εισαγωγή στην QT (Μέρος Γ')

HOW-TO

12 Άλκης Γεωργόπουλος

ΣΥΝΕΝΤΕΥΞΗ

10 DEBIAN squeeze (testing)

DISTRO

09 Η Ελληνική Κοινότητα του Ubuntu Linux

08 Ubuntu Linux

06 Στροφή στην Ελευθερία!

ΑΠΟΨΕΙΣ

04 Νέα & ειδήσεις από το χώρο του linux

NEA-ΕΙΔΗΣΕΙΣ

31 Νέα & ανακοινώσεις της κοινότηταςubuntu-gr

UBUNTU-GR

30 Σύντομες απαντήσεις σε συχνές ερωτήσεις

HINTS & TIPS

31 Προγραμματιστικοί λαβύρινθοι

29 Frets On Fire

ΠΑΙΧΝΙΔΙΑ

27 Blender

26 Οι καλύτεροι Comic reader για Ubuntu

REVIEWS

21 Προγραμματισμός συστήματος Unixμε τη γλώσσα προγραμματισμού Ruby - Μέρος 1

19 Δημιουργήστε τον δικό σας εξυπηρετητήμε Ubuntu - Μέρος 1

Περιεχόμενα

Η άδεια διάθεσης του περιεχομένου του ubuntistasΤα άρθρα που περιλαμβάνονται στο περιοδικό διατίθενται υπό τη άδεια της Creative Commons Attribution-By-Share Alike 3.0 Unported license. Αυτό σημαίνει ότι μπορείτε να προσαρμόσετε, να αντιγράψετε, να διανείμετεκαι να διαβιβάσετε τα άρθρα αλλά μόνο υπό τους ακόλουθους όρους: πρέπει να αποδώσετε την εργασία στον αρχικόσυντάκτη με κάποιο τρόπο (αναφορά ονόματος, email, url) και στο περιοδικό αποδίδοντας τη ονομασία του (Ubuntistas).Δεν επιτρέπεται να αποδίδετε το άρθρο/α με τρόπο που να το/α επικυρώνετε ως δική σας εργασία. Και εάν κάνετεαλλαγές, μεταβολές, ή δημιουργίες πάνω σε αυτήν την εργασία, πρέπει να διανείμετε την προκύπτουσα εργασία μετην ίδια άδεια, παρόμοια ή συμβατή.Περίληψη άδειας: http://tinyurl.com/5nv7kn - Πλήρης άδεια: http://tinyurl.com/yqontc

To ubuntu

Το ubuntu linux είναι ένα λειτουργικό σύστημα. Με περιβάλ-λον εργασίας gnome το φωνάζουμε ubuntu, με kde το φωνά-ζουμε kubuntu. Είναι πλήρες(!), τεχνολογικά προηγμένο(!),και εύκολο στην χρήση από οποιονδήποτε(!). Στα αποθετή-ρια του ubuntu υπάρχουν διαθέσιμες κυριολεκτικά χιλιάδεςεφαρμογές σχεδόν για οτιδήποτε(!) … για επαγγελματική,επιστημονική, εκπαιδευτική, και οικιακή χρήση. Τόσο τοubuntu όσο και οι εφαρμογές του είναι Ελεύθερο Λογισμικό/ Λογισμικό Ανοιχτού Κώδικα (ΕΛ/ΛΑΚ), δηλαδή διατίθενταιελεύθερα και στην Ελλάδα υποστηρίζονται από την άτυπηαλλά πολύ δραστήρια κοινότητα ubuntu-gr. Περισσότεραστο http://www.ubuntu-gr.org.

Η κοινότητα ubuntu-gr

Η κοινότητα ubuntu-gr ανήκει στα μέλη της και είναι ανοιχτήσε όλους!Eίναι το μέρος όπου έμπειροι και άπειροι(!) χρή-στες συζητάνε ότι τους απασχολεί, ιδέες, ερωτήματα, πρακτι-κά ζητήματα, οργανωτικά θέματα, και κυρίως τεχνικά προβλή-ματα. Αποτελείται από ανθρώπους με εμπειρία στην πληρο-φορική αλλά κυρίως από απλούς χρήστες, οι οποίοι εθελο-ντικά συμμετέχουν i) στην δημιουργία-ανάπτυξη του λογισμι-κού, ii) στην μετάφρασή του στην ελληνική γλώσσα, iii) στηνπροώθηση-διάδοση του στην Ελλάδα, και κυρίως iv) στηνπαροχή αμεσότατης(!) και υψηλής ποιότητας(!) τεχνικήςυποστήριξης σε άλλους ελληνόφωνους χρήστες. Λειτουργείμε αυτό-οργάνωση και προσπαθούμε οι αποφάσεις να λαμ-βάνονται όσο το δυνατόν πιο δημοκρατικά από εκείνουςπου προσφέρουν-δραστηριοποιούνται συστηματικά. Η ελ-ληνική κοινότητα τουUbuntu διαθέτει μέχρι στιγμής φόρουμ,λίστα ηλ. ταχυδρομείου, κανάλι συζητήσεων τύπου IRC,καθώς και το περιοδικό Ubuntistas. Για όλα αυτά υπάρχουνοδηγίες και links στο http://www.ubuntu-gr.org.

Το περιοδικό ubuntistas

ΤοUbuntistas, το ηλεκτρονικό περιοδικό της ελληνικής κοινό-τητας του ubuntu (ubuntu-gr), κυκλοφορεί ελεύθερα κάθεδίμηνο, με πρώτο τεύχος το Νοέμβριο - Δεκέμβριο 2008.Περιέχει νέα, πληροφορίες, συνεντεύξεις, παρουσιάσεις, ο-δηγούς, και άρθρα σχετικά με το ubuntu. Το περιοδικό είναιανοιχτό προς όλους όπως και το GNU/Linux! Ο καθέναςμπορεί να συμμετέχει ενεργά στην δημιουργία του, να αρθρο-γραφήσει, να προτείνει ιδέες και να κάνει τις επισημάνσεις/ παρατηρήσεις του.

Page 4: Ubuntistas issue 7 january february 2010

των Ευθυμίου Νίκου, Πούλιου Κωνσταντίνου, Χατζηπαντελή Παντελή

ΝΕΑ & ΕΙΔΗΣΕΙΣ

Νέα & Ειδήσεις...από τον κόσμο του linux και όχι μόνο!

Athens Digital Week

Τι ήταν για εμάς που ήμασταν εκεί;

Διασκέδαση στον παράδεισο! Βρήκαμεαφορμή να πάρουμε άδεια από τη δουλειά μαςκαι να βρεθούμε σε ένα χώρο γεμάτο ηλεκτρονικήμουσική, νέες τεχνολογίες και πολλά live dj sets.Να γνωρίσουμε τεχνολογικά επιτεύγματα, ταπερισσότερα άγνωστα για το μέσο χρήστη. Αυτόκρατάμε από τη διοργάνωση. Δεν ήταν έναφεστιβάλ για λίγους και εκλεκτούς, αλλά μια κίνησητου δήμου Αθηναίων ώστε να έρθει η τεχνολογίαένα βήμα πιο κοντά στον πολίτη.

Η παρουσία του Ubuntu, αν και άργησενα οριστικοποιηθεί, τελικά ήταν έντονη καιαξιοσημείωτη. Το περίπτερο μάζευε συνεχώςκόσμο, μέχρι που δημιουργούνταν και ουράαναμονής.

Έγιναν πολλές εγκαταστάσεις Ubuntu σεπαιδιά που είχαν φέρει τα λάπτοπ τους,αλλά και διορθώσεις προβλημάτων που είχανπαρουσιαστεί σε νέους χρήστες. Το λάπτοππου έγραφε τα δισκάκια με την έκδοση Jauntyείχε πάρει φωτιά. Πολύς κόσμος χρειάστηκε ναπεράσει δύο και τρεις φορές από το περίπτερογια να πάρει δισκάκι, καθώς εξαφανίζονταν πιογρήγορα από ό,τι γράφονταν :-D .

Κλείνοντας, ευχαριστούμε τα παιδιά από τοFedora για το χώρο που μας προσέφεραν στονπάγκο τους.

Canonical Ανακατατάξεις

Το Δεκέμβριο που πέρασε ο Mark Shuttle-worth ανακοίνωσε την επικείμενη παραίτησή τουαπό τη θέση του CEO (Chief Executive Officer)της Canonical Ltd. Αν και η κίνηση αυτή είχεπροαναγγελθεί μήνες νωρίτερα, ήταν λογικό ναπροκληθεί μια μικρή αναστάτωση στις τάξεις τωνχρηστών του Ubuntu σχετικά με το «ποιόν» τουεπόμενου «αρχηγού» και την ικανότητά του νααντικαταστήσει τον απόλυτα επιτυχημένο, βάσει

4

Page 5: Ubuntistas issue 7 january february 2010

ΝΕΑ & ΕΙΔΗΣΕΙΣ

των αριθμών τουλάχιστον, Mark. Και να πουτελικά, ο άνδρας που θα πάρει του θέση του «al-pha male» στην αγέλη του Ubuntu είναι... γυναίκα,και το όνομα αυτής Jane!

H Jane Silber κάθε άλλο παρά καινούριαείναι στην κοινότητα του Ubuntu. Πριν ακόμακυκλοφορήσει η πρώτη έκδοση του Ubuntu Linux,Warty Warthog, τον Ιούλιο του 2004, η Silberπροσλήφθηκε ως COO (Chief Operations Officer)στην Canonical. Αποστολή της ήταν να διευθύνειτις διοικητικές και οργανωτικές λειτουργίες τηςεταιρίας, αφήνοντας τον CEO να ασχολείται μετα θέματα ευρύτερης πολιτικής της Canonicalσε επίπεδο τεχνολογίας, έρευνας και marketing.Θα μπορούσε κάποιος λοιπόν να πει ότι η Sil-ber ασχολιόταν περισσότερο με την Canonical

από ότι ο ίδιος ο Shuttleworth ;) . Πρέπειεπίσης να αναφέρουμε ότι ένα από τα πιοπολυσυζητημένα Ubuntu projects, το Ubuntu One,αποτελεί προσωπική υπόθεση για την Jane Silber,αφού ήταν επικεφαλής του έργου από την πρώτηστιγμή της δημιουργίας του.

H επιλογή της κρίθηκε από πολλούς ωςη πλέον εύστοχη, καθώς πρόκειται για στενήσυνεργάτη του Mark Shuttleworth, με μεγάληεμπειρία στο χώρο του Enterprise Linux. Ήτανεπίσης επιλογή πλήρως εναρμονισμένη με τιςεσωτερικές διαδικασίες και στόχους της Canoni-cal. Ο ίδιος ο Shuttleworth, αν και παραδέχεταιότι εξέτασε την πιθανότητα να προτιμήσεικάποιο άτομο εκτός της εταιρίας, αιτιολόγησετην προσωπική του επιλογή ως εξής: «Ωςπρώην αντιπρόεδρος της General Dynamics, ηJane διαθέτει μεγαλύτερη εμπειρία [από εμένα]στις σχέσεις με σημαντικούς πελάτες και στηδιοίκηση μεγάλων οργανισμών, κάτι που θεωρώζωτικής σημασίας για την Canonical τα επόμεναπέντε χρόνια. (Η Canonical) καλωσορίζεταιως συνεργάτης από ολοένα και μεγαλύτερεςεπιχειρήσεις και οργανισμούς, και θέλω ναδιασφαλίσω ότι θα προσφέρουμε τις βέλτιστεςαπαντήσεις στα αιτήματα τους».

Το δεύτερο ζήτημα που προέκυψε ήταν ποιοςθα αντικαταστήσει την Jane στα καθήκοντα τουCOO. Μην ξεχνάμε ότι η μέχρι τώρα θέση τηςήταν νευραλγική για την εύρυθμη λειτουργία τηςεπιχείρησης, ενώ η πορεία της ίδιας (αλλά καιτης Canonical) έχει αποδείξει την αρτιότητα τωνεπιλογών της στον ρόλο αυτό. Ανακοινώθηκελοιπόν το όνομα και του νέου COO. Ο Matt Asayαπό την Alfresco θα αντικαταστήσει την Jane Sil-

ber. Ο Matt είναι εξαιρετικά γνωστός στον χώροτων επιχειρήσεων Ανοιχτού Λογισμικού. Πρινεργαστεί στην Alfresco, που θεωρείται από τουςμεγαλύτερους παίκτες στο χώρο του ΑνοιχτούΛογισμικού για Enterprise Content Management,o Asay ήταν από τα ιδρυτικά μέλη του NovellLinux Business Office και από τους κινητήριουςμοχλούς της μεταστροφής της Νovell σε μια εταιρίαμε όλο και αυξανόμενη εμπλοκή στον ανοιχτόκώδικα. Επιπλέον ο Asey είναι επίτιμο μέλοςτου συμβουλίου Open Source Initiative (OSI),ενός από τους σημαντικότερους οργανισμούς γιατην προώθηση και προτυποποίηση του ανοιχτούλογισμικού.

Η μετάβαση στη νέα διοικητική στελέχωση θαολοκληρωθεί τον Μάρτιο του 2010 και μέχρι τότεο Mark θα εξακολουθήσει να ασκεί τα καθήκοντατου CEO. Ο ίδιος δήλωσε ότι πλέον ενδιαφέρεταινα ασχοληθεί περισσότερο με το σχεδιασμό και

5

Page 6: Ubuntistas issue 7 january february 2010

ΝΕΑ & ΕΙΔΗΣΕΙΣ

ανάπτυξη των τελικών προϊόντων της εταιρίας,καθώς δεν έχει πια το χρόνο και την ελευθερία ναδιοικεί αλλά και να δημιουργεί ταυτόχρονα. (Σαςθυμίζει «κάποιον»...;)

Ελεύθερο Λογισμικό, αλλά όχι για όλους(μετάφραση απο το freiesmagazin)

Υπάρχουν πολλοί κακοί άνθρωποι σε αυτόντον κόσμο. Αρκεί να ανοίξει κάποιος τις ειδήσειςτων 8 για να βρει άφθονες εικόνες από απατεώνες,πειρατές και δολοφόνους. Θα προτιμούσε κανείςνα κλείσει απλώς τα μάτια μπροστά σε τόσηαθλιότητα σε αυτόν τον κόσμο. Οι ΗΠΑ είναιένας πρωτοπόρος σε ότι αφορά το κυνήγι τέτοιωνκακών ανθρώπων, οι οποίοι ως επί τω πλείστονζουν στις λεγόμενες χώρες του κακού.

Συχνά ακολουθεί το κυνήγι ή ο αποκλεισμόςτέτοιων κακών ανθρώπων περίεργα μονοπάτια.Βιώνουμε καθημερινά τον περιορισμό τηςελευθερίας μας ακόμη και στην Γερμανία, όπουοι πολιτικοί σοφίζονται κάθε μήνα κάτι καινούριογια να περιορίσουν θεμελιώδη δικαιώματά μας.Ξεκίνησε με την αποθήκευση του ιστορικού τωνεπικοινωνιών μας [1], συνέχισε με την λογοκρισίατου διαδικτύου [2] και καταλήγει τώρα στο σχέδιοELENA [3]. Αν κάτι τέτοιο δρα εναντίον των κακώνανθρώπων από άλλες χώρες; Δεν είναι πολύπιθανόν, αλλά με μία γενικευμένη καχυποψία,ότι όλοι οι άνθρωποι έχουν κάνει κάτι, κάποτε θαπιαστεί και κάποιος πραγματικός ένοχος.

Επιστροφή στις ΗΠΑ: Εκεί αντιμετωπίζονταιτέτοιες χώρες του κακού με παρόμοιο τρόπο.Σε τέτοιο σημείο, που μία επιχείρηση με έδραστις ΗΠΑ να μην μπορεί να προμηθεύσει σετέτοιες χώρες ότι λογισμικό θέλει. Αυτή ηνομοθεσία έπληξε έναν από τους μεγαλύτερουςκαι γνωστότερους παροχείς ανοιχτού λογισμικού:

το SourceForge [4]. Το οποίο αποτελεί μίαπλατφόρμα που παρέχει σε χρήστες από όλο τονκόσμο υποδομές για την διάδοση και από κοινούανάπτυξη λογισμικού ανοιχτού κώδικα. Φυσικάθα πρέπει το "όλο τον κόσμο" της προηγούμενηςπρότασης να διαγραφεί άμεσα. Καθώς μέχριπρόσφατα ήταν δυνατό ορισμένοι κακοί απότις χώρες του κακού να κατεβάσουν λογισμικόαπό το SourceForge και να απολαμβάνουν ταπλεονεκτήματα του ελεύθερου λογισμικού, τώρααποκλείεται αυτή η δυνατότητα για το σύνολο τωνπολιτών.

Το αν στο SourceForge υπάρχουν οδηγίεςγια τον προγραμματισμό μιας βόμβας ανοιχτούκώδικα είναι αβέβαιο. Σε κάθε περίπτωσηόσοι ζουν στην Κούβα, Συρία, Ιράν, Σουδάνή Βόρεια Κορέα δεν θα πρέπει να εκπλαγούνόταν διαπιστώσουν ότι δεν έχουν πρόσβαση στοSourceForge.

Το συμπέρασμα αυτής της ενέργειας; Για να τοπούμε με τα λόγια του Οβελιξ: "Είναι τρελοί αυτοίοι Αμερικάνοι" αλλά για να το ολοκληρώσουμεκαλύτερα: "οι Γερμανοί, Βρετανοί και σταυπόλοιπα δυτικά κράτη είναι εξίσου τρελοί". Μετον περιορισμό ελευθεριών πλήττονται αφενόςμόνο οι πολίτες της ίδιας της χώρας και αφετέρουείναι αμφίβολο ότι έστω και ένας από τους κακούς

στις χώρες του κακού θα στεναχωρηθεί που δενθα μπορεί να έχει πρόσβαση στο SourceForge.

Για όποιον δεν θέλει να υποστηρίξει αυτήν τηντακτική υπάρχει πληθώρα έργων στο διαδίκτυοπου φιλοξενούν λογισμικό ανοιχτού κώδικα [5],ένα γνωστό στην Γερμανία είναι το berlios.de[6] ή για χρήστες Ubuntu υπάρχει το γνωστόLaunchpad [7]. Προς άμβλυνση του όλουζητήματος πάντως, το SourceForge απλώς τηρείτους νόμους που δυστυχώς ισχύουν στις ΗΠΑ.

Σημείωση: η δημοσίευση του παραπάνωάρθρου στο τεύχος Φεβρουαρίου του ηλ.περιοδικού freiesmagazine [8] έγινε πριν τηνεν μέρει ανάκληση της αρχικής απαγόρευσηςαπό το SourceForge. Στις 7 Φεβρουαρίουτο SourceForge έδωσε την δυνατότητα στουςδιαχειριστές του εκάστοτε έργου να δώσουν ανθέλουν πρόσβαση στις χώρες εχθρούς των ΗΠΑ[9]. Η ελλιπής ενημέρωση των διαχειριστών σεσυνδυασμό με την εκ προεπιλογής ενεργοποίησητου αποκλεισμού, δεν άλλαξε κατά πολύ τηνουσία του άρθρου και γιαυτό το παραθέτουμεεδώ έχοντας αφαιρέσει απλώς τα τμήματαπου αναιρέθηκαν από την απόφαση της 7ηςΦεβρουαρίου.

Πηγές:[1] http://tinyurl.com/y9y2nx[2] http://tinyurl.com/yj829w6[3] http://tinyurl.com/yer2tl8[4] http://tinyurl.com/yfscje8[5] http://tinyurl.com/6tzup4[6] http://www.berlios.de/[7] http://www.launchpad.net/[8] http://tinyurl.com/yhcmsst[9] http://tinyurl.com/yh8zq3w

6

Page 7: Ubuntistas issue 7 january february 2010

του Ζηντίλη Μάριου

ΑΠΟΨΕΙΣ

Στροφή στην Ελευθερία!Στροφή στην Ελευθερία, προοπτικές υιοθέτησης του ΕΛΛΑΚ σε μεγάλους οργανισμούς.

Το Ελεύθερολογισμικό, ωςμοντέλο ανάπτυξηςλειτουργικώνσυστημάτωνκαι εφαρμογών,έχει κάποια

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

Το «ασθενές» χαρακτηριστικό αυτών τωνεπιχειρημάτων που έχει στο οπλοστάσιότου ο συνήγορος του ΕΛΛΑΚ, είναι ότιποσοτικοποιούνται πιο δύσκολα από ταεπιχειρήματα της «άλλης» πλευράς, στην οποίαόλοι οι παράγοντες εύκολα μεταφράζονται σε

χρηματικά ποσά. Αυτή την οπτική τονίζει ηενδιαφέρουσα έρευνα [1] της εταιρείας GlobalGraphics [2], με θέμα τη χρήση του δωρεάνλογισμικού σε μεγάλες εταιρείες με χίλιους ήπερισσότερους χρήστες. Στο κείμενο με τααποτελέσματα της έρευνας αυτής δε διακρίνεταιτο λογισμικό που διατίθεται δωρεάν σε κλειστό καιανοικτό, κάνοντας έτσι πιο ξεκάθαρο το πρώτιστοκριτήριο επιλογής, που είναι το χαμηλότεροδυνατό κόστος.

Με το «στένεμα» όμως των προϋπολογισμώνλόγω της οικονομικής κρίσης, το ΕΛΛΑΚ γυρίζεικαι μας λέει: «Πάνε να δεις αν έρχομαι», καιόντως πολλοί οργανισμοί αναγκάστηκαν ναδουν αυτό που αναπόφευκτα κάποια στιγμήθα εξέταζαν ως εναλλακτική λύση: το στεγνάοικονομοτεχνικό προτέρημα («free as in beer»)της υιοθέτησης Ελεύθερου λογισμικού. Ενδεικτικήαυτής της μεταστροφής είναι η εικοσιπεντάδα τωνπιο δημοφιλών έργων ΕΛΛΑΚ που δημοσιεύεικάθε μήνα το SourceForge, η οποία ολοένακαι απαρτίζεται λιγότερο από εργαλεία χρήστη,παιχνίδια και καθημερινές εφαρμογές (Azureus,FreeCol, FileZilla, 7-Zip) και περισσότερο απόεφαρμογές διαχείρισης επιπέδου Enterprise(στη λίστα του Φεβρουαρίου 2010: OpenBravo,ADampiere, Zenoss Core, OrangeHRM, Post-Books, webERP).

Μια επιχείρηση θέλει: Α. να εκτελεί τιςδιαδικασίες της με αξιοπιστία, ασφάλεια καιταχύτητα, και Β. να έχει πλεονεκτήματα έναντι τουανταγωνισμού, και τα δύο αυτά με το χαμηλότεροδυνατό κόστος, στα πλαίσια του «deliver morefor less», της επίτευξης δηλαδή περισσότερωνμε λιγότερα, όπου το κόστος αναδεικνύεταιως το βασικό κριτήριο επιλογής λογισμικού,ακολουθούμενο κατά σειρά προτεραιότητας από:

• την ποιότητα,

• τη διαθεσιμότητα,

• τα παράπλευρα κόστη,

• θέματα πνευματικής ιδιοκτησίας,

• την οικονομική και επιχειρηματικήσταθερότητα του προμηθευτή,

• τη συμβατότητα με προμηθευτές καισυνεργάτες,

• τη συμβατότητα με την τεχνογνωσία τωνυπαλλήλων, και

• άλλα κριτήρια ανάλογα με τις ειδικές ανάγκεςκάθε οργανισμού.

7

Page 8: Ubuntistas issue 7 january february 2010

ΑΠΟΨΕΙΣ

Ιδιαίτερο ενδιαφέρον παρουσιάζει το εξής:από τα 10 πιο δημοφιλή δωρεάν έργα λογισμικούπου χρησιμοποιούνται στους οργανισμούς τωνοποίων οι CIO (Chief Information Officers)ερωτήθηκαν στα πλαίσια της έρευνας, μόνοτα δύο (Open Office, Java) είναι και ανοικτούκώδικα. Αυτά τα δύο είτε ανήκουν (Java),είτε βασίζονται για την ανάπτυξή τους (OpenOffice) στη Sun, η πρόσφατη εξαγορά τηςοποίας δημιούργησε μια αβεβαιότητα για τομέλλον των προϊόντων αυτών, ειδικά σε δύοαπό τα πιο πάνω κριτήρια: τη μελλοντικήδιαθεσιμότητα αναβαθμίσεων χωρίς επιπλέονκόστος και τη σταθερότητα του προμηθευτή. Οιαμφιβολίες αυτές, ανεξάρτητα από την έκβασήτους, σχηματίζουν μια αρνητική προδιάθεση γιατην επιλογή ελεύθερου λογισμικού.

Όλα τα πιο πάνω φανερώνουν μια ανάγκητου ΕΛΛΑΚ την οποία η κοινότητα φαίνεται νααδυνατεί να εκπληρώσει: την ανάγκη για σωστόμάρκετινγκ, για αποτελεσματική στρατηγικήπροώθησης και πώλησης του Ελεύθερουλογισμικού ως προϊόντος. Ας δούμε την πρώτηπρόταση που γράφει στην ιστοσελίδα [3] τηςη Ομάδα μάρκετινγκ του Ubuntu: «Η Ομάδαμάρκετινγκ του Ubuntu αποτελείται από χρήστεςτου Ubuntu που εθελοντικά προωθούν τη ψηφιακήελευθερία, τα ψηφιακά δικαιώματα και το Ubuntu».Ελευθερία και δικαιώματα; Πόσο κοστίζουν;

Ένας παλιός φίλος, και ο πιο «διαβασμένος»άνθρωπος που γνωρίζω, μου είπε κάποτε: «Ηφιλοσοφία είναι ο πλούτος του φτωχού» -να'σαι καλά Σωτήρη- και συμπληρώνω εγώ: καιη φιλοσοφία του πλούσιου είναι το τζάμπα. Μεστοχευμένο το κοινό της μικρής ή της μεγάληςεπιχείρησης, αυτό είναι το χαρακτηριστικό του

Ελεύθερου λογισμικού που πρέπει να προωθηθεί.Τα υπόλοιπα μετρήσιμα χαρακτηριστικά -ταχύτητα, ασφάλεια, αξιοπιστία- μπορούν μεννα χρησιμοποιηθούν ως επιχειρήματα υπέρ τουΕΛΛΑΚ, αλλά μπορούν να χρησιμοποιηθούν καιεναντίον του, ανάλογα ποιος κάνει τη μέτρηση (βλ.Microsoft – Get the facts [4]), ενώ το κόστος είναιαδιαμφισβήτητο υπέρ.

Την ανάγκη αυτή για εστίαση στο κόστος τηνεπισημαίνει και το COSPA [5] (Συμβούλιο για τολογισμικό ανοικτού κώδικα στη δημόσια διοίκηση)στην παρουσίαση «Βιωσιμότητα οικονομικώνμοντέλων βασισμένων στο ΕΛΛΑΚ» [6], αλλά απότην άλλη πλευρά του ζητήματος. Επισημαίνεταιη πιο χαλαρή σύνδεση των επιχειρήσεων πουπαρέχουν προϊόντα γύρω από το ΕΛΛΑΚ και ταανοικτά πρότυπα με τη φιλοσοφία ή την ιδεολογία,και η πιο φυσική τους επιδίωξη που είναι τοοικονομικό κέρδος.

Η αδυναμία του ΕΛΛΑΚ ως επιχειρηματικόμοντέλο εντοπίζεται στην ανάπτυξηεξειδικευμένου λογισμικού για πολύ περιορισμένεςκάθετες αγορές (π.χ. CAD, δημιουργίαπολυμέσων), το κόστος της οποίας δύσκολακαλύπτεται από συμβόλαια υποστήριξης ότανη ανάπτυξη γίνεται από το μηδέν, αλλάεξισορροπείται κάπως στις περιπτώσεις στιςοποίες χρησιμοποιείται υφιστάμενο λογισμικότο οποίο παραμετροποιείται για να καλύψει μιασυγκεκριμένη ανάγκη (π.χ. embedded, καισυγκεκριμένα το Android).

Τέλος, ως πιθανά προϊόντα σε επίπεδο B2B(επιχείρησης προς επιχείρηση), αναφέρονταιοι συμβουλευτικές υπηρεσίες για επιλογήλογισμικού, η εγκατάσταση του ΕΛΛΑΚ και ηενσωμάτωσή του στην υφιστάμενη υποδομή

του οργανισμού, η τεχνική και η νομικήπιστοποίηση (με ιδιαίτερη σημασία για εταιρείες,αφού πολλά έργα ΕΛΛΑΚ αποποιούνται κάθεευθύνης που προκύπτει από τη χρήση τους,θέση που δεν μπορεί να γίνει αποδεκτήσε νομικά πρόσωπα), η εκπαίδευση, ησυντήρηση/αναβάθμιση, η μετάβαση από ταυφιστάμενα συστήματα στα βασισμένα στοΕΛΛΑΚ και η μετατροπή λογισμικού για ειδικέςανάγκες (προγραμματισμός).

Με τις τρέχουσες συνθήκες της αγοράς και μετη συνεχή πρόοδο σε ποιότητα του Ελεύθερουλογισμικού, θα συναντάται ολοένα και συχνότεραη ένταξή του στην επιχειρηματική δραστηριότητα,είτε αυτή εκφράζεται ως εξέταση από ένανοργανισμό του ενδεχομένου υιοθέτησης τουΕΛΛΑΚ, είτε ως προσφορά προϊόντων ΕΛΛΑΚκαι υπηρεσιών γύρω από αυτό. Είναι ένας τομέαςμε πολλές πτυχές και ενδιαφέρουσες προοπτικέςτον οποίο αξίζει να έχουμε στα υπόψη.

Αναφορές

1. http://tinyurl.com/ylottuf(αρχείο PDF, στα Αγγλικά, 950Kb)

2. http://www.globalgraphics.com

3. https://wiki.ubuntu.com/MarketingTeam

4. http://tinyurl.com/28co44

5. http://www.cospa-project.org

6. http://tinyurl.com/yhkym6z(αρχείο PDF, στα Αγγλικά, 180Kb)

8

Page 9: Ubuntistas issue 7 january february 2010

του Παραπονιάρη Ηλία

ΑΠΟΨΕΙΣ

Ubuntu LinuxΝόμιμο, δωρεάν, τεχνολογικά προηγμένο, φιλικό στον χρήστη ελεύθερο λειτουργικό σύστημα ανοιχτού κώδικα (ΕΛ/ΛΑΚ) με διαθέσιμες εφαρμογέςσχεδόν για οτιδήποτε.

Οδηγίες για νέους χρήστες

Πρώτον, δοκιμάζουμε το λεγόμενο «Live CD».Τι είναι; Εκκινώντας τον Η/Υ από το CD τουUbuntu, φορτώνουμε, προσωρινά, το πλήρεςλειτουργικό, χωρίς να το έχουμε εγκαταστήσει στοσκληρό δίσκο. Έτσι, αποκτούμε έναν πλήρωςλειτουργικό Η/Υ με Ubuntu, αν και όχι τόσογρήγορο όσο μετά από κανονική εγκατάσταση. ΤοLive CD παρέχει την δυνατότητα ι) μιας πρώτηςγνωριμίας με το Ubuntu Linux, αλλά και ιι) ελέγχουσυμβατότητας του hardware του Η/Υ και τωνπεριφερειακών μας (αν «παίζει» με Live CD θαπαίζει και στην κανονική εγκατάσταση).

Δεύτερον, αποφασίζουμε αν θέλουμε «dualboot». Τι είναι; Η δυνατότητα εγκατάστασης τουUbuntu Linux διατηρώντας συγχρόνως ανέπαφατα προ-εγκατεστημένα Windows. Έτσι, σε κάθεεκκίνηση του Η/Υ, μπορούμε να επιλέγουμε μεταξύτων δύο λειτουργικών.

Εγκατάσταση βήμα βήμα

Βήμα 1: Κάνω backup όλα τα σημαντικάαρχεία σε εξωτερικό δίσκο!

Βήμα 2: Από τον ιστοχώρο τηςΕλληνικής Κοινότητας του Ubuntu Linux(http://www.ubuntu-gr.org), κατεβάζω το «CDγια υπολογιστές γραφείου και φορητούς

υπολογιστές (DesktopCD)» και το καίωσε άδειο CD σύμφωνα με τις οδηγίες γιαεγγραφή iso σε CD/DVD που υπάρχουν στοhttp://tinyurl.com/y9q22jq.

=> Αν ο Η/Υ μου δεν έχει CD, χρησιμοποιώUSB stick (βλ. http://tinyurl.com/yok249).

=> Αν έχω netbook, μπορώ εναλλακτικά -αλλάόχι υποχρεωτικά- να κατεβάσω το εξειδικευμένοUbuntu Netbook Remix (UNR) από τον ιστοχώροhttp://tinyurl.com/cxjbpw. Στη συνέχεια, τογράφω σε USB stick σύμφωνα με τις οδηγίες στοhttp://tinyurl.com/yok249.

Βήμα 3: Επισκέπτομαι την ιστοσελίδα«Οδηγοί - How to - Tutorials σε Κατηγορίες γιαεύκολη εύρεση» (http://tinyurl.com/yedcxkp)του φόρουμ της Ελληνικής Κοινότητας του UbuntuLinux (http://forum.ubuntu-gr.org). Απότους δεκάδες διαθέσιμους οδηγούς, επιλέγωτον κατάλληλο οδηγό εγκατάστασης, π.χ.«Δημιουργία dualboot Ubuntu-Windows (μεπροεγκατεστημένα win)». Εφαρμόζω προσεκτικάτις αναλυτικότατες οδηγίες!

=> Για την έκδοση netbook χρησιμοποιώ τονοδηγό «Εγκατάσταση Ubuntu Netbook Remix».

Βήμα 4: Εφαρμόζω οπωσδήποτε τονοδηγό «Εγκατάσταση codec (ήχος,εικόνα,κτλ)σε 8.04, 8.10, 9.04, ...», και μετά «Προσθήκηκαι Εναλλαγή γλώσσας με Alt+Shift σε(K)Ubuntu» και... ό,τι άλλο χρειαστώ. Για ναβρω εφαρμογές Linux αντίστοιχες των Win-dows (ή ακριβέστερα, ανοιχτές εφαρμογέςαντίστοιχες των ιδιοταγών-εμπορικών),συμβουλεύομαι τα http://tinyurl.com/5ljszwκαι http://linuxappfinder.com/alternatives.

Ζητήστε βοήθεια από την κοινότητα

Για οποιοδήποτε πρόβλημα ή απορία μηδιστάσετε να απευθυνθείτε για βοήθεια στηνκοινότητα Ubuntu-gr, είτε στο φόρουμ, είτε στοIRC, είτε στη λίστα ηλεκτρονικού ταχυδρομείου,αφού πρώτα διαβάσετε προσεχτικά το «Oδηγίεςπρος νεοεισερχόμενους σε forum ή linux»που θα βρείτε στην κατηγορία «Γενικά»του φόρουμ και το οποίο εξηγεί πολλά(http://tinyurl.com/cvfwx9). Η απόκριση τωνεθελοντών-φίλων του ubuntu είθισται να είναιάμεση :-).

9

Page 10: Ubuntistas issue 7 january february 2010

του Παραπονιάρη Ηλία

ΑΠΟΨΕΙΣ

Η Ελληνική Κοινότητα του Ubuntu LinuxΗ ελληνική κοινότητα του Ubuntu είναι μια ανοιχτή ομάδα (άτυπη μεν – εξαιρετικά δραστήρια δε) φίλων του Ελεύθερου Λογισμικού / ΛογισμικούΑνοιχτού Κώδικα (ΕΛ/ΛΑΚ) και του GNU/Linux, που αναπτύσσεται-δραστηριοποιείται γύρω από την -φιλική προς άπειρους χρήστες- διανομήUbuntu Linux. Μία ομάδα ανθρώπων από διάφορες πόλεις της Ελλάδας και του εξωτερικού, οι οποίοι έρχονται σε επαφή κυρίως διαδικτυακά,συνήθως χωρίς να έχουν συναντηθεί μεταξύ τους, και οι οποίοι μέσα από εθελοντική συνεισφορά και κοινές δράσεις αναπτύσσουν ισχυρούςδεσμούς και αισθάνονται την πλήρωση της προσφοράς και της δημιουργικότητας.

Η κοινότητα Ubuntu-gr ανήκειστα μέλη της και είναι ανοιχτήσε όλους! Είναι το μέροςόπου έμπειροι και άπειροι(!)

χρήστες συζητάνε ό,τι τους απασχολεί, ιδέες,απορίες, πρακτικά ζητήματα, οργανωτικά θέματα,δράσεις, και βεβαίως, τεχνικά προβλήματα.Αποτελείται από ανθρώπους με εμπειρία στηνπληροφορική, αλλά κυρίως από απλούς χρήστες,που συμμετέχουν εθελοντικά στη δημιουργία-ανάπτυξη-μετάφραση του λογισμικού, στηνπαροχή τεχνικής υποστήριξης σε άλλους χρήστες,καθώς και στην προώθηση του ΕΛ/ΛΑΚ μέσωδιαφόρων εκδηλώσεων.

Στο σημείο αυτό πρέπει να διευκρινίσουμε ότιη κοινότητα ubuntu-gr, όπως και οι περισσότερεςκοινότητες ΕΛ/ΛΑΚ, δεν περιλαμβάνει μόνοάτομα που δραστηριοποιούνται αποκλειστικάστη συγκεκριμένη κοινότητα. Πολλά μέλη τηςσυμμετέχουν ενεργά σε αρκετές κοινότητεςταυτόχρονα, π.χ. στο Ubuntu, το Fedora, τοOpenOffice, τον Hellug, αλλά και στην τοπική τουςLUG (Ομάδα Χρηστών Linux).

Η κοινότητα Ubuntu-gr λειτουργεί με αυτό-

οργάνωση, σύμφωνα με τις γνώσεις, ταενδιαφέροντα, και τον χρόνο που μπορεί ναδιαθέσει έκαστος. Οι κατέχοντες κάποιο ρόλοτον εκλαμβάνουν ως υποχρέωση και όχι ωςδικαίωμα ή εξουσία. Η άποψη όλων των μελών τηςκοινότητας, ανεξαρτήτως του ρόλου/καθηκόντωνέκαστου, έχει ίση αξία και βαρύτητα. Τέλος, γίνεταιπροσπάθεια οι αποφάσεις να λαμβάνονται όσοτο δυνατόν πιο δημοκρατικά από εκείνους πουπροσφέρουν-δραστηριοποιούνται συστηματικά.

Η ελληνική κοινότητα του Ubuntu διαθέτειμέχρι στιγμής φόρουμ, λίστα ηλ. ταχυδρομείου,κανάλι συζητήσεων τύπου IRC (#ubuntu-grστο δίκτυο FreeNode), καθώς και το ελεύθεροηλεκτρονικό περιοδικό Ubuntistas. Σχετικέςοδηγίες και συνδέσμους μπορείτε να βρείτε στοhttp://www.ubuntu-gr.org. Το πιο δυναμικόμέρος της κοινότητας είναι το φόρουμ, μεπερισσότερα από 4500 μέλη και πάνω από100.000 δημοσιεύσεις, ενώ πιστούς φίλους έχειτόσο η λίστα, όσο και το κανάλι IRC, με 10-20 συμμετέχοντες σχεδόν οποιαδήποτε ώρατης ημέρας. Επί του παρόντος, η κοινότηταπαρουσιάζει μεγάλη δυναμική. με ολοένα και

αυξανόμενο αριθμό τόσο απλών μελών, κατάκανόνα νέων στον χώρο του ΕΛ/ΛΑΚ και τουGNU/Linux, όσο και ανθρώπων που αποφασίζουννα αναλάβουν ενεργό δράση στο πλαίσιοτης κοινότητας, κυρίως προσφέροντας στουςνέους χρήστες υποστήριξη-βοήθεια για τεχνικάπροβλήματα. Συνοψίζοντας λοιπόν, θα έλεγα ότιτο δυνατό σημείο της κοινότητας Ubuntu-gr είναιακριβώς ο μεγάλος αριθμός συμμετεχόντων και ηδυναμική που παρουσιάζει.

Θα κλείσω αναφέροντας ότι, για το χτίσιμομιας κοινότητας, το πιο σημαντικό συστατικόείναι το καλό κλίμα, το θετικό περιβάλλον, καικυρίως η αίσθηση ότι κάθε μέλος, έμπειρο ήάπειρο, μπορεί να δραστηριοποιηθεί ισότιμα στηνκοινότητα, να προσφέρει και να συμμετάσχειστις αποφάσεις. Πιστεύω ότι έχουμε καταφέρεινα κάνουμε την ubuntu-gr μια τέτοια ανοιχτήκοινότητα, που θα μπορούσε να αποτελέσειπαράδειγμα και για άλλες κοινότητες εθελοντικήςδράσης και κοινωνικής προσφοράς, είτε στονχώρο του ελεύθερου λογισμικού, είτε αλλού.

10

Page 11: Ubuntistas issue 7 january february 2010

του Στεφανίδη Φώτη

DISTRO

DEBIAN squeeze (testing)Επιστροφή στις ρίζες!

Το 1993, ο φοιτητήςIan Murdock στοπανεπιστήμιο Purdueανακοίνωσε μια νέαδιανομή-λειτουργικόσύστημα, βασισμένηστο ανοιχτό πνεύματου GNU/LINUX. Τοόνομά του προέρχεταιαπό το μικρό όνοματης τότε φίλης του De-bra και το δικό του.

Το 1996 αναλαμβάνει υπεύθυνος έργου καιαντικαθιστά τον Ian ο Bruce Perens. Κατόπινσυζητήσεων και ιδεών στις ταχυδρομικές λίστες,συντάσσει το κοινωνικό συμβόλαιο (DSC-DebianSocial Contract) και τις κατευθυντήριες γραμμέςελεύθερου λογισμικού (DFSG-Debian Free Soft-ware Guidelines). Σήμερα, χάρη στα μανιφέσταDSC και DFSG το λειτουργικό σύστημα DEBIANαποτελεί μια από τις αυστηρότερες διανομές στηνπροάσπιση της ελευθερίας του λογισμικού. Δενυπάρχει κάποια εταιρεία στη μεγάλη παρέα τηςδιανομής, παρά μόνο η εθελοντική κοινότηταπρογραμματιστών και χρηστών. Σαφώς οι1000 και πλέον core developers είναι κορυφαίοιστο αντικείμενό τους και εργάζονται κατά

κόρον σε μεγάλες εταιρείες πληροφορικής καιτηλεπικοινωνιών.

Αποτελεί τη μεγαλύτερη διανομή LINUXμε περίπου 25,000 διαθέσιμα πακέτα, έτοιμαπρος εγκατάσταση, μέσω του θρυλικού«έξυπνου» εργαλείου προσθαφαίρεσης πακέτωνAPT(deb), που επιτρέπει τις απροβλημάτιστεςαναβαθμίσεις μεταξύ εκδόσεων και τηναυτόματη εγκατάσταση/απομάκρυνση πακέτωνκαι εξαρτήσεων. Υποστηρίζονται επίσης 12αρχιτεκτονικές επεξεργαστών ενώ μια πληθώρασύγχρονων διανομών βασίζονται στο DE-BIAN: μεταξύ αυτών οι MEPIS, DAMN SMALLLINUX, XANDROS, KNOPPIX, BACKTRACK,SIDUX και η δημοφιλέστατη UBUNTU, πουπρόσφερε τρομερή ώθηση στο κίνημα του ΕΛΛΑΚπαγκοσμίως.

Πώς όμως γίνεται η διαχείριση καικατηγοριοποίηση του λογισμικού; Στα αποθετήρια,online τράπεζες λογισμικού, θα βρείτε σίγουρατη βασική κατηγορία main με περιεχόμενο τααπολύτως open source πακέτα. Η κατηγορίαcontrib περιέχει μεν πακέτα ανοιχτού λογισμικού,αλλά ενδέχεται να χρησιμοποιείται από αυτά -με τη μορφή βιβλιοθηκών ή/και πηγαίου κώδικα-κλειστό λογισμικό. Στη non-free κατηγορία μιλάμεγια αμιγώς κλειστό, ιδιόκτητο λογισμικό.

Ποιες είναι όμως οι τρέχουσες εκδόσεις DE-BIAN; Τα ονόματά τους είναι συνώνυμα με αυτάτων ηρώων της ταινίας «Toy Story» και είναι οιπαρακάτω:

• Stable: Η τελευταία επίσημη έκδοσηονόματι lenny. Τα προγράμματα τηςέκδοσης ανανεώνονται σπανίως (εκτόςαπό επείγουσες διορθώσεις ασφάλειας).Οι Desktop χρήστες θα βρουν σχετικάπαλιές εκδόσεις των προγραμμάτων πουσυνοδεύουν το λειτουργικό. Υπάρχει βέβαιακαι η δυνατότητα pinning για συγκεκριμένεςαναβαθμίσεις μεμονωμένων εφαρμογών,όμως η σταθερότητα και η ασφάλειαέχουν τον πρώτο λόγο εδώ. Συνίσταταιανεπιφύλακτα η χρήση της σταθερής

11

Page 12: Ubuntistas issue 7 january february 2010

DISTRO

έκδοσης σε περιβάλλοντα και τεχνολογίεςδιακομιστών.

• Testing: H υπό ανάπτυξη υποψήφιαεπόμενη σταθερή έκδοση με την κωδικήονομασία squeeze. Ωριμάζει σταδιακάμέχρι να ανακοινωθεί η λειτουργία freeze(πάγωμα) και η κατόπιν αναγγελία της σεStable. Οι ενημερώσεις και οι διορθώσειςασφαλείας είναι συχνές.

• Unstable (Sid-Still In Development):Περιλαμβάνει τα πακέτα που είναι υπό«βαριά» ανάπτυξη-εξέλιξη. Η έκδοση αυτήθεωρείται ως ιδιαίτερα ασταθής και δενσυστήνεται η χρήση της από μη μυημένους.Αν ένα πακέτο παραμείνει αρκετό χρονικόδιάστημα εδώ δίχως να παρουσιάζει κρίσιμαπροβλήματα, εντάσσεται αυτόματα στηνΤesting.

Οι περιπέτειές μου με την εν λόγω διανομήάρχισαν γύρω στο 2000. Αμέσως με τηνεμφάνιση της παράγωγης διανομής UBUNTUασχολήθηκα με αυτή, ως Desktop User καιπίστεψα ότι επιτέλους ήρθε η ώρα και η ευκαιρίατου ΕΛΛΑΚ να αποκτήσει κρίσιμη μάζα καιστη χώρα μας. Η ευκολία εγκατάστασης, ηυποστήριξη πληθώρας συσκευών, η διαθέσιμη γιααμέριστη υποστήριξη κοινότητα, κατάφεραν τελικάνα επιβεβαιώσουν τις προσδοκίες μου. Τώραόμως, στον προσωπικό μου φορητό υπολογιστή,αποφάσισα να επιστρέψω στις ιδεολογικές μουκαταβολές και εγκατέστησα τη squeeze.

Ο εγκαταστάτης απέκτησε πρόσφατα γραφικόπεριβάλλον και θυμήθηκα τις ιδιαιτερότητες τουDEBIAN. Αξίζει μια αναφορά σε αυτές ως μέτροσύγκρισης. Στην κεντρική σελίδα της διανομήςυπάρχουν πολλές επιλογές για τη λήψη της.

Μπορείτε να κατεβάσετε όλες τις εικόνες ISOγια πλήρη εγκατάσταση χωρίς σύνδεση, νααγοράσετε έτοιμα CD/DVD ή και ηλεκτρονικούςυπολογιστές με προεγκατεστημένο λειτουργικόέτοιμο για χρήση. Εγώ πάντα προτιμώ τημινιμαλιστική εγκατάσταση netinst (Network Instal-lation). Προϋποθέτει βέβαια γρήγορη σύνδεσηστο διαδίκτυο.

Τα βήματα εγκατάστασης συνοπτικά:Αφού πρώτα επιλέξουμε την αρχιτεκτονικήτου συστήματός μας, κατεβάζουμε και καίμετο CD μεγέθους περίπου 180 ΜΒ. Στηνεκκίνηση επιλέγουμε «Graphical Install»,γλώσσα εγκατάστασης, τη χώρα, τον κωδικότου υπερχρήστη (ναι, υπάρχει στη βασικήεγκατάσταση root account!) και αντίστοιχα τουαπλού χρήστη, τις κατατμήσεις, την περιοχή (mir-ror) για τη λήψη του απαιτούμενου λογισμικού καικαταλήγουμε στην επιλογή του συστήματός μας,δηλαδή για ποια χρήση και σκοπό προορίζεταιτο λειτουργικό (η γνωστή εντολή tasksel). Γιαγραφικό περιβάλλον και καθημερινές εργασίεςγραφείου κυρίως επιλέγουμε τα αντίστοιχαπλαίσια «Desktop» και «Standard System». Τοπροεπιλεγμένο γραφικό περιβάλλον είναι τοGNOME ενώ φυσικά υπάρχουν και εναλλακτικέςεπιλογές. Μετά από κάποια ώρα, ανάλογα με τηνταχύτητα λήψης του λογισμικού από το διαδίκτυο,το σύστημά μας είναι έτοιμο προς χρήση.

Είναι σημαντικό να έχουμε συμβατότηταυλικού, διότι θα μας παιδέψει αργότερα η σωστήεγκατάσταση -για παράδειγμα- μιας κάρταςγραφικών κλειστού κώδικα. Από εδώ και πέρα,όσοι είναι εξοικειωμένοι με το Synaptic PackageManager δεν θα δυσκολευτούν ιδιαίτερα. Γιαεπιπλέον λογισμικό, αρκεί να ενεργοποιήσουμετα αποθετήρια contrib και non-free στις «Πηγές

λογισμικού». Προσωπικά διαπίστωσα ταχύτερηαπόκριση του GNOME και μικρότερη χρήσηφυσικής μνήμης. Πρόσφατα, σε συζητήσεις στιςλίστες και στα φόρα, προτείνεται από πολλούςχρήστες η σταδιακή μείωση του κύκλου ανάπτυξηςτης σταθερής έκδοσης, σε αντίθεση με τουςχρήστες UBUNTU, πολλούς από τους οποίουςκουράζει ο εξαμηνιαίος κύκλος νέων εκδόσεων.

Όσοι λοιπόν θέλετε να γνωρίσετε τομεγαλύτερο οικοσύστημα λογισμικού -λειτουργικόσύστημα και συνοδευτικά πακέτα- τολμήστε.Για σταθερότητα, επιλέξτε την έκδοση lenny καιγια πειραματισμό τη squeeze. Θα είναι ένασυναρπαστικό ταξίδι και ίσως προσεχώς, ποιοςξέρει, να σας χαρούμε ως Debian Developersκάποια μέρα!

Σχετικοί σύνδεσμοι:

• Η ελληνική κοινότητα:http://debian.gr

• Η κεντρική σελίδα της διανομής:http://debian.org

• Αναφορά Βικιπαιδεία:http://en.wikipedia.org/wiki/Debian

• Παράγωγες διανομές:http://tinyurl.com/yhghl85

• Εγκατάσταση Debian Stable:http://tinyurl.com/yzkzfrz

• Δημιουργία αρχείου αποθετηρίων(sources.list):http://tinyurl.com/yec3qou

12

Page 13: Ubuntistas issue 7 january february 2010

των Γεωργά Γιώργου, Φωτιάδη Φίλιππου

ΣΥΝΕΝΤΕΥΞΗ

Άλκης ΓεωργόπουλοςΌταν το ελεύθερο λογισμικό συναντάει την εκπαίδευση!

Ο Άλκης Γεωργόπουλοςείναι καθηγητήςδευτεροβάθμιαςεκπαίδευσης σταΙωάννινα καιυποψήφιος διδάκτωρστο ΠανεπιστήμιοΠατρών. Έχει πλούσιαδραστηριότητα στοχώρο του ελεύθερουλογισμικού, που

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

- Άλκη, ευχαριστούμε που δέχτηκες τηνπρόσκλησή μας και σε καλωσορίζουμε στηνπαρέα μας. Πριν ξεκινήσουμε, σε ποιασχολική τάξη διδάσκεις και ποιο είναι τοαντικείμενο της διδασκαλίας σου;

- Διδάσκω πληροφορική σε Γυμνάσια καιΛύκεια των Ιωαννίνων, αλλά επειδή δεν έχω«οργανική θέση» όπως λέγεται, κάθε χρόνο

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

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

- Ο κύριος λόγος ήταν ότι αισθανόμουνντροπή να διδάσκω με παράνομο λογισμικό.Αρκετά από τα σχολεία που δίδασκα είχαν πολύπαλιά εργαστήρια ή ακόμα και μεμονωμένουςυπολογιστές δωρισμένους από άλλες υπηρεσίες,οι άδειες χρήσης των οποίων είχαν χαθείπριν τη δωρεά. Δεδομένης μάλιστα και τηςκακής οικονομικής κατάστασης πολλών από τασχολεία, για να καταφέρω να διδάξω με επίκαιραπρογράμματα θα έπρεπε να καταφύγω στηνπειρατεία. Ως υπεύθυνος του εργαστηρίου

Πληροφορικής, θα ήμουν υπόλογος σε τυχόνελέγχους και δεν ήθελα να επωμίζομαι τέτοιαευθύνη.

Ένας ακόμη λόγος ήταν η διαθεσιμότητα τουλογισμικού στους μαθητές. Αρκετοί μαθητέςζητούσαν να πάρουν σπίτι τους αντίγραφα τωνεφαρμογών που χρησιμοποιούσαμε στο σχολείο.Φυσικά, θα ήταν εύκολο να τους δώσω πειρατικόλογισμικό. Η πειρατεία λογισμικού όμως είναιπολύ πιο αποτρόπαια εάν διαπράττεται εντόςσχολικής τάξης. Είναι σαν να διδάσκουμεστους μαθητές ότι η πνευματική κλοπή είναικάτι συνηθισμένο και αποδεκτό. Αυτό θαήταν τουλάχιστον ειρωνικό, όταν στο επόμενοδιαγώνισμα θα έπρεπε να τους εξετάσουμε και στο«Κεφάλαιο 8: Πειρατεία Λογισμικού» που υπάρχειστο σχολικό βιβλίο. :-)

- Ποια πλεονεκτήματα πιστεύεις ότι κατέχειτο ελεύθερο λογισμικό έναντι του κλειστού,ώστε να θεωρείται βιώσιμη, αποδεκτή ή καιπροτιμότερη λύση στο χώρο της διδασκαλίας;Είναι οικονομικό το θέμα κατά κύριο λόγο;

- Το οικονομικό σκέλος είναι σίγουρα σημαντικόκαι για το σχολείο αλλά και για τους γονείς τωνμαθητών που θα θέλουν να έχουν διαθέσιμο τοίδιο λογισμικό στο σπίτι τους. Και η αποφυγήτης πειρατείας σε σχολικούς χώρους είναι ακόμασημαντικότερη. Πέρα όμως από αυτά, το ελεύθερο

13

Page 14: Ubuntistas issue 7 january february 2010

ΣΥΝΕΝΤΕΥΞΗ

λογισμικό μπορεί να δώσει λύσεις και εκεί πουτο κλειστό λογισμικό δεν θέλει. Για παράδειγμα,τα γνωστά κλειστά λειτουργικά συστήματα δενυποστηρίζουν παλιότερους υπολογιστές. Έτσι,χιλιάδες παλιοί Η/Υ σε σχολικά εργαστήριακαταδικάζονται είτε να τρέχουν αρχαίο και μηυποστηριζόμενο λογισμικό, είτε, ευτυχώς, νακαταφύγουν σε λύσεις όπως είναι το LTSP.

Επίσης, η δυνατότητα προσαρμογής καιαναδιανομής του ελεύθερου λογισμικού είναιανεκτίμητη. Τα εργαστήρια Πληροφορικήςσυντηρούνται από συναδέλφους, οι οποίοιέχουν περισσότερο εκπαιδευτική παρά τεχνικήεμπειρία. Έτσι, είναι εξαιρετικά δύσκολο ναστηθεί σωστά ένα σχολικό εργαστήριο με κλειστόλογισμικό: να έχουν εγκατασταθεί τα εκπαιδευτικάπρογράμματα, να υπάρχουν δυναμικά προφίλχρηστών και εύκολη διαχείριση των λογαριασμώντους, να υπάρχει γονικός έλεγχος για τηνπρόσβαση των μαθητών στο Διαδίκτυο, μέριμναγια αντίγραφα ασφαλείας κτλ... Το κλειστόλογισμικό δεν προσφέρει τη δυνατότητα να γίνεταικεντρικά αυτό το «στήσιμο» από το υπουργείοκαι να διανέμεται στη συνέχεια αυτούσιο στασχολεία. Δεν είναι οικονομικός ο λόγος – απλά δενεπιτρέπεται η αναδιανομή. Αντίθετα, με το ανοικτόλογισμικό έχουμε καταφέρει να είναι δυνατή ηεγκατάσταση ενός ολόκληρου εργαστηρίου μεελάχιστα κλικ.

- Λέγεται, ότι το κλειστό λογισμικό,λόγω της ευρείας χρήσης του αποτελείκαλύτερο εφόδιο στην αγορά εργασίας.Σου έχει εκφράσει ποτέ κάποιο παιδί ήγονέας παρόμοια ανησυχία; Πιστεύεις ότι ηδιδασκαλία του ελεύθερου λογισμικού μπορεί

να προσφέρει στα παιδιά τα απαραίτηταεφόδια για το μέλλον τους;

- Κάποιος, από κάποια θέση λειτουργικήςευθύνης στη Β/θμια του νομού μου, μου είχεεκφράσει κάποτε την ίδια ανησυχία: «Αν εγώ γιαπαράδειγμα διδάσκω OpenOffice, τι θα απαντήσειένας μαθητής μου σε μια εταιρία που ενδιαφέρεταινα προσληφθεί ως υπάλληλος, όταν αυτή ζητάειMicrosoft Office»;

Του απάντησα ότι ο μαθητής μπορεί να πει:«Ναι, δεν ξέρω Microsoft Office. Ξέρω όμωςOpenOffice, και μπορώ να κάνω τα ίδια ήπερισσότερα πράγματα από κάποιον που ξέρειMicrosoft Office, και επιπλέον να σας γλυτώσωαπό ένα σεβαστό ποσό κάθε χρόνο για άδειεςχρήσης». Θεωρώ ότι αυτό θα τον βοηθήσει, παράθα τον δυσκολέψει να πάρει τη θέση.

- Ακούγεται συχνά, ότι το Linuxείναι δύσχρηστο λειτουργικό για κάποιοννεοεισερχόμενο. Κατά πόσο ισχύει αυτό;Έχεις παρατηρήσει δυσκολία χρήσηςτου από τους μαθητές ή και από τουςδιδάσκοντες οφειλόμενη σε αδυναμίες τουλειτουργικού κατά πρώτο λόγο; Επίσης,μαθητές εξοικειωμένοι με το κλειστό λογισμικό,πώς αντιδρούν απέναντι σε αυτό το καινούριοκαι διαφορετικό Ubuntu;

- Έχω διδάξει σε μαθητές Α´ Γυμνασίου,κάποιοι εκ των οποίων πιάνουν για πρώτη φοράτο ποντίκι, και σε μαθητές Γ´ Λυκείου, κάποιοιεκ των οποίων έχουν σχεδόν 10 χρόνια πουχρησιμοποιούν Windows στο σχολείο και στοσπίτι τους. Και στις δύο περιπτώσεις μουέκανε εντύπωση ότι δεν είχαν καμία δυσκολία ναχειριστούν το λειτουργικό. Μάλιστα, η οργάνωση

των μενού του gnome (Εφαρμογές / Τοποθεσίες/ Σύστημα), είναι πολύ πιο εύληπτη από τηναντίστοιχη οργάνωση των Windows, κάτι πουφαίνεται ξεκάθαρα στα μαθήματα στις μικρέςηλικίες.

Μου έτυχε όμως περίπτωση μαθήτριαςΓ´ Γυμνασίου, η οποία στην αρχή δήλωσεαπογοητευμένη με το OpenOffice, γιατί είχεεπενδύσει χρόνια στην εκμάθηση του MicrosoftOffice και είχε πάρει και το ECDL. Τρεις μήνεςμετά με βρήκε στο διάλειμμα και μου ζήτησε νατης αντιγράψω το OpenOffice για το σπίτι της,γιατί η δοκιμαστική έκδοση του Microsoft Officeπου της είχαν βάλει, είχε λήξει. :-)

- Οι μαθητές της φετινής Α' τάξης τουΓυμνασίου, προμηθεύτηκαν έναν φορητόυπολογιστή για εξοικείωση με τις νέεςτεχνολογίες και την ηλεκτρονική διδασκαλία.Κατά πόσο έχει λειτουργήσει το πρόγραμμα;Θα καθιερωθεί ή θα παραμείνει μεμονωμένηενέργεια; Υπήρξαν αντιδράσεις από τουςδιδάσκοντες;

- Δεν διδάσκω φέτος σε Γυμνάσιο, και έτσιδεν έχω προσωπική εμπειρία. Από ότι ακούωόμως από συναδέλφους, η ενέργεια αυτή δεν ήτανιδιαίτερα επιτυχημένη, ενώ σε αρκετά σχολείαέχουν πάψει πλέον οι μαθητές να τους φέρνουνστο σχολείο, αφού δεν τους χρησιμοποιούνκαθόλου στα μαθήματα.

Προσωπικά πιστεύω ότι η ενέργειααυτή ήταν σε λάθος πορεία. Το κράτοςθα έπρεπε να επενδύσει σε περισσότερεςαίθουσες υπολογιστών ανά σχολείο, και όχι σεπροσωπικούς υπολογιστές μαθητών. Ο φορητόςτου μαθητή μπορεί ευκολότερα να κολλήσει ιό

14

Page 15: Ubuntistas issue 7 january february 2010

ΣΥΝΕΝΤΕΥΞΗ

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

- Με βάση το προηγούμενο, βλέπουμε ότιτο κράτος έχει κάνει κάποιες κινήσεις γιατην ανάπτυξη της πληροφορικής στα σχολείακαι την εξοικείωση των παιδιών με τα νέαηλεκτρονικά μέσα. Επίσης, το ελληνικόδημόσιο έχει συνάψει και κάποια μορφήσυνεργασίας με την εταιρεία λογισμικού Mi-crosoft. Κατά πόσο αυτό αποτελεί τροχοπέδηστην προώθηση του ελεύθερου λογισμικού;Επίσης, τι εμπόδια έχεις βρει εκ μέρους τουδημοσίου τομέα, στην έως τώρα προσπάθειάσου; Υπάρχει μέριμνα από το νόμο για τοελεύθερο λογισμικό στα σχολεία;

- Για τη συμφωνία με τη Microsoft δεν έχωδιαπιστωμένες πληροφορίες, νομίζω όμως ότιαπλά εξασφάλιζε κάποια έκπτωση στο δημόσιογια τυχόν προμήθειες νέων αδειών χρήσης. Δενανέφερε κάπου υποχρέωση για αγορά, ούτεγνωρίζω να έχουν γίνει τέτοιες μαζικές προμήθειεςγια τη Δευτεροβάθμια εκπαίδευση.

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

παράδειγμα στο λογισμικό «Microworlds» για τηΓ´ Γυμνασίου. Αυτό θεωρώ ότι είναι απαράδεκτοσφάλμα του Υπουργείου, αφού αναγκάζεισχολικές επιτροπές, καθηγητές και μαθητές είτε ναπαρανομήσουν, είτε να πληρώσουν για την αγοράτου. Ευτυχώς, ορισμένοι καθηγητές γνωρίζουνότι δεν είναι δυνατή η επιβολή της διδασκαλίαςτου συγκεκριμένου προγράμματος, και έτσιχρησιμοποιούν αντίστοιχα προγράμματα ανοικτούκώδικα. Αναγκάζονται όμως, να συγγράφουνκαι να φωτοτυπούν δικές τους σημειώσεις. Θαπρέπει να κάνουμε συντονισμένες ενέργειες,καθηγητές και μαθητές, αλλά και η κοινότητατου ανοικτού λογισμικού, ώστε να επιτύχουμετην αντικατάσταση των σχετικών κεφαλαίων μεάλλα, που να χρησιμοποιούν κάποιο ελεύθερολογισμικό.

Ένας σημαντικός φορέας υποστήριξηςγια τα Σχολικά Εργαστήρια Πληροφορικής(ΣΕΠΕΗΥ) που χρησιμοποιούν λογισμικόανοικτού κώδικα, είναι η υπηρεσία ΤεχνικήςΣτήριξης (http://ts.sch.gr), η οποία λειτουργείσυμβουλευτικά στο Υπουργείο Παιδείας.Ο Τομέας Εκπαιδευτικής Τεχνολογίας της

Τεχνικής Στήριξης, του οποίου είμαι μέλοςτα δύο τελευταία χρόνια, έχει δημοσιεύσειαρκετά εγχειρίδια εγκατάστασης ΣΕΠΕΗΥ μελειτουργικό σύστημα Ubuntu/LTSP αλλά καιεγχειρίδια για τη μετέπειτα διαχείρισή του. Έχειαναπτύξει αποθετήριο εκπαιδευτικού λογισμικού(http://ts.sch.gr/repo) για την εύκολη εγκατάστασησε Ubuntu των εκπαιδευτικών εφαρμογών τουΥπουργείου, καθώς και δεύτερο αποθετήριοστο (http://bit.ly/d8VDlq) με ενημερωμένεςεκδόσεις εφαρμογών ανοικτού κώδικα αλλά και μενέες εφαρμογές ειδικά γραμμένες για τα ελληνικάσχολεία.

- Έχεις δημιουργήσει και διαχειρίζεσαιτο «Στέκι των Πληροφορικών» το οποίοαριθμεί περισσότερα από 2.500 μέλη.Μπορείς να μας πεις δυο λόγια γι' αυτό;Οι υπόλοιποι καθηγητές-μέλη, είναι δεκτικοίπρος το ελεύθερο λογισμικό συγκεκριμένακαι προς τον ηλεκτρονικό τρόπο διδασκαλίαςεν γένει; Έχουν δημιουργηθεί και άλλασχολικά εργαστήρια από συναδέλφους σας,βασισμένα σε ελεύθερο λογισμικό;

- Το Στέκι είναι μια κοινότητα ανταλλαγήςαπόψεων και συνεργασίας για καθηγητέςΠληροφορικής. Χωρίς, ίσως, να τοσυνειδητοποιούν όλα τα μέλη του, αποτελεί καιέναν χώρο άνθισης του ιδεών του ανοικτούλογισμικού! Όχι μόνο εκπαιδευτικών εφαρμογών,όπως είναι ο Διερμηνευτής της ΓΛΩΣΣΑΣ και τοπακέτο Αλγοριθμική και Προγραμματισμός για τομάθημα ΑΕΠΠ (http://bit.ly/aThRnH), αλλάκαι σημειώσεων, διαγωνισμάτων, ασκήσεων,βίντεο... Μάλιστα, τα 4 τελευταία χρόνιασυγκροτείται ετησίως ομάδα συνεργατικής

15

Page 16: Ubuntistas issue 7 january february 2010

ΣΥΝΕΝΤΕΥΞΗ

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

Δεκάδες συνάδελφοι έχουν προχωρήσει στηλύση Ubuntu/LTSP, έχουμε μάλιστα ανοίξει καισχετικό πίνακα στο Στέκι για την υποστήριξή τους.Ελπίζω με τις νέες αυτοματοποιήσεις και τηνυποστήριξη fat clients που θα ενσωματώσουμεστο Ubuntu 10.04, πολλοί περισσότεροι να δουνότι το Ubuntu/LTSP προσφέρει έναν εύκολο τρόπονα έχουμε ένα άψογα στημένο εργαστήριο, ώστενα μπορούμε να αφοσιωθούμε απερίσπαστοι στοεκπαιδευτικό μας έργο.

- Τι ακριβώς είναι το Ubuntu/LTSP;- Το LTSP (Linux Terminal Server Project,

http://www.ltsp.org) είναι ένα έργο λογισμικούπου δίνει τη δυνατότητα να εγκαταστήσουμε Linuxστον εξυπηρετητή (server) ενός εργαστηρίου, καιόλοι οι σταθμοί εργασίας να πάρουν το λειτουργικόμέσω του τοπικού δικτύου, χωρίς να χρειάζεται καννα έχουν σκληρό δίσκο.

Μέχρι και την έκδοση 9.10 του Ubuntu,το LTSP υποστήριζε μόνο thin clients. Thinλέμε τους σταθμούς εργασίας που δεν εκτελούν

οι ίδιοι τις διάφορες εφαρμογές, αλλά αυτέςτρέχουν στον εξυπηρετητή, ενώ οι σταθμοίεργασίας απλά μεταφέρουν την εικόνα στην οθόνητους μέσω του τοπικού δικτύου. Αυτό είναιτέλειο για παλιά εργαστήρια: μας επιτρέπει ναεκτελούμε πρόσφατες εκδόσεις προγραμμάτων σευπολογιστές με 300 MHz επεξεργαστή και 64 MBRAM.

Δυστυχώς, η παραπάνω λύση αποκλείειορισμένες κατηγορίες λογισμικού, κυρίως«βαριές» πολυμεσικές εφαρμογές όπως είναι τοGoogleEarth. Ευτυχώς, από την επερχόμενηέκδοση 10.04 του Ubuntu το LTSP θα υποστηρίζεικαι fat clients. Fat λέμε τους σταθμούς εργασίαςοι οποίοι παίρνουν μεν το λειτουργικό από τονεξυπηρετητή, αλλά το τρέχουν τοπικά, με τηδικιά τους επεξεργαστική ισχύ. Η λύση αυτήείναι ιδανική για σύγχρονα εργαστήρια, αφούπροσφέρει ευκολία διαχείρισης χωρίς απώλειαστις επιδόσεις. Μάλιστα, πρόσφατα με δέχτηκανως προγραμματιστή στην ομάδα ανάπτυξης τουLTSP, και έτσι μου δόθηκε η δυνατότητα ναπροσαρμόσω την τεχνολογία των fat clients ώστενα ταιριάζει καλύτερα στα ελληνικά σχολεία.

Μια πολύ ευχάριστη «παρενέργεια» του LTSPείναι ότι μπορεί να χρησιμοποιηθεί και με ταμαθητικά netbooks! Σε συνήθη χρήση, τα net-books έχουν διάφορα προβλήματα: χαλασμένολειτουργικό, ιοί, μη εγκατεστημένα εκπαιδευτικάλογισμικά, ελλιπή αρχεία μαθητών... Με το LTSP,οι μαθητές μπορούν απλά να πατήσουν F12» Boot from network, και θα δουλεύουν στονεξυπηρετητή, στον προσωπικό τους λογαριασμό,με όλα τα εκπαιδευτικά προγράμματα καιόλες τις απαραίτητες υπηρεσίες, όπως είναι

ο αποκλεισμός περιεχομένου (dansguardian)ή η υπηρεσία διαμεσολάβησης squid για τηνασφαλέστερη και γρηγορότερη περιήγηση στοΔιαδίκτυο.

- Είσαι ο δημιουργός κάποιων εφαρμογών(sch-scripts) που βοηθούν στην εγκατάστασηκαι παραμετροποίηση του Ubuntu και τωναπαραίτητων εφαρμογών στα σχολικάεργαστήρια. Πόσο λειτουργικές είναι αυτέςοι εφαρμογές (sch-scripts) και τι γνώσειςχρειάζονται για το «στήσιμο» και τηνπαραμετροποίηση του συστήματος; Επίσης,με ποιες εκδόσεις του Ubuntu είναι συμβατές;

- Κανονικά και ανεξαρτήτως λειτουργικού,η διαδικασία σωστής εγκατάστασης ενόςεργαστηρίου απαιτεί πάρα πολλές μέρες, ώστενα γίνουν όλες οι απαραίτητες ρυθμίσεις. Ηυπηρεσία Τεχνικής Στήριξης έχει εκδώσει αρκετάεγχειρίδια με σχετικές οδηγίες, και για Win-dows και για Linux. Τα sch-scripts ξεκίνησαννα διατίθενται στην έκδοση 9.10 του Ubuntu ωςμέρος του αντίστοιχου εγχειριδίου, και στόχευανστην υπεραπλούστευση της όλης διαδικασίας:ολόκληρες σελίδες ρυθμίσεων γίνονταν πια μελίγα κλικ.

Για την έκδοση 10.04 του Ubuntu η εταιρίαΕΕΛ/ΛΑΚ έχει προωθήσει την συνέχιση τηςανάπτυξης των sch-scripts, τα οποία γράφονταιπλέον εξ' αρχής ώστε εκτός από την αρχικήεγκατάσταση να επιτελούν και καθήκονταδιαχείρισης τάξης: κλείδωμα ρυθμίσεων,αποστολή / συλλογή αρχείων, προβολή τηςοθόνης του καθηγητή κτλ. Η ανάπτυξή τουςγίνεται από την ομάδα sch-devs στην πλατφόρμαανάπτυξης λογισμικού ανοικτού κώδικα launch-

16

Page 17: Ubuntistas issue 7 january february 2010

ΣΥΝΕΝΤΕΥΞΗ

pad και η συμμετοχή όλων των ενδιαφερόμενωνείναι ευπρόσδεκτη. Μάλιστα, η αρχιτεκτονική τουςβασίζεται σε πρόσθετα, και είναι εξαιρετικά εύκολονα προστεθούν νέες λειτουργίες.

- Πρόσφατα, εκλέχτηκες μέλος τουσυμβουλίου του Edubuntu. Τι αρμοδιότητεςκαι ευθύνες σου δίνει αυτή η θέση; Πιστεύειςότι το Edubuntu προσφέρει στον μαθητή καιστον παιδαγωγό κάτι παραπάνω απ' ότι τοUbuntu καθαυτό;

- Το Edubuntu πέρασε μια κρίση ταυτότηταςτον τελευταίο καιρό, κυρίως μέχρι να καταφέρεινα απαγκιστρωθεί από τα ασαφή πλάνα τουεμπορικού τμήματος της Canonical και να γίνειένα community project όπως είναι το Xubuntu καιτο Kubuntu. Στην αρχή ως ξεχωριστό CD, στησυνέχεια ως add-on CD, και πλέον ως DVD, έχειτουλάχιστον καταφέρει να μπερδέψει το κοινό τουσχετικά με το τι επιπλέον προσφέρει.

Από την έκδοση 10.04 το Edubuntu θαδιατίθεται σε DVD. Θα προσφέρει πολλάπροεγκατεστημένα εκπαιδευτικά λογισμικά,χωρισμένα ανά βαθμίδα εκπαίδευσης,προσαρμοζόμενα μενού για να είναι πιο εύκοληη χρήση τους στο σχολείο, δυνατότητα για LiveLTSP (εκτός απροόπτου), και φυσικά τα γνωστάπροσαρμοσμένα εικονίδια / themes που είναι πιοπροσανατολισμένα για μικρές ηλικίες.

Λόγω της εκπληκτικής δυνατότητας τουLinux που ονομάζεται package management, :-) οποιαδήποτε εγκατάσταση Ubuntu μπορεί ναμεταμορφωθεί σε Edubuntu επιλέγοντας απλά έναπακέτο (edubuntu-desktop). Ή, μπορεί κάποιοςνα εγκαταστήσει απλά το kturtle από το πακέτοkde-edu και να θεωρήσει ότι δεν χρησιμοποιεί τοEdubuntu. Αυτό όμως δεν είναι ακριβές. Όλα

τα εκπαιδευτικά πακέτα συντηρούνται από τηνκοινότητα του Edubuntu, και έτσι χωρίς αυτή δενθα υπήρχαν καν διαθέσιμα πακέτα εκπαιδευτικούλογισμικού για Ubuntu.

Πέρα από την τεχνική υποστήριξη, τοEdubuntu είναι και κοινότητα. Είναι το κατάλληλομέρος για να απευθυνθεί ένας καθηγητήςπου αντιμετωπίζει γενικότερα προβλήματα στηδιδασκαλία με χρήση του Ubuntu.

Το Edubuntu Council έχει υπό την εποπτεία τουτην γενικότερη πορεία του Edubuntu. Κάνουμεεβδομαδιαίως συμβούλια στο σχετικό κανάλιIRC του Ubuntu, και βλέπουμε τι προβλήματαέχει, ποια πακέτα θα πρέπει να προσθέσουμεκαι να υποστηρίζουμε, ποια να αφαιρέσουμε,τι επιπλέον δυνατότητες θέλουμε, αν υπάρχουναιτήσεις μελών για θέσεις αυξημένης ευθύνης,διοργανώνουμε bug days ή wiki hug days...Σαν μικρό παράδειγμα, η πλήρης γλωσσικήυποστήριξη για τα Ελληνικά είναι πλέονπροεγκατεστημένη στο Edubuntu, ενώ στο Ubuntuδεν είναι και πρέπει να κατεβεί από το διαδίκτυο.

- Ποια είναι τα μελλοντικά σου σχέδια, σεό,τι αφορά την ηλεκτρονική διδασκαλία καιτην προώθηση του ελεύθερου λογισμικού στασχολεία; Με βάση την υπάρχουσα κατάστασηκαι δυναμική, διαγράφεται ελπιδοφόρο τομέλλον του ελεύθερου λογισμικού στα σχολεία;

- Προσωπικά θα συνεχίσω να χρησιμοποιώκαι να αναπτύσσω τη λύση Ubuntu/LTSP,μαζί με όλο το ελεύθερο λογισμικό που τηνσυνοδεύει, επειδή μου προσφέρει αυξημένεςδυνατότητες και μικρότερο κόστος διαχείρισης απότις αντίστοιχες εμπορικές λύσεις. Ελπίζω οι φορείςτου Υπουργείου να συνεχίσουν να υποστηρίζουναυτή τη δράση, όπως κάνουν και τώρα, ώστε

στα προσεχή χρόνια να έχουν ενημερωθεί όλοιοι συνάδελφοι για τη λύση Ubuntu/LTSP, και ναέχουν δει τα οφέλη της.

- Γιατί Ubuntu και όχι κάποια άλλη διανομήLinux περισσότερο «κοινοτική», όπως το Fe-dora ή το OpenSUSE;

- Το Ubuntu έχει από πίσω του έναν κοινοτικόγίγαντα σταθερότητας που ονομάζεται De-bian. Εκτιμώ περισσότερο το ανοικτό μοντέλοανάπτυξής του και την αυστηρή πολιτική τουπαρά τα μοντέλα ανάπτυξης άλλων διανομών. ΤοUbuntu, χτίζοντας πάνω στο Debian, προσφέρειμια ευκολότερη εμπειρία εγκατάστασης στο μέσοχρήστη. Και επειδή στα σχολεία μας ενδιαφέρειαυτό που θα δει ο μαθητής στο σχολείο ναμπορεί εύκολα να το εγκαταστήσει και στο σπίτιτου, θεωρώ ότι η επιλογή του Ubuntu πουέκαναν οι σχετικοί φορείς του Υπουργείου ήτανη καταλληλότερη.

- Αναμένεις με ανυπομονησία κάποιακαινούρια ιδιότητα της ανερχόμενης έκδοσηςτου Ubuntu 10.04 (Lucid Lynx);

- Την υποστήριξη fat clients του LTSP,τη δυνατότητα live LTSP που ελπίζω ναπροσφέρει το edubuntu, και τα sch-scripts γιατην αυτοματοποίηση της εγκατάστασης σχολικώνεργαστηρίων μαζί με τις ευκολίες διαχείρισης τάξηςπου θα προσφέρουν.

- Άλκη, σε ευχαριστούμε θερμά για τοχρόνο σου, ευχόμαστε καλή συνέχεια στηνπροσωπική και επαγγελματική σου ζωή καιευελπιστούμε το ανοιχτό λογισμικό, μέσααπό τις προσπάθειες τις δικές σου και τηςυπόλοιπης κοινότητας, να καθιερωθεί ως ηπροεπιλεγμένη λύση στην εκπαίδευση.

17

Page 18: Ubuntistas issue 7 january february 2010

του Ευθυμίου Νίκου

HOW-TO

Εισαγωγή στην QT (Μέρος Γ')Επικοινωνία μεταξύ των widgets!

Στο αφιέρωμα αυτούτου τεύχους θα δούμε πώςεπικοινωνούν μεταξύ τουςτα widgets που έχουμεεγκαταστήσει στο interface τηςεφαρμογής μας.

Ανοίγουμε το qtcreator καιδημιουργούμε ένα νέο project Qt4 Gui application.Του δίνουμε ένα όνομα της επιλογής μας και σεόλες τις άλλες καρτέλες πατάμε next. Πηγαίνουμεστον κατάλογο με τις φόρμες και ανοίγουμε μεδιπλό κλικ την mainwindow.ui.

Με τη διαδικασία που είχαμε περιγράψει στοπροηγούμενο τεύχος, δημιουργούμε το παρακάτωinterface.

Στη συνέχεια, πηγαίνουμε στο «Action Εditor»και φτιάχνουμε ένα νέο action που το ονομάζουμεpaste. O editor αυτόματα το μετονομάζει σε ac-tionPaste.

Κάνουμε δεξί κλικ πάνω στο νέο action (action-Paste). Επιλέγουμε goto slot και μετά triggered()από το αναδυόμενο παράθυρο. Εμφανίζεται ένακομμάτι του κυρίως πηγαίου αρχείου μας, με τονκέρσορα στη συνάρτηση:

void MainWindow::on_actionPaste_triggered()

στην οποία προσθέτουμε την παρακάτωγραμμή:

ui->listWidget->addItem(ui->lineEdit->text());

Τι πετυχαίνουμε με αυτήν τη γραμμή? Κάθεφορά που η εφαρμογή μας θα μπαίνει σε αυτήν τησυνάρτηση, θα πηγαίνει αυτόματα στη λίστα list-Widget που βρίσκεται μέσα στη φόρμα ui και θατρέχει την εντολή additem.

Η Qt χρησιμοποιείται στα Google Earth, KDE,Opera, OPIE, VoxOx, Skype, VLC media playerκαι VirtualBox. Παράγεται από το ανάπτυξηςπλαισίων της Nokia, το οποίο τέθηκε σε

λειτουργία μετά την εξαγορά της Νορβηγικήςεταιρείας Trolltech, που ήταν ο αρχικόςπαραγωγός της Qt στις 17 Ιουνίου 2008.

Η εντολή αυτή δέχεται ως παράμετρο μόνο μιαλέξη, την οποία αντλούμε από το lineEdit, που καιαυτό ανήκει στη φόρμα ui και μας δίνει την λέξηπου περιέχει με την εντολή text().

Οι νεότεροι στον προγραμματισμό θααναρωτηθείτε γιατί ενώ η φόρμα μας ονομάζεταιmainwindow.ui οι εντολές προέρχονται απόκάποιο αντικείμενο ui. Η απάντηση είναι απλή: τοmainwindow.ui είναι ένα αρχείο ui (user interface),το οποίο περιέχει μια κλάση. Οι κλάσεις είναι κάτισαν τα “blueprints” ενός κτιρίου. Είναι το σχέδιό

18

Page 19: Ubuntistas issue 7 january february 2010

HOW-TO

του, αλλά όταν αυτό το κτίριο υλοποιείται γίνεταιένα αντικείμενο του σχεδίου αυτού, το οποίο owizard ονόμασε ui.

Θα μπορούσαμε να έχουμε και άλλα ίδιαπαράθυρα να «τρέχουν» στην εφαρμογή μας μεάλλο όνομα.

Επιστρέφουμε στο Action editor καιφτιάχνουμε ένα νέο action, το actionUpdate.Κάνουμε και πάλι δεξί κλικ στο νέο action,επιλέγουμε goto slot και μετά triggered(). Ότανεμφανιστεί η συνάρτηση actionUpdate, εισάγουμεστη συνάρτηση τo παρακάτω κείμενο:

ui->lcdNumber->display(ui->listWidget->count());

Και αυτή η γραμμή ακολουθεί την ίδια λογικήμε την προηγούμενη. Το lcdNumber, που ανήκειστη φόρμα ui, εμφανίζει (display) έναν αριθμό, τονοποίο αντλεί από το την εντολή count του listWid-get της φόρμας ui. :-D είναι πολύ απλό!

Τελικά, το πηγαίο αρχείο μας θα πρέπει να έχειαυτή την μορφή:

Επιστρέφουμε στην επεξεργασία της φόρμας(παραθύρου) μας. Στο πλαίσιο Signals – Slots ed-itor, κάνοντας κλικ σε κάθε στήλη, φτιάχνουμε τησειρά:

exitButton-> clicked()->MainWindow -> close()

Πλέον, το κουμπί exit κλείνει την εφαρμογήμας.

Χρησιμοποιώντας τον πράσινο σταυρόδημιουργούμε άλλη μια νέα κενή σειρά στην οποίαπροσθέτουμε τα εξής:

pasteButton->clicked()->actionPaste()->triggered()

Πλέον, όταν πατάμε το κουμπί paste, τοκείμενο στη γραμμή επεξεργασίας πηγαίνει μέσαστη λίστα.

Τέλος, εισάγουμε τα εξής:

pasteButton->clicked()->actionUpdate->triggered().

Και πλέον, ο LCD counter στην κορυφή τουπαράθυρου μετράει τα στοιχεία που περιέχει ηλίστα.

Τα signals και τα slots είναι ένας απλός τρόποςγια να επικοινωνούν τα διάφορα αντικείμενα πουέχουμε ορίσει στην εφαρμογή μας. Κάθε έτοιμοαντικείμενο έχει μια λίστα από σήματα (signals), ταοποία εκπέμπει όταν ενεργοποιηθεί, και μια σειράαπό υποδοχές (slots), η κάθε μια εκ των οποίωνμπορεί να ενεργοποιηθεί από ένα ή περισσότερασήματα. Στο παράδειγμά μας, όταν κάνουμε click()

στη δομή pasteButton, δηλαδή ενεργοποιούμε τοσυγκεκριμένο σήμα, ενεργοποιείται η υποδοχήtriggered() στη δομή actionPaste() . Αλλά το ίδιοσήμα ενεργοποιεί και την υποδοχή triggered() τηςδομής actionUpdate().

Η δημιουργία αυτών των συνδέσμων είναι μιαπολύ καθαρή και εποπτική διαδικασία που σπάνιαοδηγεί σε λάθη και μπερδέματα :-).

Στο τέλος, το παράθυρο επεξεργασίας θαπρέπει να έχει αυτή την μορφή:

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

Αν ακολουθήσατε πιστά όλα τα βήματα, ηεφαρμογή θα πρέπει να δουλεύει άψογα. Μηφοβηθείτε να την αλλάξετε και να παίξετε με ταδιάφορα widgets του qt editor. Μπορείτε να βρείτεόλες τις εντολές μέσα στο εκτενές αρχείο βοήθειας.CU :-).

19

Page 20: Ubuntistas issue 7 january february 2010

του Ζηντίλη Μάριου

HOW-TO

Δημιουργήστε τον δικό σας εξυπηρετητή με Ubuntu - Μέρος 1Αυτό το άρθρο είναι το πρώτο από σειρά οδηγών που θα σας καθοδηγήσουν στο στήσιμο ενός πλήρως λειτουργικού server, για χρήση στο σπίτιή στην εργασία σας.

ΣΗΜ: Χρησιμοποιούμε το γενικό όρο«εξυπηρετητής» για να μεταφράσουμε το «server»και τον πιο ειδικό «διακομιστής» για server πουδιακινεί αλληλογραφία. Στη συνέχεια, όταν θακάνουμε την εγκατάσταση του server μας, θαχρησιμοποιήσουμε το όνομα «server» για όνοματου συστήματός μας (hostname) και μ' αυτό θααναφερόμαστε στο εξής στο σύστημά μας.

Σ' αυτό το πρώτο άρθρο θα κάνουμε τηνεγκατάσταση του server μας. Όταν εγκαθιστούμεένα server, το βασικό κριτήριο για την επιλογή τηςέκδοσης της διανομής που θα χρησιμοποιήσουμεείναι η σταθερότητα. Για το λόγο αυτό συνήθωςεπιλέγουμε μια έκδοση LTS (Long Term Sup-port – με μακροχρόνια υποστήριξη). Έναςλόγος για τον οποίο μπορεί να χρειαστεί ναχρησιμοποιήσουμε νεότερη έκδοση είναι ηυποστήριξη υλικού (κάρτες RAID ή δικτύου ήκάτι άλλο) που να έχει κυκλοφορήσει μετά τηνκυκλοφορία της LTS και να μην υποστηρίζεταισε παλιά έκδοση. Για τις ανάγκες των άρθρωναυτών θα χρησιμοποιήσουμε την έκδοση UbuntuServer 8.04, η οποία είναι και η πιο πρόσφατηLTS, με επόμενη την 10.04 που θα κυκλοφορήσειτον ερχόμενο Απρίλιο.

Το πρώτο βήμα φυσικά είναι η λήψη του

αρχείου .iso της διανομής μας [1]. Επιλέξτε τηνκατάλληλη εικόνα, κατεβάστε την και εγγράψτετην σε ένα δισκάκι με την εφαρμογή της επιλογήςσας. Αν δουλεύετε σε Windows, δοκιμάστε το In-fraRecorder. [2]

ΣΗΜ: Tο InfraRecorder είναι ένα ωραιότατοπρογραμματάκι, εγκαταστήστε το στους φίλουςσας που επιμένουν στα Windows.

Όταν ολοκληρωθεί η εγγραφή, βάλτε το δισκάκιστον οδηγό CD ή DVD του υπολογιστή που θαγίνει ο server σας, βεβαιωθείτε ότι ο υπολογιστήςείναι ρυθμισμένος να εκκινεί από αυτή τη συσκευήκαι επανεκκινήστε τον.

ΣΗΜ: Το δισκάκι εγκατάστασης του UbuntuServer δεν έχει τη δυνατότητα χρήσης ως Live CDόπως τα δισκάκια της κανονικής διανομής.

Αν ο υπολογιστής εκκινήσει επιτυχώς απότο δισκάκι του Ubuntu Server, θα δείτε πρώταμια οθόνη επιλογής γλώσσας, όπου μπορείτενα επιλέξετε τα Ελληνικά. Αυτό θα επηρεάσειτη γλώσσα που θα εμφανίζεται στις επόμενεςοθόνες του προγράμματος εγκατάστασης (όσεςείναι μεταφρασμένες) και θα εγκαταστήσει τοΕλληνικό locale στον υπολογιστή.

Στην επόμενη οθόνη επιλέξτε Install UbuntuServer. Μ' αυτό θα ξεκινήσει η διαδικασία η

οποία βήμα βήμα θα μας οδηγήσει στη δημιουργίατου server μας. Στις δύο επόμενες ερωτήσειςπιθανότατα θα πιέσετε κατ' ευθείαν το Enter, μιαπου η πρώτη σας ρωτάει για την τοποθεσία σαςκαι η δεύτερη για το συνδυασμό πλήκτρων με τονοποίο θέλετε να εναλλάσσεστε μεταξύ γλωσσών,ενώ οι προεπιλογές είναι Ελλάδα και Alt+Shift. Ηπιο συνηθισμένη περίπτωση στην οποία μπορείνα θέλετε να αλλάξετε το συνδυασμό πλήκτρων,είναι να είστε χρήστης του επεξεργαστή κειμένουEmacs. Ο συνδυασμός Alt+Shift έχει ειδικήσημασία στο Emacs, οπότε θα χρειαστεί ναεπιλέξετε κάτι άλλο.

ΣΗΜ: Στη συνέχεια αυτών των άρθρωνθα χρησιμοποιήσουμε το Nano ως επεξεργαστήγραμμής εντολών. Επομένως, αν δεν έχετειδιαίτερη προτίμηση στο Emacs, κρατήστε τηνπροεπιλογή για την εναλλαγή γλώσσας.

Στη συνέχεια, το πρόγραμμα εγκατάστασηςσας ζητά να ορίσετε ένα όνομα για το σύστημά σας(hostname). Εδώ μπορείτε να βάλετε ό,τι θέλετε,αλλά θεωρείται πιο κατάλληλο ένα όνομα που ναχαρακτηρίζει το σύστημά σας. Όπως ανέφερακαι πριν, για τις ανάγκες αυτών των άρθρων θαονομάσουμε το σύστημά μας «server».

Στην επόμενη οθόνη πρέπει να επιλέξουμε

20

Page 21: Ubuntistas issue 7 january february 2010

HOW-TO

τον τρόπο με τον οποίο ο δίσκος μας θαδιαμεριστεί σε κατατμήσεις για τη λειτουργία τουως εξυπηρετητής.

Είναι ενδιαφέρον να αναφερθεί εδώ ότιόσο αυξάνεται ο αριθμός των συμμετεχόντωνσε μια συζήτηση περί του καλύτερου τρόπουδιαμέρισης των δίσκων ενός server, τόσο οχρόνος διάρκειας της συζήτησης τείνει προς τοάπειρο. Εκτός αυτού, η δυνατότητα του καθενόςμας να κατανοήσει την αναγκαιότητα και τηχρησιμότητα των κατατμήσεων, εξαρτάται απόπολλά κριτήρια, όπως η εμπειρία στη χρήση καιδιαχείριση εξυπηρετητών, η εκτίμηση για το φόρτοεργασίας κάθε μηχανήματος κ.ά. Ως εκ τούτου, δεθα ασχοληθούμε περισσότερο σε αυτό το στάδιομε το σχήμα διαμέρισης το οποίο θα επιλέξετε,γιατί δεν επηρεάζει και τόσο τη λειτουργία ενόςserver για εκπαιδευτικούς σκοπούς. Τέλος, αν δεξέρετε πώς να φτιάξετε κατατμήσεις, ίσως είναι

καλύτερα να διακόψετε το διάβασμα αυτού τουοδηγού και να πιάσετε κάποιον άλλο.

Στη συνέχεια, επιλέξτε το πλήρες όνομα και τοόνομα χρήστη του χρήστη που θα χρησιμοποιείταιγια όλες τις εργασίες στο server που δεν απαιτούνδικαιώματα υπερχρήστη. Μπορείτε να επιλέξετεό,τι θέλετε σε αυτό το σημείο (εκτός από «admin»το οποίο το κρατάει το Ubuntu), απλά να θυμάστεότι για τα άρθρα αυτά επέλεξα το όνομα «talos»(όπως Τάλως, που ήταν -μια φορά κι έναν καιρό-ο -λέμε τώρα- firewall της Κρήτης :) ).

Μετά το όνομα χρήστη θα σας ζητηθεί ναεισαγάγετε και να επιβεβαιώσετε ένα συνθηματικόγι' αυτόν, και αμέσως μετά να ορίσετε αν οserver θα συνδέεται στο δίκτυο μέσω κάποιουδιαμεσολαβητή (proxy).

Τέλος, το πρόγραμμα εγκατάστασης σαςζητά να επιλέξετε μεταξύ κάποιων πακέτων πουμπορούν να εγκατασταθούν αυτή τη στιγμή.

Για τις ανάγκες αυτών των άρθρων επιλέξτε

τα: DNS Server, LAMP Server, Mail Server,OpenSSH Server, Print Server και Samba FileServer. Θα μπορούσαμε στο στάδιο αυτό ναμην επιλέξουμε κανένα από αυτά τα πακέτακαι να τα εγκαταστήσουμε στη συνέχεια από τααποθετήρια της διανομής μας, χωρίς να έχουμεκάποια διαφορά στο τελικό αποτέλεσμα.

Από τη στιγμή που ανάμεσα στα πακέταέχουμε επιλέξει και τη MySQL (μέρος του LAMP)και το Postfix (μέρος του Mail Server), θα μαςζητηθούν δύο τελευταίες λεπτομέρειες: ο κωδικόςτου χρήστη root της MySQL -δώστε ό,τι θέλετεεδώ, κάτι που να το θυμάστε όμως!- και μιαπροεπιλεγμένη ρύθμιση λειτουργίας του Postfix -δώστε No configuration προς το παρόν.

Το πρόγραμμα εγκατάστασης θα σαςενημερώσει ότι εγκαθιστά το GRUB, σημάδιότι όλα τα άλλα έχουν εγκατασταθεί. Ότανσας ζητηθεί, αφαιρέστε το CD εγκατάστασηςαπό τον οδηγό CD ή DVD του υπολογιστήσας και επανεκκινήστε τον. Όταν τελειώσει ηεπανεκκίνηση θα σας υποδεχτεί η προτροπήγια είσοδο χρήστη. Βάλτε το όνομα χρήστηκαι το συνθηματικό που επιλέξατε κατά τηνεγκατάσταση. Η κατάμαυρη οθόνη με το λιτόprompt «talos@server:» που βλέπετε είναι ηείσοδος στον κόσμο των πανίσχυρων server πουτρέχουν Λίνουξ, και είστε απόλυτα δικαιολογημένοιαν νιώθετε κάποιον ενθουσιασμό!

Στο επόμενο τεύχος θα εγκαταστήσουμεκάποια εργαλεία απομακρυσμένης διαχείρισηςτου server μας και θα κάνουμε τις πρώτες μαςδοκιμές.

[1] http://releases.ubuntu.com/hardy/[2] http://infrarecorder.org/

21

Page 22: Ubuntistas issue 7 january february 2010

του Κωστάρα Γιάννη

HOW-TO

Προγραμματισμός συστήματος Unix με τη γλώσσαπρογραμματισμού Ruby - Μέρος 1Απευθείας κλήσεις συστήματος Unix/Linux χωρίς τη χρήση ενδιάμεσων βιβλιοθηκών (π.χ. της C).

Στο προηγούμενο τεύχος,δώσαμε μια εισαγωγή για τηγλώσσα προγραμματισμούRuby. Ακούστηκαν κάποιασχόλια για το κατά πόσοενδιαφέρει τους αναγνώστεςτου περιοδικού μια ακόμαγλώσσα προγραμματισμού.

Αν και δεν είχα σκοπό να γράψωάλλο άρθρο για τηγλώσσα και μάλιστα στο αμέσως επόμενο τεύχος,το παραπάνω σχόλιο μου έδωσε την αφορμή.Με τη γλώσσα Ruby λοιπόν μπορείτε να κάνετεαπευθείας κλήσεις συστήματος Unix/Linux χωρίςνα χρειάζεται να χρησιμοποιήσετε ενδιάμεσεςβιβλιοθήκες, όπως π.χ. της C. Ας δούμε πώς.Αν δεν έχετε τη Ruby στο σύστημά σας, ανατρέξτεστο προηγούμενο τεύχος για να δείτε πώς να τηνεγκαταστήσετε.

Ολίγη ιστορία

Η φορητότητα των προγραμμάτωνσυστήματος μεταξύ των διαφορετικώνσυστημάτων Linux, Unix, FreeBSD κλπ.επιτυγχάνεται είτε με την τήρηση του προτύπου

POSIX είτε με τις πρότυπες βιβλιοθήκες της C.Στην πράξη, τα πράγματα δεν είναι και τόσοαπλά. Αυτό το γνωρίζετε όσοι έχετε ασχοληθεί μεφορητότητα προγραμμάτων σε άλλα συστήματαή πλατφόρμες (π.χ. Windows), αλλά και μεταξύδιαφορετικών διανομών Linux. Πολλές φορέςαναγκαζόμαστε να γράψουμε προγράμματα πουαπέχουν πολύ από τις... πρότυπες βιβλιοθήκες.Η Sun με την Java κατάφερε να λύσει σεμεγάλο βαθμό τα προβλήματα φορητότητας,παρέχοντας με τη Java Virtual Machine έναν κοινόπαρανομαστή λειτουργιών που δουλεύουν σε όλεςτις πλατφόρμες. Στο άλλο άκρο, δημιουργήθηκανδυναμικές γλώσσες όπως οι Perl, Python, Groovyκαι Ruby, οι οποίες δε χρειάζονται μεταγλώττισηκαι απλά ... τρέχουν σε όλες τις πλατφόρμες.Οι γλώσσες αυτές είναι οι πλέον κατάλληλες γιανα γράψετε σενάρια (scripts) συστήματος. Στησυνέχεια, θα δούμε πώς μπορούμε να κάνουμε μετη Ruby τα ίδια πράγματα που κάνουμε και με τηC.

Παράμετροι γραμμής εντολών

Όπως ίσως γνωρίζετε, η εκτέλεση ενός

προγράμματος C προκαλεί την κλήση τηςσυνάρτησης main():

int main(void);int main(int argc, char *argv[]);

Εδώ η παράμετρος argc περιέχει το πλήθοςτων παραμέτρων της γραμμής εντολών, ενώη argv είναι ένας πίνακας που περιέχει τιςίδιες τις παραμέτρους γραμμής εντολών. Ησυνάρτηση επιστρέφει έναν ακέραιο, 0 (ή EXIT_-SUCCESS) σε περίπτωση σωστής εκτέλεσης τουπρογράμματος, και μη μηδενική τιμή (ή EXIT_-FAILURE) σε περίπτωση λάθους.

Στη Ruby τα πράγματα είναι παρόμοια καιλίγο πιο απλά. Υπάρχει ένας καθολικός πίνακαςARGV που αποθηκεύει τις παραμέτρους γραμμήςεντολών. Ας δούμε δυο ισοδύναμα προγράμματαγραμμένα σε C και Ruby που διαβάζουν τιςπαραμέτρους γραμμής εντολών και τις εμφανίζουνστην οθόνη.

// params.c -- C program that// prints the command line parameters#include <stdio.h>

22

Page 23: Ubuntistas issue 7 january february 2010

HOW-TO

int main(int argc, char *argv[]) {int i;printf("Command line parameters: ");for (i=1; i<argc; i++) {printf("%s ", argv[i]);}printf("\n");}

Μεταγλωττίστε κι εκτελέστε το πρόγραμμα:

$ gcc -o params params.c$./params my name is JohnCommand line parameters: my name is John

Ακολουθεί το αντίστοιχο πρόγραμμα σε Ruby:

#!/usr/bin/ruby# params.rb -- Ruby program that# prints the command line parametersprint "Command line parameters:"for arg in ARGV

print " #{arg}"endputs

Αποθηκεύστε το αρχείο με όνομα params.rb.Εκτελέστε το πρόγραμμα:

$ chmod u+x params.rb$ ./params.rb my name is JohnCommand line parameters: my name is John

Παρατηρήστε τις διαφορές:

1. Το πρόγραμμα Ruby δε χρειάζεταιμεταγλώττιση

2. Δεν απαιτείται η δήλωση των μεταβλητώνπου θα χρησιμοποιήσουμε (π.χ. της arg)

3. Δεν απαιτείται μετρητής στο βρόγχο for (δηλ.i) ο οποίος μπορεί να γραφτεί και με τηβοήθεια closures ως εξής:

ARGV.each {|arg| print " #{arg}"

}

Διαχείριση λαθών

Όλες οι κλήσεις συστήματος παράγουν ένανκωδικό σε περίπτωση λάθους. Στη C θαπρέπει να συμπεριλάβετε το αρχείο errno.h γιανα εμφανίσετε την αιτία του λάθους. Το αρχείοαυτό περιλαμβάνει έναν αριθμό από χρήσιμεςσυναρτήσεις για εμφάνιση λαθών. Δυο από τις πιοχρήσιμες είναι οι void perror(const char *message)και char *strerror(int errno). Η πρώτη εκτυπώνειτη συμβολοσειρά message και μια περιγραφή τουπιο πρόσφατου λάθους. Η δεύτερη επιστρέφει μιαπεριγραφή της εξωτερικής μεταβλητής errno πουέχει σαν τιμή τον ακέραιο που αντιστοιχεί στο πιοπρόσφατο λάθος:

fprintf(stderr, " %s: ", strerror(errno));

Ας δούμε ένα παράδειγμα:

// errors_demo.c -- C program that// demonstrates use of perror and errno/* For fopen, printf */#include <stdio.h>

/* For errno variable */#include <errno.h>

main() {FILE *fd;fd = fopen("non_existent_file", "r");if (fd == NULL) {printf("errno = %d\n", errno);fprintf(stderr, "%s\n", strerror(errno));perror("fopen");}}

Το πρόγραμμα προσπαθεί να ανοίξει ένα μηυπαρκτό αρχείο με αποτέλεσμα να εμφανίζεταιμήνυμα λάθους. Μεταγλωττίζοντας και εκτελώνταςτο πρόγραμμα, παίρνουμε:

errno = 2No such file or directoryfopen: No such file or directory

Η Ruby διαθέτει ένα μηχανισμό εξαιρέσεων,παρόμοιο με της Java:

begin...rescue...ensure...end

Η εντολή ensure εκτελείται πάντα καιχρησιμοποιείται π.χ. για ελευθέρωση πόρωνπου χειριζόταν το πρόγραμμα. Η Ruby διαθέτειεπίσης κλάση Errno, όπως και η C. Ας δούμε έναπαράδειγμα:

23

Page 24: Ubuntistas issue 7 january february 2010

HOW-TO

#!/usr/bin/ruby# errors_demo.rb -- Ruby program that# demonstrates use of exceptions and Errnobeginfd = File.open('non_existing_file',File::RDONLY);

fd.write 'test'rescue Errno::ENOENT => eSTDERR.puts("Could not open file(" + e + ")")

exit(1)rescue IOError => eSTDERR.puts("Could not write to file(" + e + ")")

exit(2)ensurefd.close if (fd != nil)

end

Όπως και το πρόγραμμα C προηγούμενα,το πρόγραμμα Ruby προσπαθεί να ανοίξειένα μη υπαρκτό αρχείο για ανάγνωση μόνο,οπότε και εμφανίζεται μια εξαίρεση τύπου Er-rno:ENOENT. Στη συνέχεια, προσπαθεί ναγράψει στο ανύπαρκτο αρχείο. Η έξοδοςτου προγράμματος «πετάει» μόνο την πρώτηεξαίρεση και φυσικά σταματά την εκτέλεση τουπρογράμματος (δηλ. η εντολή fd.write δενεκτελείται):

Could not open file(No such file or directory -non_existing_file)

Δυστυχώς, το σύστημα on-line βοήθειας τηςRuby (rdoc) δεν είναι ακόμα ενημερωμένο κι έτσι

δε θα βρείτε περισσότερες πληροφορίες για τηνκλάση Errno. Μπορείτε ωστόσο να βρείτε μιαπεριγραφή της Errno στην αναφορά [4].

Διαχείριση I/O

Η Ruby διαθέτει ένα πλούσιο ρεπερτόριοεντολών για τη διαχείριση αρχείων καισωληνώσεων (sockets). Η κλάση ΙΟπεριλαμβάνειόλες τις απαραίτητες λειτουργίες για διαχείρισηαρχείων. Σε αυτήν έχουν οριστεί οι τρεις καθολικέςσταθερές STDIN, STDOUT, STDERR. Ξεκινάμε,υπολογίζοντας τον εξ ορισμού αριθμό ανοικτώνπεριγραφέων αρχείων. Σε C:

// filedescriptors.c – displays// max num of open file descriptors#include <stdio.h>#include <unistd.h>#include <stdlib.h>

int main(void) {printf("Max number of open filedescriptors/processes :%ld\n", sysconf(_SC_OPEN_MAX));printf("The same with getdtablesize() :%d\n", getdtablesize());return EXIT_SUCCESS;}

Μεταγλωττίζοντας και εκτελώντας τοπρόγραμμα, λαμβάνουμε στο Ubuntu:

$ ./filedescriptorsMax number of open filedescriptors/processes : 1024The same with getdtablesize() : 1024

Στη Ruby, μπορείτε να καλέσετε την αντίστοιχηεντολή κελύφους από το irb:

$ irbirb(main):001:0> %x(getconf OPEN_MAX).to_i=> 1024

Η εντολή %x επιτρέπει την εκτέλεση εντολώνκελύφους. Έτσι, η παραπάνω εντολή καλεί τηνεντολή κελύφους getconf που είναι ισοδύναμη μετην εντολή sysconf της C. Τέλος, η μέθοδος to_iείναι ισοδύναμη της atoi() της C.

Η κλάση File της Ruby διαθέτει πολλέςχρήσιμες μεθόδους για διαχείριση αρχείων καιφακέλων. Η μέθοδος File.umask εξομοιώνει τηνεντολή umask(1) του κελύφους:

Η File.umask επιστρέφει την τρέχουσα τιμή τηςumask.

H File.umask(0666) ορίζει τη νέα τιμή τηςumask κι επιστρέφει την παλιά.

Όπως ίσως ήδη γνωρίζετε, η umask είναιένας αριθμός μήκους 9 (8) bits που δηλώνει ταδικαιώματα του φακέλου (αρχείου). Π.χ., μια τιμή027 (000 010 111) αντιστοιχεί στα δικαιώματαrwxr-x---. Αν ένα αρχείο δημιουργηθεί π.χ. μεδικαιώματα 0640 και η μάσκα είναι 0077, τελικά τοαρχείο θα αποκτήσει δικαιώματα:

0640 & (~0077) = 0640 & 0700 = 0600

Αν δοκιμάσετε τις πιο πάνω εντολές, θαπαρατηρήσετε κάτι περίεργο:

$ umask0022$ irbirb(main):001:0> File.umask=> 18

24

Page 25: Ubuntistas issue 7 january february 2010

HOW-TO

Γιατί; Η εξήγηση είναι εύκολη: 1810 = 228.Δοκιμάστε:

irb(main):002:0> File.umask.to_s(8).to_i# metatropi se oktadiko=> 22

Ας δούμε, τώρα, πώς μπορούμε να ανοίξουμεένα αρχείο κειμένου για ανάγνωση, και νααντιγράψουμε τα περιεχόμενά του, γραμμή-γραμμή σε ένα άλλο αρχείο. Ο κώδικας σε Cφαίνεται παρακάτω:

// filecopy.c –- makes a copy of a text file#include <errno.h>#include <stdlib.h>#include <stdio.h>#include <fcntl.h>#include <unistd.h>

int main(int argc, char *argv[]) {int fd1, fd2;char *inFile, *outFile;const int MAX_LINE_LEN = 512;char buf[MAX_LINE_LEN];int bytes;

if (argc != 3) {printf("Usage: filecopy<inputFile> <outputFile>\n");

exit(EXIT_FAILURE);}

inFile = argv[1];outFile = argv[2];

if ((fd1 = open(inFile, O_RDONLY)) == NULL) {if (errno == ENOENT) {fprintf(stderr, "The file doesn't exist:

%s\n", strerror(errno));} else {

fprintf(stderr,"The file cannot be accessed:%s\n", strerror(errno));

}exit(EXIT_FAILURE);

}

if ((fd2 = open(outFile, O_WRONLY |O_CREAT)) == NULL) {

if (errno == ENOENT) {fprintf(stderr,"The file doesn't exist:

%s\n", strerror(errno));} else {

fprintf(stderr,"The file cannot be accessed:-%s\n", strerror(errno));

}exit(EXIT_FAILURE);

}

/* Copy file */while((bytes = read(fd1, buf,sizeof(buf))) > 0)

write(fd2, buf, bytes);

if (close(fd1) == EOF) {fprintf(stderr,"Error closing source file.\n");

exit(EXIT_FAILURE);

}

if (close(fd2) == EOF) {fprintf(stderr,

"Error closing destination file.\n");exit(EXIT_FAILURE);

}

return EXIT_SUCCESS;}

Το πρόγραμμα δουλεύει ως εξής: Το πρώτοαρχείο ανοίγει για ανάγνωση μόνο, το δεύτερογια εγγραφή. Στη συνέχεια, χρησιμοποιούνταιοι συναρτήσεις read και write της βιβλιοθήκηςunistd.h για να γίνει η αντιγραφή. Τέλος, τα αρχείακλείνουν.

Ας δούμε το ίδιο πρόγραμμα σε Ruby:

#!/usr/bin/ruby# filecopy.rb -- Ruby program# that copies the contents of# a text file to anotherif (ARGV.length != 2)puts "Usage: filecopy.rb<inputFile> <outputFile>"

exit!(1)endinFile = ARGV[0]outFile = ARGV[1]begin

if (File.exist?(inFile))infd = File.open(inFile, File::RDONLY)outfd = File.open(outFile,File::CREAT | File::WRONLY)while (bytes = infd.sysread(10))

25

Page 26: Ubuntistas issue 7 january february 2010

HOW-TO

outfd.syswrite(bytes)end

endrescue EOFError # do nothingrescue SystemcallError => e

STDERR.puts(e)exit!(2)

ensureinfd.closeoutfd.closeend

Ο έλεγχος εδώ γίνεται με εξαιρέσεις. Κατ'αρχάς ελέγχουμε αν το πηγαίο αρχείο υπάρχει (μεχρήση της File.exist?), στη συνέχεια το ανοίγουμεγια ανάγνωση και το αρχείο προορισμού γιαεγγραφή. Tέλος, εκτελούμε την αντιγραφή μεχρήση των sysread και syswrite. Αν φτάσουμεστο τέλος του αρχείου, απλά δεν κάνουμε τίποτα,ενώ πριν τελειώσουμε την εξαίρεση κλείνουμε τααρχεία.

Εναλλακτικές της fd.sysread:

• fd.read(n) - διαβάζει n bytes από το fd

• fd.read - διαβάζει όλο το αρχείο

• fd.gets - διαβάζει την επόμενη γραμμή

• fd.readline - διαβάζει την επόμενη γραμμή

• fd.getc - διαβάζει τον επόμενο χαρακτήρα

• fd.readchar - διαβάζει τον επόμενοχαρακτήρα

• fd.readlines - διαβάζει όλο το αρχείο και τοαποθηκεύει σ' ένα πίνακα

Αντίστοιχα, εναλλακτικές της fd.syswrite:

• fd.write(s) - γράφει το αλφαριθμητικό s στο fd

• fd << s - γράφει το αλφαριθμητικό s στο fd

• fd.puts - γράφει την επόμενη γραμμή

• fd.print - γράφει την επόμενη γραμμή

• fd.putc - γράφει τον επόμενο χαρακτήρα

• fd.printf(format, object) - γράφει τοαντικείμενο με το δοθέν φορμά

Φυσικά, στη Ruby υπάρχουν ακόμα πιοεύκολοι τρόποι να γίνει η αντιγραφή:

#!/usr/bin/ruby# filecopy.rb -- Ruby program# that copies the contents# of a text file to anotherrequire "ftools.rb"if (ARGV.length != 2)puts "Usage: filecopy.rb

<inputFile> <outputFile>"exit!(1)

endinFile = ARGV[0]outFile = ARGV[1]File.copy(inFile,outFile)

Παρατηρήστε ότι χρειαζόμαστε τη βιβλιοθήκηftools.rb, η οποία περιλαμβάνει την εντολή

File.copy. Ας δούμε κάτι λίγο διαφορετικό. Τοπαρακάτω πρόγραμμα εξομοιώνει την εντολή catτου Unix:

#!/usr/bin/ruby# cat.rb -- Ruby program that# behaves like the cat UNIX commandif (ARGV.length == 0)puts "Usage: cat.rb <file1> <file2> ..."exit!(1)endARGV.each { |arg|IO.foreach(arg) {|line| puts line}}

ή ακόμα πιο απλά:

#!/usr/bin/ruby# cat.rb -- Ruby program that# behaves like the cat UNIX commandif (ARGV.length == 0)puts "Usage: cat.rb <file1> <file2> ..."exit!(1)endARGV.each { |arg|puts (IO.read(arg))}

Το δεύτερο και τελευταίο μέρος τουάρθρου θα συμπεριληφθεί στο Τεύχος 8

Μαρτίου-Απριλίου.

26

Page 27: Ubuntistas issue 7 january february 2010

του vista killer

REVIEW

Οι καλύτεροι Comic reader για UbuntuΠοιος δεν έχει διαβάσει από εμάς κάποια εικονογραφημένη ιστορία. Ποιος δεν έχει ταξιδέψει με τις ιστορίες αγαπημένων ηρώων όπως ο Super-man ή ο Batman αλλά και δεν έχει γελάσει με τους ήρωες της Disney και της Warner όπως είναι o Duffy Duck και ο Donald Duck.

Στα μέσα της δεκαετίας του '80 είχαμε μια μικρήεπανάσταση σε αυτό τον χώρο με την εμφάνισηunderground καλλιτεχνών όπως είναι οι AlanMoore και Frank Miller που έφεραν μια μεγάληανανέωση στα εικονογραφημένα διηγήματα καιμας χάρισαν μερικά από τα καλύτερα graphic novelόπως είναι τα Watchmen, V for Vendetta, Sin City,Hellboy.

Τα graphic novel στη ψηφιακή τους μορφή τασυναντάμε ως συνήθως σε συμπιεσμένα αρχείατύπου .cbr και .cbz ενώ πιο σπάνια μπορούμενα τα βρούμε σε .cb7, .cbt, .cba. Στο Ubuntuθα βρούμε μερικά πολύ καλά προγράμματαανάγνωσης, αρχειοθέτησης η προβολής μέσωδιαδικτύου ψηφιακών comic. Τα καλύτερα απόαυτά τα προγράμματα είναι:

Comix

Ένα από τα πιο γνωστά προγράμματαανάγνωσης εικονογραφημένων στο Linuxγραμμένο σε GTK+ με αρκετές δυνατότητες, όπωςη αρχειοθέτηση της συλλογής μας, η προβολήslideshow, η λειτουργία πλήρους οθόνης,η δημιουργία σελιδοδεικτών και δυνατότηταμεγέθυνσης και σμίκρυνσης. Μπορεί ναδιαχειριστεί και εικόνες σε συμπιεσμένα αρχείαzip, rar ή tar.

Ιστότοπος: http://comix.sourceforge.net/

QcomicBook

Comic reader για το KDE γραμμένος σε Qt.Υποστηρίζει όλους τους γνωστούς τύπουςαρχείων για comic ενώ έχει τη δυνατότηταγια λειτουργία πλήρους οθόνης, δημιουργίασελιδοδεικτών καθώς και ένα πλήθος επιλογώνδιαχείρισης και προβολής των εικονογραφημένων

μας. Του λείπει όμως η δυνατότητα δημιουργίαςβιβλιοθήκης.

Ιστότοπος: http://qcomicbook.horisone.com/

CbrPager

Αρκετά απλός comic reader γραμμένος σε C.Υποστηρίζει αρχεία cbr, cb7 και cbr.

Ιστότοπος: http://tinyurl.com/yemksn9

Comic Plasmoid

Για όσους δουλεύουν σε KDE4 υπάρχει τοπανέμορφο comic plasmoid. Υποστηρίζει μιαμεγάλη βάση δεδομένων για δικτυακά comic μέσωkde-files.org που ανανεώνεται συνεχώς από τηνκοινότητα του KDE.

Ευκαιρία λοιπόν για όλους να ανακαλύψουναυτόν τον δημιουργικό χώρο των εικονογραφημένωνδιηγημάτων ακόμα και στη ψηφιακή τους μορφή.

27

Page 28: Ubuntistas issue 7 january february 2010

των Πολίτη Δημήτρη, Χάμπα Αντώνη

REVIEW

Blender...Η απόλυτη open source σουίτα δημιουργίας 3D γραφικών!

Το blender είναιμια ολοκληρωμένησουίτα δημιουργίας3D γραφικώνπου ξεκίνησε ωςεμπορική εφαρμογήαπό τις εταιρίες Neo-Geo και NaN (NotA Number Tech-nologies) αλλά στη

συνέχεια μετατράπηκε σε εφαρμογή ανοικτούκώδικα που διανέμεται ελεύθερα κατά την GNUGPL.

Υποστηρίζει τις περισσότερες λειτουργικέςπλατφόρμες (Linux, Mac OSX, Windows, SunSolaris, SGI Irix, 32 και 64bit) και διατίθεταισε πολλές γλώσσες (όχι πάντως στα ελληνικά).Το μέγεθος του είναι πολύ μικρό, μόλις 18ΜΒη τρέχουσα σταθερή έκδοση (2,49b, κυκλ. 3Σεπτεμβρίου 2009) για Linux 32bit (μέγεθοςεκτελέσιμου αρχείου). Περιορισμένες είναι καιοι απαιτήσεις συστήματος συγκριτικά με εκείνεςανάλογων εφαρμογών, πιο απαιτητικές εργασίεςωστόσο θα απαιτήσουν και πιο γρήγορο σύστημα.

Το blender μπορεί να χρησιμοποιηθεί γιαμοντελοποίηση στατικών γραφικών (εικόνων) ήanimation, UV unwrapping, texturing, rigging, ren-dering, particle και άλλες προσομοιώσεις όπως

και μη γραμμική επεξεργασία, καθώς και γιαδιαδραστικές λειτουργίες ή ακόμα και game devel-oping (χάρη στην game engine που διαθέτει).

Οι δυνατότητες του είναι απεριόριστες αφούκάποιος μπορεί να δημιουργήσει από το μοντέλοενός απλού αντικειμένου ή λογοτύπου, μέχριλεπτομερέστατες εικόνες εξαιρετικής ποιότητας,τόσο ρεαλιστικές ώστε να μην φανερώνουν τηνπροέλευσή τους. Έχει επίσης χρησιμοποιηθείγια εμπορικούς σκοπούς όπως διαφημιστικά,ντοκιμαντέρ, ταινίες (Spiderman 2, History Chan-nel και αλλού).

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

Ενεργοποιημένο εξ αρχής είναι το buttons win-dow ενώ προσφέρονται ακόμα τα scripts window,file browser, image browser, editor και πολλάακόμα.

Κάθε επιλογή μας αντικαθιστά τοπροηγούμενο παράθυρο με νέο προσφέρονταςδιάφορα υπομενού και αυτά με τη σειρά τους

28

Page 29: Ubuntistas issue 7 january february 2010

REVIEW

τα εργαλεία και τις επιλογές που χρειάζεται οχρήστης.

Για παράδειγμα, στο παράθυρο απεικόνισης(που πραγματεύεται μεταξύ άλλων τηδιαμόρφωση μεγέθους και τη θέση ενόςαντικειμένου στο χώρο), συναντάμε ένα μικρόυπομενού στο οποίο επιλέγουμε ανάμεσασε μετακίνηση, περιστροφή, κλίμακα κλπ.Παρομοίως, το buttons window αποτελείται απόσχετικά πάνελ, ανάλογα με τα προσφερόμεναεργαλεία.

Για παράδειγμα στο πάνελ «editing»βρίσκουμε το υπομενού modifier το οποίοπροσφέρει ένα σύνολο μετατροπών (όπως ηsubserf η οποία διπλασιάζει τις πλευρές ενόςαντικειμένου), ενώ στο πάνελ «scene» τιςαπαραίτητες ρυθμίσεις για να αποδώσουμε (ren-der) το έργο μας σε πλήθος φορμά εικόνων καιvideo.

Άλλο ένα χαρακτηριστικό του blender είναι ησυνεργασία με προγράμματα και renderers όπως3dsmax και yafray, αφού μπορούμε να εισάγουμεκαι εξάγουμε αρχεία συμβατών τύπων.

Αν και το blender φαίνεται εκ πρώτηςόψης πολύπλοκο (ίσως λόγω των πολλών καιεξειδικευμένων εργαλείων και μενού που διαθέτει)η εκμάθηση του δεν είναι ιδιαίτερα δύσκολη,ενώ διαθέσιμο είναι πλήθος ελεύθερων βιβλίων,οδηγών και βίντεο tutorials για τον αρχάριο αλλάκαι τον πιο προχωρημένο χρήστη. Ένας καλόςοδηγός που ξεκινά από την πρώτη επαφή καιφτάνει στην προχωρημένη χρήση του blender

βρίσκεται στην κατηγορία e-books στο wiki:http://tinyurl.com/a9jdv.

Η εφαρμογή είναι διαθέσιμη στοsynaptic αλλά και στο επίσημο site της(http://www.blender.org) όπου επιπρόσθεταμπορεί κανείς να βρει χρήσιμα plugins και scripts,galleries, οδηγούς και ό,τι άλλο αφορά το blender.Η υποστήριξη και εξέλιξη του προγράμματοςείναι συνεχής τόσο από την official BlenderFoundation (http://projects.blender.org)όσο (ιδιαίτερα στην επίλυση προβλημάτωνκαι στο δημιουργικό τομέα) από τηνκοινότητα καλλιτεχνών που το χρησιμοποιούν(http://blenderartists.org/cms).

29

Page 30: Ubuntistas issue 7 january february 2010

του Σαββίδη Σόλωνα

ΠΑΙΧΝΙΔΙΑ

Frets On FireΌταν τα δάχτυλα παίρνουν φωτιά...!

Το πλήθοςέχει ήδη μαζευτείκαι περιμένειυπομονετικά, ησκηνή είναι έτοιμη.Ορχήστρα καιόργανα έχουνπαραταχθεί καιετοιμάζονται ναχαρίσουν μιααξέχαστη βραδιά στοκοινό της. Ξαφνικά οπροβολέας εστιάζει

στον κιθαρίστα ο οποίος ανοίγει στην συναυλία μεένα πολύ ξεχωριστό σόλο κομμάτι και τότε τουςσυνεπαίρνει όλους ο ρυθμός και η μουσική... Άνέχετε φανταστεί ποτέ τον εαυτό σας στη θέση τουσολίστα μιας Ροκ μπάντας αλλά ποτέ δεν είχατετον χρόνο να μάθετε ηλεκτρική κιθάρα, η ευκαιρίασας δίνεται τώρα! Μέσα απο τη θαλπωρή τουσπιτιού σας και την άνεση του δωματίου σας,μπορείτε να δώσετε τα πιο μοναδικά ρεσιτάλ Rockκαι Heavy Metal μουσικής (και όχι μόνο) που έχετεποτέ φανταστεί! Αν πιστεύετε πως είναι πολύ καλόγια να είναι αληθινό, ακολουθήστε μας και δε θαχάσετε...

Το παιχνίδι που υπόσχεται να μας κάνειβιρτουόζους στην εικονική κιθάρα είναι το

Frets On Fire της Ομάδας Unreal Voodooκαι είναι ένας εξομοιωτής ηλεκτρικής κιθάρας,μιμούμενο το πολύ γνωστό τώρα τελευταία,εμπορικό Guitar Hero. Γραμμένο με την γλώσσαπρογραμματισμού Python, είναι ανοιχτό λογισμικόυπο την άδεια GNU General Public License ανκαι ενσωματώνει κάποια ελευθέρα και ανοιχτάκομμάτια κώδικα απο άλλου είδους άδειες. Τατραγούδια και οι γραμματοσειρές που έρχονταιμε το παιχνίδι είναι ιδιόκτητα και δεν επιτρέπεται ηδιανομή τους ξεχωριστά απο το εκτελέσιμο αρχείο.Μερικές φορές δε μπορούμε να τα έχουμε όλα.Ώς συνήθως, στα περισσότερα παιχνίδια που σαςπαρουσιάζουμε, υπάρχουν και εδώ οι εκδόσεις γιατα κυριότερα λειτουργικά, Linux – BSD, MacOS Xκαι Windows.

Λίγα λόγια για την Ομάδα.

Προέρχεται απο την Φιλανδία' ιδρυθείσα το1997 απο τους Iikku Mattila και Sami Kyöstilä, ηοποία απαρτίζεται σήμερα απο τέσσερα άτομα.Με αρκετές επιτυχίες στο ενεργητικό της, μαςπροσφέρει σήμερα αυτόν τον ξεχωριστό τρόποδιασκέδασης.

Πως παίζω;

Ο χειρισμός του παιχνιδιού γίνεται απο τοπληκτρολόγιο. Σκοπός του είναι να πατάμε

συγχρονισμένα τα πλήκτρα που αντιστοιχούν στιςέγχρωμες κουκκίδες που τρέχουν στην οθόνη μας,αντιπροσωπεύοντας τα τάστα της κιθάρας και τιςνότες αντίστοιχα. Φυσικά μια νότα για να ακουστεί,χρειάζεται η πένα να “τσιμπήσει” τις χορδές. Αυτήτη δουλειά αναλαμβάνει το πλήκτρο Enter.

Άν κάνουμε λάθος ή χάσουμε κάποια νότα,τότε ακούγεται ένα τσιριχτό φάλτσο και σταματάεινα παίζει η μουσική μέχρι να καταφέρουμε καιπάλι να συγχρονιστούμε. Απο την έκδοση 1.2.438έχει προστεθεί και οι hammer-on και pull-offνότες, γνωστές σαν HOPO, αν και στο παιχνίδιαναφέρονται ως "tappable notes". Αυτές οι νότεςεπιτρέπουν στον παίκτη να χτυπήσουν μόνο τοπλήκτρο – χωρίς την χορδή – αν προηγουμένους

30

Page 31: Ubuntistas issue 7 january february 2010

ΠΑΙΧΝΙΔΙΑ

έχει παίξει την σωστή' ακόμη μια μεταφορά απο τοGuitar Hero.

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

Βέβαια για να έχουμε μια πιο ολοκληρωμένηεμπειρία, μπορούμε να προμηθευτούμε ταανάλογα χειριστήρια σε μορφή κιθάρας ταοποία εκτός απο την καλύτερη αίσθηση θακάνουν και πιο άνετη την ενασχόλησή μας μετο παιχνίδι. Ακόμη μία ευχάριστη προσθήκη είναιτα Παγκόσμια Chart, μια επίσημη online λίσταμε τα high score. Αν θέλετε να δείτε το όνομάσας όπως κάποτε ο Chuck Berry, Jimi Hen-drix, Eric Clapton, Yngwie Malmsteen κ.α. θαπρέπει να προσπαθήσετε αρκετά. Με τον ανοιχτόχαρακτήρα του παιχνιδιού, έχετε την δυνατότητανα δημιουργήσετε τον δικό σας διακομιστή με chartκαι διαγωνίζεστε με τους φίλους σας.

Θέλω να τζαμάρω σε πιο δυνατούς ρυθμού, τίτραγούδια έχουμε;

Τα τραγούδια που έρχονται με την αρχικήεγκατάσταση του παιχνιδιού δεν είναι πολλά. Σανκαθαρόαιμο όμως πρόγραμμα ανοιχτού κώδικα,υπάρχουν πολλές επιλογές για την εξέλιξή του.Με τον ενσωματωμένο επεξεργαστή τραγουδιώνμπορούμε να προσθέσουμε όποια μελωδία εμείςθέλουμε, ακόμη και να δημιουργήσουμε το δικόμας μοναδικό κομμάτι. Οι δυνατότητες όμωςδε σταματούν εδώ. Μπορούμε να κατεβάσουμεαπο το Internet νέα κομμάτια και δημιουργίεςάλλων φανατικών φίλων του παιχνιδιού. Καισαν κερασάκι στην τούρτα, αν είστε ευτυχείςκάτοχοι μιας κονσόλας παιχνιδιών Playstation3,XBOX,Wii, μπορείτε να μεταφέρετε απο τοπαιχνίδι που έχετε αγοράσει όπως Guitar Hero,Guitar Hero II και Guitar Hero Encore: Rocksthe 80s τα αγαπημένα σας κομμάτια και να ταπροσθέσετε στη βάση του παιχνιδιού. Οι επιλογέςδεν τελειώνουν ποτέ.

Τα γραφικά του παιχνιδιού είναι απλά,καταφέρνουν όμως να μας μεταφέρουν τηναίσθηση που χρειάζεται και να διασκεδάσουμεμε επιτυχία. Χωρίς πολλά εφέ αλλά με ουσία,το περιβάλλον είναι ευχάριστο. Ίσως τα μενούθυμίσουν τίτλους απο την δεκαετία του 90, αυτόόμως δε μειώνει την αξία του. Ο ήχος φυσικά σεμία τέτοια δημιουργία παίζει ουσιαστικό ρόλο καιεδώ νομίζω πως το FOF τα πάει περίφημα. Μεκάθε αλλαγή στο μενού ακούμε και μια συγχορδία,καθώς επίσης στις αλλαγές αυτού έχουμε “χαλί”απο πίσω μελωδίες.

Όπως προαναφέραμε, τα τραγούδια πουενσωματώνονται στον τίτλο είναι ιδιοκτησία τηςομάδος ανάπτυξης και ίσως αυτό προκαλέσει

κάποιο πρόβλημα με την άδεια του σε κάποιεςδιανομές. Πρόσφατα ο John Palmiery της RedHatστο blog του, πρότεινε σε ταλαντούχους μουσικούςτης κοινότητας του ΕΛ/ΛΑΚ να ενσωματώσουν γιαχρήση κάποιες απο τις δικές τους παρτιτούρες.Αν γίνει κάτι τέτοιο, σύντομα θα δούμε το FOFνα φιγουράρει πολύ ψιλά στις προτιμήσεις τωνπαιχτών και γιατί όχι, στις εμπορικές κονσόλες.Αυτό και αν θα είναι κάτι ευχάριστο.

Η εγκατάσταση στον υπολογιστή μας μπορείνα γίνει απ' ευθείας απο το Synaptic κάνοντας τηναναζήτη με το όνομα του. Εναλλακτικά απο τοτερματικό γράφοντας, sudo apt-get install fretson-fire.

Σε γενικές γραμμές το παιχνίδι είναι ευχάριστοκαι ίσως ένα απο τα καλύτερα του ΕΛ/ΛΑΚτα τελευταία χρόνια. Προσθέτοντας την μικρήκαμπύλη εκμάθησης σε αντιδιαστολή με τηνμεγάλη ψυχαγωγία – διασκέδαση που προσφέρει,έχουμε μπροστά μας έναν πολλά υποσχόμενοτίτλο με μεγάλη προοπτική ανάπτυξής του στομέλλον.

31

Page 32: Ubuntistas issue 7 january february 2010

του Παπαδόπουλου ∆ημήτρη

ΓΡΙΦΟΙ

Προγραμματιστικοί λαβύρινθοιΜε χαρά σας καλωσορίζω στην νέα στήλη του περιοδικού μας!

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

Φυσικά η πρώτη μας ασχολία στη στήλη αυτή είναινα μάθουμε να βρίσκουμε το δρόμο μας μέσα σε έναλαβύρινθο. Ο πρώτος ίσως γνωστός λαβύρινθος ήτανο Λαβύρινθος της Κρήτης που κτίστηκε από το Δαίδαλομε εντολή του βασιλιά Μίνωα. Εκεί ο Θησέας με τηβοήθεια της Αριάδνης βρήκε το δρόμο του μέσα στολαβύρινθο με το "Μίτο της Αριάδνης", ένα κουβάρι ώστεξετυλίγοντάς του να μπορέσει να βρει την έξοδο.

Όπως ο Θησέας έπρεπε να ξεκινήσει από ένασημείο του λαβύρινθου της Κρήτης και να βρεί τιςνέες και νέους της Αθήνας που ήταν αιχμάλωτοι απότο Μινώταυρο μέσα στο λαβύρινθο, έτσι και εμείς θαπρέπει να ξεκινήσουμε από ένα σημείο του λαβύρινθουκαι να φτάσουμε σε ένα άλλο. Φυσικά το μόνο πουβλέπουμε είναι τους τοίχους γύρω μας και το πόσομακρυά φτάνουν οι διάδρομοι προς κάθε κατεύθυνση.

Ο πιο απλός τρόπος να περιπλανηθεί κανείςμέσα σε ένα λαβύρινθο είναι σε κάθε διασταύρωσηνα επιλέγει τυχαία μια κατεύθυνση. Φυσικά οηλεκτρονικός Θησέας θα αργήσει πολύ να βρει τοστόχο του αλλά στο μακρινό μέλλον είναι σίγουρο ότικάποτε θα το βρει.

Ένας πιο περίπλοκος αλγόριθμος, αλλά και πιογρήγορος, είναι να ακολουθούμε πάντοτε τον τοίχο στα

δεξιά μας (ή στα αριστερά μας). Κάθε λαβύρινθοςμπορεί να αναπαρασταθεί με ένα γράφημα, όπουοι διασταυρώσεις αναπαριστούν κόμβους. Αν τογράφημα αυτό είναι απλά συνδεδεμένο (simply con-nected) τότε ακολουθώντας τον τοίχο στα δεξιά του θαβρει ο Θησέας σίγουρα το στόχο του.

Μια άλλη εναλλακτική είναι σε κάθε διασταύρωσηνα σημειώνει ο Θησέας το διάδρομο από τον οποίοήρθε και εκείνον στον οποίο πηγαίνει (σε ένανπραγματικό λαβύρινθο με κιμωλία στα προγράμματαγεμίζοντας κάποια πολυδιάστατη μεταβλητή). Σε κάθενέα διασταύρωση θα διαλέγει το δρόμο εκείνο ο οποίοςδεν έχει σημειωθεί. Με αυτό τον τρόπο ένας διάδρομοςμπορεί να σημειωθεί περισσότερες από μία φορές. Ανσε μια διασταύρωση όλοι οι δρόμοι είναι σημειωμένοι,τότε θα επιλέγει εκείνον με τις λιγότερες "γραμμές".

Αυτό που θα προσπαθήσουμε παρακάτω είναινα παρουσιάσουμε ένα μικρό πρόγραμμα που θαπεριπλανείται τυχαία μέσα στο λαβύρινθο, ή με τηβοήθεια του χρήστη, ώσπου να βρει το στόχο του.Επιλέχθηκε η python ως γλώσσα προγραμματισμούμιας και έχουν ξεκινήσει μαθήματα στο forum και είναιαρκετά εύκολη προς εκμάθηση. Ο κώδικας και ταπαραδείγματα του άρθρου βρίσκονται στη διεύθυνσηhttp://tinyurl.com/ycyjtkr.

Στην συνάρτηση setup() οργανώνεται ολαβύρινθος, διαβάζοντας τα δεδομένα από ένα αρχείο,όπου και ορίζονται οι τοποθεσίες των τοίχων. Έπειταακολουθεί η συνάρτηση nav_maze() ή by_hand() οιοποίες και καθοδηγούν το Θησέα μέσα στο λαβύριθνο.Με τη nav_maze() περιπλανείται τυχαία, επιλέγοντας

σε κάθε βήμα μια τυχαία κατεύθυνση, ενώ στη by_-hand() ο χρήστης ορίζει προς ποια κατεύθυνση πρέπεινα πάει. Το όρισμα των συναρτήσεων αυτών είναι ημεταβλητή what_I_see, στο πρόγραμμά μας η ολικήμεταβλητή view, η οποία είναι ένα διάνυσμα μήκους4 που περιγράφει αν υπάρχει τοίχος (0) ή πόσαβήματα εκτείνεται ο διάδρομος προς την αντίστοιχηκατεύθυνση. Το πρώτο στοιχείο είναι Βοράς, τοδεύτερο Ανατολή, το τρίτο Νότος, και το τέταρτο Δύση.H συνάρτηση look() ανανεώνει το τι κοιτάει κάθε φοράο περιπλανώμενος Θησέας και η take_step() κινείτον ηλεκτρονικό Θησέα προς την κατεύθυνση πουεπιλέξαμε, εαν φυσικά δεν είναι τοίχος. Τέλος η end_-game() γράφει τα βήματα που κάναμε και ελέγχει εανφτάσαμε στο στόχο μας.

Οι μεταβλητές inputfile και outputfile δηλώνουντο αρχείο περιγράφει το λαβύρινθο και το αρχείοτης διαδρομής που ακολουθήθηκε αντίστοιχα. Ανεκτελέσουμε το πρόγραμμα python maze.py για τολαβύρινθο maze0.dat θα δούμε ότι κάθε φορά για τονίδιο λαβύρινθο βρίσκει διαφορετικό αριθμό βημάτων, μεελάχιστο αριθμό τα 9, ενώ για το λαβύρινθο maze1.datελάχιστο αριθμό 12. Αυτό γιατί κάθε φορά η γεννήτριατυχαίων αριθμών προτείνει διαφορετικές κατευθύνσεις.

Πώς επιστρέφουμε όμως τώρα στην έξοδο; Καιτι γίνεται αν ο λαβύρινθός μας είναι τριδιάστατος; Τισυμβαίνει αν στο λαβύρινθο υπάρχει και ο θρυλικόςΜινώταυρος; Αυτές οι επεκτάσεις και άλλες πολλέςθα μας απασχολήσουν σε μελλοντικές στήλες τουπεριοδικού.

32

Page 33: Ubuntistas issue 7 january february 2010

των Διαμαντή Δημήτρη, Ταμπούρη Ευθύμιου

HINTS & TIPS

Tips, Tricks & ScriptsΣύντομες απαντήσεις σε συχνές ερωτήσεις χρηστών Ubuntu και Linux.

Τελευταία, πολλοί χρήστες αντιμετωπίζουνπρόβλημα με το Flash. Ξαφνικά, εκεί πουαπολαμβάνουμε βιντεάκια από το YouTube, τοFlash σταματάει να ανταποκρίνεται στα κλικτου ποντικιού.

Για να αποφύγουμε την επανεκκίνηση τουbrowser κάθε φορά που εμφανίζεται το πρόβλημα,μπορούμε να δοκιμάσουμε και τα εξής: 1) Χρήσητου Ctrl + κλικ, αντί για σκέτο κλικ.

2)Προσθήκη της γραμμής export GDK_NA-TIVE_WINDOWS=1 στο αρχείο /etc/profile. Αυτόμπορεί να γίνει εύκολα εκτελώντας την εντολή:echo "export GDK_NATIVE_WINDOWS=1" |sudo tee -a /etc/profile.

Αυτά τα κολπάκια δε λύνουν το πρόβλημα,αλλά μας βοηθάνε να το παρακάμψουμε και μαςκάνουν τη ζωή λίγο πιο εύκολη, τουλάχιστον μέχρινα επιλυθεί με κάποια αναβάθμιση.

Τρέχετε κάποια υπηρεσία στο σύστημάσας, π.χ. ssh server, και θέλετε ανά πάσαστιγμή να γνωρίζετε την IP σας χωρίς ναμπλέκετε με domain names, dyndns, noip κ.τλ;

Απλά, ρυθμίστε κατάλληλα το παρακάτωσενάριο κελύφους, αντιγράψτε το σε κάποιοκατάλογο και στη συνέχεια προσθέστε το στονdaemon cron. Θα αναλάβει να σας ενημερώνεικάθε 10-15 λεπτά για το αν έχει αλλάξει η IP σας.

#!/bin/bash#Apostolh diethinshs IP se emailfile /tmp/myipscriptif [ $? -ne 0 ]; thenecho 1.1.1.1 > /tmp/myipscriptfimyexip=`cat /tmp/myipscript`myip=`curl -s http://checkip.dyndns.org| awk '{print $6}' | cut -c -14`if [ $myexip != $myip ]; thenecho $myip > /tmp/myipscriptsendEmail -f [email protected] \

-t [email protected] \-u "my ip now"\-m "$myip"' \-s dieuthinsh.smtpserver_tou_isp_sas.gr

fiexit 0;

Κάθε φορά που η IP σας αλλάζει, εσείς θαλαμβάνετε ένα email με τη νέα IP. Για ναδουλέψει το σενάριο φλοιού θα πρέπει να έχετεεγκατεστημένα στο σύστημά σας τα sendemail καιcurl. Στη χειρότερη περίπτωση, το email με τη νέαIP σας θα καθυστερήσει περίπου τόσα λεπτά όσαεπιλέξατε στον cron για την εκτέλεση του σεναρίου.

Χρησιμοποιείτε touchpad ή ποντίκι χωρίςροδέλα και σας έχει λείψει η αντιγραφή-επικόλληση με μαρκάρισμα και κλικ;

Αφού μαρκάρετε το κείμενο, πατήστεταυτόχρονα το δεξί και το αριστερό κουμπί, καιθα έχετε το ίδιο αποτέλεσμα!

Σας έχει λείψει το Ctrl+Alt+Backspace γιατην επανεκκίνηση του X server; Εκτός του ότιμπορείτε να το ενεργοποιήσετε και πάλι αν θέλετε,μπορείτε να χρησιμοποιήσετε στη θέση του τοσυνδυασμό Alt+SysRq+K (Προσοχή στο F-Lock).

Τα έχετε κάνει «μαντάρα» με την επιφάνειαεργασίας του KDE σας και θέλετε να τηνεπαναφέρετε στην αρχική της κατάσταση;

Πατήστε Alt+F2 και εκτελέστε kquitappplasma-desktop. Στη συνέχεια, πατήστε καιπάλι Alt+F2 και εκτελέστε konsole. Μόλιςανοίξει η konsole εκτελέστε την εντολή: rm/.kde/share/config/plasma-desktop-appletsrcΤέλος, για να επαναφέρετε το desktopπατήστε Alt+F2 και εκτελέστε plasma-desktop(εναλλακτικά, σε konsole: kshell4 plasma-desktop).

Ανάκτηση του Windows MBR χωρίς το CDτων Windows

33

Page 34: Ubuntistas issue 7 january february 2010

HINTS & TIPS

Εάν θέλετε να εκκινήσετε το σύστημααπευθείας σε Windows, αλλά το Grub έχειεπανεγγράψει το MBR, η κανονική διαδικασίαείναι να χρησιμοποιήσετε το CD των Windowsγια να διορθώσετε τα πράγματα. Εάν δεν έχετετο CD των Windows, οι παρακάτω εντολές θαεπανεγγράψουν το MBR και θα αφαιρέσουν τοGrub, επιτρέποντας έτσι στο σύστημα να εκκινήσειαπευθείας από τα Windows.

Ξεκινήστε το σύστημα με ένα Ubuntu LiveCD, ανοίξτε ένα τερματικό (μενού Εφαρμογές

Βοηθήματα Τερματικό), και εισάγετε τιςακόλουθες εντολές. Βεβαιωθείτε ότι γνωρίζετετην ταυτότητα της κατάτμησης των Windows(συνήθως ονομάζεται sda):

sudo apt-get install lilosudo lilo -M /dev/sda mbr

Πώς να κατεβάσετε βίντεο από το YouTubeκαι να τα μετατρέψετε από .flv σε .avi

Γράψτε σε τερματικό την παρακάτω εντολή γιανα εγκαταστήσετε το ffmpeg, εάν δεν το έχετε ήδηεγκατεστημένο:

sudo apt-get install youtube-dl ffmpeg

Έπειτα, χρησιμοποιήστε την παρακάτω εντολήγια να κατεβάσετε το βίντεο:

youtube-dl -o example.flv"http://www.youtube.com/watch?v=B2hdY87Udk9"

Τέλος, χρησιμοποιήστε την παρακάτω εντολήγια να μετατρέψετε το βίντεο σε μορφή .avi :

ffmpeg -i example.flv example.avi

Στις παραπάνω εντολές, αντικαταστήστετο example με ό,τι όνομα θέλετε, και το"http://www.youtube.com/watch?v=B2hdY87Udk9"με τη διεύθυνση του βίντεο.

Εύρεση μίας συγκεκριμένης λέξης/φράσηςμέσα σε πολλά αρχεία ενός φακέλου

Για να βρείτε μία λέξη ή φράση μέσα σεόλα τα αρχεία ενός φακέλου, χρησιμοποιήστε τη«μαγική» εντολή grep:

grep -i -n -r 'search_this_word'/path/to/folder/*

Το * στο τέλος σημαίνει σε όλα τα αρχεία τουφακέλου. Υποστηρίζονται χαρακτήρες μπαλαντέρ(wildcards) και κανονικές εκφράσεις.

Εγκατάσταση γραμματοσειρών TrueType(ttf)

Για την εγκατάσταση γραμματοσειρών True-Type ακολουθήστε τα παρακάτω βήματα:

• Δημιουργήστε (εάν δεν υπάρχει) το φάκελο/usr/local/share/fonts/truetype.

• Αντιγράψτε τα αρχεία των γραμματοσειρώνστον παραπάνω φάκελο.

• Αλλάξτε τον ιδιοκτήτη όλων τωνγραμματοσειρών σε root (sudo chownroot.root *)

• Τέλος, εκτελέστε σε τερματικό fc-cache ήεπανεκκινήστε το σύστημα.

Τι κάνει το fc-cache; Διαβάζει ξανά τιςγραμματοσειρές που υπάρχουν στον παραπάνωφάκελο.

Εγκατάσταση γραμματοσειρών True Typeτων Windows

Για εγκατάσταση των γραμματοσειρών TrueType των windows στο Ubuntu αρκεί το:

sudo apt-get install msttcorefonts

Εγκατάσταση αποθετηρίου του υπόανάπτυξη Firefox (9.10 & νεότερα)

Αποκτήστε πρόσβαση στο αποθετήριοubuntu-mozilla-daily ppa, για να εγκαταστήσετετην πιο «φρέσκια» (υπό ανάπτυξη) έκδοση τουFirefox.

Ανοίξτε ένα τερματικό και εισάγετε τηνακόλουθη εντολή:

sudo add-apt-repositoryppa:ubuntu-mozilla-daily

Τώρα εγκαταστήστε το Firefox με τιςπαρακάτω εντολές (ή το Synaptic Package Man-ager):

sudo apt-get updatesudo apt-get install firefox-3.7

Το νέο Firefox 3.7, με το όνομα "Minefield 3.7Web Browser", θα εμφανιστεί στο μενού σας.

34

Page 35: Ubuntistas issue 7 january february 2010

των Παραπονιάρη Ηλία, Φωτιάδη Φίλιππου

ΝΕΑ & ΑΝΑΚΟΙΝΩΣΕΙΣ

Νέα & Ανακοινώσεις...της ελληνικής κοινότητας του Ubuntu (ubuntu-gr)!

Αλλαγές στην ομάδα του περιοδικούUbuntistas

Επειδή δεν συμμετέχουν πλέον μόνιμα (καιόχι περιστασιακά για 1-2 τεύχη), αφαιρέθηκαναπό την ομάδα οι εξής: greatst, gourgi και dim-itrak. Τους ευχαριστούμε για το διάστημα πουήταν ενεργητικοί και ουσιαστικοί. Εκτός από τιςαφαιρέσεις όμως είχαμε και κάποιες προσθήκεςστο δυναμικό του περιοδικού. Η σταθερή ομάδατου Ubuntistas μεγαλώνει με τις προσθήκες τωνmrjack, elkos, vista killer, jennie και Apopas...ελπίζοντας να μην ξεχνάμε κάποιον :-)

Νέα, βελτιώσεις και προσθήκες στο φόρουμτης κοινότητας

Στις 22 Ιανουαρίου που πέρασε, υλοποιήθηκανστο φόρουμ της κοινότητας δύο νέες εκκρεμότητεςτης ομάδας συντονιστών και διαχειριστών.

• Προστέθηκε η δυνατότητα μαζικήςαποστολής ενός προσωπικού μηνύματος(pm) σε ομάδες μελών του φόρουμ, π.χ.Διαχειριστές, Γενικοί συντονιστές, Ubuntis-tas. Η υπηρεσία αυτή δεν αφορά απορίεςή θέματα για το Ubuntu, είναι μόνο γιαδιαδικαστικά / λειτουργικά θέματα τουφόρουμ.

• Παλιότερα αν θέλατε να δείτε τα θέματα πουεπιλύονται σαν επιλυμένα στην προβολήενεργών θεμάτων, δεν μπορούσατε. Αυτόόμως άλλαξε, πλέον μπορείτε να βλέπετετα θέματα που επιλύονται κανονικά στηνπροβολή ενεργών θεμάτων.

Σχετική ανακοίνωση: http://bit.ly/a3eUnq

Tips, tricks, συμβουλές, χρήσιμεςπληροφορίες κ.ά. για το Ubuntu Linux και για

διάφορες εφαρμογές!

Ο οδηγός "Διάφορα χρήσιμα" που μπορείτενα βρείτε στο φόρουμ περιλαμβάνει, tips, tricks,συμβουλές, χρήσιμες πληροφορίες κ.ά. γιατο Ubuntu Linux και για διάφορες εφαρμογές.Αφορμή για την δημιουργία αυτού του οδηγούείναι η συγκέντρωση κάποιων "μικρών" χρήσιμωνπληροφοριών, για τις οποίες πληροφορίες δεν θαάξιζε τον κόπο να φτιάξουμε οδηγούς ξεχωριστά.Όλα τα μέλη της κοινότητας μπορούμε νασυμβάλουμε στο περιεχόμενο του οδηγού, απλάαφήστε σχόλιο στο νήμα με τις πληροφορίες (tips,συμβουλές κ.ά.) που προτείνετε να προστεθούνστον οδηγό. (http://bit.ly/cqY18t)

Ubuntu 9.10 (Karmic Koala) Release Parties

Αυτή τη φορά ήρθε η σειρά της Αθήνας ναοργανώσει το πιο πολυπληθές και κεφάτο πάρτυ,...οι φωτογραφίες μιλάνε μόνες τους :-)

35

Page 36: Ubuntistas issue 7 january february 2010

ΝΕΑ & ΑΝΑΚΟΙΝΩΣΕΙΣ

Και στη Θεσσαλονίκη όμως, υπήρξε εξίσουμεγάλη συμμετοχή

Tips, tricks, συμβουλές, χρήσιμεςπληροφορίες κ.ά. για το Ubuntu Linux και για

διάφορες εφαρμογές!

Ο οδηγός "Διάφορα χρήσιμα" που μπορείτενα βρείτε στο φόρουμ περιλαμβάνει, tips, tricks,συμβουλές, χρήσιμες πληροφορίες κ.ά. γιατο Ubuntu Linux και για διάφορες εφαρμογές.Αφορμή για την δημιουργία αυτού του οδηγούείναι η συγκέντρωση κάποιων "μικρών" χρήσιμωνπληροφοριών, για τις οποίες πληροφορίες δεν θα

άξιζε τον κόπο να φτιάξουμε οδηγούς ξεχωριστά.Όλα τα μέλη της κοινότητας μπορούμε νασυμβάλουμε στο περιεχόμενο του οδηγού, απλάαφήστε σχόλιο στο νήμα με τις πληροφορίες (tips,συμβουλές κ.ά.) που προτείνετε να προστεθούνστον οδηγό. (http://bit.ly/cqY18t)

Η Ελληνική Κοινότητα του Ubuntu στοFacebook

Στις 12 Σεπτεμβρίου το 2009 δημιουργήθηκεη επίσημη ομάδα της Ελληνικής κοινότητας τουUbuntu στο Facebook. Ο κυριότερος λόγος πουυλοποιήθηκε η κίνηση αυτή, είναι η προώθηση τουUbuntu μαζί με την ελληνική κοινότητα Ubuntu-gr και του Ελεύθερου Λογισμικού / ΛογισμικούΑνοιχτού Κώδικα στην Ελλάδα. Τι μπορούμε νακάνουμε γενικότερα μέσα σε αυτήν την ομάδα;Όλα τα μέλη της έχουμε την δυνατότητα ναμοιραζόμαστε φωτογραφίες, μικρά βίντεο, νέακαι ειδήσεις σχετικά με την αγαπημένη μαςδιανομή. Η καλύτερη επιλογή όμως που έχουμεως μέλη αυτής της ομάδας, είναι η δυνατότητανα στείλουμε προσκλήσεις στις επαφές μας στοFacebook για να δουν την ομάδας μας και νασυμμετέχουν σε αυτή αν τους φανεί ενδιαφέρον.Το ευχάριστο νέο για την ομάδα μας στο Facebookείναι ότι πρόσφατα ξεπεράσαμε τα 600 μέλη καισυνεχίζουμε την προσπάθεια για την διάδοση της.(http://bit.ly/8Uejtj)

Ubuntu 10.04 (Lucid Lynx) LTS

Η ερχόμενη στα τέλη Απρίλη έκδοση του ubuntuθα είναι long term support και την περιμένουμε μεαγωνία.

36

Page 37: Ubuntistas issue 7 january february 2010