{{tag>Xenial Bionic Focal vidéo système carte_graphique}}
----
====== X.org ======
**X.org**, parfois orthographié **Xorg**, est un logiciel libre fournissant un [[wpfr>X_Window_System|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|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)
Dans ces cas, il est possible que le serveur X renvoie un message de ce type :
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 [[:kernel|noyau Linux]] correspondant. Pour cela, dans un [[:terminal]], saisir la [[:commande_shell|commande]] suivante : sudo Xorg -version
Le [[:terminal]] vous répondra par exemple les lignes suivantes :
X.Org X Server 1.20.8
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.15.0-115-generic x86_64 Ubuntu
Current Operating System: Linux 5.4.0-54-generic #60-Ubuntu SMP Fri Nov 6 10:37:59 UTC 2020 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-54-generic root=UUID=801c5498-9168-4916-ab67-6dd952e82ac4 ro quiet splash vt.handoff=7
Build Date: 04 September 2020 01:34:27PM
xorg-server 2:1.20.8-2ubuntu2.4 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.38.4
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
==== Redémarrer Xorg ====
Consulter le tutoriel : [[:tutoriel:comment_redemarrer_le_serveur_graphique|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 [[:environnements|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.
Commencez par vérifier qu'aucune ancienne sauvegarde de votre fichier xorg.conf n'existe :
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 [[:xorg#sauvegarde du fichier|restaurer]] et d'en repartir pour la suite du tutoriel. Sinon, voyez la section "[[:xorg#regenerer_un_nouveau_fichier_xorgconf|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 [[:tutoriel:comment_sauver_et_restaurer_un_fichier|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_shell|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
En cas de besoin vous pourrez restaurer le fichier de sauvegarde depuis le [[:recovery mode]]
=== Ouverture du fichier ===
[[:tutoriel:comment_editer_un_fichier|Éditez avec les droits d'administration]] le fichier **/etc/X11/xorg.conf**.
Votre éditeur de texte classique n'est pas pensé pour se lancer avec sudo !
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, [[:editeur_de_texte#editeurs_en_ligne_de_commande|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, [[:tutoriel:comment_redemarrer_le_serveur_graphique|redémarrez Xorg]],
* Si vous êtes en mode console, lancez "[[#demarrer_xorg_depuis_une_console|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 [[:xorg#sauvegarde_du_fichier|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 : (FIXME mettre l'équivalent avec systemd et gdm3, mais renseigner aussi les gens qui n'utilisent pas gdm3)
Si vous ne parvenez pas à arrêter correctement le service, vous pouvez alternativement effectuer la manipulation depuis le [[:recovery_mode|mode récupération]].
Ce mode vous sera peut-être utile pour supprimer votre fichier **xorg.conf** (et éventuellement [[:xorg#sauvegarde_du_fichier|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 : (FIXME 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 :
{{systeme:xorg.jpg|Principe du fichier xorg.conf}}
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. [[#Que faire en cas d'écran bleu parlant de "Xorg.0.log"?|plus bas]]).\\
Plutôt qu'un seul fichier **xorg.conf** contenant toutes les sections, chacune est dispatchée en multiples sous-fichiers, soit dans **/etc/X11/xorg.conf.d/**.
(faire $ //locate xorg.conf// pour les trouver )
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 [[:tutoriel:comment_modifier_un_fichier|modifier avec les droits d'administration]] le fichier ** /etc/X11/xorg.conf ** pour rajouter une sous section ''Display'' à la section ''Screen'' comme dans le [[#structure_d_un_fichier_xorg_basique|fichier exemple]].
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 ===
D'après [[https://forum.ubuntu-fr.org/viewtopic.php?id=1237181|ce sujet du forum]], sous [[:Quantal|Ubuntu 12.10]], ce fichier permet également de paramétrer les différents écrans dans le cas d'une configuration [[:multi-écran]]
La configuration de l'écran est gérée par l'utilisateur et est défini dans le fichier **~/.config/monitors.xml** ((le tilde ~ représentant votre //Dossier Personnel//)).
Il suffit d'[[:tutoriel:comment_modifier_un_fichier|éditer ce fichier]] pour forcer une résolution et un rafraîchissement. Par exemple
no
==== 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|Argyll CMS]]
==== Gestion de l'énergie des écrans DPMS ====
Il faut d'abord s'assurer d'avoir le paquet **[[apt>x11-xserver-utils]]** d'[[:tutoriel:comment_installer_un_paquet|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
Pour réactiver remplacer **force off** par **force on**
==== Comment changer le curseur de souris par défaut ? ====
Vous devez d'abord récupérer [[https://www.gnome-look.org/browse/cat/107/order/latest/|un thème de souris pour Xwindow]]
Si ce sont des fichiers sources faire ./bin/build-cursors ; make ; sudo make install dans le répertoire pour les installer.
Si ce sont des fichiers compilés de curseurs
sudo tar -C /usr/share/icons/ -xjvf mon_fichier_de_curseurs_souris.bz2
Vérifiez la présence de /usr/share/icons/mon_répertoire_curseur_souris/index.theme
Avec un contenu du style
[Icon Theme]
Name = Nom du curseur de souris
Comment = Une description du curseur de souris
Example = default
Inherits = Curseur de souris modèle ComixCursors-Opaque-Red-Huge
Tapez les commandes suivantes pour installer le curseur de souris dans le serveur graphique
sudo update-alternatives --install /usr/share/icons/default/index.theme x-cursor-theme /usr/share/icons/mon_répertoire_curseur_souris/index.theme 51
sudo update-alternatives --set x-cursor-theme /usr/share/icons/mon_répertoire_curseur_souris/index.theme
Choisir le curseur par défaut du serveur graphique
sudo update-alternatives --config x-cursor-theme
Il existe 4 choix pour l'alternative x-cursor-theme (qui fournit /usr/share/icons/default/index.theme).
Sélection Chemin Priorité État
------------------------------------------------------------
* 0 /etc/X11/cursors/breeze_cursors.theme 102 mode automatique
1 /etc/X11/cursors/Breeze_Snow.theme 41 mode manuel
2 /etc/X11/cursors/breeze_cursors.theme 102 mode manuel
3 /usr/share/icons/Adwaita/cursor.theme 90 mode manuel
4 /usr/share/icons/mon_répertoire_curseur_souris/index.theme 51 mode manuel
Appuyez sur pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :4
update-alternatives: utilisation de « /usr/share/icons/mon_répertoire_curseur_souris/index.theme » pour fournir « /usr/share/icons/default/index.theme » (x-cursor-theme) en mode manuel
Un redémarrage du serveur graphique (déconnexion/reconnexion) pour que la modification soit prise en charge.
Si vous voulez passer ce curseur de souris en mode automatique (choix par défaut), il vous faudra changer la priorité du curseur de souris pour être la plus importante.
Pour changer la priorité du curseur de souris par une plus importante:
sudo update-alternatives --install /usr/share/icons/default/index.theme x-cursor-theme /usr/share/icons/mon_répertoire_curseur_souris/index.theme 120
Ce qui nous donne:
sudo update-alternatives --display x-cursor-theme
Il existe 4 choix pour l'alternative x-cursor-theme (qui fournit /usr/share/icons/default/index.theme).
Sélection Chemin Priorité État
------------------------------------------------------------
0 /usr/share/icons/mon_répertoire_curseur_souris/index.theme 120 mode automatique
1 /etc/X11/cursors/Breeze_Snow.theme 41 mode manuel
2 /usr/share/icons/Adwaita/cursor.theme 90 mode manuel
* 3 /usr/share/icons/mon_répertoire_curseur_souris/index.theme 120 mode manuel
4 /usr/share/icons/breeze_cursors/index.theme 102 mode manuel
...
Et pour le rebasculer en mode automatique :
sudo update-alternatives --auto x-cursor-theme
Il existe 4 choix pour l'alternative x-cursor-theme (qui fournit /usr/share/icons/default/index.theme).
Sélection Chemin Priorité État
------------------------------------------------------------
* 0 /usr/share/icons/mon_répertoire_curseur_souris/index.theme 120 mode automatique
1 /etc/X11/cursors/Breeze_Snow.theme 41 mode manuel
2 /usr/share/icons/Adwaita/cursor.theme 90 mode manuel
3 /usr/share/icons/mon_répertoire_curseur_souris/index.theme 120 mode manuel
4 /usr/share/icons/breeze_cursors/index.theme 102 mode manuel
Vous pouvez aussi voir ces priorités avec la commande ;
sudo update-alternatives --display x-cursor-theme
x-cursor-theme - mode automatique
le meilleur lien est /usr/share/icons/mon_répertoire_curseur_souris/index.theme
le lien pointe actuellement sur /usr/share/icons/mon_répertoire_curseur_souris/index.theme
le lien x-cursor-theme est /usr/share/icons/default/index.theme
/etc/X11/cursors/Breeze_Snow.theme - priorité 41
/usr/share/icons/Adwaita/cursor.theme - priorité 90
/usr/share/icons/mon_répertoire_curseur_souris/index.theme - priorité 120
/usr/share/icons/breeze_cursors/index.theme - priorité 102
===== Voir Aussi =====
* Le tutoriel : "[[:tutoriel:comment_redemarrer_le_serveur_graphique|Comment redémarrer le serveur graphique]]"
* [[http://xorg.freedesktop.org/|Site Officiel]] de X.org
* [[:carte_graphique|Les cartes graphiques]]
* [[:acceleration_graphique|L'accélération graphique]] avec Linux
* [[:gestionnaire_de_fenetres|Les gestionnaires de fenêtres]]
* [[:Argyll|Argyll CMS]]
==== Alternatives ====
* [[[:Wayland]]
* [[:mir]]
==== Serveurs virtuels ====
* Xnest
* xephyr
* xoo
==== Divers ====
* [[https://forum.ubuntu-fr.org/viewtopic.php?pid=947925|Piloter Xorg à l'aide d'une manette de jeu]] sur le forum.
* [[http://contrib.coffee.free.fr/index.php?2007/07/16/31-2-sessions-x|Ouvrir 2 sessions X avec gdm]] sur un blog.
----
// Contributeurs : [[:utilisateurs:adam0509]], [[utilisateurs:Acp]], Boris Le Hachoir, Sponge Bob //