Table des matières

, , , , ,

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 :

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 noyau Linux correspondant. Pour cela, dans un terminal, saisir la 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 : 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 :

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 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
En cas de besoin vous pourrez restaurer le fichier de sauvegarde depuis le recovery mode

Ouverture du 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, un éditeur en mode console est à privilégier.

Modifier ce qui ne va pas

Voir paragraphes suivants pour les explications.

(Re)démarrer Xorg

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 : (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 mode récupération.

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 : (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 :

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. 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 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

D'après ce sujet du forum, sous 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 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:

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
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 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 <Entrée> 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

Alternatives

Serveurs virtuels

Divers


Contributeurs : adam0509, Acp, Boris Le Hachoir, Sponge Bob

1)
le tilde ~ représentant votre Dossier Personnel