129 γραμμές
		
	
	
	
		
			14 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			129 γραμμές
		
	
	
	
		
			14 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								+++
							 | 
						|||
| 
								 | 
							
								title = 'Aρχεία εκκίνησης των X'
							 | 
						|||
| 
								 | 
							
								date = '1999-12-01T00:00:00Z'
							 | 
						|||
| 
								 | 
							
								description = ''
							 | 
						|||
| 
								 | 
							
								author = 'DJ Art(mailto:djart@hellug.gr)'
							 | 
						|||
| 
								 | 
							
								issue = ['Magaz 20']
							 | 
						|||
| 
								 | 
							
								issue_weight = 3
							 | 
						|||
| 
								 | 
							
								+++
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								----------------------------------------------------------------------------------------------------------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								*Το άρθρο αυτό έχει σκοπό να σας παρουσιάσει τα ιδιαίτερα εκείνα αρχεία, με τα οποία μπορείτε να παραμετροποιήσετε την είσοδό σας στα X-Windows, αναλύοντας με
							 | 
						|||
| 
								 | 
							
								ποιόν τρόπο θα \"πειράξετε\" τα αρχεία εκκίνησης των X.*
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								----------------------------------------------------------------------------------------------------------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**1. Εισαγωγή**
							 | 
						|||
