X.org
X.org, parfois orthographié Xorg, est un logiciel libre fournissant un serveur X pour les systèmes d'exploitation de type Linux et UNIX.
Il s'agit de gérer l'affichage des éléments à l'écran, notamment les fenêtres fournies par le gestionnaire de fenêtres, via le protocole X11.
Des alternative à Xorg et au protocole X11 se développent depuis le milieu des années 2010 : notamment, le protocole Wayland permet de gérer l'affichage de manière davantage sécurisée, et optimisée pour les compositeurs graphiques des environnements modernes. Une session Wayland expérimentale est proposée depuis Ubuntu 17.04 pour GNOME Shell et KDE Plasma.
Généralités
Le serveur X se configure automatiquement au démarrage. Le fichier /etc/X11/xorg.conf qui sert à paramétrer le serveur X est donc quasiment vide voire inexistant sur les versions d'Ubuntu récentes.
Cependant, dans certains cas, la détection automatique ne fonctionne pas. Il faut donc paramétrer manuellement ce fichier xorg.conf . Plusieurs cas peuvent en être la cause :
- Deux cartes graphiques dans l'ordinateur (le serveur X ne parvient pas à localiser la carte sur laquelle l'écran principal est branché.)
- Certains modèles d'écrans et de cartes graphiques mal détectés (cela empêche le démarrage du serveur X)
- Aucun écran branché
- (liste à compléter)
No screens found
Connaître sa version d'Xorg
Avant de commencer toute manipulation, il est pertinent de connaître sa version d'Xorg et celle du noyau Linux correspondant. Pour cela, dans un terminal, saisir la commande suivante :
Xorg -version
Le terminal vous répondra par exemple les lignes suivantes :
X.Org X Server 1.17.1 Release Date: 2015-02-10 X Protocol Version 11, Revision 0 Build Operating System: Linux 3.19.0-28-generic x86_64 Ubuntu
Redémarrer Xorg
Consulter le tutoriel : Comment redémarrer le serveur graphique
Démarrer Xorg depuis une console
Il est possible de démarrer le mode graphique depuis une console en saisissant la commande :
startx
Cette commande ne marchera que si une session X n'est pas déjà en fonctionnement. En effet, par défaut, une seule session graphique est proposée.
Configuration de X.org
Remarques préliminaires
Les paramètres système de votre environnement savent gérer l'immense majorité des cas. C'est le moyen plus simple et le plus sûr, en cas de problème de configuration de l'affichage commencez par là !
Cherchez-y une section "Affichage", et réglez-y la définition, le facteur d'échelle, etc.
Avec GNOME, une section "Couleurs" est disponible pour régler le profil de couleur de l'affichage.
Configuration automatique
Pour reconfigurer X.org automatiquement, on a plusieurs possibilités :
- Cas général (à tester en premier) :
sudo dpkg-reconfigure -phigh xserver-xorg
comme suggéré au début du fichier /etc/X11/xorg.conf
- Cartes nvidia :
sudo nvidia-xconfig
- Cartes ATI (aurait tendance à ne pas fonctionner, donc attention !!) :
sudo aticonfig --initial
Configuration manuelle
Par défaut, il n'y aucun fichier xorg.conf de disponible à l'emplacement /etc/X11. Ce n'est qu'en cas de nécessité qu'il faut alors le générer.
ls -l /etc/X11/
Si vous voyez un fichier dont le nom commence par xorg.conf, avec une extension supplémentaire comme .old, .bak, .anc, etc., il peut s'agir d'une ancienne sauvegarde. Vous pouvez alors essayer de la restaurer et d'en repartir pour la suite du tutoriel. Sinon, voyez la section "Comment régénérer un nouveau fichier xorg.conf ?".
Sauvegarde du fichier
Pour ne pas être perdu en cas de catastrophe, on commence par faire une sauvegarde du fichier de configuration xorg.conf (s'il existe déjà, bien sûr, sinon sautez cette section).
Depuis un terminal, saisir la commande suivante:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
En cas d'échec de vos tentatives de configuration, vous pourrez alors rétablir votre configuration graphique précédente en restaurant votre fichier xorg.conf.bak avec la commande :
sudo cp /etc/X11/xorg.conf.bak /etc/X11/xorg.conf
Ouverture du fichier
Éditez avec les droits d'administration le fichier /etc/X11/xorg.conf.
Si votre affichage fonctionne à peu près, vous pouvez utiliser par exemple
gedit admin:///etc/X11/xorg.conf
Sinon, quand il n'y a pas d'interface graphique utilisable, un éditeur en mode console est à privilégier.
Modifier ce qui ne va pas
Voir paragraphes suivants pour les explications.
(Re)démarrer Xorg
- Si vous êtes en mode graphique, redémarrez Xorg,
- Si vous êtes en mode console, lancez "startx"
Régénérer un nouveau fichier xorg.conf
Si vous possédez déjà un fichier xorg.conf dans /etc/X11, vous pouvez commencer par en faire une sauvegarde.
Ceci fait, commencez par basculer en mode console (avec Ctrl+Alt+F3 par exemple) puis stoppez le service graphique :
- Avec Ubuntu [:trusty|14.04]] :
sudo service lightdm stop
- Avec les versions plus récentes : ( mettre l'équivalent avec systemd et gdm3, mais renseigner aussi les gens qui n'utilisent pas gdm3)
Ce mode vous sera peut-être utile pour supprimer votre fichier xorg.conf (et éventuellement restaurer une ancienne sauvegarde) s'il s'avère que suite à cette manipulation votre affichage ne veut plus démarrer.
Générez le fichier xorg.conf.new par la commande :
sudo X -configure
Si cette commande n'est pas reconnue, essayez avec :
sudo Xorg -configure
S'assurer de la présence du fichier par la commande suivante :
ls -l /etc/X11
qui liste le répertoire /etc/X11, dans lequel doit apparaître le fichier nouvellement généré xorg.conf.new
Copiez ensuite le fichier nouvellement généré à l'endroit approprié :
sudo cp ~/xorg.conf.new /etc/X11/xorg.conf
Relancez enfin le service graphique :
- Avec Ubuntu [:trusty|14.04]] :
sudo service lightdm start
- Avec les versions plus récentes : ( mettre l'équivalent avec systemd et gdm3, mais renseigner aussi les gens qui n'utilisent pas gdm3)
Structure d'un fichier xorg.conf basique
Le fichier se compose de plusieurs sections. La section ayant le plus haut-niveau est "ServerLayout" :
Section "ServerLayout" Identifier "Default Layout" Screen "Ecran" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" EndSection
Cette section est dépendante des autres sections, comme ce schéma peut le résumer :
En résumé, s'il y a une donnée incorrecte à un endroit ou un autre, X.org affiche un message d'erreur de couleur bleue (cf. plus bas).
Voici un fichier Xorg basique :
# /etc/X11/xorg.conf (xorg X Window System server configuration file) # # This file was generated by dexconf, the Debian X Configuration tool, using # values from the debconf database. # # Edit this file with caution, and see the /etc/X11/xorg.conf manual page. # (Type "man /etc/X11/xorg.conf" at the shell prompt.) # # This file is automatically updated on xserver-xorg package upgrades *only* # if it has not been modified since the last upgrade of the xserver-xorg # package. # # If you have edited this file but would like it to be automatically updated # again, run the following command: # sudo dpkg-reconfigure -phigh xserver-xorg Section "Files" FontPath "/usr/share/X11/fonts/misc" FontPath "/usr/share/X11/fonts/cyrillic" FontPath "/usr/share/X11/fonts/100dpi/:unscaled" FontPath "/usr/share/X11/fonts/75dpi/:unscaled" FontPath "/usr/share/X11/fonts/Type1" FontPath "/usr/share/X11/fonts/100dpi" FontPath "/usr/share/X11/fonts/75dpi" # path to defoma fonts FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" EndSection Section "Module" Load "i2c" Load "bitmap" Load "ddc" Load "dri" ## direct rendering Load "extmod" Load "freetype" Load "glx" ## client GLX pour OpenGL Load "int10" Load "type1" Load "vbe" EndSection Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "fr" # "fr-oss" pour Feisty et + Option "XkbVariant" "latin9" EndSection Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "ExplorerPS/2" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "true" EndSection Section "Device" Identifier "Carte" Driver "vesa" ## nv pour les NVIDIA (libre), ati pour les ATI (libre). BusID "PCI:1:0:0" EndSection Section "Monitor" Identifier "Moniteur" Option "DPMS" ## HorizSync 31-60 ## selon vos valeurs, n'est pas toujours nécessaire. ## VertRefresh 47.5-125 EndSection Section "Screen" Identifier "Ecran" Device "Carte" Monitor "Moniteur" DefaultDepth 24 SubSection "Display" Depth 16 Modes "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 24 Modes "1024x768" "800x600" "640x480" EndSubSection EndSection Section "ServerLayout" Identifier "Default Layout" Screen "Ecran" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" EndSection
FAQ
Que faire en cas de résolution trop grande pour l'écran?
Pour tout le système
Si, dès le lancement de l'interface graphique, vous ne pouvez plus rien voir sur votre écran car celui-ci ne supporte pas une trop grande résolution, ouvrez une console puis modifier avec les droits d'administration le fichier /etc/X11/xorg.conf pour rajouter une sous section Display
à la section Screen
comme dans le fichier exemple.
- /etc/X11/xorg.conf
Section "Screen" Identifier "Default Screen" DefaultDepth 24 SubSection "Display" Depth 16 Modes "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 24 Modes "1024x768" "800x600" "640x480" EndSubSection EndSection
Pour un seul utilisateur
La configuration de l'écran est gérée par l'utilisateur et est défini dans le fichier ~/.config/monitors.xml 1).
Il suffit d'éditer ce fichier pour forcer une résolution et un rafraîchissement. Par exemple
<configuration> <clone>no</clone> <output name="default"> <vendor>???</vendor> <product>0x0000</product> <serial>0x00000000</serial> <width>1024</width> # Largeur de l'écran <height>768</height> # Hauteur de l'écran <rate>60</rate> #taux de rafraichissement (Hz) <x>0</x> <y>0</y> <rotation>normal</rotation> <reflect_x>no</reflect_x> <reflect_y>no</reflect_y> </output> </configuration> </monitors>
Que faire en cas d'écran bleu parlant de "Xorg.0.log" ?
Votre configuration de Xorg pose problème. Remettez une ancienne version du fichier xorg.conf. Si vous voulez avoir un semblant d'explication, vous pouvez lire le fichier /var/log/Xorg.0.log, par exemple avec la commande :
less /var/log/Xorg.0.log
Que faire si une mise à jour entraîne écran d'erreur, perte de l'accélération graphique, retour au login ?
Ça peut être un problème dû à xserver-xorg-core et notamment après la mise à jour d'un noyau. Regardez le forum mais généralement:
Les symptômes:
- Impossible de lancer le serveur x (d'où l'écran bleu mettant en cause les pilotes graphiques)
- Retour à la page de login au lancement d'une application 3D (Beryl, compiz, jeu, etc.)
Solution: réinstaller vos pilotes graphiques. Si dans vos mises à jour vous voyez xserver-xorg-core, il FAUT réinstaller les pilotes si le serveur X plante.
Comment calibrer l'écran ?
Référez-vous à l'article dédié : Argyll CMS
Gestion de l'énergie des écrans DPMS
Il faut d'abord s'assurer d'avoir le paquet x11-xserver-utils d'installé.
Vous pouvez visionner l'état de la gestion de l'énergie DPMS (VESA Display Power Management Signaling) avec la commande :
export DISPLAY=:0 sudo xset -q
Pour activer la gestion d'énergie DPMS :
export DISPLAY=:0 sudo xset +dpms
Pour désactiver la gestion d'énergie DPMS
export DISPLAY=:0 sudo xset -dpms
Pour désactiver l'économiseur d'écran :
export DISPLAY=:0 sudo xset s off
Pour activer l'économiseur d'écran dans 200s :
export DISPLAY=:0 sudo xset s 200
Pour régler la mise en veille de l'écran : xset dpms "Désactivé l'affichage = 200s" "En économie d'énergie = 400s" "Éteindre = 800s"
export DISPLAY=:0 sudo xset dpms 200 400 800
Pour obliger la désactivation de l'affichage :
export DISPLAY=:0 sudo xset dpms force standby
Pour obliger la mise en économie d'énergie :
export DISPLAY=:0 sudo xset dpms force suspend
Pour éteindre l'écran :
export DISPLAY=:0 sudo xset dpms force off
Voir Aussi
- Le tutoriel : "Comment redémarrer le serveur graphique"
- Site Officiel de X.org
- L'accélération graphique avec Linux
Alternatives
Serveurs virtuels
utile?
- Xnest
- xephyr
- xoo
Divers
- Piloter Xorg à l'aide d'une manette de jeu sur le forum.
- Ouvrir 2 sessions X avec gdm sur un blog.