Πρώτο commit
Αυτό το commit περιλαμβάνεται σε:
		
				commit
				
					
						8ec8e9bee2
					
				
			
		
					 451 αρχεία άλλαξαν με 46736 προσθήκες και 0 διαγραφές
				
			
		
							
								
								
									
										128
									
								
								content/articles/20/03_xinit.md
									
										
									
									
									
										Κανονικό αρχείο
									
								
							
							
						
						
									
										128
									
								
								content/articles/20/03_xinit.md
									
										
									
									
									
										Κανονικό αρχείο
									
								
							| 
						 | 
				
			
			@ -0,0 +1,128 @@
 | 
			
		|||
+++
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
		Φόρτωση…
	
	Προσθήκη πίνακα
		Προσθήκη υπερσυνδέσμου
		
	
		Παράθεση σε νέο ζήτημα