Πρώτο commit
Αυτό το commit περιλαμβάνεται σε:
		
				commit
				
					
						8ec8e9bee2
					
				
			
		
					 451 αρχεία άλλαξαν με 46736 προσθήκες και 0 διαγραφές
				
			
		
							
								
								
									
										70
									
								
								content/articles/09/01_editorial.md
									
										
									
									
									
										Κανονικό αρχείο
									
								
							
							
						
						
									
										70
									
								
								content/articles/09/01_editorial.md
									
										
									
									
									
										Κανονικό αρχείο
									
								
							| 
						 | 
				
			
			@ -0,0 +1,70 @@
 | 
			
		|||
+++
 | 
			
		||||
title = 'Editorial'
 | 
			
		||||
date = '1998-11-01T00:00:00Z'
 | 
			
		||||
description = ''
 | 
			
		||||
author = 'Μιχάλης Καμπριάνης'
 | 
			
		||||
issue = ['Magaz 09']
 | 
			
		||||
issue_weight = 1
 | 
			
		||||
+++
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
*Όπως λέγαμε και τον προηγούμενο μήνα, το HEL.L.U.G. έχει πλέον εκλεγμένο Δ.Σ. Αυτή τη στιγμή έχουν ανατεθεί θέσεις και αρμοδιότητες, και το HEL.L.U.G. κινείται
 | 
			
		||||
σε μία καλή ελπίζουμε κατεύθυνση επίτευξης του κύριου σκοπού του, που είναι η διάδοση του Linux στην Ελλάδα.*
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
Το πρώτο εκλεγμένο διοικητικό συμβούλιο, αποτελείται από τους:
 | 
			
		||||
 | 
			
		||||
  ------------------------------------------------------------------------------- -------------------------------------------------------------------------------
 | 
			
		||||
  \                                                                               **Όνομα**
 | 
			
		||||
  **Θέση**                                                                        
 | 
			
		||||
 | 
			
		||||
  Πρόεδρος                                                                        Καμπριάνης Μιχάλης
 | 
			
		||||
 | 
			
		||||
  Αντιπρόεδρος                                                                    Παπακώστας Ευρυπίδης
 | 
			
		||||
 | 
			
		||||
  Γ. Γραμματέας                                                                   Βρυώνης Παναγιώτης
 | 
			
		||||
 | 
			
		||||
  Ταμίας                                                                          Σανιδά Βούλα
 | 
			
		||||
 | 
			
		||||
  Έφορος                                                                          Γεωργάτος Φώτης
 | 
			
		||||
 | 
			
		||||
                                                                                  
 | 
			
		||||
  ------------------------------------------------------------------------------- -------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