| 
								 | 
							
								---------------------------------------
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								-   [1.1 Runlevels](#ss1.1)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**2. Αρχεία εκκίνησης**
							 | 
						|||
| 
								 | 
							
								-----------------------------------------------
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								-   [2.1 Το αρχείο xinitrc (runlevel: single/multi user mode)](#ss2.1)
							 | 
						|||
| 
								 | 
							
								-   [2.2 Συντεταγμένες](#ss2.2)
							 | 
						|||
| 
								 | 
							
								-   [2.3 Το αρχείο xsession (runlevel: X11)](#ss2.3)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**3. Συντεταγμένες για πιο προχωρημένους**
							 | 
						|||
| 
								 | 
							
								------------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [1. Εισαγωγή]{#s1}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Όταν μιλάμε για \"εκκίνηση των X\" εννοούμε με λίγα λόγια, τον window manager που επιθυμούμε να χρησιμοποιούμε στα X και διάφορες εφαρμογές ή προγράμματα που
							 | 
						|||
| 
								 | 
							
								θέλουμε να ξεκινούν αυτόματα κατά την είσοδό μας στο σύστημα των X-Windows. Επισης, πολλές φορές δεν θέλουμε απλά να ξεκινάει αυτόματα ένα πρόγραμμα, αλλά να
							 | 
						|||
| 
								 | 
							
								εμφανίζεται και σε ένα συγκεκριμένο σημείο στην επιφάνεια εργασίας μας.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [1.1 Runlevels]{#ss1.1}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Στο Linux υπάρχουν δύο τρόποι για να ξεκινήσουν τα X-Windows: ο ένας είναι να bootάρουμε κανονικά το λειτουργικό, να κάνουμε login, μπαίνοντας στην κονσόλα, και
							 | 
						|||
| 
								 | 
							
								μετά, αν θέλουμε X-Windows, να πληκτρολογήσουμε την εντολή **startx**. Ο δεύτερος τρόπος είναι να bootάρουμε το Linux και αμέσως μετά το φόρτωμα του πυρήνα, να
							 | 
						|||
| 
								 | 
							
								φορτώσουν τα X-Windows, οπότε να γίνει η διαδικασία του login από το γραφικό περιβάλλον. Στις δύο αυτές περιπτώσεις, υπάρχουν, δυστυχώς, διαφορετικά αρχεία
							 | 
						|||
| 
								 | 
							
								εκκίνησης για τα X. Κατ\' αυτόν τον τρόπο, αν μιά μέρα κανείς θελήσει να αλλάξει τον τρόπο με τον οποίο μπαίνει στα X, θα εκπλαγεί, διαπιστώνοντας ότι αυτά που
							 | 
						|||
| 
								 | 
							
								πιθανόν να έχει ρυθμίσει να εκτελούνται κατά την είσοδό του στο γραφικό περιβάλλον, δεν υπάρχουν πιά.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Οι δύο παραπάνω τρόποι εισόδου στα X-Windows, χαρακτηρίζονται με δύο διαφορετικά runlevels. Ο μεν πρώτος τρόπος, μπορεί να είναι runlevel σε single user mode,
							 | 
						|||
| 
								 | 
							
								σε multiuser mode χωρίς δίκτυο, ή σε full multiuser mode. Ο δεύτερος τρόπος πραγματοποιείται με την επιλογή του runlevel σε X11 mode. Τα runlevels ορίζονται στο
							 | 
						|||
| 
								 | 
							
								αρχείο **/etc/inittab** με αριθμούς. Κάθε αριθμός αντιστοιχεί σε ένα runlevel. Αξιοσημείωτο, όμως είναι, ότι κάθε Linux distribution ορίζει με διαφορετικούς
							 | 
						|||
| 
								 | 
							
								αριθμούς το κάθε runlevel. Μην ανησυχείτε, στο αρχείο **/etc/inittab**, συνήθως περιγράφονται σε comment mode, οι αντιστοιχίες αριθμων και runlevels.
							 | 
						|||
| 
								 | 
							
								**ΠΡΟΣΟΧΗ:** Υπάρχουν, αν δεν το έχετε καταλάβει, τα αντίστοιχα runlevel για το reboot και το shutdown του λειτουργικού (αυτά συνήθως εκφράζονται με τους
							 | 
						|||
| 
								 | 
							
								αριθμούς 6 και 0 αντίστοιχα, σε όλα τα distribution). Έτσι, δεν πρέπει να ορίσετε το προεπιλεγμένο runlevel σας σε κάποιο από τα δύο αυτά runlevel, για
							 | 
						|||
| 
								 | 
							
								ευνόητους λόγους (μόλις θα ξεκινάτε το Linux, ή θα γίνεται reboot ή shutdown).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Ας δούμε όμως πως ορίζουμε το default runlevel, με το οποίο θα ξεκινά το Linux. Μέσα στο αρχείο **/etc/inittab**, υπάρχει η ακόλουθη γραμμή:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    id:3:initdefault:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Η γραμμή ορίζει σαν προεπιλογή το runlevel 3 (το οποίο στο RedHat είναι το full multiuser). Αλλάξτε, λοιπόν τον αριθμό με τον αριθμό του runlevel που
							 | 
						|||
| 
								 | 
							
								επιθυμείτε.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [2. Αρχεία εκκίνησης]{#s2}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [2.1 Το αρχείο xinitrc (runlevel: single/multi user mode)]{#ss2.1}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Όπως θα καταλάβατε και από τον τίτλο, εδώ θα μιλήσουμε για τις ρυθμίσεις που μπορείτε να πραγματοποιήσετε, όταν χρησιμοποιείτε για runlevel το single ή το multi
							 | 
						|||
| 
								 | 
							
								user mode.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Το αρχείο που θα μας απασχολήσει εδώ είναι το **xinitrc**, το οποίο βρίσκεται στο home directory του χρήστη, και μάλιστα, είναι κρυφό. Επομένως η πλήρης
							 | 
						|||
| 
								 | 
							
								διαδρομή του είναι **\~/.xinitrc** (το **\~** συμβολίζει το home directory. Θα μπορούσα στη θέση του να χρησιμοποιήσω τη μεταβλητή **\$HOME**).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Μέσα στο αρχείο αυτό, όπως είπαμε, μπορούμε να ορίσουμε ποιόν window manager θέλουμε να χρησιμοποιήσουμε. Έτσι, αν θέλουμε για παράδειγμα να δουλεύουμε στο KDE,
							 | 
						|||
| 
								 | 
							
								γράφουμε μέσα στο αρχείο (αφού το ανοίξουμε με έναν text editor) **startkde**. Αν θέλαμε τον Window Maker, θα γράφαμε **wmaker**, αν θέλαμε το GNOME, θα γράφαμε
							 | 
						|||
| 
								 | 
							
								**gnome-session**, κ.ο.κ.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Για να δούμε τώρα τι μπορούμε να κάνουμε, ώστε όταν ξεκινάν τα X, να ανοίγουν ταυτόχρονα και τα προγράμματα που εμείς θέλουμε. Στο αρχείο .xinitrc, γράφουμε την
							 | 
						|||
| 
								 | 
							
								εντολή που θέλουμε (η οποία αντιπροσωπεύει το πρόγραμμά μας) και δίπλα βάζουμε το σύμβολο **&**. Βάζουμε το σύμβολο αυτό για να τρέξει η εφαρμογή στο background
							 | 
						|||
| 
								 | 
							
								και να επιτρέψει να δουλέψει ο window manager. Οπότε, όπως θα καταλάβατε, πάντα θα γράφουμε τις εντολές που θέλουμε πρώτα, και φυσικά κάθε εντολή θα
							 | 
						|||
| 
								 | 
							
								καταλαμβάνει καινούρια γραμμή στο αρχείο μας (με το σύμβολο & πάντα) και στο τέλος θα βάζουμε τον window manager που θέλουμε (χωρίς το σύμβολο &). Για
							 | 
						|||
| 
								 | 
							
								παράδειγμα, το ακόλουθο .xinitrc μας επιτρέπει να ξεκινήσουμε τα X, να ανοίξει το πρόγραμμα Xisp, το πρόγραμμα rxvt και όλα αυτά κάτω από το περιβάλλον του KDE:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**xisp &\
							 | 
						|||
| 
								 | 
							
								rxvt &\
							 | 
						|||
| 
								 | 
							
								startkde**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [2.2 Συντεταγμένες]{#ss2.2}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Σειρά τώρα έχει να εξηγήσουμε τί μπορούμε να κάνουμε, ώστε τα προγράμματα που βάλαμε να ξεκινάν με το φόρτωμα των X, να εμφανίζονται σε ένα προκαθορισμένο
							 | 
						|||
| 
								 | 
							
								σημείο της επιφάνειας εργασίας. Η επιφάνεια εργασίας μας έχει συντεταγμένες. Η πάνω αριστερή γωνία έχει τις συντεταγμένες (0,0). Οι συντεταγμένες, γενικά, στην
							 | 
						|||
| 
								 | 
							
								περίπτωση των X συμβολίζονται ως +0+0. Ανάλογα, λοιπόν με το ποιά ανάλυση έχουμε επιλέξει στα X, ανάλογο είναι και το εύρος των συντεταγμένων. Το πρώτο στοιχείο
							 | 
						|||
| 
								 | 
							
								στις συντεταγμένες είναι η τετμημένη, δηλαδή μας ορίζει την οριζόντια θέση μας. Το δεύτερο στοιχείο είναι η τεταγμένη και μας ορίζει την κάθετη θέση μας
							 | 
						|||
| 
								 | 
							
								(ουσιαστικά και στα δύο στοιχεία ο αριθμός υποδηλώνει την απόστασή μας σε pixels από την πάνω αριστερή γωνία). Ευτυχώς για να μην μπλέξουμε, όταν κάποιος
							 | 
						|||
| 
								 | 
							
								μετακινεί ένα παράθυρο στην επιφάνεια εργασίας του, εμφανίζονται αυτόματα οι συντεταγμένες της πάνω αριστερής γωνίας του ανοιχτού παράθυρου. ΠΡΟΣΟΧΗ: μπορεί ο
							 | 
						|||
| 
								 | 
							
								window manager που χρησιμοποιείτε ήδη, να μην εμφανίζει τις συντεταγμένες. Π.χ. το KDE δεν τις εμφανίζει, αλλά μπορείτε να χρησιμοποιήσετε έναν άλλο window
							 | 
						|||
| 
								 | 
							
								manager, όπως fvwm ή Window Maker, για να προσδιορίσετε της συντεταγμένες μιας θέσης.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Ας υποθέσουμε, λοιπόν, στο προηγούμενο παράδειγμα, πως θέλετε όταν ανοίγετε τα X, να ανοίγει το Xisp στην πάνω αριστερή γωνία της οθόνης περίπου, το rxvt να
							 | 
						|||
| 
								 | 
							
								ανοίγει περίπου στο μέσον της οθόνης, και όλα αυτά χρησιμοποιώντας για window manager το GNOME. Το αρχείο μας θα γίνει:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**xisp -geometry +5+5 &\
							 | 
						|||
| 
								 | 
							
								rxvt -geometry +100+67 &\
							 | 
						|||
| 
								 | 
							
								gnome-session**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Όπως θα καταλάβατε, για να ορίσετε σε ποιές συντεταγμένες θα ανοίγει ένα πρόγραμμα, αρκεί να το εκτελείτε με την παράμετρο **-geometry +x+y**, όπου **x** και
							 | 
						|||
| 
								 | 
							
								**y** είναι οι επιθυμητές συντεταγμένες.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [2.3 Το αρχείο xsession (runlevel: X11)]{#ss2.3}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Για να εξηγήσουμε τώρα, τί γίνεται όταν το runlevel μας φορτώνει τα X αμέσως μετά το boot του πυρήνα. Δυστυχώς, το αρχείο .xinitrc που φτιάξαμε νωρίτερα, δεν
							 | 
						|||
| 
								 | 
							
								δουλεύει σ\' αυτήν την περίπτωση. Αντί αυτού του αρχείου, αρκεί να φτιάξουμε ένα αρχείο στο home directory και να το ονομάσουμε **.xsession**. Για να
							 | 
						|||
| 
								 | 
							
								παραμετροποιήσουμε αυτά που θέλουμε κατά την εκκίνηση, ακολουθούμε ακριβώς τα βήματα που ακολουθήσαμε και για το παραπάνω αρχείο. **ΠΡΟΣΟΧΗ**, όμως, υπάρχει μια
							 | 
						|||
| 
								 | 
							
								μικρή διαφορά: το αρχείο **.xsession** που δημιουργήσαμε, πρέπει να είναι executable, αλλιώς δεν δουλεύει. Για να το κάνουμε executable, απλώς εκτελούμε την
							 | 
						|||
| 
								 | 
							
								εξής εντολή: **chmod u+x .xsession**.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Τελειώσαμε !! Από εδώ και μπρός θα είστε ικανοί να παραμετροποιήσετε την είσοδό σας στα X-Windows.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [3. Συντεταγμένες για πιο προχωρημένους]{#s3}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Πρίν κλείσω το άρθρο, θα ήθελα να σας πώ λίγα ακόμα πράγματα για τις συντεταγμένες της επιφάνειας εργασίας μας.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Όπως ανέφερα προηγούμενα, οι συντεταγμένες +0+0 ορίζουν την πάνω αριστερή γωνία της οθόνης μας. Η πάνω δεξιά γωνία χαρακτηρίζεται από τις συντεταγμένες -0+0. Η
							 | 
						|||
| 
								 | 
							
								κάτω δεξιά γωνία με τις -0-0 και η κάτω αριστερή γωνία με τις +0-0.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Είναι λοιπόν αυτονόητο, πως αν κάποιος εφαρμόσει την \"Ευκλείδιο Γεωμετρία\" στην επιφάνεια εργασίας του, θα καταφέρει να προσδιορίζει με μεγαλύτερη ακρίβεια
							 | 
						|||
| 
								 | 
							
								μια συγκεκριμένη θέση. Αν μπερδευτήκατε με όλα αυτά λοιπόν, θα σας συμβούλευα να αρκεστείτε στο +0+0.
							 | 
						|||
| 
								 | 
							
								
							 |