Xorg (Français)
Related articles
- Autostarting
- Display manager (Français)
- Window manager (Français)
- Font configuration
- Cursor themes
- Desktop environment
- Wayland (Français)
- xinit (Français)
- XDMCP Selon https://www.x.org/wiki/ :
- Le projet X.Org fournit une implémentation open source du X Window System. Le travail de développement est réalisé en collaboration avec la communauté freedesktop.org. La Fondation X.Org est une société éducative à but non lucratif dont le conseil d'administration est au service de cet effort et dont les membres dirigent ce travail.
- S'il ne trouve pas le pilote spécifique installé pour le matériel (listé ci-dessous), il recherche d'abord fbdev (xf86-video-fbdev) qui n'inclue aucune accélération 2D ou 3D.
- S'il ne le trouve pas, il recherche vesa (), le pilote générique, qui gère un grand nombre de chipsets mais n'inclut pas d'accélération 2D ou 3D.
- Si vesa n'est pas trouvé, Xorg se rabattra sur le kernel mode setting, qui inclut l'accélération GLAMOR (consultez ).
- Pour les cartes graphiques Intel de 4ème génération et plus, consultez Intel graphics (Français)#Installation pour connaître les pilotes disponibles.
- Pour les ordinateurs portables équipés de NVIDIA Optimus qui utilisent une carte vidéo intégrée combinée à un GPU dédié, consultez NVIDIA Optimus.
- * : Expérimental
- Picom — Compositeur (un fork de Compton)
- Exécutez startx comme un sous-processus du shell de connexion ; exécutez directement et n'utilisez pas .
- Assurez-vous que Xorg utilise le terminal virtuel pour lequel les permissions ont été définies, c'est à dire passées par logind dans via .xserverrc.
- Si vous utilisez certains pilotes d'affichage propriétaires, l'auto-détection du kernel mode setting échouera. Dans ce cas, vous devez définir dans .
- Dans le fichier journal, soyez à l'affût de toute ligne commençant par , qui représente des erreurs, et aussi
(WW)
, qui sont des avertissements pouvant indiquer d'autres problèmes. - S'il existe un fichier vide dans votre , supprimez-le ou modifiez-le pour que X puisse démarrer correctement. Si vous ne le faites pas, X affichera un écran vide avec ce qui semble être des erreurs dans votre . En le supprimant simplement, vous obtiendrez un environnement X par défaut.
- Si l'écran devient noir, vous pouvez toujours essayer de basculer vers une console virtuelle différente (par exemple ), et vous connecter aveuglément en tant que root. Vous pouvez le faire en tapant (appuyez sur
Enter
après l'avoir tapé) et en saisissant le mot de passe root (appuyez à nouveau surEnter
après l'avoir tapé). - Vous pouvez également tenter de tuer le serveur X avec :
- Si cela ne fonctionne pas, redémarrez en aveugle avec :
- Changer la cible par défaut en . Consultez Systemd (Français)#Changer la cible par défaut pour le démarrage.
- Si vous avez non seulement un système défectueux qui rend Xorg inutilisable, mais que vous avez également mis le temps d'attente du menu GRUB à zéro, ou que vous ne pouvez pas utiliser GRUB pour empêcher Xorg de démarrer, vous pouvez utiliser le live CD Arch Linux. Suivez le guide d'installation sur la façon de monter et de se connecter en chroot à l'Arch Linux installé. Vous pouvez aussi essayer de basculer vers un autre tty avec
Ctrl+Alt
+ touche de fonction (généralement de à selon celle qui n'est pas utilisée par X), connectez-vous en tant que root et suivez les étapes ci-dessous. - Désactivez le gestionnaire d'affichage.
- Désactiver le démarrage automatique de X.
- Renommez le fichier ou commentez la ligne qu'il contient.
- Xplain - Explication approfondie du système X Window.
- Gentoo:Xorg/Guide#Configuration
Xorg (communément appelé simplement X) est le serveur d'affichage le plus populaire parmi les utilisateurs de Linux. Son omniprésence a conduit à en faire un élément indispensable pour les applications d'interface graphique, ce qui a entraîné une adoption massive de la plupart des distributions. Consultez l'article Xorg. Wikipedia ou visitez le Xorg website pour plus de détails.
Pour l'alternative et le successeur potentiel, renseignez-vous sur Wayland.
Installation
Xorg peut être installé avec le paquet xorg-server.
De plus, certains paquets du groupe sont nécessaires pour certaines tâches de configuration. Ils sont signalés dans les sections correspondantes.
Enfin, un groupe est également disponible, qui inclut les paquets du serveur Xorg, les paquets du groupe et les polices.
Installation des pilotes
Le noyau Linux comprend des pilotes vidéo à source ouverte et prend en charge les framebuffers accélérés par le matériel. Cependant, la prise en charge en espace utilisateur est nécessaire pour OpenGL et l'accélération 2D dans X11.
Tout d'abord, identifiez la carte graphique (la sortie Subsystem indique le modèle spécifique) :
$ lspci -v | grep -A1 -e VGA -e 3DEnsuite, installez un pilote approprié. Vous pouvez consulter la base de données des paquets pour obtenir une liste complète des pilotes vidéo open-source :
$ pacman -Ss xf86-videoXorg recherche automatiquement les pilotes installés :
Pour que l'accélération vidéo fonctionne, et souvent pour exposer tous les modes que le GPU peut définir, un pilote vidéo approprié est nécessaire :
Marque | Type | Driver | OpenGL | OpenGL (multilib) | Documentation |
---|---|---|---|---|---|
AMD / ATI | Libre | AMDGPU | |||
ATI | |||||
Propriétaire | lib32-amdgpu-pro-libglAUR | AMDGPU PRO | |||
Intel | Libre | xf86-video-intel1 | Intel graphics | ||
NVIDIA | Libre | Nouveau2 | |||
Propriétaire | NVIDIA2 | ||||
nvidia-390xx-dkmsAUR |
D'autres pilotes vidéo peuvent être trouvés dans le groupe .
Xorg devrait fonctionner sans problème sans pilotes à source fermée, qui ne sont généralement nécessaires que pour les fonctionnalités avancées telles que le rendu rapide en 3D pour les jeux. Les exceptions à cette règle sont les GPU récents (en particulier les GPU NVIDIA) qui ne sont pas pris en charge par les pilotes open source.
AMD
Pour une traduction des noms de modèles (par exemple, Radeon RX 6800) en architectures de GPU (par exemple, RDNA 2), consultez wikipedia:List of AMD graphics processing units.
GPU architecture | Open-source driver | Proprietary driver |
---|---|---|
RDNA, RDNA 2 | AMDGPU | AMDGPU PRO |
GCN 3, GCN 4, GCN 5 | ||
GCN 1, GCN 2 | AMDGPU* / ATI | non disponible |
TeraScale et antérieur | ATI | non disponible |
Exécution
La commande n'est généralement pas exécutée directement. Au lieu de cela, le serveur X est lancé avec un gestionnaire d'affichage ou xinit.
Configuration
Xorg utilise un fichier de configuration appelé et des fichiers se terminant par le suffixe pour sa configuration initiale : la liste complète des dossiers dans lesquels ces fichiers sont recherchés se trouve dans , ainsi qu'une explication détaillée de toutes les options disponibles.
Utilisation des fichiers .conf
Le répertoire stocke la configuration spécifique à l'hôte. Vous êtes libre d'y ajouter des fichiers de configuration, mais ils doivent avoir un suffixe : les fichiers sont lus dans l'ordre ASCII, et par convention, leurs noms commencent par (deux chiffres et un trait d'union, de sorte que par exemple 10 est lu avant 20). Ces fichiers sont analysés par le serveur X au démarrage et sont traités comme une partie du fichier de configuration traditionnel . Notez qu'en cas de conflit de configuration, le fichier lu en dernier sera conservé. Pour cette raison, les fichiers de configuration les plus génériques devraient être classés en premier par nom. Les entrées de configuration dans le fichier sont traitées à la fin.
Pour des exemples d'options à définir, consultez Fedora:Input device configuration#xorg.conf.d.
Utilisation de xorg.conf
Xorg peut également être configuré via /etc/X11/xorg.conf
ou . Vous pouvez également générer un squelette pour avec :
Cela devrait créer un fichier dans que vous pouvez copier dans /etc/X11/xorg.conf
.
Xorg :2 -configure
.Il se peut également que les pilotes de votre carte vidéo propriétaire soient fournis avec un outil permettant de configurer automatiquement Xorg : consultez l'article de votre pilote vidéo, NVIDIA ou AMDGPU PRO, pour plus de détails.
Périphériques d'entrée
Pour les périphériques d'entrée, le serveur X utilise par défaut le pilote libinput (), mais et les pilotes associés sont disponibles comme alternative.
Udev, qui est fourni comme dépendance de systemd, détectera le matériel et les deux pilotes agiront comme pilote d'entrée à chaud pour presque tous les périphériques, comme défini dans les fichiers de configuration par défaut et dans le répertoire /usr/share/X11/xorg.conf.d/
.
Après le démarrage du serveur X, le fichier journal indiquera quel pilote a été branché à chaud pour les différents périphériques (notez que le nom du fichier journal le plus récent peut varier) :
$ grep -e "Using input driver " Xorg.0.logSi les deux ne prennent pas en charge un périphérique particulier, installez le pilote nécessaire à partir du groupe . La même chose s'applique si vous voulez utiliser un autre pilote.
Pour influencer le hotplugging, consultez #Configuration.
Pour des instructions spécifiques, consultez également l'article libinput, les pages suivantes ci-dessous, ou Fedora:Input device configuration pour plus d'exemples.
Identification de l'entrée
Consultez Keyboard input#Identifying keycodes in Xorg.
Accélération de la souris
Consultez Mouse acceleration.
Boutons de souris supplémentaires
Consultez Mouse buttons.
Touchpad
Écran tactile
Consultez Touchscreen.
Paramètres du clavier
Consultez Configuration du clavier dans Xorg.
Paramètres du moniteur
Configuration manuelle
Pour une configuration headless, le pilote est nécessaire ; installez-le et créez un fichier de configuration, tel que le suivant :
Moniteurs multiples
Consultez l'article principal Multihead pour des informations générales.
Consultez également les instructions spécifiques aux GPU :
Plus d'une carte graphique
Vous devez définir le bon pilote à utiliser et mettre l'ID de bus de vos cartes graphiques (en notation décimale).
Pour obtenir vos identifiants de bus (en hexadécimal) :
Les ID de bus sont ici 0:2:0 et 1:0:0.
Taille de l'écran et DPI
Par défaut, Xorg définit toujours le DPI à 96 depuis 2009 (consultez ). Une modification a été apportée à la version 21.1 pour permettre une auto-détection correcte de la DPI, mais elle a été annulée (consultez ).
Le DPI du serveur X peut être définie avec l'option de ligne de commande -dpi
.
Il est utile d'avoir le bon DPI lorsque des détails fins sont nécessaires (comme le rendu des polices). Auparavant, les fabricants essayaient de créer une norme pour 96 DPI (un écran de 10,3 pouces de diagonale serait 800x600, un écran de 13,2 pouces 1024x768). De nos jours, les DPI des écrans varient et peuvent ne pas être égaux horizontalement et verticalement. Par exemple, un écran large LCD 19" de 1440x900 peut avoir un DPI de 89x87.
Pour consulter si la taille de votre écran et le DPI sont correct :
$ xdpyinfo | grep -B2 resolutionVérifiez que les dimensions correspondent à la taille de votre écran.
Si vous avez des spécifications sur la taille physique de l'écran, vous pouvez les entrer dans le fichier de configuration Xorg afin que le DPI approprié soit calculé (ajustez l'identifiant à votre sortie xrandr) :
Si vous voulez seulement entrer les spécifications de votre moniteur sans créer un xorg.conf complet, créez un nouveau fichier de configuration. Par exemple () :
Section "Monitor" Identifier "<default monitor>" DisplaySize 286 179 # In millimeters EndSection
Si vous ne disposez pas de spécifications pour la largeur et la hauteur physiques de l'écran (la plupart des spécifications actuelles ne mentionnent que la taille diagonale), vous pouvez utiliser la résolution native du moniteur (ou le rapport hauteur/largeur) et la longueur diagonale pour calculer les dimensions physiques horizontales et verticales. En utilisant le théorème de Pythagore sur un écran de 13,3 pouces de diagonale avec une résolution native de 1280x800 (ou un rapport d'aspect de 16:10) :
$ echo 'scale=5;sqrt(1280^2+800^2)'. | bc # 1509.43698Cela donnera la longueur diagonale du pixel et avec cette valeur vous pouvez découvrir les longueurs physiques horizontale et verticale (et les convertir en millimètres) :
$ echo 'scale=5 ;(13.3/1509)*1280*25.4'. | bc # 286.43072 $ echo 'scale=5 ;(13.3/1509)*800*25.4'. | bc # 179.01920Réglage manuel du DPI
Pour les pilotes compatibles avec RandR (par exemple le pilote open source ATI), vous pouvez le définir par :
$ xrandr --dpi 144Pour le rendre permanent, consultez Autostarting#On Xorg startup.
Pilote propriétaire NVIDIA
Vous pouvez définir manuellement le DPI en ajoutant l'option sous la section ou :
Option "DPI" "96 x 96"Mise en garde concernant le réglage manuel du DPI
GTK remplace très souvent le DPI du serveur par la ressource X facultative . Pour savoir si cela se produit dans votre cas, vérifiez avec :
$ xrdb -query | grep dpiAvec les versions de la bibliothèque GTK depuis 3.16, lorsque cette variable n'est pas explicitement définie, GTK la définit à 96. Pour que les applications GTK obéissent au DPI du serveur, vous pouvez avoir besoin de définir explicitement à la même valeur que le serveur. La ressource est la méthode par laquelle certains environnements de bureau forcent optionnellement le DPI à une valeur particulière dans les paramètres personnels. Parmi ceux-ci figurent KDE et TDE.
Display Power Management Signaling
DPMS (Gestion de la puissance d'affichage) est une technologie qui permet d'économiser l'énergie des moniteurs lorsque l'ordinateur n'est pas utilisé. Vous pourrez ainsi faire en sorte que vos moniteurs se mettent automatiquement en veille après une période de temps prédéfinie.
Compositeur
L'extension Composite pour X permet de rendre un sous-arbre entier de la hiérarchie des fenêtres dans un tampon hors écran. Les applications peuvent alors prendre le contenu de ce tampon et faire ce qu'elles veulent. La mémoire tampon hors écran peut être automatiquement fusionnée avec la fenêtre parent, ou fusionnée par des programmes externes appelés gestionnaires de composition. Pour plus d'informations, consultez Wikipedia:fr:Compositeur (logiciel).
Certains gestionnaires de fenêtres (par exemple Compiz, Enlightenment, KWin, Marco, Metacity, Muffin, Mutter, Xfwm) font la composition eux-mêmes. Pour les autres gestionnaires de fenêtres, un gestionnaire composite autonome peut être utilisé.
Liste des gestionnaires de composites
Trucs et astuces
Automatisation
Cette section liste les utilitaires permettant d'automatiser les entrées clavier/souris et les opérations sur les fenêtres (comme le déplacement, le redimensionnement ou l'élévation).
Outil | Paquet | Manuel | Saisie de Keysym | Opérations sur les fenêtres | Note |
---|---|---|---|---|---|
xautomation | Oui | Contient également des outils de lecture d'écran. Ne peut pas simuler et plus. | |||
xdo | Oui | Petit utilitaire X permettant d'effectuer des actions élémentaires sur les fenêtres. | |||
xdotool | xdotool(1) | Oui | Oui | Très bogué et pas en développement actif, par exemple : interpréteur de ligne de commande cassé. | |
xvkbd | Oui | Clavier virtuel pour Xorg, possède également l'option pour l'envoi de caractères. | |||
AutoKey | autokey-qtAUR | documentation | Oui | Oui | Utilitaire de macro et de script puissant, de plus haut niveau, avec des interfaces Qt et Gtk. |
Consultez également Clipboard#Tools et un aperçu des outils d'automatisation de X.
Session X imbriquée
Pour exécuter une session imbriquée d'un autre environnement de bureau :
$ /usr/bin/Xnest :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1Ceci lancera une session Window Maker dans une fenêtre de 1024 par 768 dans votre session X actuelle.
Ceci nécessite l'installation du paquet .
Une façon plus moderne de faire une session X imbriquée est avec Xephyr.
Démarrer une application sans gestionnaire de fenêtres
Consultez xinit (Français)#Démarrer des applications sans gestionnaire de fenêtres.
Démarrer des programmes GUI à distance
Consultez l'article principal : OpenSSH (Français)#Déport d'affichage X11.
Désactivation et activation à la demande des sources d'entrée
Avec l'aide de xinput vous pouvez temporairement désactiver ou activer les sources d'entrée. Cela peut être utile, par exemple, sur les systèmes qui possèdent plus d'une souris, comme les ThinkPads, et vous préférez n'en utiliser qu'une seule pour éviter les clics de souris indésirables.
Installez le paquet .
Trouvez le nom ou l'ID du périphérique que vous voulez désactiver :
$ xinputPar exemple, sur un Lenovo ThinkPad T500, la sortie ressemble à ceci :
Désactivez le périphérique avec , où device est l'ID ou le nom du périphérique que vous souhaitez désactiver. Dans cet exemple, nous allons désactiver le Touchpad Synaptics, avec l'ID 10 :
$ xinput --disable 10Pour réactiver le périphérique, il suffit de lancer la commande inverse :
$ xinput --enable 10Alternativement en utilisant le nom du périphérique, la commande pour désactiver le touchpad serait :
$ xinput --disable "SynPS/2 Synaptics TouchPad" (en anglais)Tuer une application avec un raccourci clavier
Exécutez le script suivant avec un raccourci clavier :
#!/bin/sh windowFocus=$(xdotool getwindowfocus) pid=$(xprop -id "$windowFocus" | grep PID) kill -9 "$pid"Dépendances : xorg-xprop,
Consultez également #Tuer une application visuellement
Bloquer l'accès au TTY
Pour bloquer l'accès au tty lorsque vous êtes dans un X, ajoutez ce qui suit à xorg.conf :
Ceci peut être utilisé pour aider à restreindre l'accès à la ligne de commande sur un système accessible à des utilisateurs non fiables.
Empêcher un utilisateur de tuer X
Pour empêcher un utilisateur de tuer X lorsqu'il est en cours d'exécution, ajoutez ce qui suit à xorg.conf :
Tuer une application visuellement
Lorsqu'une application se comporte mal ou est bloquée, au lieu d'utiliser ou killall
depuis un terminal et de devoir trouver l'ID ou le nom du processus, permet de cliquer sur ladite application pour fermer sa connexion au serveur X. De nombreuses applications existantes s'interrompent effectivement lorsque leur connexion au serveur X est fermée, mais certaines peuvent choisir de continuer.
Xorg sans root
Xorg peut s'exécuter avec les privilèges d'un utilisateur standard au lieu de ceux de root (ce qu'on appelle Xorg «rootless»). Il s'agit d'une amélioration significative de la sécurité par rapport à l'exécution en tant que root. Notez que certains gestionnaires d'affichage populaires ne prennent pas en charge Xorg «rootless» (par exemple LightDM ou XDM).
Vous pouvez vérifier sous quel utilisateur Xorg est exécuté avec .
Consultez également , , Systemd (Français)/User (Français)#Xorg comme service utilisateur systemd, Fedora:Changes/XorgWithoutRootRights et FS#41257.
Avec xinitrc
Pour configurer Xorg «rootless» en utilisant xinitrc :
Avec GDM
GDM exécutera Xorg sans privilèges root par défaut lorsque kernel mode setting est utilisé.
Redirection du journal de session
Lorsque Xorg est exécuté en mode sans root, les journaux Xorg sont enregistrés dans . Cependant, les sorties stdout et stderr de la session Xorg ne sont pas redirigées vers ce journal. Pour réactiver la redirection, démarrez Xorg avec le paramètre -keeptty
et redirigez les sorties stdout et stderr vers un fichier :
Alternativement, copiez dans , et ajoutez -keeptty
. Consultez .
Xorg en root
Comme expliqué ci-dessus, il y a des circonstances dans lesquelles Xorg sans root est utilisé par défaut. Si c'est le cas pour votre configuration, et que vous avez besoin d'exécuter Xorg en tant que root, vous pouvez configurer pour exiger root :
Dépannage
Général
Si un problème survient, consultez le journal stocké soit dans /var/log/
ou, pour le système X «rootless» par défaut depuis la v1.16, dans . Les utilisateurs de GDM devraient consulter le journal de systemd.
Les fichiers journaux sont de la forme avec étant le numéro d'affichage. Pour une machine mono-utilisateur avec la configuration par défaut, le journal applicable est fréquemment , mais autrement cela peut varier. Pour être sûr de choisir le bon fichier, il peut être utile de regarder l'horodatage du démarrage de la session du serveur X et la console à partir de laquelle elle a été lancée. Par exemple :
Écran noir, Aucun protocole spécifié, Ressource temporairement indisponible pour tous ou certains utilisateurs
X crée des fichiers de configuration et des fichiers temporaires dans le répertoire personnel de l'utilisateur actuel. Assurez-vous qu'il y a de l'espace disque disponible sur la partition où se trouve votre répertoire personnel. Malheureusement, le serveur X ne fournit pas d'informations plus évidentes sur le manque d'espace disque dans ce cas.
Les DRI avec des cartes Matrox ne fonctionnent plus
Si vous utilisez une carte Matrox et que DRI a cessé de fonctionner après la mise à jour vers Xorg, essayez d'ajouter la ligne :
Option "OldDmaInit" "On"à la section qui référence la carte vidéo dans .
Problèmes de mode frame-buffer
X ne parvient pas à démarrer avec les messages de journal suivants :
Pour corriger cela, désinstallez le paquet xf86-video-fbdev.
Le programme demande la police '(null)'
Message d'erreur : .
Certains programmes ne fonctionnent qu'avec des polices bitmap. Deux paquets majeurs avec des polices bitmap sont disponibles, xorg-fonts-75dpi et . Vous n'avez pas besoin des deux ; un seul devrait suffire. Pour savoir lequel serait le meilleur dans votre cas, essayez de , comme ceci :
$ xdpyinfo | grep resolutionet utilisez ce qui est le plus proche de la valeur indiquée.
Récupération : désactivation d'Xorg avant la connexion à l'interface graphique
Si Xorg est configuré pour démarrer automatiquement et que pour une raison quelconque vous devez l'empêcher de démarrer avant l'apparition du gestionnaire de connexion/affichage (si le système est mal configuré et que Xorg ne reconnaît pas votre souris ou votre clavier, par exemple), vous pouvez accomplir cette tâche avec deux méthodes.
Selon la configuration, vous aurez besoin de faire une ou plusieurs de ces étapes :
Les clients X démarrés avec "su" échouent
Si vous obtenez Client is not authorized to connect to server
, essayez d'ajouter la ligne :
à et . définira alors correctement les variables d'environnement et gérera les clés .
Le démarrage de X a échoué : Keyboard initialization failed
Si le système de fichiers (en particulier ) est plein, échouera. se terminera par :
Libérez de l'espace sur le système de fichiers concerné et X démarrera.
Un écran vert lorsque vous essayez de regarder une vidéo
Votre profondeur de couleur est mal définie. Elle doit être de 24 au lieu de 16, par exemple.
Erreur de SocketCreateListener
Si X se termine avec le message d'erreur , vous devez peut-être supprimer les fichiers de socket dans /tmp/.X11-unix
. Cela peut se produire si vous avez précédemment lancé Xorg en tant que root (par exemple pour générer un ).
Clé MIT-MAGIC-COOKIE-1 invalide lors de l'exécution d'un programme en tant que root
Cette erreur signifie que seul l'utilisateur actuel a accès au serveur X. La solution est de donner l'accès à root :
$ xhost +si:localuser:rootCette ligne peut également être utilisée pour donner l'accès à X à un utilisateur différent de root.
Xorg-server Fatal server error : (EE) AddScreen/ScreenInit
Si le serveur Xorg ne fonctionne pas de manière aléatoire et que dans le journal Xorg vous consultez :
systemd-logind : failed to take device /dev/dri/card0 : Operation not permitted ... AddScreen/ScreenInit failed for driver 0Alors, ce problème peut être causé par le problème 13943 de systemd. Configurez le démarrage précoce de KMS.