Όπως διαβάσατε στο [προηγούμενο τεύχος](../08/04_giafka.html), μία ομάδα κομμάντο έφτιαξε ένα μηχάνημα, το οποίο αυτή τη στιγμή φιλοξενείται από την [FORTHnet
 | 
			
		||||
Α.Ε.](http://www.forthnet.gr) την οποία και ευχαριστούμε. Το μηχάνημα έχει επάνω :
 | 
			
		||||
 | 
			
		||||
-   Web-server τον οποίο έχει αναλάβει ο Κρεμμύδας Κλεάνθης με τη βοήθεια των Κώστα Μπαρακίτη και Σπύρου Μπόλη,
 | 
			
		||||
-   Listserver στον οποίο θα μεταφερθούν οι λίστες linux-greek-users, hellug και how-to, υπό την επίβλεψη των Ιωάννου Γιάννη, Κόκρα Νίκου και Μαυρογιαννόπουλου
 | 
			
		||||
    Νίκου,
 | 
			
		||||
-   Sendmail για υπηρεσία mail-forwarding των μελών, υπό την επίβλεψη του Νίκου Μαυρογιανόπουλου, και
 | 
			
		||||
-   PostgreSQL server με στοιχεία για τα μέλη, τον οποίο διαχειρίζεται ο Κώστας Μαϊστρέλης.
 | 
			
		||||
 | 
			
		||||
Στα πλάνα του συλλόγου, είναι η μεταφορά του Magaz εκεί, ενώ βέβαια, θα υπάρχει και στο linux.gr, το οποίο συνεχίζει να φιλοξενείται από την [Hellas On
 | 
			
		||||
Line](http://www.hol.gr). Έτσι φτάνουμε στον να υποστηρίζεται το Linux έμπρακτα, από τους δύο μεγαλύτερους ISP της Ελλάδας.
 | 
			
		||||
 | 
			
		||||
Το Δ.Σ. έχει ήδη αρχίσει να ασχολείται με την πιθανότητα παρουσίασης του Linux σε ειδική εκδήλωση του γνωστού βιβλιοπωλείου Παπασωτηρίου, όπως και την συμμετοχή
 | 
			
		||||
σε εκθέσεις.
 | 
			
		||||
 | 
			
		||||
Αρκετά είπαμε όμως για το Hellug, ας περάσουμε στην υπόλοιπη επικαιρότητα του τεύχους.
 | 
			
		||||
 | 
			
		||||
Υπάρχει ένα άρθρο του Νίκου Μαυρογιαννόπουλου σχετικά με το [National Language Support](04_nls.html) (NLS), τι είναι, γιατί και πως να ασχοληθείτε με αυτό.
 | 
			
		||||
 | 
			
		||||
Ο Γιώργος Κεραμίδας επανέρχεται με οδηγίες για να [γράψουμε ελληνικά στο groff](03_groff.html).
 | 
			
		||||
 | 
			
		||||
Ο Γιάννης Εξηνταρίδης που τείνει να εξελιχθεί σε έναν από τους σταθερούς - έκτακτους αρθρογράφους, μας μιλάει για τον [Προγραμματισμό σε
 | 
			
		||||
C/C++](02_programing.html)
 | 
			
		||||
 | 
			
		||||
Ο Βαγγέλης Παπαδογιαννάκης συνεχίζει να ασχολείται με το να βοηθάει σε απλές καθημερινές δουλειές. Η ειδική μας πλέον στήλη για τους νέους χρήστες, πόσο [απλή
 | 
			
		||||
σας κάνει την ζωή το Linux](06_bash2.html).
 | 
			
		||||
 | 
			
		||||
Ευχαριστούμε ιδιαίτερα τον Βαγγέλη Ρόζο, για το άρθρο του [Εισαγωγή στο μαθηματικό πρόγραμμα Calc](05_calctut.html). Διαβάστε το και θα δείτε πόσες δυνατότητες
 | 
			
		||||
έχουν τα προγράμματα που φαίνονται εκ πρώτης όψεως απλά.
 | 
			
		||||
 | 
			
		||||
Και βέβαια, δεν θα μπορούσε να λείπει η σταθερή [στήλη της αλληλογραφίας](07_mailbox.html). Εσείς μας γράφετε, κι εμείς\...
 | 
			
		||||
 | 
			
		||||
Να σας υπενθυμίσω, ότι όπως πάντα, το magaz φιλοξενεί άρθρα, από όλους τους φίλους συνlinuxάδες. Στο συγκεκριμένο τεύχος μάλιστα, μας σώσανε οι φίλοι μας (αφού
 | 
			
		||||
η συντακτική ομάδα του Magaz συμμετέχει σχεδόν σύσσωμη στο Δ.Σ. και τις ομάδες εργασίας του Hellug).
 | 
			
		||||
 | 
			
		||||
Καλή ανάγνωση, και καλό φθινόπωρο.
 | 
			
		||||
							
								
								
									
										87
									
								
								content/articles/09/02_programing.md
									
										
									
									
									
										Κανονικό αρχείο
									
								
							
							
						
						
									
										87
									
								
								content/articles/09/02_programing.md
									
										
									
									
									
										Κανονικό αρχείο
									
								
							| 
						 | 
				
			
			@ -0,0 +1,87 @@
 | 
			
		|||
+++
 | 
			
		||||
title = 'Προγραμματισμός σε C/C++ στο Linux'
 | 
			
		||||
date = '1998-11-01T00:00:00Z'
 | 
			
		||||
description = ''
 | 
			
		||||
author = 'Γιάννης Εξηνταρίδης'
 | 
			
		||||
issue = ['Magaz 09']
 | 
			
		||||
issue_weight = 2
 | 
			
		||||
+++
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
*Αρκετοί που ασχολούνται με προγραμματισμό (είτε ερασιτεχνικά, είτε επαγγελματικά) και έχουν έρθει στον κόσμο του Linux, αναρωτιούνται ίσως τι γίνεται με την
 | 
			
		||||
ανάπτυξη εφαρμογών. Τα παρακάτω επιχειρούν να ρίξουν φως σε αυτόν τον τομέα.*
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
Το Linux προσφέρει μια πληθώρα προγραμματιστικών εργαλείων και όπως αντιλαμβάνεστε είναι φυσικό η C/C++ να έχει την τιμητική της στο κόσμο του Linux μια που η
 | 
			
		||||
πλειοψηφία των εφαρμογών (όπως εξάλλου και το ίδιο το λειτουργικό) είναι γραμμένες σε αυτή την γλώσσα. Στο Linux κυριαρχεί το κλασικό στύλ ανάπτυξης εφαρμογών.
 | 
			
		||||
Δηλαδή editing του κώδικα σε ένα απλό text editor, compiling (από την γραμμή εντολής φυσικά) running και debugging. Το compiling γίνεται από τον πανίσχυρο GNU
 | 
			
		||||
compiler (gcc αν πρόκειται για πρόγραμμα C, g++ αν πρόκειται για πρόγραμμα C++).
 | 
			
		||||
 | 
			
		||||
Μερικά απλά παραδείγματα θα δείξουν την χρήση του. Για να κάνουμε ένα απλό compiling αρκεί να δώοσυμε την εντολή gcc -c hello.c (όπου hello.c ο source κώδικας
 | 
			
		||||
μας).
 | 
			
		||||
 | 
			
		||||
Για να κάνουμε compiling + linking θα δώοσυμε την εντολή
 | 
			
		||||
 | 
			
		||||
**gcc -o hello hello.c**
 | 
			
		||||
 | 
			
		||||
Να τονίσουμε ότι ΠΡΕΠΕΙ να δώσουμε όνομα στο τελικό εκτελέσιμο αρχείο που θα προκύψει. ΔΕΝ εννοείται ότι το αρχείο θα ονομαστεί hello. Αντίθετα το default είναι
 | 
			
		||||
να ονομαστεί a.out.
 | 
			
		||||
 | 
			
		||||
Οι διάφορες libraries στις οποίες θα γίνει link η εφαρμογή μας δηλώνονται με -l(όνομα library χωρίς το πρόθεμα lib). Π.χ. Αν έχουμε γράψει ένα πρόγραμμα το
 | 
			
		||||
οποίο χρησιμοποιεί την I/O library της C++ θα πρέπει να γράψουμε
 | 
			
		||||
 | 
			
		||||
**g++ -o hello hello.cpp -liostream**
 | 
			
		||||
 | 
			
		||||
To αρχείο που αντιστοίχει στην library iostream είναι το libiostream.a
 | 
			
		||||
 | 
			
		||||
Αν θέλαμε να κάνουμε link με την standard C library θα γράφαμε
 | 
			
		||||
 | 
			
		||||
**gcc -o hello hello.c -lc**
 | 
			
		||||
 | 
			
		||||
Oμοια το αρχείο που αντιστοίχει στην standard C library είναι το libc.a
 | 
			
		||||
 | 
			
		||||
Από τα παραπάνω φαίνεται η λογική της διαδικασίας όταν θέλουμε να εκτελέσουμε link σε κάποια library. Στην πραγματικότητα τα παραπάνω ( δηλαδή -lc ή -liostream)
 | 
			
		||||
δεν χρειαζόντουσαν γιατί εξ\' ορισμού ο gcc αυτόματα εκτελεί link σε αυτές. Χρειάζεται όμως σε άλλες περιπτώσεις.
 | 
			
		||||
 | 
			
		||||
Ο gcc δέχεται πάρα πολλές επιλογές οι οποίες δεν είναι δυνατόν να καλυφτούν σε ένα μόνο άρθρο. Η καλύτερη πηγή για αυτά αποτελεί το ίδιο το manual του (ή οι man
 | 
			
		||||
pages). Θα τονίσουμε απλά τις πιο σημαντικές. Κάθε προγραμματιστής που σέβεται τον εαυτό του ξέρει ότι η εφαρμογή πρέπει να είναι όσο το δυνατόν
 | 
			
		||||
βελτιστοποιημένη (τόσο από άποψη ταχύτητας όσο και από άποψη μεγέθους)
 | 
			
		||||
 | 
			
		||||
Βελτιστοποίση σε ένα ορισμένα βαθμό γίνεται με την επιλογή -Ο1 Π.χ
 | 
			
		||||
 | 
			
		||||
**gcc -O1 -o \[output\] \[input\]**
 | 
			
		||||
 | 
			
		||||
Ακόμα περισσότερο
 | 
			
		||||
 | 
			
		||||
**gcc -O2 -o \[output\] \[input\]**
 | 
			
		||||
 | 
			
		||||
Μήπως θέλουμε να αναφέρονται όλα τα warnings ? Τότε αρκεί να δώσουμε ένα
 | 
			
		||||
 | 
			
		||||
**gcc -Wall -o \[output\] \[input\]**
 | 
			
		||||
 | 
			
		||||
Και το debugging ? Τι γίνεται με αυτό ? Ο GNU debugger είναι ο gdb. Επειδή όμως χρειαζόμαστε και debugging info προτού περάσουμε στην χρήση του χρειάζεται να
 | 
			
		||||
δώσουμε ένα
 | 
			
		||||
 | 
			
		||||
**gcc -g -o \[output\] \[input\]** πρώτα και είμαστε έτοιμοι.
 | 
			
		||||
 | 
			
		||||
Και το profiling ? Μην ανησυχείτε. Υπάρχει και αυτό. Δώστε ένα
 | 
			
		||||
 | 
			
		||||
**gcc -pg -o \[output\] \[input\]**
 | 
			
		||||
 | 
			
		||||
εκτελέστε την εφαρμογή, μετά δώστε ένα gprof gmon.out (όπου gmon.out το αρχείο που δημουργείται) και θα δείτε ένα σωρό χρήσιμες πληροφορίες. Οπως βλέπετε τίποτα
 | 
			
		||||
δεν λείπει.
 | 
			
		||||
 | 
			
		||||
Ισως τα παραπάνω να φανούν λιγάκι απαρχαιωμένα στους μοντέρνους προγραμματιστές οι οποίοι έχουν μάθει στα (πολύ καλά ομολογουμένως) ολοκληρωμένα περιβάλλοντα,
 | 
			
		||||
στις σουίτες ανάπτυξης εφαρμογών κ.λπ. Η αλήθεια είναι πως είχαν και άλλοι τις ίδιες ανησυχίες, για αυτό και προχώρησαν σε κάτι ανάλογο. Υπάρχουν τέτοια
 | 
			
		||||
πράγματα σε Linux και τελείως ενδεικτικά θα αναφέρω το RHIDE (το οποίο στον τρόπο λειτουργίας θα θυμίσει πολύ το IDE της Borland για DOS), το xwke, τον ddd (
 | 
			
		||||
Data display Debugger ), τον kdbg (K Debugger για όσους έχουν KDE στο σύστημά τους ) κ.λπ. Δεν λείπουν επίσης βιβλιοθήκες ρουτινών και συναρτήσεων. Όλα αυτά θα
 | 
			
		||||
τα βρείτε στο τμήμα Software/Programming του <http://www.linuxlinks.com>.
 | 
			
		||||
 | 
			
		||||
Η αλήθεια είναι πάντως πως ο GNU έχει την τιμητική του και στον κόσμο του DOS. Πράγματι ο γνωστός DJGPP compiler δεν είναι τίποτα παραπάνω από ένα porting του
 | 
			
		||||
gcc στο DOS. Για πολλά χρόνια έχει αποτελέσει την ίσως μοναδική λύση, για 32bit εφαρμογές και φυσικά παιχνίδια στην παραπάνω πλατφόρμα. (Π.χ. το Quake, ο πολύ
 | 
			
		||||
γνωστός emulator MAME κ.λπ.)
 | 
			
		||||
 | 
			
		||||
Φυσικά τα παραπάνω δεν φιλοδοξούν να καλύψουν το κεφάλαιο \"προγραμματισμός C/C++ στο Linux\". Απλά αποτελούν μια πρώτη εισαγωγή και στην πραγματικότητα μόλις
 | 
			
		||||
που αγγίζουν την κορυφή του παγόβουνου. Για παράδειγμα δεν αναφερθήκαμε καθόλου σε X programming ούτε και Assembly programming (Για το τελευταίο επιφυλλασόμεθα
 | 
			
		||||
σε μελλοντικό αρθράκι). Καλώς ήρθατε στον κόσμο του Gcc !
 | 
			
		||||
							
								
								
									
										301
									
								
								content/articles/09/03_groff.md
									
										
									
									
									
										Κανονικό αρχείο
									
								
							
							
						
						
									
										301
									
								
								content/articles/09/03_groff.md
									
										
									
									
									
										Κανονικό αρχείο
									
								
							| 
						 | 
				
			
			@ -0,0 +1,301 @@
 | 
			
		|||
+++
 | 
			
		||||
title = 'Γράφοντας Ελληνικά στο GROFF'
 | 
			
		||||
date = '1998-11-01T00:00:00Z'
 | 
			
		||||
description = ''
 | 
			
		||||
author = 'Γιώργος Κεραμίδας(mailto:keramida@ceid.upatras.gr)'
 | 
			
		||||
issue = ['Magaz 09']
 | 
			
		||||
issue_weight = 3
 | 
			
		||||
+++
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
*Ένας από τους αρχικούς λόγους ανάπτυξης του UNIX ήταν η ανάπτυξη ενός συστήματος για την στοιχειοθεσία των κειμένων που γραφόντουσαν στα Bell Labs της `AT& T`.
 | 
			
		||||
Αυτό το σύστημα ονομάστηκε αρχικά roff από την φράση run off, μετά ονομάστηκε nroff όταν προσαρμόστηκε να βγάζει έξοδο για πολλά τερματικά, και τέλος troff όταν
 | 
			
		||||
προσαρμόστηκε ξανά για να τυπώνει typesetter. Όλα τα manual pages του UNIX γράφονται σύμφωνα με μια πολύ παλιά παράδοση σε troff, και η Free Software Foundation
 | 
			
		||||
δεν μπορούσε να αφήσει τους χρήστες του Free Software παραπονεμένους! Έτσι φτιάχθηκε το groff, το οποίο μπορεί κάλλιστα να χρησιμοποιηθεί για να γραφτούν
 | 
			
		||||
ελληνικά κείμενα. Ας δούμε όμως πως\...*
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**1. ΕΙΣΑΓΩΓΗ**
 | 
			
		||||
---------------------------------------
 | 
			
		||||
 | 
			
		||||
**2. ΓΡΑΦΟΝΤΑΣ ΑΠΛΑ ΚΕΙΜΕΝΑ ΣΤΟ GROFF**
 | 
			
		||||
---------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**3. ΕΛΛΗΝΙΚΟΙ ΧΑΡΑΚΤΗΡΕΣ**
 | 
			
		||||
---------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**4. ΟΙ ΓΡΑΜΜΑΤΟΣΕΙΡΕΣ ΤΟΥ GROFF**
 | 
			
		||||
----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**5. ΟΙ ΑΛΛΑΓΕΣ ΠΟΥ ΧΡΕΙΑΖΟΝΤΑΙ**
 | 
			
		||||
---------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**6. ΚΑΝΟΥΜΕ ΤΙΣ ΑΛΛΑΓΕΣ**
 | 
			
		||||
--------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**7. ΔΟΚΙΜΑΖΟΥΜΕ ΤΑ ΕΛΛΗΝΙΚΑ**
 | 
			
		||||
------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**8. ΒΙΒΛΙΟΓΡΑΦΙΑ**
 | 
			
		||||
-------------------------------------------
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [1. ΕΙΣΑΓΩΓΗ]{#s1}
 | 
			
		||||
 | 
			
		||||
Όταν το UNIX ήταν ακόμα σε πειραματικό στάδιο, φτιάχθηκε από τον J. F. Ossana σε assembly για PDP/11! Η αρχική έκδοση ξαναγράφτηκε αργότερα σε C από τον Brian
 | 
			
		||||
W. Kernighan (ναι, τον ΕΝΑ και ΜΟΝΑΔΙΚΟ Kernighan εννοώ, που έφτιαξε μαζί με τον ΑΦΘΑΣΤΟ Dennis M. Ritchie την ΤΕΛΕΙΑ γλώσσα, την C) για να τρέχει στο
 | 
			
		||||
\"καινούριο\" λειτουργικό σύστημα που τότε εμφανιζόταν δειλά δειλά, το UNIX. Υπάρχει μάλιστα κι ένα ανέκδοτο(;) που λέει πως όταν κάποτε η `AT& T` σκεφτόταν να
 | 
			
		||||
σταματήσει το project του UNIX, η τότε πρώτη μορφή του troff, που άκουγε στο όνομα roff, ήταν ο μοναδικός λόγος που δεν έσβησε το UNIX από προσώπου γης!
 | 
			
		||||
 | 
			
		||||
Κάποιος manager του project είδε το troff, και την έξοδο που τότε έβγαζε στον θρυλικό CA/T typesetter, και ξετρελλάθηκε. Κράτησε το project του UNIX μόνο και
 | 
			
		||||
μόνο για να συνεχίσει να αναπτύσσεται μαζί με το UNIX και το troff, τόσο πολύ του άρεσε. Ίσως από \'κει να ξεκίνησε κι η παράδοση τα manuals του UNIX να
 | 
			
		||||
γράφονται σε troff. Όπως και νά \'χει πάντως το πράγμα, η αλήθεια είναι ότι η παράδοση να γράφονται τα εγχειρίδια του UNIX σε troff είναι τόσο παλιά που κανείς
 | 
			
		||||
πια δεν πρέπει να θυμάται πως ξεκίνησε.
 | 
			
		||||
 | 
			
		||||
Η Free Software Foundation, με σαφή προτίμηση προς τις πιο εξελιγμένες δυνατότητες του TeX, έφτιαξε το δικό της format, με το όνομα Texinfo. Παρόλ\' αυτά, ένα
 | 
			
		||||
από τα καλύτερα προγράμματα της FSF είναι ο groff, που δεν είναι τίποτα άλλο από μια καινούρια έκδοση του troff με πιο πολλά (και καλύτερα πολλές φορές) macro
 | 
			
		||||
sets, κτλ.
 | 
			
		||||
 | 
			
		||||
Με την γνωστή πια επεκτασιμότητα που χαρακτηρίζει τα προγράμματα της GNU, ο groff υποστηρίζει όλους τους 8-bit χαρακτήρες. Αλλά οι απλές εγκαταστάσεις του δεν
 | 
			
		||||
έχουν υποστήριξη 8-bit χαρακτήρων για λόγους μεταφερσιμότητας.
 | 
			
		||||
 | 
			
		||||
Ένα από τα formats εξόδου του groff είναι και το απλό ASCII κείμενο. Εδώ θα περιγράψουμε τι μπορείτε να κάνετε σε μια απλή εγκατάσταση του groff, για να κάνετε
 | 
			
		||||
τον groff να \"καταλαβαίνει\" ελληνικά (κι άλλες γλώσσες), τουλάχιστον για την έξοδο απλού κειμένου.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [2. ΓΡΑΦΟΝΤΑΣ ΑΠΛΑ ΚΕΙΜΕΝΑ ΣΤΟ GROFF]{#s2}
 | 
			
		||||
 | 
			
		||||
Το να γράψει κανείς ένα κείμενο στο groff δεν είναι πολύ δύσκολο. Απλά δημιουργεί ένα αρχείο με το κείμενό του, και τρέχει το groff όταν θέλει να μορφοποιήσει
 | 
			
		||||
το κείμενο για να το τυπώσει ή να το δει στην οθόνη του.
 | 
			
		||||
 | 
			
		||||
Για παράδειγμα, μπορείτε να γράψετε σε ένα αρχείο το κείμενο
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    Αυτό είναι ένα μικρό κείμενο γραμμένο σε ένα επίσης μικρό αρχείο.
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
Αν σώσετε αυτό το κείμενο σε ένα αρχείο με το όνομα small.tr και τρέξετε το groff με την εντολή
 | 
			
		||||
 | 
			
		||||
     groff -Tascii small.tr
 | 
			
		||||
 | 
			
		||||
μπορείτε να δείτε μια όμορφα στοιχισμένη μορφή του αρχικού κειμένου. Αν για κάποιο λόγο το κείμενο δεν χωράει στην οθόνη σας, και οι πρώτες γραμμές χάνονται,
 | 
			
		||||
γράψτε:
 | 
			
		||||
 | 
			
		||||
     groff -Tascii small.tr | less -r
 | 
			
		||||
 | 
			
		||||
Το -Tascii είναι μια παράμετρος που λέει στο groff να μην βγάλει PostScript έξοδο που είναι το προκαθορισμένο, αλλά έξοδο απλού κειμένου. Αυτό είναι ένα μικρό
 | 
			
		||||
μόνο δείγμα του τι μπορεί να κάνει το groff. Για περισσότερες πληροφορίες για το groff, βλ. το τέλος αυτού του κειμένου στο τμήμα ΒΙΒΛΙΟΓΡΑΦΙΑ.
 | 
			
		||||
 | 
			
		||||
Αν το groff σας δεν υποστηρίζει σε ascii output όλους τους 8-bit χαρακτήρες η παραπάνω εντολή θα αποτύχει βγάζοντας πολλά μηνύματα του τύπου:
 | 
			
		||||
 | 
			
		||||
     groff:small.tr:1: illegal character ` 384'
 | 
			
		||||
 | 
			
		||||
που σημαίνει ότι το groff συνάντησε στο αρχείο εισόδου του (που αυτή τη στιγμή είναι το small.tr) στην γραμμή 1, κάποιο χαρακτήρα που δεν μπορεί να τον
 | 
			
		||||
\`\`αναγνωρίσει\'\'.
 | 
			
		||||
 | 
			
		||||
Το groff όπως έρχεται από την FSF σε μορφή πηγαίου κώδικα είναι ένα πρόγραμμα που μπορεί να δεχτεί 8-bit χαρακτήρες στην είσοδό του. Διαβάζουμε στο manual του
 | 
			
		||||
groff\_font:
 | 
			
		||||
 | 
			
		||||
     Groff supports eight bit characters; however some
 | 
			
		||||
     utilities has difficulties with eight bit charac
 | 
			
		||||
     ters.
 | 
			
		||||
 | 
			
		||||
δηλαδή
 | 
			
		||||
 | 
			
		||||
     Το groff υποστηρίζει 8-bit χαρακτήρες! Όμως κάποια
 | 
			
		||||
     προγράμματα έχουν δυσκολίες με τους 8-bit
 | 
			
		||||
     χαρακτήρες...
 | 
			
		||||
 | 
			
		||||
Αυτός είναι κι ο λόγος που οι προκαθορισμένες γραμματοσειρές του groff δεν περιλαμβάνουν τους χαρακτήρες που βρίσκονται πάνω από τον ASCII-127 (DEL). Οι
 | 
			
		||||
ελληνικοί χαρακτήρες όμως βρίσκονται ακριβώς σε αυτή την περιοχή, και το groff δεν τους αναγνωρίζει. Γι\' αυτό και βγάζει τα μηνύματα \`invalid character\...\'
 | 
			
		||||
που είδαμε πιο πάνω.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [3. ΕΛΛΗΝΙΚΟΙ ΧΑΡΑΚΤΗΡΕΣ]{#s3}
 | 
			
		||||
 | 
			
		||||
Οι ελληνικοί χαρακτήρες βρίσκονται στην υψηλή περιοχή του extended ASCII σετ χαρακτήρων, πάνω από τον χαρακτήρα ASCII 127 (DEL). Μάλιστα το σετ χαρακτήρων του
 | 
			
		||||
MS-DOS ξεκινάει ακριβώς πάνω από το 127, στον χαρακτήρα 128, που αντιστοιχεί το ελληνικό κεφαλαίο \'Α\'.
 | 
			
		||||
 | 
			
		||||
Όταν είστε σε κατάσταση κειμένου στην κονσόλα του Linux σας, το παρακάτω μικρό πρόγραμμα θα σας δείξει την γραμματοσειρά που εκείνη τη στιγμή χρησιμοποιείται αν
 | 
			
		||||
το τρέξετε.
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    /* ascii.c - εκτύπωση του ascii character set στην κονσόλα
 | 
			
		||||
     * ενός linux μηχανήματος
 | 
			
		||||
     *
 | 
			
		||||
     * Ειδική μεταχείριση γίνεται στους μη εκτυπώσιμους
 | 
			
		||||
     * χαρακτήρες και στον escape χαρακτήρα (128+27) που
 | 
			
		||||
     * χρησιμοποιεί ο console driver του Linux.
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
    #include <stdio.h>
 | 
			
		||||
 | 
			
		||||
    int main (void)
 | 
			
		||||
    {
 | 
			
		||||
     int i;
 | 
			
		||||
 | 
			
		||||
     for (i = 0; i < 256; i++) {
 | 
			
		||||
      if ((i & 15) == 0)
 | 
			
		||||
      printf("0x%02x: ", i);
 | 
			
		||||
      printf((isprint(i) || i > 127 && i != (128+27)) ?
 | 
			
		||||
      " %c %c" : "%03o%c",
 | 
			
		||||
      i, ((i % 16) == 15) ? '0 : ' ');
 | 
			
		||||
     }
 | 
			
		||||
     return 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
Μεταγλωττίστε το πρόγραμμα αυτό με μια εντολή όπως
 | 
			
		||||
 | 
			
		||||
     gcc ascii.c
 | 
			
		||||
 | 
			
		||||
και τρέξτε το με την εντολή a.out
 | 
			
		||||
 | 
			
		||||
Θα δείτε τους ελληνικούς χαρακτήρες στις θέσεις πάνω από 0x80, που είναι το extended σετ χαρακτήρων ASCII.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [4. ΟΙ ΓΡΑΜΜΑΤΟΣΕΙΡΕΣ ΤΟΥ GROFF]{#s4}
 | 
			
		||||
 | 
			
		||||
Το groff κρατάει τις γραμματοσειρές του στον κατάλογο /usr/share/groff/font (και τα macros του στον κατάλογο /usr/share/groff/tmac).
 | 
			
		||||
 | 
			
		||||
Στον κατάλογο /usr/share/groff/font υπάρχουν υποκατάλογοι για κάθε μορφή εξόδου που υποστηρίζει το groff. Οι διάφορες μορφές εξόδου, όπως PostScript, ascii,
 | 
			
		||||
laser jet-4, κτλ. στον groff λέγονται και συσκευές εξόδου, όπως και στον troff. Γι\' αυτό και στον κατάλογο /usr/share/groff/font οι υποκατάλογοι των συσκευών
 | 
			
		||||
αρχίζουν με το string dev. Για παράδειγμα, ο υποκατάλογος με τις γραμματοσειρές για ascii output λέγεται devascii, ο υποκατάλογος με τις γραμματοσειρές για
 | 
			
		||||
PostScript output λέγεται devps, κτλ.
 | 
			
		||||
 | 
			
		||||
Στον υποκατάλογο devascii που μας ενδιαφέρει για το ascii output, υπάρχουν τα εξής αρχεία:
 | 
			
		||||
 | 
			
		||||
-   DESC αρχείο με περιγραφή του συγκεκριμένου output device
 | 
			
		||||
-   R το σετ χαρακτήρων της Roman γραμματοσειράς
 | 
			
		||||
-   I το σετ χαρακτήρων της Italic γραμματοσειράς
 | 
			
		||||
-   B το σετ χαρακτήρων της Bold γραμματοσειράς
 | 
			
		||||
-   BI το σετ χαρακτήρων της Bold-Italic γραμματοσειράς
 | 
			
		||||
 | 
			
		||||
Καθένα από τα αρχεία που καθορίζουν το σετ χαρακτήρων μιας γραμματοσειράς έχουν μια συγκεκριμένη μορφή, που περιγράφεται λεπτομερώς στο manual page του
 | 
			
		||||
groff\_font.
 | 
			
		||||
 | 
			
		||||
Στο τέλος κάθε αρχείου υπάρχει ένας πίνακας που κάθε γραμμή του αρχείου αποτελεί μια καταχώριση στον πίνακα. Οι γραμμές έχουν την μορφή
 | 
			
		||||
 | 
			
		||||
     όνομα μετρικές τύπος κωδικός σχόλιο
 | 
			
		||||
 | 
			
		||||
και περιγράφουν ένα χαρακτήρα του σετ η κάθε μια.
 | 
			
		||||
 | 
			
		||||
Διαβάζοντας το manual του groff\_font βλέπουμε πως το όνομα ενός χαρακτήρα μπορεί να είναι είτε ο ίδιος ο χαρακτήρας, είτε το string \"charXXX\" όπου XXX ο
 | 
			
		||||
αριθμός του χαρακτήρα στο extended ASCII σετ χαρακτήρων.
 | 
			
		||||
 | 
			
		||||
Οι μετρικές είναι για όλους τους χαρακτήρες ίδιες σε έξοδο απλού κειμένου (ο αριθμός 24 είναι το πλάτος του χαρακτήρα σε device units, την μικρότερη μονάδα
 | 
			
		||||
μέτρησης που υποστηρίζει το groff).
 | 
			
		||||
 | 
			
		||||
Ο τύπος είναι επίσης ο ίδιος για όλους τους χαρακτήρες σε έξοδο απλού κειμένου. Από τους πρώτους χαρακτήρες του σετ χαρακτήρων βλέπουμε ότι η τιμή του είναι 0
 | 
			
		||||
για όλες τις γραμματοσειρές του devascii.
 | 
			
		||||
 | 
			
		||||
Ο κωδικός του χαρακτήρα είναι ο αριθμός του χαρακτήρα που θα βγάζει στην έξοδό του το groff όταν δει στην είσοδο τον χαρακτήρα με το συγκεκριμένο όνομα. Αυτό
 | 
			
		||||
συνήθως είναι το ίδιο με το όνομα, και μπορεί να γραφτεί είτε σαν δεκαδικός αριθμός, είτε σαν οκταδικός η δεκαεξαδικός.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [5. ΟΙ ΑΛΛΑΓΕΣ ΠΟΥ ΧΡΕΙΑΖΟΝΤΑΙ]{#s5}
 | 
			
		||||
 | 
			
		||||
Μετά από τις προηγούμενες παραγράφους, είναι φανερό πως αν στις γραμματοσειρές του groff προσθέσουμε τις γραμμές που χρειάζονται για τους 8-bit χαρακτήρες, θα
 | 
			
		||||
μπορούμε να δουλέψουμε στο groff, χρησιμοποιώντας τουλάχιστον το ascii output device.
 | 
			
		||||
 | 
			
		||||
Αλλά πως είναι αυτές οι γραμμές; Στην προηγούμενη παράγραφο (Οι Γραμματοσειρές του GROFF) είδαμε ότι μπορούν να είναι της μορφής:
 | 
			
		||||
 | 
			
		||||
     charXXX 24 0  YYY
 | 
			
		||||
 | 
			
		||||
όπου το XXX είναι ο δεκαδικός αριθμός του χαρακτήρα στο ASCII, και YYY είτε ο ίδιος ο χαρακτήρας, είτε ο αριθμός του σε οκταδικό, δεκαεξαδικό, κτλ.
 | 
			
		||||
 | 
			
		||||
Αυτή η γραμμή πρέπει να γραφτεί για όλους τους αριθμούς χαρακτήρα, από 128 έως και 255 (που είναι το υψηλό μέρος του ASCII σετ χαρακτήρων).
 | 
			
		||||
 | 
			
		||||
Με το μικρό Perl script που βλέπουμε παρακάτω, μπορείτε να κάνετε αυτή ακριβώς τη δουλειά, χωρίς να τρελλαθείτε στο γράψιμο και μετά να μην είστε και σίγουροι
 | 
			
		||||
ότι όλα δουλεύουν.
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
     #! /usr/bin/perl -w
 | 
			
		||||
 | 
			
		||||
     ## greek.pl -- ελληνικοί χαρακτήρες για το
 | 
			
		||||
     ## devascii device του groff
 | 
			
		||||
 | 
			
		||||
     foreach $i (128 .. 255) {
 | 
			
		||||
      printf "char%d2400%03o0, $i, $i;
 | 
			
		||||
     }
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
το οποίο αν το τρέξετε γράφει στην έξοδό του:
 | 
			
		||||
 | 
			
		||||
     char128 24 0 0200
 | 
			
		||||
     char129 24 0 0201
 | 
			
		||||
     char130 24 0 0202
 | 
			
		||||
     ... πολλές γραμμές ακόμα ...
 | 
			
		||||
     char254 24 0 0376
 | 
			
		||||
     char255 24 0 0377
 | 
			
		||||
 | 
			
		||||
Οι γραμμές που δημιουργεί αυτό το script πρέπει να προστεθούν σε όλα τα αρχεία που ορίζουν το σετ χαρακτήρων του ascii device. Ας δούμε όμως πως μπορεί να γίνει
 | 
			
		||||
αυτό.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [6. ΚΑΝΟΥΜΕ ΤΙΣ ΑΛΛΑΓΕΣ]{#s6}
 | 
			
		||||
 | 
			
		||||
Οι αλλαγές που χρειάζεται να γίνουν στα αρχεία του καταλόγου /usr/share/groff/font/devascii είναι απλές, αλλά καλό είναι να κρατήσετε πρώτα ένα backup των
 | 
			
		||||
αρχείων.
 | 
			
		||||
 | 
			
		||||
Κάντε login σαν root και τρέξτε τις εντολές:
 | 
			
		||||
 | 
			
		||||
     cd /usr/share/groff/font
 | 
			
		||||
     tar cvf - devascii | gzip -9c -> devascii.tar.gz
 | 
			
		||||
 | 
			
		||||
Τώρα υπάρχει ένα αρχείο με το πολύ περιγραφικό όνομα στον κατάλογο \`/usr/share/groff/font\'. Αυτό περιέχει τις αρχικές γραμματοσειρές του groff, έτσι ώστε σε
 | 
			
		||||
περίπτωση που κάτι πάει στραβά να μπορείτε να επαναφέρετε την εγκατάσταση του groff σας σε μια κατάσταση που δουλεύει!
 | 
			
		||||
 | 
			
		||||
Αντιγράψτε τον κώδικα του greek.pl που φαίνεται παραπάνω σε ένα αρχείο μέσα στον κατάλογο \`/usr/share/groff/font/devascii\'.
 | 
			
		||||
 | 
			
		||||
Τρέξτε δοκιμαστικά το script με την εντολή
 | 
			
		||||
 | 
			
		||||
     perl greek.pl
 | 
			
		||||
 | 
			
		||||
Αν το πρόγραμμα βγάλει την αναμενόμενη έξοδο (δείτε παραπάνω) τότε μπορείτε να εκτελέσετε τις εντολές:
 | 
			
		||||
 | 
			
		||||
     perl greek.pl >> R
 | 
			
		||||
     perl greek.pl >> I
 | 
			
		||||
     perl greek.pl >> B
 | 
			
		||||
     perl greek.pl >> BI
 | 
			
		||||
 | 
			
		||||
ΠΡΟΣΕΞΤΕ ΤΟ ΔΙΠΛΟ `">>"` ΣΤΙΣ ΕΝΤΟΛΕΣ ΠΑΡΑΠΑΝΩ!
 | 
			
		||||
 | 
			
		||||
Η έξοδος του greek.pl πρέπει να γραφτεί στο τέλος των γραμματοσειρών, κι όχι να τις κάνει overwrite!
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [7. ΔΟΚΙΜΑΖΟΥΜΕ ΤΑ ΕΛΛΗΝΙΚΑ]{#s7}
 | 
			
		||||
 | 
			
		||||
Για να δοκιμάσετε τα ελληνικά στο groff σας μετά από όλα αυτά, μπορείτε να γράψετε το παράδειγμα που είδαμε στην παράγραφο 2 (ΓΡΑΦΟΝΤΑΣ ΑΠΛΑ ΚΕΙΜΕΝΑ ΣΤΟ GROFF),
 | 
			
		||||
ή να γράψετε οποιοδήποτε άλλο απλό κείμενο σε ελληνικά, περνώντας το ύστερα από το groff με μια εντολή όπως:
 | 
			
		||||
 | 
			
		||||
     groff -Tascii αρχείο_εισόδου | less -r
 | 
			
		||||
 | 
			
		||||
για να δείτε αν τα ελληνικά εμφανίζονται σωστά.
 | 
			
		||||
 | 
			
		||||
Εννοείται πως αν η κονσόλα σας δεν δείχνει σωστά τα ελληνικά γιατί δεν έχετε κατάλληλη γραμματοσειρά, δεν φταίει το groff, σωστά; Αλλά μην ανησυχείτε, μπορείτε
 | 
			
		||||
να στήσετε το greek-console και όχι μόνο να δείτε αλλά τα ελληνικά σας κείμενα, αλλά να γράψετε και καινούρια.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [8. ΒΙΒΛΙΟΓΡΑΦΙΑ]{#s8}
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    [1] Writing Papers with GROFF using -me, Eric P. Allman, Modified for GROFF by James Clark. 
 | 
			
		||||
     
 | 
			
		||||
    [2] Typing Documents on the UNIX System: Using the -ms Macros with Troff and Nroff. M. E. Lesk, November 3, 1978.
 | 
			
		||||
 | 
			
		||||
    [3] Troff User's Manual. Joseph F. Ossanna, Brian W.  Kernighan. <tt/AT& T/ Bell Labs, Murray Hill, NJ 07974. Revised edition, November 1992.
 | 
			
		||||
 | 
			
		||||
    [4] A Troff Tutorial. Brian W. Kernighan. August 1978.
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										97
									
								
								content/articles/09/04_nls.md
									
										
									
									
									
										Κανονικό αρχείο
									
								
							
							
						
						
									
										97
									
								
								content/articles/09/04_nls.md
									
										
									
									
									
										Κανονικό αρχείο
									
								
							| 
						 | 
				
			
			@ -0,0 +1,97 @@
 | 
			
		|||
+++
 | 
			
		||||
title = 'NLS+GNU - Τι-πώς-πού-πότε-γιατί;'
 | 
			
		||||
date = '1998-11-01T00:00:00Z'
 | 
			
		||||
description = ''
 | 
			
		||||
author = 'Νίκος Μαυρογιαννόπουλος'
 | 
			
		||||
issue = ['Magaz 09']
 | 
			
		||||
issue_weight = 4
 | 
			
		||||
+++
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
*Το NLS (National Language Support) είναι μια από τις πολλές προσπάθειες για να πείσουμε τον υπολογιστή (και τον εαυτό μας) να μιλήσει πολλές γλώσσες (στην
 | 
			
		||||
προκειμένη περίπτωση ελληνικά).*
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
Όσο περνάει ο καιρός όλο και περισσότερα προγράμματα το υποστηρίζουν (με αποκορύφωμα την GNUlibc2). Έτσι μπορούμε να βλέπουμε ελληνικά σε όλα σχεδόν τα GNU
 | 
			
		||||
προγράμματα, που συμπληρώνουν τον linux πυρήνα. Τα προγράμματα αυτά για την μεταφρασή τους χρησιμοποιούν το gettext (Μερικά προγράμματα χρησιμοποιούν την
 | 
			
		||||
catgets). Εδώ θα επικεντρωθούμε στο GNU gettext.
 | 
			
		||||
 | 
			
		||||
Ήδη έχουνε μεταφραστεί τα gettext, file-utils, shar-utils,wget , tcsh, και sh-utils. Τις μεταφράσεις των προγράμματων μπορείτε να τις βρείτε στο
 | 
			
		||||
<ftp://chloe.cs.teiath.gr/pub/nls>.
 | 
			
		||||
 | 
			
		||||
**1. Πώς να βάλετε τα μεταφρασμένα προγράμματα στο σύστημα σας;**
 | 
			
		||||
---------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**2. Πώς να μεταφράσετε ένα πρόγραμμα;**
 | 
			
		||||
--------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**3. Τί μας ωφελεί το NLS αφού οι περισσότεροι ξέρουν αγγλικά;**
 | 
			
		||||
--------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**4. Ποιος είναι υπεύθυνος για τις ελληνικές μεταφράσεις;**
 | 
			
		||||
---------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [1. Πώς να βάλετε τα μεταφρασμένα προγράμματα στο σύστημα σας;]{#s1}
 | 
			
		||||
 | 
			
		||||
Προγράμματα που θα χρειαστούν: [Autoconf](ftp://prep.ai.mit.edu/pub/gnu/autoconf-2.12.tar.gz)\
 | 
			
		||||
[Gettext](ftp://prep.ai.mit.edu/pub/gnu/gettext-0.10.tar.gz)
 | 
			
		||||
 | 
			
		||||
Στο chloe υπάρχουν τα xxx-el.po αρχεία. Αυτά περιέχουν την ελληνική μετάφραση του προγράμματος, και όπως καταλαβαίνετε δεν αρκούν. Πρέπει να κατεβάσετε από
 | 
			
		||||
κάποιο mirror της gnu (ή από το δεύτερο cd του slackware, infomagic κλπ) το αντίστοιχο πρόγραμμα. Πχ για τα shar-utils (uuencode κλπ) το shar-utils-4.2.tar.gz.
 | 
			
		||||
Αφού το αποσυμπιέσετε και το βάλετε σε κάποιον κατάλογο, αντιγράψετε το shar-utils-4.2.el.po (μην ανησυχήσετε αν κάπου οι εκδόσεις δεν συμφωνούν) στον po/
 | 
			
		||||
κατάλογο σαν el.po. Ανοίξτε το configure.in στον κατάλογο του sharutils και προσθέστε στο ALL\_LINGUAS το \'el\'. Αυτό ήτανε. Τρέξτε το autoconf (Ναι, δυστυχώς
 | 
			
		||||
πρέπει να το έχετε μαζί με το gettext, αλλά υπάρχουν σε όλα τα mirror του GNU) και συνεχίστε την διαδικασία της εγκατάστασης έχοντας στην μεταβλητή
 | 
			
		||||
περιβάλλοντος LINGUAS την επιλογή \'el\' ,ώστε να προστεθούν μόνο τα ελληνικά (προσοχή τα νέα binaries συνήθως πάνε στο /usr/local/bin οπότε φροντίστε να
 | 
			
		||||
ανανεώσετε το PATH σας). Αν τρέξετε κάποιο νέο πρόγραμμα με nls και δείτε ότι δεν \'μιλάει\' ελληνικά, μην τρομάξετε. Το nls θα ενεργοποιηθεί μόνο αν έχετε
 | 
			
		||||
δηλώσει την LANG ίση με el (export LANG=el για bash).
 | 
			
		||||
 | 
			
		||||
\*Προσοχή: Η Glibc2 έχει(είχε) δύο ατέλειες. 1) Η ελληνική γλώσσα συμβολίζεται με gr αντί του el (iso639 country codes), και 2) το LC\_MESSAGES που δηλώνει τις
 | 
			
		||||
εκφράσεις yes-no έχει μόνο τα Ν/ν - Ο/ο (ενώ θα έπρεπε να έχει και τα y/Y - N/n). Ετσι για το πρώτο πρεπει να συνδέσετε τον κατάλογο el με τον gr στο
 | 
			
		||||
/usr/share/locale ή /usr/local/share/locale (ln -s /usr/share/locale/gr /usr/share/locale/el) . Για το LC\_MESSAGES μπορείτε να το αλλάξετε και μόνοι σας με
 | 
			
		||||
κάποιον κειμενογράφο, ή να κατεβάσετε την τελευταία έκδοση της glibc2 (+localedata) όπου έχει διορθωθεί.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [2. Πώς να μεταφράσετε ένα πρόγραμμα;]{#s2}
 | 
			
		||||
 | 
			
		||||
Γιατί εγώ; θα αναρωτιέστε μερικοί. Δικαιολογίες για να μην μεταφράσετε υπάρχουν πολλές:) Εγώ απλώς σας παροτρύνω να μην προτιμάτε το μασημένο φαϊ, προτιμήστε να
 | 
			
		||||
συμμετάσχετε στην εξέλιξη του λειτουργικού που επιλέξατε (και μπορείτε γιατί είναι το GNU/Linux!). Ούτε ούτε το GNU ούτε ο Stallman ούτε ο Linus μπορούν να σας
 | 
			
		||||
προσφέρουν το linux στα ελληνικά, μόνο εσείς μπορείτε! Δοκιμάστε. Η διαδικασία είναι απλή. Kάθε νέο GNU πρόγραμμα που περιέχει το ABOUT-NLS υποστηρίζει NLS, και
 | 
			
		||||
είναι απλό για κάποιον να το μεταφράσει. Αρκεί να κοιτάξει τον po/ κατάλογο. Εκεί υπάρχουν (πάλι για παράδειγμα παίρνω τα shar-utils) τα sharutils.pot fr.po
 | 
			
		||||
de.po κλπ\... Το sharutils.pot περιέχει όλα τα μηνύματα του προγράμματος μέσα σε ένα δήλωση msgid και έχει κενή την msgstr. Όπως θα δείτε από τα άλλα .po το
 | 
			
		||||
msgstr είναι το πεδίο που θα τοποθετηθεί η μετάφραση. Πχ.
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    #: src/chgrp.c:117
 | 
			
		||||
    #, c-format
 | 
			
		||||
    msgid "group of %s changed to %s\n"
 | 
			
		||||
    msgstr "Η ομάδα του %s άλλαξε σε %s.\n"
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
Συμβουλευτήτε και τις γαλλικές μεταφράσεις (fr.po) αφού το συντακτικό τους είναι ίδιο με το ελληνικό (ή μάλλον το αντίθετο:). Οι δηλώσεις με \# αγνοούνται μόνο
 | 
			
		||||
όταν υπάρχει κενό μετά τον χαρακτήρα \#. Δηλαδή οι δηλώσεις που βλέπετε παραπάνω δεν μπορούν ούτε και πρέπει να αλλάξουν. Aφού το μεταφράσετε το sharutils.pot
 | 
			
		||||
σώστε το σαν el.po (η διαδικασία από εδώ και πέρα είναι ίδια με παραπάνω).
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [3. Τί μας ωφελεί το NLS αφού οι περισσότεροι ξέρουν αγγλικά;]{#s3}
 | 
			
		||||
 | 
			
		||||
Ξέρουν; Πολλές φορές χρησιμοποιούμε αγγλικές έννοιες χωρίς να ξέρουμε τι ακριβώς σημαίνουν στα ελληνικά, δηλαδή τις χρησιμοποιούμε εμπειρικά, για παράδειγμα
 | 
			
		||||
proxy server, verbose mode κλπ. Ο νέος χρήστης δεν είναι ούτε τόσο έμπειρος, ούτε θέλει να ανατρέχει από λεξικό σε λεξικό για να δει τι σημαίνει το buffer.
 | 
			
		||||
Επίσης μην ξεχνάμε και τους μη γνώστες της αγγλικής (και δεν είναι λίγοι), γιατί πρέπει να τους αποτρέπουμε από τους υπολογιστές (εδώ από το linux); Ο
 | 
			
		||||
υπολογιστής πρέπει να μάθει την γλώσσα μας, όχι εμείς την δική του.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [4. Ποιος είναι υπεύθυνος για τις ελληνικές μεταφράσεις;]{#s4}
 | 
			
		||||
 | 
			
		||||
Ο [Σίμος Ξενιτέλης](mailto:simos@teiath.gr). Σε αυτόν πρέπει να στέλνετε τις μετάφρασεις GNU προγράμματων. Για οτιδήποτε άλλο μπορείτε να επικοινωνήσετε [μαζί
 | 
			
		||||
μου](mailto:nmav@i-net.paiko.gr).
 | 
			
		||||
 | 
			
		||||
ΥΓ. Για τους μέλλοντες μεταφραστές: Για κάθε πρόβλημα συμβουλευτήτε το (προσχέδιο) λεξικό που υπάρχει στο <http://linux.airtour.gr/grlinux/vocabulary.txt>
 | 
			
		||||
 | 
			
		||||
Παραπομπές: <ftp://chloe.cs.teiath.gr/pub/nls/greek-linux-users.html>\
 | 
			
		||||
<ftp://prep.ai.mit.edu/pub/gnu/ABOUT-NLS>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										270
									
								
								content/articles/09/05_calctut.md
									
										
									
									
									
										Κανονικό αρχείο
									
								
							
							
						
						
									
										270
									
								
								content/articles/09/05_calctut.md
									
										
									
									
									
										Κανονικό αρχείο
									
								
							| 
						 | 
				
			
			@ -0,0 +1,270 @@
 | 
			
		|||
+++
 | 
			
		||||
title = 'Εισαγωγή στο μαθηματικό πρόγραμμα Calc'
 | 
			
		||||
date = '1998-11-01T00:00:00Z'
 | 
			
		||||
description = ''
 | 
			
		||||
author = 'Βαγγέλης Ρόζος'
 | 
			
		||||
issue = ['Magaz 09']
 | 
			
		||||
issue_weight = 5
 | 
			
		||||
+++
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
*Το πρόγραμμα Calc πρόκειται για ένα προγραμματιζόμενο κομπιουτεράκι σε C.*
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
Είναι γραμμένο σε C και ακολουθεί την βασική νοοτροπία του Unix δηλαδή πολλά μικρά αλληλεπιδρώντα εργαλεία για την επίλυση ενός προβλήματος. Το Calc μπορεί από
 | 
			
		||||
το να εκτελέσει απλούς αριθμητικούς υπολογισμούς μέχρι να επιλύσει πολλαπλά ολοκληρώματα. Για όσους έχουν προμηθευτεί το Linux από την Infomagic το πρόγραμμα
 | 
			
		||||
υπάρχει στο τέταρτο CD (/apps/math/calc). Επίσης το πρόγραμμα μπορεί να βρεθεί στην διεύθυνση <http://reality.sgi.com/csp/ioccc/noll/calc-download.html>.
 | 
			
		||||
 | 
			
		||||
**Βασικές πράξεις**
 | 
			
		||||
 | 
			
		||||
Με μερικά παραδείγματα θα δώσουμε μια γενική εικόνα των δυνατοτήτων του προγράμματος. Πληκτρολογώντας :
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    >3*(4+1)                       το Calc επιστρέφει 
 | 
			
		||||
    15 
 | 
			
		||||
    Δίνοντας τώρα: 
 | 
			
		||||
    >.*2                           το Calc επιστρέφει 
 | 
			
		||||
    30 
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
Δηλαδή η τελεία σαν όρισμα ισοδυναμεί με το τελευταίο αποτέλεσμα (φυσικά 2\*1.2 θα μου δώσει 2.4). Χρήση μεταβλητών:
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    >old=.+19 
 | 
			
		||||
    >sqrt(old)                     το Calc επιστρέφει 
 | 
			
		||||
    7 
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
To Calc μπορεί άνετα να χειριστεί μιγαδικούς αριθμούς:
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    >(2+3i)*(4-3i)                 το Calc επιστρέφει 
 | 
			
		||||
    17+6i 
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
Αν δώσω:
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    >1i*1i                         το Calc επιστρέφει 
 | 
			
		||||
    -1 
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**Πίνακες**
 | 
			
		||||
 | 
			
		||||
Τώρα μερικά παραδείγματα με πίνακες. Πρώτα δημιουργούμε τον 3\*3 πίνακα a με στοιχεία aij όπου i και j από 1 έως 3.
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    >mat a[1:3, 1:3] 
 | 
			
		||||
    >a                             το Calc επιστρέφει 
 | 
			
		||||
    [1,1] = 0 
 | 
			
		||||
    [1,2] = 0 
 | 
			
		||||
    [1,3] = 0 
 | 
			
		||||
    [2,1] = 0 
 | 
			
		||||
    [2,2] = 0 
 | 
			
		||||
    [2,3] = 0 
 | 
			
		||||
    [3,1] = 0 
 | 
			
		||||
    [3,2] = 0 
 | 
			
		||||
    [3,3] = 0 
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
Γέμισμα πίνακα με σταθερή τιμή:
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    >matfill(a,1) 
 | 
			
		||||
    >a                             το Calc επιστρέφει 
 | 
			
		||||
    [1,1] = 1 
 | 
			
		||||
    [1,2] = 1 
 | 
			
		||||
    [1,3] = 1 
 | 
			
		||||
    [2,1] = 1 
 | 
			
		||||
    [2,2] = 1 
 | 
			
		||||
    [2,3] = 1 
 | 
			
		||||
    [3,1] = 1 
 | 
			
		||||
    [3,2] = 1 
 | 
			
		||||
    [3,3] = 1 
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
Διαγώνιος πίνακας:
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    >matfill(a,0,1) 
 | 
			
		||||
    >a                             το Calc επιστρέφει 
 | 
			
		||||
    [1,1] = 1 
 | 
			
		||||
    [1,2] = 0 
 | 
			
		||||
    [1,3] = 0 
 | 
			
		||||
    [2,1] = 0 
 | 
			
		||||
    [2,2] = 1 
 | 
			
		||||
    [2,3] = 0 
 | 
			
		||||
    [3,1] = 0 
 | 
			
		||||
    [3,2] = 0 
 | 
			
		||||
    [3,3] = 1 
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
Δηλαδή ο μοναδιαίος πίνακας.\
 | 
			
		||||
Μερικές πράξεις με πίνακες τώρα.
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    Ορισμός του πίνακα: 
 | 
			
		||||
    >mat b[1:3, 1:3] 
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    Και εισαγωγή τιμών στον πίνακα: 
 | 
			
		||||
    >b[1][1]=3.3 
 | 
			
		||||
    >b[1][2]=2 
 | 
			
		||||
    >b[1][3]=-1i 
 | 
			
		||||
    >b[2][1]=5.2 
 | 
			
		||||
    >b[2][2]=2.1 
 | 
			
		||||
    >b[2][3]=-1 
 | 
			
		||||
    >b[3][1]=0.3 
 | 
			
		||||
    >b[3][2]=-9 
 | 
			
		||||
    >b[3][3]=4 
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    Πολλαπλασιασμός πινάκων: 
 | 
			
		||||
    >a*b                              το Calc επιστρέφει 
 | 
			
		||||
    mat [1:3,1:3] (9 elements, 9 nonzero): 
 | 
			
		||||
      [1,1] = 3.3 
 | 
			
		||||
      [1,2] = 2 
 | 
			
		||||
      [1,3] = -1i 
 | 
			
		||||
      [2,1] = 5.2 
 | 
			
		||||
      [2,2] = 2.1 
 | 
			
		||||
      [2,3] = -1 
 | 
			
		||||
      [3,1] = .3 
 | 
			
		||||
      [3,2] = -9 
 | 
			
		||||
      [3,3] = 4 
 | 
			
		||||
    Τον ίδιο πίνακα δηλαδή, αφού πολλαπλασιάστηκε με τον μοναδιαίο. 
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    Αναστροφή πίνακα: 
 | 
			
		||||
    >mattrans(b)                     το Calc επιστρέφει 
 | 
			
		||||
    mat [1:3,1:3] (9 elements, 9 nonzero): 
 | 
			
		||||
      [1,1] = 3.3 
 | 
			
		||||
      [1,2] = 5.2 
 | 
			
		||||
      [1,3] = .3 
 | 
			
		||||
      [2,1] = 2 
 | 
			
		||||
      [2,2] = 2.1 
 | 
			
		||||
      [2,3] = -9 
 | 
			
		||||
      [3,1] = -1i 
 | 
			
		||||
      [3,2] = -1 
 | 
			
		||||
      [3,3] = 4 
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    Αντιστροφή πίνακα: 
 | 
			
		||||
    >(b^-1)*b                        το Calc επιστρέφει 
 | 
			
		||||
    mat [1:3,1:3] (9 elements, 3 nonzero): 
 | 
			
		||||
      [1,1] = 1 
 | 
			
		||||
      [1,2] = 0 
 | 
			
		||||
      [1,3] = 0 
 | 
			
		||||
      [2,1] = 0 
 | 
			
		||||
      [2,2] = 1 
 | 
			
		||||
      [2,3] = 0 
 | 
			
		||||
      [3,1] = 0 
 | 
			
		||||
      [3,2] = 0 
 | 
			
		||||
      [3,3] = 1 
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**Συναρτήσεις χρήστη**
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    Μπορούμε να ορίσουμε νέες συναρτήσεις: 
 | 
			
		||||
    >define f(x)=exp(1i*x) 
 | 
			
		||||
    >f(3)                            το Calc επιστρέφει 
 | 
			
		||||
    ~-.98999249660044545727+~.14112000805986722210i 
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    Ορισμός πιο σύνθετων συναρτήσεων: 
 | 
			
		||||
    > define delta(x) 
 | 
			
		||||
    >> { 
 | 
			
		||||
    >> if (x==0) return 1; 
 | 
			
		||||
    >> return 0;} 
 | 
			
		||||
 | 
			
		||||
    > delta(0)                       το Calc επιστρέφει 
 | 
			
		||||
    1 
 | 
			
		||||
    > delta(1)                       το Calc επιστρέφει 
 | 
			
		||||
    0 
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**Προγραμματίζοντας το Calc**
 | 
			
		||||
 | 
			
		||||
Το μεγαλύτερο όπλο του Calc είναι ότι προγραμματίζεται σε γλώσσα σχεδόν ίδια με την C. Γράφουμε το πρόγραμμα σε έναν editor και το σώζουμε με μορφή \*.cal Μετά
 | 
			
		||||
μπορούμε να το φορτώσουμε μέσα από το Calc με την εντολή read \"Path/όνομα προγράμματος\" Τα προγράμματα που θα χρησιμοποιηθούν στα επόμενα παραδείγματα
 | 
			
		||||
βρίσκονται στην διεύθυνση <http://www.hydro.civil.ntua.gr/~rozos/freesoft/calc/calc.html>\
 | 
			
		||||
Για πρώτο παράδειγμα θα χρησιμοποιήσουμε το πρόγραμμα integr.cal που κάνει αριθμητική ολοκλήρωση με τον τύπο του Simpson. Ξεκινώντας το Calc στο ίδιο directory
 | 
			
		||||
με το integr.cal δίνουμε:
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    > read integr                                  το Calc επιστρέφει 
 | 
			
		||||
    1 
 | 
			
		||||
    20 
 | 
			
		||||
    integr(func string, var string, start, finish, tolerance) defined 
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
Ας υπολογίσουμε το ολοκλήρωμα `0.399*exp(-0.5*x^2)` (που αντιστοιχεί στην συνάρτηση πυκνότητας πιθανότητας κανονικής κατανομής με μέση τιμή 0 και διασπορά 1) ως
 | 
			
		||||
προς x από -10 μέχρι 10 με ακρίβεια 0.001.
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    >integr('0.399*exp(-0.5*x^2)','x',-10,10,.001) το Calc επιστρέφει 
 | 
			
		||||
     1.000142 
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
Έστω ότι θέλουμε τώρα να σχεδιάσουμε την αθροιστική συνάρτηση κατανομής, δηλαδή να πλοτάρουμε όλες τις τιμές που δίνει το παραπάνω ολοκλήρωμα για άκρα
 | 
			
		||||
ολοκλήρωσης από -οο (στην ουσία -10) έως x ε \[-οο, +οο\]. Εδώ θα χρησιμοποιήσουμε το πρόγραμμα plotf.cal σε συνδυασμό με το gnuplot.
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    >read plotf 
 | 
			
		||||
    >plotf("integr('0.399*exp(-.5*x^2)','x',-5,x,.01)","x",-5,5,.5) 
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
Μέσα από το gnuplot τώρα δίνουμε:
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    >plot [t=-10:10] 0.399*exp(-.5*t**2), 'plot.dat' using 1:4 with lines 
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**Συμπέρασμα**
 | 
			
		||||
 | 
			
		||||
Πολλά αντικείμενα και ιδιότητες που έχει το Calc όπως οι λίστες, οι σχεσιακοί πίνακες, τα αντικείμενα ορισμένα από χρήστη και άλλα, δεν αναφέρονται όπως είναι
 | 
			
		||||
φυσικό σε αυτό το κείμενο. Νομίζω ότι ο μέσος χρήστης δεν χρειάζεται παραπάνω από τρεις μέρες για να εξοικειωθεί με το πρόγραμμα και ίσως του πάρει δύο βδομάδες
 | 
			
		||||
για να μάθει όλες του τις πτυχές. Σε αυτό βοηθάει το συνοπτικό help του. Σίγουρα το Calc δεν μπορεί να συγκριθεί με επαγγελματικά πακέτα όπως Mathematica ή
 | 
			
		||||
Matlab αλλά είναι ιδανικό σε όσους αρέσει να προγραμματίζουν σε C και θέλουν να ασχοληθούν με αριθμητική ανάλυση.
 | 
			
		||||
							
								
								
									
										99
									
								
								content/articles/09/06_bash2.md
									
										
									
									
									
										Κανονικό αρχείο
									
								
							
							
						
						
									
										99
									
								
								content/articles/09/06_bash2.md
									
										
									
									
									
										Κανονικό αρχείο
									
								
							| 
						 | 
				
			
			@ -0,0 +1,99 @@
 | 
			
		|||
+++
 | 
			
		||||
title = 'Μαθήματα bash No2'
 | 
			
		||||
date = '1998-11-01T00:00:00Z'
 | 
			
		||||
description = ''
 | 
			
		||||
author = 'Βαγγέλης Παπαδογιαννάκης'
 | 
			
		||||
issue = ['Magaz 09']
 | 
			
		||||
issue_weight = 6
 | 
			
		||||
+++
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
*Σ\' αυτό το τεύχος, θα εξετάσουμε τους ειδικούς χαρακτήρες στο Bash\...*
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
Στο Bash, (γενικότερα, σε όλα τα shells) υπάρχουν διάφοροι χαρακτήρες ή ακολουθίες χαρακτήρων, που δεν είναι (άμεσα τουλάχιστον) προσπελάσιμοι από το shell.
 | 
			
		||||
Αυτοί είναι:
 | 
			
		||||
 | 
			
		||||
-   **\>** Επαναδρομoλόγηση εξόδου, πχ: echo \"hello root\" \> message φτιάχνει το αρχείο με όνομα message που περιέχει το hello root\
 | 
			
		||||
-   **\<** Επαναδρομoλόγηση εισόδου, πχ: mail root \< message, στέλνει στον root το message.\
 | 
			
		||||
-   **\|** Σωλήνωση πχ: ls \| more χρησιμοποιεί την more στα αποτελέσματα της ls\
 | 
			
		||||
-   **&** Εκτέλεση εντολής στο παρασκήνιο. Ακολουθεί εξήγηση παρακάτω\...\
 | 
			
		||||
-   **;** Χωρίζει εντολές στην ίδια γραμμή, πχ: clear ; ls καθαρίζει την οθόνη και δείχνει τα αρχεία του τρέχοντος καταλόγου.\
 | 
			
		||||
 | 
			
		||||
\
 | 
			
		||||
\'Εστω οτι θέλουμε να βρούμε ένα αρχείο στο δίσκο μας. Ένας τρόπος είναι να χρησιμοποιήσουμε την εντολή find γράφοντας:\
 | 
			
		||||
 | 
			
		||||
find / -name filename -print
 | 
			
		||||
 | 
			
		||||
Αυτό, είναι κάπως αργό γιατί ψάχνει όλο το σύστημα. Καλό θα ήταν να είχαμε το shell ελεύθερο για άλλη δουλειά. Γράφοντας λοιπόν:
 | 
			
		||||
 | 
			
		||||
find / -name filename -print &
 | 
			
		||||
 | 
			
		||||
η εντολή αυτή θα εκτελεστεί στο παρασκήνιο, και θα έχουμε ελεύθερο το shell για όποια άλλη δουλειά θέλουμε.\
 | 
			
		||||
Αν βρεθεί το αρχείο, θα το εμφανίσει στην οθόνη μας.
 | 
			
		||||
 | 
			
		||||
Έστω τώρα ότι έχουμε ανοίξει τον αγαπημένο μας editor, αλλά εκεί που γράφουμε κάτι, θέλουμε να δούμε μία διαδρομή στο δίσκο. Μπορούμε να κάνουμε suspend την
 | 
			
		||||
εργασία αυτή (δηλαδή το edit του αρχείου), να βρούμε αυτό που θέλουμε, και να ξαναγυρίσουμε στον editor. Πως; Στο περιβάλλον του editor πατάμε ctrl-z. Ο editor
 | 
			
		||||
θα σταματήσει, και θα μας βγάλει στο prompt. Εκεί μπορούμε να κάνουμε ότι θέλουμε. Για να επιστρέψουμε στον Editor, απλά γράφουμε fg.\
 | 
			
		||||
Μα τι έγινε; Να σας εξηγήσω εγώ τι έγινε: Πατώντας ctrl-z, ο editor κατάληξε μια \"σταματημένη δουλειά\" (stopped job). Εξακολουθεί να υπάρχει, αλλά έχει
 | 
			
		||||
σταματήσει στο παρασκήνιο (background), δεν εκτελείται, και περιμένει από εσάς να τον βάλετε να συνεχίσει να δουλεύει είτε στο προσκήνιο (foreground) γράφοντας
 | 
			
		||||
fg είτε στο παρασκήνιο γράφοντας (πόσο ευπρόβλεπτο\...) bg.
 | 
			
		||||
 | 
			
		||||
\
 | 
			
		||||
 | 
			
		||||
-   Αν εκτελείτε πολές εργασίες στο παρασκήνιο, μπορείτε να τις δείτε όλες, γράφοντας jobs.
 | 
			
		||||
-   Για να σταματήσετε για λίγο μια εργασία παρασκηνίου, γράψτε: stop n, όπου n ο αριθμός αυτής της εργασίας.
 | 
			
		||||
-   Για να τερματίσετε μια εργασία παρασκηνίου, γράψτε kill n, όπου n ο αριθμός αυτής της εργασίας.
 | 
			
		||||
-   Για να περιμένετε να τελειώσουν οι δουλειές παρασκηνίου, γράψτε wait.\
 | 
			
		||||
-   Πολλές φορές, οι εργασίες παρασκηνίου γράφουν στην οθόνη, κάτι πολύ ενοχλητικό. Για να σταματήσουν όταν πάνε να γράψουν στην οθόνη, γράψτε stty tostop
 | 
			
		||||
 | 
			
		||||
\
 | 
			
		||||
Άλλοι χαρακτήρες που το bash \"εκτιμά\" διαφορετικά είναι:\
 | 
			
		||||
 | 
			
		||||
-   \[\]:\
 | 
			
		||||
    Αυτοί περικλείουν ένα εύρος τιμών, ή διάφορες τιμές. πχ η εντολές:\
 | 
			
		||||
    ls \[a-f\]\* εμφανίζει όλα τα αρχεία που έχουν πρώτο γράμμα από το a μέχρι το f. Οι ακολουθίες είναι σύμφωνα με τον κώδικα ASCII.\
 | 
			
		||||
    ls \[f\]\* εμφανίζει όλα τα αρχεία που έχουν πρώτο γράμμα a ή f.\
 | 
			
		||||
    \
 | 
			
		||||
-   \`\`:\
 | 
			
		||||
    Οποιαδήποτε ακολουθία μέσα στις \"βαρείες\", ερμηνεύεται από το shell σα να είναι εντολή. Δηλαδή:\
 | 
			
		||||
    echo \"You are in \\\"\`pwd\`\\\"\...\" θα έχει ως αποτέλεσμα να σας γράψει στην οθόνη:\
 | 
			
		||||
    You are in \"/usr/local/bin\...\" (αν τη στιγμή που τη γράψατε βρισκόσασταν στο /usr/local/bin, εντάξει;)\
 | 
			
		||||
    \
 | 
			
		||||
-   Είδαμε και τον χαρακτήρα \\. Αυτός, είναι ο χαρακτήρας διαφυγής, δηλαδή ΟΤΙ (μα ότι) είναι μετά από αυτόν, εμφανίζεται ώς έχει (ακόμα και ο ίδιος, γράφοντας
 | 
			
		||||
    \\\\)\
 | 
			
		||||
    \
 | 
			
		||||
-   \"\":\
 | 
			
		||||
    Οτιδήποτε ανάμεσα σε δύο \", ερμηνεύεται ώς έχει, εκτός από:\
 | 
			
		||||
    1.  \$: στον οποίο θα γίνει αντικατάσταση με τη μεταβλητή που ακολουθεί τον χαρακτήρα \$
 | 
			
		||||
    2.  \`\`: ανάμεσα στους οποίους θα γίνει αντιστίχηση αποτελέσματος εντολής
 | 
			
		||||
    3.  \\ Ο χαρακτήρας διαφυγής του οποίου τη χρησιμότητα αναφέραμε παραπάνω.
 | 
			
		||||
 | 
			
		||||
    \
 | 
			
		||||
-   \'\':\
 | 
			
		||||
    Οτιδήποτε ανάμεσα σε δύο αποστρόφους, ερμηνεύεται ώς έχει, εκτός φυσικά, από άλλη αποστροφο.\
 | 
			
		||||
    Και επειδή ξέρω ότι στα παραδείγματα είσαστε καλύτεροι, ορίστε μερικά:\
 | 
			
		||||
    \
 | 
			
		||||
    -   echo \"Καλά, δεν είναι \\\"cool\\\";;;\"\
 | 
			
		||||
        Καλά, δεν είναι \"cool\";;;\
 | 
			
		||||
    -   echo \'Καλά, δεν είναι \"cool\";;;\'\
 | 
			
		||||
        Καλά, δεν είναι \"cool\";;;\
 | 
			
		||||
    -   echo \"You are in \\\" \`pwd\` \\\"\...\"\
 | 
			
		||||
        You are in \" /usr/local/bin \"\
 | 
			
		||||
    -   echo \"Your \\\$PATH variable is set to: \$PATH\"\
 | 
			
		||||
        Your \$PATH variable is set to: /usr/bin:/bin:\...\.... (όποιο τελος πάντον είναι το PATH σας\...)\
 | 
			
		||||
-   ():\
 | 
			
		||||
    Ανάμεσα σε αυτούς τους χαρακτήρες, οι εντολές ομαδοποιούνται και είναι σα να τρέχουν σε ένα ξεχωριστό shell.\
 | 
			
		||||
    Δηλαδή, κατα κάποιο τρόπο γίνεται ομαδοποίηση και εξάγεται το συνολικό αποτέλεσμα. πχ:\
 | 
			
		||||
    (echo \"user \" ; whoami ; echo \"logged in on \";date) \>\> logfile Αυτό γράφει στο αρχείο logfile το εξής:\
 | 
			
		||||
    user **user** logged in on **date**, όπου **user** ο χρήστης που μπήκε στο σύστημα, και **date** η ώρα-ημερομηνία εισαγωγής. Μια τέτοια εντολή καλό θα ήταν
 | 
			
		||||
    να υπήρχε στο /etc/profile, ώστε να κρατάμε σε ένα logfile τους επισκέπτες στο σύστημά μας ανα πάσα στιγμή. Μην φανταστείτε όμως ότι με αυτό τον τρόπο θα
 | 
			
		||||
    προστατευτείτε από τους παρείσακτους!!!\
 | 
			
		||||
    Στην παραπάνω εντολή, το \>\> είναι το append to file, δηλαδή δε σβήνει το προηγούμενο logfile, αλλά γράφει ότι είναι να γράψει στο τέλος του αρχείου. Δεν
 | 
			
		||||
    χάνουμε δηλαδή το προηγούμενο logfile.\
 | 
			
		||||
    \
 | 
			
		||||
    \
 | 
			
		||||
 | 
			
		||||
\
 | 
			
		||||
Στο επόμενο τεύχος του Magaz, συνέχεια του Bash, και εξέταση των μεταβλητών περιβάλλοντος.\
 | 
			
		||||
							
								
								
									
										453
									
								
								content/articles/09/07_mailbox.md
									
										
									
									
									
										Κανονικό αρχείο
									
								
							
							
						
						
									
										453
									
								
								content/articles/09/07_mailbox.md
									
										
									
									
									
										Κανονικό αρχείο
									
								
							| 
						 | 
				
			
			@ -0,0 +1,453 @@
 | 
			
		|||
+++
 | 
			
		||||
title = 'Αλληλογραφία'
 | 
			
		||||
date = '1998-11-01T00:00:00Z'
 | 
			
		||||
description = ''
 | 
			
		||||
author = '<magaz@linux.gr>'
 | 
			
		||||
issue = ['Magaz 09']
 | 
			
		||||
issue_weight = 7
 | 
			
		||||
+++
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
*\"Κανόνες\" αλληλογραφίας: Από το επόμενος τεύχος (10) που το Magaz θα τοποθετηθεί στο μηχάνημα του Hellug, θα υπάρχει φόρμα καταχώρησης ερώτησης\... Μέχρι
 | 
			
		||||
τότε, παρακαλούμε ακολουθήστε τους κάτωθι κανόνες:*
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
α) Να βάζετε ένα θέμα σχετικό με την ερώτηση στο mail σας. Ένα θέμα της μορφής Ερώτηση περί Linux δεν βοηθάει ιδιαίτερα.\
 | 
			
		||||
β) Να ρίχνετε και καμιά ματιά στα περασμένα τεύχη, και εννοώ και την στήλη της αλληλογραφίας, αλλά και τα άρθρα. Ίσως κάποιες ερωτήσεις να απαντούνται από
 | 
			
		||||
εκεί.\
 | 
			
		||||
Επίσης, παρακαλούμε γράφετε στα ελληνικά. Αν το outlook σας δεν βλέπει ελληνικά, βάλτε linux :-)
 | 
			
		||||
 | 
			
		||||
**1. Defrag για Linux**
 | 
			
		||||
-------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**2. X-windows και χρώματα**
 | 
			
		||||
------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**3. Viper 330**
 | 
			
		||||
------------------------------------------
 | 
			
		||||
 | 
			
		||||
**4. KDE μόνο για το RedHat 5.0.**
 | 
			
		||||
------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**5. Ελληνικό Πληκτρολόγιο**
 | 
			
		||||
------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**6. Ξανά πρόβλημα Debian**
 | 
			
		||||
-----------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**7. Εύρεση του XISP**
 | 
			
		||||
------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**8. Ελληνικά στο DOSemu**
 | 
			
		||||
----------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**9. Ζητείται Linux**
 | 
			
		||||
-----------------------------------------------
 | 
			
		||||
 | 
			
		||||
**10. Οtenet PPP**
 | 
			
		||||
----------------------------------------------
 | 
			
		||||
 | 
			
		||||
**11. Kppp προβλήματα**
 | 
			
		||||
---------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**12. Matrox Mystique**
 | 
			
		||||
---------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**13. Applixware και Ελληνικά**
 | 
			
		||||
-----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**14. IP-Masquerading**
 | 
			
		||||
---------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**15. PINE και ελληνικά**
 | 
			
		||||
-----------------------------------------------------
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [1. Defrag για Linux]{#s1}
 | 
			
		||||
 | 
			
		||||
Από : [Σωτήρη Παρμάκη](mailto:paleolithic@iol.it)
 | 
			
		||||
 | 
			
		||||
Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr)
 | 
			
		||||
 | 
			
		||||
Απάντηση : [Νίκος Κόκρας](mailto:kokni@eexi.gr)
 | 
			
		||||
 | 
			
		||||
Γειά (και πάλι από μένα) ;-) Υπάρχει εφαρμογή γιά defragmentation του δίσκου για το Linux?
 | 
			
		||||
 | 
			
		||||
***MK:** Όχι, και δεν χρειάζεται. Υπάρχουν ορισμένες τέτοιου είδους εφαρμογές στο sunsite για να είμαι πιο σωστός, αλλά στην πραγματικότητα αναλαμβάνει το
 | 
			
		||||
λειτουργικό να κάνει κάτι τέτοιο. (όπως και στα windows NT δεν υπάρχει, αλλά εκεί δημιουργείται fragmentation και από ότι ξέρω έχουν βγει τρίτα προγράμματα, τα
 | 
			
		||||
οποία όμως απλά το αναφέρουν, δεν το λύνουν\...)\
 | 
			
		||||
**NK:** Πράγματι στο sunsite υπάρχει ένα defrag το οποίο εδώ και 2 χρόνια είναι μεταξύ alpha και beta. Όπως καταλαβαίνεις τέτοια προγράμματα δεν σηκώνει να
 | 
			
		||||
είναι beta και συνεπώς δεν έχει τύχει ευρείας χρήσης. Νομίζω ότι κάπου τώρα τελευταία είδα μία νέα έκδοση του defrag (ψάξε στο
 | 
			
		||||
[ftpwatcher](http://lfw.linuxhq.com). Το ότι το linux δεν έχει πρόβλημα defrag δεν είναι απόλυτα ακριβές, χωρίς να είναι λάθος. Πράγματι το ext2 έχει natively
 | 
			
		||||
κάποια πρόβλεψη για το fragmentation αλλά κάθε πράγμα έχει τα όριά του. Σε κάθε περίπτωση όσο το fragmentation σου δεν φτάνει σε υπερβολικά νούμερα (δηλ. πάνω
 | 
			
		||||
από 10-15%) δεν έχεις πρόβλημα και σίγουρα δεν υπάρχει καμία σχέση με \"άλλα\" λειτουργικά. Μπορείς όμως να κάνεις και εσύ κάτι για το fragmentation: Υπάρχουν
 | 
			
		||||
μερικά σημεία του filesystem που είναι επιρρεπή σε fragmentation. Αυτά είναι το /tmp, το /var και το /home (εάν έχεις πολλούς χρήστες ή γράφεις / σβήνεις όλη
 | 
			
		||||
την ώρα). Εάν βάλεις το /tmp και το /var σε διαφορετικά partitions έχεις κάνει ότι θα έκανε το καλύτερο defrag πρόγραμμα. Συνοπτικά λοιπόν δεν σου συνιστώ να
 | 
			
		||||
τρέξεις το ειδικό πρόγραμμα εάν έχεις σημαντικά πράγματα στο δίσκο σου (δυστυχώς, δεν ξέρω κανένα που να το έχει τρέξει για να μας πει από πρώτο χέρι) και
 | 
			
		||||
αντίθετα σου προτείνω μόλις σου δοθεί η ευκαιρία να κάνεις ένα σωστό partitioning ώστε να κοντρολάρεις το fragmentation εν τη γεννέση του.*
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [2. X-windows και χρώματα]{#s2}
 | 
			
		||||
 | 
			
		||||
Από : [Σωτήρη Παρμάκη](mailto:paleolithic@iol.it)
 | 
			
		||||
 | 
			
		||||
Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr)
 | 
			
		||||
 | 
			
		||||
Γειά,\
 | 
			
		||||
Είμαι νέος χρήστης του Linux και έχω μερικά προβλήματα με τα Xwindows.\
 | 
			
		||||
Έχω ένα σύστημα με Diamond Stealth 3D 2240(Virge 2Mb), 16Mb ram και Red Hat 5.1. Το πρόβλημα είναι ότι δεν μπορώ να έχω 16 ή 24bit χρώμα στα X-windows(με KDE
 | 
			
		||||
1.0) (ακόμη κι αν χρησιμοποιώ: startx -bpp 16)(και παρότι στο Xwindow configuration εχω ενεργοποιήσει τις:800x600x8bit, 800x600x16bit, 800x600x24bit). Υπάρχει
 | 
			
		||||
τρόπος να έχω περισσοτερα από 8bit χρώμα;
 | 
			
		||||
 | 
			
		||||
*Φίλε Σωτήρη,\
 | 
			
		||||
η σωστή εντολή είναι η startx \-- -bpp 16 για 16 bit χρώμα. Βέβαια, για να μπορέσεις να δεις παραπάνω χρώματα πρέπει να το υποστηρίζει και ο server που
 | 
			
		||||
χρησιμοποιείς, ο οποίος ΥΠΟΘΕΤΟΥΜΕ ότι τα υποστηρίζει, αλλά για να είμαστε πιο σίγουροι, κάνε ένα \"ls -l /usr/X11/bin/X\*\" για να δεις το αρχείο X που
 | 
			
		||||
δείχνει. Αν δείχνει στο αρχείο XF86\_VGA16 πρέπει να ξαναρυθμίσεις τα X-windows με όποιον τρόπο έχει το RedHat, ή με το standard xf86setup. Εκεί θα του δηλώσεις
 | 
			
		||||
ως server τον S3virge ή τον SVGA. (Πληροφοριακά, αν ΔΕΝ έχεις εγκαταστήσει αυτούς τους servers δεν θα τους εγκαταστήσει το πρόγραμμα μόνο του).*
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [3. Viper 330]{#s3}
 | 
			
		||||
 | 
			
		||||
Από : [Μαλάκτα Μαλακταία](mailto:antoula@hotmail.com)
 | 
			
		||||
 | 
			
		||||
Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@rocketmail.com)
 | 
			
		||||
 | 
			
		||||
Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr)
 | 
			
		||||
 | 
			
		||||
Είμαι ένας νέος χρήστης του Linux (2 βδομάδες έχω ασχοληθεί με αυτό σοβαρά). Πρόσφατα αντιμετώπισα το πρόβλημα της κάρτας ήχου μου κάτω από Linux. Έχω μία Opti
 | 
			
		||||
c929 (Mad 16 pro -υπάρχει στο menu sound του kernel configuration). Διαβάζοντας πολλά howtos τελικά κατάφερα να την εγκαταστήσω σωστά και τη στιγμή που σας
 | 
			
		||||
γράγφω αυτό το γράμμα ακούω ένα CD μου :) Δυστυχώς όμως δεν είναι όλα τόσο καλά! Έχω το redhat 5.1 με πυρήνα 2.0.35. Μόλις λοιπόν έφτιαξα τον καινούργιο πυρήνα
 | 
			
		||||
με υποστήριξη κάρτας ήχου και έκανα compile ανακάλυψα ότι δεν μπορώ να μπω στα x windows ! Γράφω startx, η οθόνη γίνεται μαύρη και το σύστημα κολλάει. Τρέχοντας
 | 
			
		||||
το Xconfigurator τη στιγμή που επιλέγω probe η οθόνη γίνεται μαύρη και κολλάει πάλι το σύστημα - αντί να αναβοσβήνει μερικές φορές η οθόνη\... Ακόμα και όταν
 | 
			
		||||
πατάω \"dont probe\" όταν τελικά προσπαθώ να μπω στα X πάλι κολλάει το σύστημα\... Κάρτα γραφικών μου είναι η viper v330 και χρησιμοποιεί τον XFree86-SVGA
 | 
			
		||||
server. Κάτι όμως μέσα μου με έτρωγε και έβαλα στη θέση της την Diamond Stealth 3d 2000 pro και, αφού εγκατέστησα το σωστό server (S3) το σύστημα μπήκε κανονικά
 | 
			
		||||
στα X ! Δυστυχώς όμως εγώ δεν μπορώ να κρατήσω την Stealth\....Άλλωστε τσάμπα έδωσα το 20 χιλιάρικα για την viper; Μήπως μπορείτε να μου πείτε τι φταίει; Δεν
 | 
			
		||||
ξέρω τι πρέπει να δοκιμάσω\... ότι κάνω αποτυγχάνει.
 | 
			
		||||
 | 
			
		||||
***ΒΠ:** Να υποθέσω οτι έψαξες στο: <http://www.xfree86.org/3.3.2/NV11.html#1>;;;;; το riva128 δεν έχει η κάρτα σου ;;; (από την άλλη, δεν ξέρω αν είναι για PCI
 | 
			
		||||
ή AGP, και τι είδους έχεις εσύ\...)\
 | 
			
		||||
Επίσης, είχε πάρει το μάτι μου κάτι για αυτή την κάρτα, που είχε σχέση με τη suse, αλλά δυστυχώς δε θυμάμαι τίποτα\... Ούτε που, ούτε τι\... sorry \...\
 | 
			
		||||
Επίσης, από το dejanews:*
 | 
			
		||||
 | 
			
		||||
    ------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    > Hi !
 | 
			
		||||
    > 
 | 
			
		||||
    > I am having some problems to configure Linux to work with a Diamond Viper
 | 
			
		||||
    > V330 PCI OEM video board.
 | 
			
		||||
    > 
 | 
			
		||||
 | 
			
		||||
    This card cannot share an interupt (IRQ setting) with anything else.  
 | 
			
		||||
    Maybe you need to give it a unique IRQ.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    ------------------------------------------------
 | 
			
		||||
     >> Jens Johannesson writes:
 | 
			
		||||
 | 
			
		||||
     > After startx, the screen becomes dark and the machine hangs
 | 
			
		||||
     > completely.  I have a ASUS P5A motherboard, AMD K6, Diamond Viper
 | 
			
		||||
     > V330 and use XFree86 3.3.2 as distributed with Debian 2.0. I
 | 
			
		||||
     > upgraded the BIOS to Version 1003 as the corresponding readme
 | 
			
		||||
     > indicated improvements regarding the NVIDIA RIVA128.
 | 
			
		||||
 | 
			
		||||
     > Any hints?
 | 
			
		||||
 | 
			
		||||
    The RIVA cards use an IRQ.  Earlier servers would hang if they shared
 | 
			
		||||
    an IRQ, but the latest one doesn't have that problem.  Try downloading
 | 
			
		||||
    the latest (pachlevel 3) SVGA server and installing that.
 | 
			
		||||
 | 
			
		||||
    ------------------------------------------------
 | 
			
		||||
 | 
			
		||||
*και εν πάσει περιπτώσει, κάνε ένα ψάξιμο στο : <http://www.dejanews.com/categories/Computers/Software/Operating_Systems/Unix/Linux/> προφανώς δεν θα είσαι ο
 | 
			
		||||
μόνος που έχει αυτό το πρόβλημα!\
 | 
			
		||||
**MK:** Με όλα αυτά που είπε ο Βαγγέλης, θυμήθηκα το εξής: στήσιμο Xfre86-3.3.2 σε μηχάνημα με PCI 3Com και AGP Nvidia Riva 128 (STB Velocity). Το πρόβλημα ήταν
 | 
			
		||||
τα shared IRQs. Επειδή δεν ήξερα (και δεν ξέρω) να πω στην τάδε κάρτα AGP να πάρει το τάδε συγκεκριμένο IRQ, άλλαξα τη θέση του Ethernet controller και λύθηκε
 | 
			
		||||
το πρόβλημα. Χρησιμοποιείς τον SVGA Server. Επίσης, αν δεν κάνω λάθος, υπάρχει και στο site της SuSE ένας ειδικός x-server για την κάρτα αυτή. Θα το βρεις στο
 | 
			
		||||
<http://www.suse.de> στο section για τους X-servers.*
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [4. KDE μόνο για το RedHat 5.0.]{#s4}
 | 
			
		||||
 | 
			
		||||
Από : [Ισαάκ Τσαλίκογλου](mailto:isaakt@hotmail.com)
 | 
			
		||||
 | 
			
		||||
Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@rocketmail.com)
 | 
			
		||||
 | 
			
		||||
Γειά σας, διαβάζω ανελλιπώς το περιοδικό σας και το βρίσκω ιδιαίτερα ενδιαφέρον.
 | 
			
		||||
 | 
			
		||||
*Ευχαριστούμε\... Μας δίνετε θάρρος για τη συνέχεια\...*
 | 
			
		||||
 | 
			
		||||
Έχω εγκαταστήσει το RedHat 5.0 εδώ και 2 μήνες και έχω μάθει πάνω κάτω, τα εντελώς χρήσιμα (ls, more, less, minicom). Έχω καταφέρει επίσης να συνδεθώ μέσω του
 | 
			
		||||
Metro-X server (γιούπι) και έχω τρέξει το Netscape. Φαίνεται όμως ότι ο ΜέτροΧ έχει κάποιο bugάκι. Με τον Communicator, μετά από τρεις επισ΄κέψεις σε κάποια
 | 
			
		||||
σελίδα, τα γράμματα αλλάζουν χρώμα και δεν μπορώ να διαβάσω τίποτα. Ρώτησα κάποιον γνωστό μου (και γνώστη) περί αυτού του φαινομένου, και μου είπε ότι όντως
 | 
			
		||||
φταίει ο Metro-X. Εγώ τώρα, δεν έχω χρόνο να επανεγκαταστήσω το Λίνουξ από την αρχή χωρίς Τον ΜέτροΧ (λογική και αυτή, ε; :-)), και επειδή βρήκα στo CD του RAM
 | 
			
		||||
το KDE, έκανα ένα query στα rpm του και διάβασα ότι απαιτεί το REdHat 5.1, ή κατι παρόμοιο. Μπορώ να το εγκαταστήσω στο 5.0; Ή μήπως αυτή η παρατήρηση ισχύει σε
 | 
			
		||||
ορισμένες περιπτώσεις;
 | 
			
		||||
 | 
			
		||||
*Λοιπόν έτσι είναι, το CD του RAM περιέχει τον KDE για το RH 5.1 μόνο, αλλά φυσικά υπάρχει και για το 5.0. Πήγαινε μια βολτίτσα από το <http://www.kde.org> και
 | 
			
		||||
κατέβασέ το αν θες (Μην ξεχάσεις να κατεβάσεις και τις Qt libs από το <http://www.troll.no>)\
 | 
			
		||||
Πάντως, καλό θα είναι να αναβαθμίσεις το RH από 5.0 σε 5.1 (το 5.0 είναι πολύ bug-friendly :)))*
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [5. Ελληνικό Πληκτρολόγιο]{#s5}
 | 
			
		||||
 | 
			
		||||
Από : [Κώστας Σαπαλίδης](mailto:kalaitso@compulink.gr)
 | 
			
		||||
 | 
			
		||||
Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr)
 | 
			
		||||
 | 
			
		||||
Εχω εγκαταστήσει RedHat Linux 5.1 και KDE τα Ελληνικά \"πακέτα\" XFGreekFNTS-1-1.noarch.rpm και XFGreekKBD-1.2-2.noarch.rpm και βλέπω κανονικά Ελληνικά. Δήλωσα
 | 
			
		||||
και το πληκτρολόγιο el\_US και τα λοιπά όπως λέει το readme του installation αλλά το πληκτρολόγιο παραμένει Αγγλικό όταν πατάω right+Alt. Προφανώς δεν το
 | 
			
		||||
αναγνωρίζει σαν δίγλωσσο. Τι μπορεί να φταίει και ποιά είναι τα αρχεία που πρέπει να ενημερώσω?
 | 
			
		||||
 | 
			
		||||
*Την απάντηση θα βρεις στο Linux Zone, τεύχους 6 του περιοδικού. Γενικά, κάτι δεν πάει καλά με το el\_US.*
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [6. Ξανά πρόβλημα Debian]{#s6}
 | 
			
		||||
 | 
			
		||||
Από : [Λέων Ίσαυρο](mailto:leoniv4@hotmail.com)
 | 
			
		||||
 | 
			
		||||
Απάντηση : [Νίκος Κόκρας](mailto:kokni@eexi.gr)
 | 
			
		||||
 | 
			
		||||
Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@rocketmail.com)
 | 
			
		||||
 | 
			
		||||
Αγαπητοί φίλοι Linux-άδες Επιτέλους έκανα download από την Debian και εγκατέστησα το Linux 2.0 στον αρχαίο υπολογιστή μου,, γράφτηκα μάλιστα με χαρά στην λίστα
 | 
			
		||||
των Ελλήνων χρηστών του περιοδικού σας.
 | 
			
		||||
 | 
			
		||||
***NK:** Καλά έκανες*
 | 
			
		||||
 | 
			
		||||
Δυστυχώς στην σχέση μου με το Linux τίποτα μέχρι τώρα δεν έχει λειτουργήσει απρόσκοπτα και καταφεύγω πάλι σε σας για να λύσετε το νέο μου πρόβλημα: Ενώ η
 | 
			
		||||
εγκατάσταση έγινε κανονικά και όλα τα αρχεία τοποθετήθηκαν στις θέσεις τους, δεν μπορώ να δώσω καμμιά εντολή Unix στο σύστημα. Αντί για το \# έχω \$ για prompt.
 | 
			
		||||
Τι μπορεί να έχει πάει στραβά;
 | 
			
		||||
 | 
			
		||||
***NK:** Τίποτα. Υπάρχει η συνήθεια ο root να έχει prompt \# και οι χρήστες \$. Αυτό μόνο για να καταλαβαίνει κανείς ότι είναι root και να **προσέχει**. Κάνε
 | 
			
		||||
λοιπόν ένα user account (adduser login, μετά passwd login) και παίξε από εκεί.*
 | 
			
		||||
 | 
			
		||||
Ίσως να μην εγκαταστάθηκαν κάποια πακέτα από το dselect γιατί έχω την αίσθηση ότι τα έκανα θάλασσα\...Αλλά όταν έκανα login στο root και ξεκίνησα το dselect δεν
 | 
			
		||||
μου ανάφερε τόσα πακέτα όσα αμέσως μετά την πρώτη επανεκκίνηση (αμέσως μετά την εγκατάσταση). Θα ήθελα να εγκαταστήσω το TeX το Netscape Navigator και τα
 | 
			
		||||
XWindows αλλά πλέον δεν μου τα δείχνει ως διαθέσιμα.
 | 
			
		||||
 | 
			
		||||
***NK:** Το dselect είναι το ΜΕΓΑΛΟ πρόβλημα της Debian. Δεν ξέρω τι εγκατάσταση έκανες και πόσο πλήρης είναι αλλά οπωσδήποτε διάβασε το manual του dselect. Για
 | 
			
		||||
να δεις ως διαθέσιμο π.χ. το TeX, θα πρέπει το dselect να τα \"δει\" δηλαδή είτε να τα έχεις στον δίσκο σου (και να πεις στο dselect το directory όπου τα έχεις)
 | 
			
		||||
είτε να στοχεύσεις το dselect σε ένα official debian ftp site. Και στις 2 περιπτώσεις πρέπει να του πεις να πάρει την λίστα των active πακέτων που υπάρχουν
 | 
			
		||||
διαθέσιμα (υπάρχει επιλογή στο menu του dselect).*
 | 
			
		||||
 | 
			
		||||
Κάτι άλλο που με παραξενεύει είναι ότι δεν βλέπω το αποτέλεσμα της εντολής μου στο prompt. Έτσι για παράδειγμα αν γράψω:
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
       $ cd /usr
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
τελικά θα δω:
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
       $
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
αντί για όπως περιμένω:
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
       dev/hda1/usr>$ (ή τελοσπάντων κάτι τέτοιο)
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
***NK:** Αυτό δεν είναι βέβαια το αποτέλεσμα της εντολής σου. Για να δεις το αποτέλεσμα της εντολής σου πρέπει για το παράδειγμα που έδωσες να δώσεις την εντολή
 | 
			
		||||
pwd. Αυτό που θέλεις είναι μια ιδιότητα του bash (customizable prompt). Ρυθμίζεται από την variable PS2 και οδηγίες θα βρεις στην man page του bash (man bash,
 | 
			
		||||
προς το τέλος). Συνοπτικά, θα πρέπει να βάλεις στο /etc/bashrc ή /etc/profile ή  /.bashrc μία εντολή του στυλ PS2=/x/c/s όπου x,c,s είναι switches που θα βρεις
 | 
			
		||||
στην manpage του bash.\
 | 
			
		||||
**ΒΠ:** Για την ακρίβεια, για να δεις το path στο οποίο βρίσκεσαι ανά πάσα στιγμή, γράψε PS1=\[\\w\] (είναι κάτι αντίστοιχο με το PROMPT \$p\$g του dos). Το
 | 
			
		||||
PS2, είναι το prompt που βγάζει το bash όταν δεν έχεις κλείσει κάποια εισαγωγικά, δηλ. αν PS2=\[\<\] (όπως και είναι το default) και γράψεις\
 | 
			
		||||
echo \"ale a yact \"ENTER\"\
 | 
			
		||||
θα σου βγάλει από κάτω:\
 | 
			
		||||
\<\
 | 
			
		||||
για να συνεχίσεις. Θα σου το βγάζει μέχρι να κλείσεις τα εισαγωγικά. (το αποτέλεσμα της echo, θα περιέχει τα enter που πάτησες\...)*
 | 
			
		||||
 | 
			
		||||
Δυστυχώς δεν έχω καμμιά σχέση μέχρι τώρα με Linux, Unix και παρεμφερή με αποτέλεσμα να μην μπορώ να καταλάβω τίποτα. Μάλλον δεν είναι και τόσο φιλικό όσο λένε
 | 
			
		||||
το Linux\...
 | 
			
		||||
 | 
			
		||||
***NK:** Το ότι δεν έχεις καμία σχέση το καταλάβαμε :-) αλλά κανείς δεν είπε ότι είναι user-friendly το Linux (και αν το είπε κακώς έκανε). Το Linux είναι
 | 
			
		||||
sys-admin frendly.*
 | 
			
		||||
 | 
			
		||||
Περιμένω την απάντησή σας με ανυπομονησία αφού είστε και η μόνη πηγή που μπορώ να απευθυνθώ. Δυστυχώς όποια άλλη πηγή του LDP και αν έψαξα δεν με κάλυψε.
 | 
			
		||||
 | 
			
		||||
***NK:** Προφανώς δεν έψαξες καλά!!!\
 | 
			
		||||
**ΒΠ:** Μάλλον καθόλου θα έλεγα αλλά καταλαβαίνς ότι ήσουνα πολύ χαμένος σε όλα αυτά, ε;;;*
 | 
			
		||||
 | 
			
		||||
Σας χαιρετώ με απελπισία (και απογοήτευση) Υ.Γ: Αν καταφέρω να εγκαταστήσω το TeX -αλήθεια πώς γίνεται αυτό;- από που θα πείσω το σύστημα να γράψει ελληνικά;
 | 
			
		||||
 | 
			
		||||
***NK:** Άστο αυτό για αργότερα. Ακόμα δεν έβαλες linux και θέλεις TeX ?*
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [7. Εύρεση του XISP]{#s7}
 | 
			
		||||
 | 
			
		||||
Από : [Γιώργος Ρείζης](mailto:reizis@sit.forthnet.gr)
 | 
			
		||||
 | 
			
		||||
Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr)
 | 
			
		||||
 | 
			
		||||
Θα σε παρακαλούσα να μου πεις από που μπορώ να προμηθευτώ το x-isp ώστε να το χρησιμοποιήσω στη σύνδεσή μου με την Forthnet. Σ.Σ. Χρησιμοποιώ το Redhat 5.1.
 | 
			
		||||
 | 
			
		||||
*Γιώργο, το X-ISP θα το βρείς στην σελίδα του Δημήτρη Μπούρα (που το έγραψε) στο: <http://users.hol.gr/~dbouras>. Για RedHat 5.1 ίσως να βρεις pre-compiled στο
 | 
			
		||||
<ftp://argeas.argos.hol.gr>*
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [8. Ελληνικά στο DOSemu]{#s8}
 | 
			
		||||
 | 
			
		||||
Από : [Παναής](mailto:alexakos@csd.uch.gr)
 | 
			
		||||
 | 
			
		||||
Απάντηση : [Νίκος Κόκρας](mailto:kokni@eexi.gr)
 | 
			
		||||
 | 
			
		||||
Παιδιά χαιρετώ και ελπίζω να είστε καλά. Έχω το εξής πρόβλημα στο RedHat Linux 5.1 : Έχω εγκαταστήσει αρκετά Ελληνικά fonts και γενικά στα X-Windows δεν έχω
 | 
			
		||||
πρόβλημα να \"δω\" και να γράψω Ελληνικά. Χρησιμοποιώ το grISOXKb-1.2. Το ερώτημά μου είναι: Τι γίνεται με τα ελληνικά στο DOSemu. Δηλαδή: Το DOS χρησιμοποιεί
 | 
			
		||||
Ελληνικά κωδικοσελίδας 737. Έχω γράψει κάποια προγράμματα για DOS τα οποία τα δουλεύω κανονικά στο DOSemu, αλλά χωρίς Ελληνικά. Το gr2gr.pl του Χαρίτση δεν
 | 
			
		||||
κάνει σωστή μετατροπή των Ελληνικών του DOS σε ELOT-928, αλλά και πάλι δεν θέλω να χρησιμοποιώ φίλτρα όταν μεταφέρω αρχεία κειμένου από DOS σε Linux και τ\'
 | 
			
		||||
ανάποδο. Με άλλα λόγια, υποθέτω ότι αν είχα στο Linux μία τουλάχιστον γραμματοσειρά σε codepage 737 δεν θα είχα πρόβλημα να ανοίξω ένα xterm -fn \"Η
 | 
			
		||||
γραμματοσειρά\" και εκεί να τρέξω το DOSemu και να \"βλέπω\" Ελληνικά. Πάω στο <ftp://dolphin.doc.ac.ic.uk> όπου λένε τα HOWTOs ότι βρίσκεις Ελληνικά σε
 | 
			
		||||
codepage 737, αλλά είναι μονίμως down. Anyway, υπάρχει κανείς που να έχει καμιά ιδέα για το πως θα λύσω το πρόβλημα των Ελληνικών σε DOSemu ? Σκεφτείτε πόσο
 | 
			
		||||
software (ΕΛΛΗΝΙΚΟ) έχει γραφτεί για DOS. Είναι κρίμα όλα αυτά να μην μπορεί να τα \"γευτεί\" ένας Linux user.
 | 
			
		||||
 | 
			
		||||
*Όσον αφορά τα ελληνικά δεν μπορώ να σε βοηθήσω συγκεκριμένα αλλά: υπάρχει ένα πρόγραμμα (greek-console) που περιέχει ελληνικές γραμματοσειρές 737 αν δεν κάνω
 | 
			
		||||
λάθος (είχα δει κάποτε στο man page) και στο linux κωδικοποιεί θαυμάσια (για το dosemu δεν ξέρω). Αυτές σε συνδυασμό με το i8n του RedHat5.1 λογικά θα πρέπει να
 | 
			
		||||
αρκούν. Ο [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) είναι ο \"ένοχος\" για το ΠΑΡΑ - ΠΟΛΥ - ΚΑΛΟ greek-console. Δυστυχώς δεν έχω καμία εμπειρία από
 | 
			
		||||
DOS για να σε βοηθήσω πιο συγκεκριμένα.*
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [9. Ζητείται Linux]{#s9}
 | 
			
		||||
 | 
			
		||||
Από : [Γιάννη Α.](mailto:fikip@hol.gr)
 | 
			
		||||
 | 
			
		||||
Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@rocketmail.com)
 | 
			
		||||
 | 
			
		||||
Χαιρετισμοί. Είμαι χρήστης των Windows και θέλω να ασχοληθώ με το Linux. Το πρόβλημά μου είναι οτι δεν μπορώ να το βρω στο internet και να το \"κατεβάσω\".
 | 
			
		||||
Εκτός αυτού άκουσα πως υπάρχουν πολλές εκδόσεις Linux (?) απο διαφορετικές εταιρίες (πχ RedHat). Τελικά τί συμβαίνει;
 | 
			
		||||
 | 
			
		||||
*Linux είναι ένα, πολλές distrinutions υπάρχουν. Η κάθε μία έχει καλά και κακά. Όλες όμως, είναι το ίδιο πάνω-κάτω*
 | 
			
		||||
 | 
			
		||||
Γιατί υπάρχουν τόσες εκδόσεις του Linux?
 | 
			
		||||
 | 
			
		||||
*(distributions) Γιατί όχι;;; Σοβαρά, επειδή η κάθε εταιρία το προσφέρει μαζεύοντας διάφορα προγράμματα κατά την κρίση της, γράφοντας τα σε ένα CD, και μετά το
 | 
			
		||||
πουλάει. Θεωρητικά, το κόστος της αγοράς σου είναι το CD, και η δουλειά που έκαναν οι άνθρωποι να τα μαζέψουν όλα αυτά και να σου τα προσφέρουν.*
 | 
			
		||||
 | 
			
		||||
Τι έχει να προσφέρει η κάθε μια και ποιά είναι η καλύτερη?
 | 
			
		||||
 | 
			
		||||
*Είναι καθαρά υποκειμενικό το θέμα, αλλά για να αρχίσεις σου συνιστώ redhat ή caldera*
 | 
			
		||||
 | 
			
		||||
Και το πιό σημαντικό, που μπορώ να προμηθευτώ το Linux?
 | 
			
		||||
 | 
			
		||||
*Διάβασες κανα FAQ, κάνα HOWTO? Κάνε μια περασάδα από τα: <http://www.linux.gr> <http://www.linux.org> distributions: <http://www.redhat.com>
 | 
			
		||||
<http://www.suse.com> <http://www.caldera.com> <http://www.cdrom.com/titles/os/slackwar.htm> <http://www.cdrom.com/titles/os/turbolin.htm>*
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [10. Οtenet PPP]{#s10}
 | 
			
		||||
 | 
			
		||||
Από : [Ανδρέα Μπινέλα](mailto:andrious@rocketmail.com)
 | 
			
		||||
 | 
			
		||||
Απάντηση : [Νίκος Κόκρας](mailto:kokni@eexi.gr)
 | 
			
		||||
 | 
			
		||||
Συγχαρητήρια για το περιοδικό για το linux και να συνεχίσετε πάντα έτσι. Είμαι ένας καινούργιος φίλος του linux και έχω κάποιο πρόβλημα δεν μπορώ να κάνω
 | 
			
		||||
σύνδεση με τον isp που για μένα είναι η otenet. Σας παρακαλώ πείτε τι να κάνω για να μπω στο δίκτυο με linux.
 | 
			
		||||
 | 
			
		||||
*Πρέπει να ρυθμίσεις το ppp και τον δαίμονά του. Πάρε το [XISP](http://users.hol.gr/~dbouras) εάν δεν ξέρεις πως. Αλλιώς γίνε συγκεκριμένος.*
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [11. Kppp προβλήματα]{#s11}
 | 
			
		||||
 | 
			
		||||
Από : [Κώστα Σακελλαρίδη](mailto:kos_sak@otenet.gr)
 | 
			
		||||
 | 
			
		||||
Απάντηση : [Παναγιώτης Βρυώνης](mailto:vrypan@hol.gr)
 | 
			
		||||
 | 
			
		||||
Για σας πάλι.Εχω κατι προβληματάκια με το Kppp. Πιο συγκεκριμένα μου βγάζει το μύνημα \"no dialtone\" το οποίο μου εβγαζε και στα 98 αλλα εκει το βρήκα. Ξέρετε
 | 
			
		||||
πως μπορώ να το φτιάξω?
 | 
			
		||||
 | 
			
		||||
*Στο kppp :*
 | 
			
		||||
 | 
			
		||||
    Setup -> Modem -> Modem Commands -> Dial String = ATX3DT
 | 
			
		||||
 | 
			
		||||
*Αυτό θα πρέπει να δουλέψει\...*
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [12. Matrox Mystique]{#s12}
 | 
			
		||||
 | 
			
		||||
Από : [Infonorth Computer systems](mailto:xalatas@rodopi.cc.duth.gr)
 | 
			
		||||
 | 
			
		||||
Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr)
 | 
			
		||||
 | 
			
		||||
Έχω ένα πρόβλημα με τα X. Δεν μπορώ να εγκαταστήσω τα X να παίζουν 800x600 με πάνω από 16 χρώματα. Έχω μια κάρτα Matrox Mistique 220 με 2MB ram και από ότι
 | 
			
		||||
φαίνεται δεν την βλέπει για SVGA γιατί όταν βάζω SVGA με 2MB Ram από το XF86Setup γυρνάει στο 320x200 με 256! Τι να κάνω; Υπάρχει κάποιο patch για την κάρτα
 | 
			
		||||
μου; Ακόμα δεν παίζει με την Matrox Millenium που έχει μία επιλογή στο menu\....
 | 
			
		||||
 | 
			
		||||
*Για Matrox Mystique 220 δεν ξέρω, αλλά μπορείς ίσως να δοκιμάσεις τον Server της [Suse](http://www.suse.de) για Mystique 200. Αν δουλέψει, εμνημέρωσέ μας να
 | 
			
		||||
ξέρουμε.*
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [13. Applixware και Ελληνικά]{#s13}
 | 
			
		||||
 | 
			
		||||
Από : [David Lekic](mailto:dlekic@ee.upatras.gr)
 | 
			
		||||
 | 
			
		||||
Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr)
 | 
			
		||||
 | 
			
		||||
Γεια σας. Είμαι ένας παλιός χρήστης στο LINUX. Εδώ και καιρό πήρα το APPLIXWARE για την εργασία μου. Παράλληλα έβαλα και ελληνικές γραμματοσειρές (Type1) και
 | 
			
		||||
μετά από πολλές προσπάθειες κατόρθωσα να τις εγκαταστήσω στον FONT SERVER του APPLIXWARE. Το πρόβλημα είναι πως όταν πατώ το δεξιό ALT για να γράψω ελληνικά
 | 
			
		||||
εμφανίζονται κάποια άσχετα πράγματα στην οθόνη, δηλαδή αντί για α εμφανίζεται \[\]. Μήπως θα μπορούσατε να μου δώσετε μία λύση;
 | 
			
		||||
 | 
			
		||||
*Δυστυχώς όχι. Έχει να κάνει με την υλοποίηση του πληκτρολογίου από την Applix. Αν και δεν αναφέρεις ποιο οδηγό πληκτρολογίου χρησιμοποιείς, υποθέτω ότι
 | 
			
		||||
χρησιμοποιείς αυτόν του Δημήτρη Μπούρα (grXisokbd). Θα σου πρότεινα να δοκιμάσεις και αυτόν του Γιάννη Τσακίρη που θα τον βρεις στο
 | 
			
		||||
<http://palamida.math.uch.gr/yannis/shareware>.*
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [14. IP-Masquerading]{#s14}
 | 
			
		||||
 | 
			
		||||
Από : [Φώτη Αλεξάκο](mailto:alexakos@csd.uch.gr)
 | 
			
		||||
 | 
			
		||||
Απάντηση : [Νίκος Κόκρας](mailto:kokni@eexi.gr)
 | 
			
		||||
 | 
			
		||||
Linuxάδες χαιρετώ (ξανά), Σας ξαναενοχλώ για ένα θέμα σχετικό με το IP-Masquerading. Κατ\' αρχήν να ρωτήσω για όσους έχουν το RedHat 5.1 : Έχει διαβάσει κανείς
 | 
			
		||||
το /usr/doc/HOWTO/mini/IP-Masquerade; Αν ναι, υπάρχει κανείς που να δοκίμασε να εφαρμόσει αυτά που γράφονται εκεί σε ένα σύστημα που αποτελείται από ένα Linux
 | 
			
		||||
box που \"βλέπει\" Internet μέσω PPP ενώ είναι συνδεδεμένο σε ένα LAN με Ethernet ? Γιατί εγώ δοκίμασα και απέτυχα οικτρά.\
 | 
			
		||||
Περιγραφή της κατάστασης:\
 | 
			
		||||
Έχω ένα Linux μηχάνημα και συνδρομή στην HOL. Το Linux \"βλέπει\" Internet μια χαρά. Στο Linux συνδέω μέσω κάρτας δικτύου NE-2000 δύο μηχανήματα που τρέχουν
 | 
			
		||||
Windows-95. Στο Linux έχω δώσει static IP address ακριβώς (και μάλιστα συμπτωματικά) αυτήν του παραδείγματος στο HOWTO που προανέφερα, δηλαδή 192.168.1.1, το
 | 
			
		||||
ένα Win-95 μηχάνημα έχει IP 192.168.1.2 και το άλλο 192.168.1.3 \.... Όλα καλά ως εδώ;\
 | 
			
		||||
Το LAN δουλεύει μια χαρά, με το Linux βλέπω Internet. Εν συνεχεία, προσπαθώ να \"κάνω\" τα Win-95 μηχανάκια να βλέπουν το Internet που βλέπει το Linux. Δίνω:
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
            ipfwadm -F -p deny
 | 
			
		||||
            ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0
 | 
			
		||||
    και:     ppp-on /* Μπαίνω στην HOL */
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
στα Win-95 PC στις ρυθμίσεις δικτύου έχω ορίσει στο TCP/IP gateway το: 192.168.1.1 και στο DNS το DNS της HOL: 194.30.193.155 (αυτός είναι και στο
 | 
			
		||||
/etc.resolv.conf του Linux).\
 | 
			
		||||
Σύμφωνα με τα παραπάνω θα έπρεπε όταν δίνω π.χ. από ενα Win-95 \"client\": ping 194.30.212.30 (www.hol.gr) να παίρνω απάντηση. Το LAN το βλέπουν κανονικά οι
 | 
			
		||||
clients (ping 192.168.1.1 και ping 192.168.1.2 και ping 192.168.1.3 βρίσκουν απάντηση).\
 | 
			
		||||
Ακολούθησα επαναλαμβάνω ΠΙΣΤΑ αυτά που γράφονται στο : /usr/doc/HOWTO/mini/IP-Masquerade του RedHat 5.1
 | 
			
		||||
 | 
			
		||||
Ξέρει κανείς τι μπορεί να φταίει; Το ξέρω έγραψα πολλά, αλλά αν δεν περιγράψεις σωστά το πρόβλημα, δεν θα πάρεις ολοκληρωμένες πληροφορίες.
 | 
			
		||||
 | 
			
		||||
*Πολύ καλά έκανες και είπες πολλά γιατί περιέγραψες σωστά το πρόβλημά σου. Η λύση βρίσκεται σε κάτι πολύ απλό. Αποτελεί κανόνα όλα τα unixakia που έχουν πάνω
 | 
			
		||||
από 2 routes να ΜΗΝ κάνουν IPforwarding για να μην γίνεται της κακομοίρας. Πήγαινε λοιπόν στο /etc/sysconfig και εκεί θα βρεις ένα αρχείο που λέγεται network.
 | 
			
		||||
Πάνω πάνω λέει : \"IPv4 forwarding: no\"\
 | 
			
		||||
Προφανώς το αλλάζεις σε \"yes\". Κάνεις restart το nework (/etc/rc.d/init.d/network stop καιμετά start) και είσαι ok. Το /etc/sysconfig νομίζω ότι είναι το
 | 
			
		||||
σωστό directory. Αν όχι θα είναι κάτι εξαιρετικά παρεμφερές στο /etc directory. Θα έπρεπε να αναφέρεται στο IPmasqHOWTO , μου κάνει εντύπωση που δεν το λέει.
 | 
			
		||||
Κάθε φορά που ξεκινάει ο kernel λέει πολύ χαρακτηριστικά : disabling IP forwarding. Ένα cat/tail στα boot messages λογικπα θα πρέπει να στο δείξει.*
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### [15. PINE και ελληνικά]{#s15}
 | 
			
		||||
 | 
			
		||||
Από : [Ανώνυμο](mailto:tcup@bigfoot.com)
 | 
			
		||||
 | 
			
		||||
Απάντηση : [Νίκος Κόκρας](mailto:kokni@eexi.gr)
 | 
			
		||||
 | 
			
		||||
Γεια σας, έχω ένα πρόβλημα. Πως θα ρυθμίσω το pine να παίρνει και να στέλνει mail? Δεν έχω βρει καμιά επιλογή για smtp server. Sorry για τα greeklish, αλλά
 | 
			
		||||
είπαμε είμαι από linux και δεν έχω ελληνικά (ένα greek-console.κάτι.rpm που βρήκα από κάποιον στο \#linux-gr, δεν δουλεύει)
 | 
			
		||||
 | 
			
		||||
*Για το pine: Main menu : other commands : setup : config : smtp server\
 | 
			
		||||
Το greek console είναι εξαιρετικό πακέτο και δουλεύει σε όλους (από όσο ξέρω). Νομίζω ότι έχει man page (man chcp) ή εν πάσει περιπτώσει δώσε
 | 
			
		||||
/usr/local/bin/chcp χωρίς arguments και θα σου δείξει ένα πολύ κατανοητό help.*
 | 
			
		||||
 | 
			
		||||
		Φόρτωση…
	
	Προσθήκη πίνακα
		Προσθήκη υπερσυνδέσμου
		
	
		Παράθεση σε νέο ζήτημα