Historique: Affichage expert
Aperçu de cette version: 72
Intro
Le but de cette article est de tirer partie au maximum des possibilits d'affichage quand il y a beaucoup d'applications "jack" l'cran. La premire partie traite du serveur X et de sa configuration, pour nous permettre ensuite d'aborder le plat de choix qui est le placement contrl des applications sur les crans. Enfin d'autres aspects complmentaires sont voqus (affichage en rseau, choix des environnements pour la musique).1. Le serveur X
Comme nous l'avons vu dans l'article prsentant les lments du systme Linux, le serveur X est donc la partie graphique permettant l'affichage graphique des fentres et d'interragir l'aide du clavier ou de la souris. On peut lancer manuellement le serveur X mais c'est gnrallement le display manager (gdm ou kdm) qui s'en charge automatiquement. Celui-ci se charge aussi de lancer le bon WindowManager/Desktop dont le rle est de grer le comportement des fentres et d'offrir ventuellement des applications supplmentaires pour configurer et utiliser l'environnement. Pour revenir au serveur X sa configuration est stoque dans le fichier /etc/X11/xorg.conf (ou XF86Config-4 pour Xfree). On peut l'diter la main mais gnrallement il existe des utilitaires pour cela, et d'autres parts les ditions manuelles risquent d'tres ffaces lors de mise jour par des critures automatiques. Si l'on regarde le fichier de configuration on voit diffrentes sections.1.1. Les sections
- Modules : les extensions du serveur X comme le support OpenGL ou Xinerama
- Files : les fontes de caractres
- Server Layout : sorte de section commune qui rassemble tous les paramtres
- Input Device : pour les claviers, souris, tablettes
- Screen : Les rsolutions et la profondeur
- Monitor : Les crans physiques, leurs frquences de rafraichissement
- Device : Le pilote de la carte graphique
- Divers : Il peut exister des petites sections propres certaines extensions pour dfinir des droits par exemple
Il est parfois frustrant de ne pas comprendre comment rgler le comportement de l'conomiseur d'cran propre au serveur X (attention celui-ci n' rien voir avec les autres screen-savers rigolos que l'on peut installer par la suite). En fait, il s'agit ici de deux procds diffrents que les environnements "light" ne permettent pas de rgler l'aide de leurs crans de configuration donc on doit agir directement sur le fichier de configuration xorg.conf
1.2.1. DPMS
Dans la Section "Monitor" pour dsactiver le systme DPMS ajoutez:Copy to clipboard
Option "DPMS" "Off"
1.2.2. Screen-saver
Dans la Section "ServerLayout" pour dsactiver l'conomiseur basique ajoutez:Copy to clipboard
Option "BlankTime" "0"
note: on peut aussi utiliser la commande xset pour des modifications occasionnelles ou alors au sein de fichiers de configuration perso.
xset -dpms
xset -s off
xset -s off
Il y a actuellement un quasi partage du march entre Nvidia et ATI et aucun des deux ne propose de solution libre. Cela ne veut pas dire qu'il n'existe pas de pilotes libres, mais ceux-ci sont dvelopps par des volontaires et de fait sont nettement en retard pour ce qui est des performances 3D. Pour la musique le support 3D n'est pas priori ncessaire et si on dispose d'une carte pas trs rcente les pilotes libres peuvent suffire.
Autrement, il est ncessaire de compiler soi mme les pilotes propritaires Nvidia ou ATI. (en fait on ne recompile pas les drivers propritaires : puisqu' ils sont closed-sources et par dfinition livrs uniquement en binaires. On "recompile" l'interface de communication de ces drivers avec le noyau. Ceci est plus juste). A noter aussi que certaines distributions rendent facile l'installation des pilotes propritaires mais ils correspondent une version prcise du noyau souvent non patch, et donc il faudra quand mme les installer manuellement si on installe par la suite un noyau RT "fait maison".
Consulter Tuto Compiler un noyau Temps-Rel pour en savoir plus sur le choix des modules.
2.1. Nvidia (et son patch "rt")
"nv": nom du pilote libre"nvidia": nom du pilote propritaire. Il existe un patch "rt" pour ce pilote qui est sens apporter plus de stabilit quand on utilise un noyau RT. Il faut tlcharger le pilote propritaire Nvidia et le patch, et appliquer le patch comme suit:
sh NVIDIA-Linux-x86-177.13-pkg1.run --apply-patch NVIDIA_kernel-173.14.09-2512683.diff.txt
Puis installer le fichier gnr:
sh NVIDIA-Linux-x86-177.13-pkg1-custom.run
Note: numros de version purement indicatifs, ici le patch a t appliqu sur la version bta 177 sans aucun problme malgr la diffrence. Si quelqu'un connait l'origine de ce patch et de nouvelles versions, merci de l'indiquer ici. 😉
2.2. ATI
"radeon" "ati128" "atimisc": nom des pilotes libres (selon le chipset)"fglrx" : nom du pilote propritaire
fireglcontrol: nom de l'application qt3 pour rgler la carte (version propritaire)
Il existe toutefois un troisime constructeur, Matrox, qui s'est spcialis dans l'affichage des stations de travail, et propose des cartes intressantes pour ceux qui voudraient profiter de plusieurs crans.
2.3. vesa
Ce pilote est une sorte de roue de secours qui marche dans un mode limit 1024*768. C'est une chose connatre pour se dpanner, car il est trs frustrant de ne pas avoir d'affichage pour dcouvrir justement ce qui ne va pas. Il suffit d'ouvrir en console (avec l'diteur nano par exemple) le fichier /etc/xorg.conf et la section Device, spcifiez:Copy to clipboard
Driver "vesa"
Note: si cela ne marche toujours pas ou si vous vous retrouvez avec un cran en mode veille (typique avec un portable trs rcent) cela peut signifier que votre cran LCD n'est pas dans la liste des modles connus, par consquent le serveur X n'arrive pas spcifier de valeurs de rafraichissement vertical et horizontal. Renseignez vous sur les caractristiques de votre cran et rentrez ces valeurs manuellement la section Monitor (cf les documentations sur xorg, tapez: man xorg.conf).
3.1. Introduction
Lorsque vous serez amen enregistrer du son sous Linux, que ce soit pour faire de l'aquisition via une prise de son ou que ce soit pour un acquisition MIDI, vous aurez besoin de voir un certain nombre des pistes, de contrler l'volution de l'enregistrement et de visualiser les crans d'alerte en cas de problme. Si vous utilisez Ardour, par exemple, vous aurez d'un ct la table de mixage vous permettant de contrler le son de chaque piste et de l'autre la fentre d'dition vous montrant une vue d'ensemble de l'enregistrement. En un mot, il vous faudra songer disposer de deux crans l'un affichant une partie du travail, l'autre l'autre partie (mdr).
Il existe plusieurs solutions permettant de grer ces deux crans :
- soit comme s'il ne s'agissait que d'un seul cran gant rparti sur les 2 moniteurs physiques, la souris allant sur l'autre cran lorsque elle a pass le champs d'action du premier. Cette solution s'apple xinerama, implment comme extension par Xorg.
- soit comme comme des devices indpendants au niveau de deux serveurs X distincts.
- avec xrandr (pas toujours install par dfaut) avec certains chipset comme l'intel pour grer des diffrentes sorties d'une seule carte cran.
Au niveau matriel, vous pourrez disposer de deux cartes Vido, l'une AGP l'autre PCI ou d'une carte vido qui sait grer deux crans. Il n'est donc pas exact de penser que seules les cartes Matrox permettent de disposer de deux crans. Aujourd'hui avec le standard PCI-Express qui remplace l'AGP, il est possible d'avoir encore plus de slot disponibles !
Pour plus de prcisions, vous pouvez regarder Exemples d'affichage sous deux crans avec Linux sur developpez.com.
3.2. Configuration facile sous Mandriva
Les utilisateurs de Mandriva lanceront simplementXFdrake
Service dm stop (prfrence somme toute personnelle) ; puis lancez XFdrake et laissez vous guider.
Un gros intrt du fichier gnr par Mandriva est d'tre rcuprable par les autres distributions. Il suffira de copier les sections device, screen, monitor et layout pour la distribution qui vous intresse.
3.3. Configuration moins facile
Malheureusement les distributions tendent avoir leurs petites particularits, des scripts qui n'ont pas le mme nom. En gnral la commande X-configure suffit dtecter la ou les cartes et les moniteurs. Si faire se doit il suffit d'aller inspecter votre fichier /etc/X11/xorg.conf pour vrifier que vous disposez de deux zones crans, ventuellement de deux zones device (si vous avez deux cartes vido).un endroit vous aurez la section ServerLayout :
Copy to clipboard
Section "ServerLayout" Identifier "XFree86 Configured" Screen 0 "LeftScreen" 0 0 Screen 1 "RightScreen" RightOf "LeftScreen"
( complter)
3.4. Configuration NVidia
Les outils de configurations fournis par Nvidia (nvidia-seeting) peuvent gnrer le fichier de configuration xorg.conf.4. Postionner des applications
Il existe plusieurs moyens de positionner une application sur l'cran. Soit manuellement l'aide des pagers qui sont ces petites reprsentations de l'espace de travail dans la barre des tches, soit automatiquement l'aide d'utilitaires ou de fichiers de configuration. Cela rend possible l'criture de scripts pour retrouver les applications d'une session de travail aux endroits voulus.4.1. Virtual screen et pager
- Il est possible de dfinir un cran plus large que celui affich par votre cran. Il y a plusieurs moyen d'y arriver. La premire est d'utiliser l'option "virtual screen" lors de la configuration du Serveur X (mais il arrive que cela ne marche pas toujours en fonction des cartes et des pilotes), la seconde est de se reposer sur les possibilits du gestionnaire de bureaux que l'on a choisi. Ceux-ci offrent gnralement tous des espaces de travail virtuels, reste savoir comment y positionner automatiquement ses applications favorites.
- Les pagers sont souvent intgrs dans la barre des tches, c'est ce qui permet de passer d'un espace l'autre. Sous certains gestionnaires, il y a des pagers indpendants que l'on positionne dans un coin ou que l'on fait apparatre en cliquant sur un onglet. Mais tout ceci n'est pas trs pratique quand on a plein d'applications positionner.
4.2. L'option -geometry
Tout d'abord le plus simple moyen d'agir sur l'affichage d'une application est de donner des paramtres -geometry suivant la commande de son choix:xeyes -geometry 100x100+100+200
Les deux premires valeurs (facultatives) dterminent la taille de la fentre, les deux dernires la position. Certains window managers comme Afterstep/Enlightenment/FVWM2 autorisent des coordonnes au del de l'cran actuel, ce qui permet du coup de positionner l'application dans les espaces de travail adjaants. Malheureusement cette option ne marche pas souvent avec les grosses applications spares en plusieurs sous-tches car la GUI n'arrive pas hriter des paramtres que l'on a passs. De plus, les gros environnements comme Gnome, XFCE, ou KDE, limitent le positionnement l'espace en cours et donc ne permettent pas d'exploiter les autres crans, la mthode n'est donc pas universelle. Il y a heureusement d'autres moyens comme nous allons le voir.
4.3. kstart sous KDE
KDE permet de positionner les programmes l'aide de la commande kstart.kstart desktop 3 activate "xeyes"
Ici xeyes va s'ouvrir sur l'espace de travail n3 et l'option -activate va forcer le focus aller celui-ci.
4.4. Une alternative avec xvkbd
xvkbd est un utilitaire fort sympathique que nous allons un peu dtourner de son usage premier pour pouvoir changer d'espace de travail au sein d'un script, et ce quelque soit le window manager. La seule condition est que ce dernier associe une combinaison de touches chaque espace virtuel (ce qui est bien souvent le cas). xvkbd est l'origine un utilitaire pour les PDA sous Linux qui n'auraient pas de clavier, xvkbd est en effet un clavier virtuel. Ce qui nous intresse en fait est son mode console avec l'option -text.xvkbd -text "\C\Right"
simule Control+Right ce qui avec Afterstep permet d'accder l'espace de droite. Sous KDE ou Gnome d'autres combinaisons de touches sont srement utilises.
Note:Pour trouver les noms des symboles de touches comme Left/Right ou F1/F2/.. et d'autres moins vidants on peut utiliser xev.
http://homepage3.nifty.com/tsato/xvkbd/
Le principe est donc dans un script de faire prcder le lancement d'une application par un commande xvkbd pour aller sur l'espace dsir.
➡️ Question: est-ce utilisable avec les alias dfinissables dans les fichiers de conf du shell ?
Il existe une mthode encore plus efficace que xvkbd avec Devilspie. L'avantage de ce dmon est qu'il est sens fonctionner avec tous les bureaux, on a donc toute libert d'en changer, pour peu que la configuration des espaces virtuels soient semblable, le placement des fentres sera identique. Le principe est le suivant, chaque fois que vous lancez un programme, Devilspie contrle s'il est dans sa liste et si c'est le cas, lui applique le dimensionnement et le placement que vous avez spcifi dans son fichier de configuration. Ainsi vous pouvez forcer votre navigateur toujours s'ouvrir au mme endroit, et pour une session musicale, vous pouvez dimensionner et placer toutes les fentres des diffrents programmes dans les espaces virtuels de votre choix (ex: l'cran principal et le mixeur d'Ardour dans deux espaces diffrents).
Vous trouverez ici un tuto en franais. Gdevilspie est une interface graphique rendant la configuration plus facile que par le fichier texte.
Note: pour connatre le nom des fentre, utilisez wmctrl -l. Cette commande permet aussi de placer des fentres sur le bureau mais elle moins puissante, ceci dit elle permet de lister et de connaitre certains caractristiques du bureau utiles pour "devilspie".
4.6. Configuration de certains environnements
4.6.1. Afterstep
AS intgre un fichier de configuration database permettant de positionner une application par son nom sur un espace donn (/etc/X11/afterstep/database ou alors ~/.afterstep/database). Celui-ci contient des informations pour chaque application liste, permettant ainsi de moduler le comportement par dfaut concernant son affichage. On peut alors spcifier un espace virtuel et mme une option geometry rglant la taille de la fentre ouvrir.Copy to clipboard
Style "muse" ViewportX 5760, StartsOnDesk 1 Style "ardour" ViewportX 1920, StartsOnDesk 1 Style "pan" ViewportX 1920, ViewportY 0, StartsOnDesk 0
Dans cet exemple Ardour et MusE s'ouvriront sur le Desk 1 ddi la musique, tandis que pan (logiciel de news) s'ouvrira sur le Desk 0. ViewportX et ViewportY donnent les coordonnes. Celles-ci peuvent dpasser la dimension physique de l'cran (1920x1200), AS ayant la particularit de pouvoir grer des espaces virtuels plus grands.
4.6.2. Enlightenment
Sous cet environnement, on peut grce au menu propre aux fentre utiliser Remember et demander ce que la position de la fentre et le desktop soient mise en mmoire pour l'application concerne. Encore plus simple qu'Afterstep !!Le serveur X peut rpondre des requtes de clients situs sur d'autres machines du rseau. L'affichage s'effectuant alors sur l'cran dfini l'aide de la variable DISPLAY.
export DISPLAY=192.168.1.1:0
Ceci permet d'exporter l'affichage sur le serveur X de la machine en question. Le paramtre :0 dsigne le numro du serveur X au cas (rare) ou il y en aurait plus d'un.
Cependant il existe des scurits controllant l'accs du serveur X en rseau. Tout d'abord il faut faire attention car les display managers sont un peu traitres et pour gdm par exemple celui-ci ne rend pas visible depuis sa GUI certaines options que l'on trouve dans la section SECURITY de son fichier /etc/X11/gdm/gdm.conf. Il arrive aussi que le gestionnaire de bureau stope les connections externe comme c'est le cas pour Xfce4, il faut cette fois-ci simplement cocher l'option les autorisant dans l'outil de configuration.
5.1. xhost
xhost est un mcanisme permettant de controller les accs au server X en fonction des utilisateurs et de leur provenance (locale ou externe). cf /etc/X0.hosts. Il s' agit d'un mchanisme complexe et complet. Sur Gentoo comme sur Mandriva, c' est le mchanisme priviligier. consulter la documentation du fameux MIT-Magic-cookie pour en savoir d'avantages! Son utilisation est nnmoins triviale. Par exemple, tapez simplement xhost +192.168.1.111
DISPLAY=192.168.1.111:0 drakwizard
5.2. xauth
A priori l'utilisateur n'a pas se soucier de xauth qui est une commande pour manipuler un systme de cls d'authentification au niveau du serveur X. On peut donc ignorer tranquilement cet aspect un peu sotrique du serveur X.6. Des commandes bien utiles
6.1. xrandr
xrandr est une commande permettant de changer les rsolutions de votre serveur X. On peut aussi faire des choses un peu amusantes comme appliquer une rotation 90 ce qui est occasionnellement utile aux possesseurs d'cran pivotable.6.2. XRandRTray
XRandRTray est une implmentation de Xorg permettant en autre de changer la vole la dfinition de l'affichage (pass de 800-600 1280*1024 par exemple) sans avoir besoin de relancer le serveur X. Krandrtray est un applet de la barre de taches kicker sur KDE, permettant de faire cela d'un click de souris. Cerise sur le gateau : plusieurs crans sont grs lorsqu'ils sont connects.6.3. xset
xset permet de jouer sur certains paramtres du serveur X pour la session courante, comme les conomiseurs d'cran.La frontire est parfois floue entre les gestionnaires de fentres senss s'occuper uniquement du positionnement des fentres, de leurs dcorations et fonctionnalits, et les bureaux qui offrent en plus toutes sortes d'applications de configuration graphiques, des explorateurs de fichiers, etc. En effet les premiers ne viennent jamais seuls et propose toujours des petits applications (pagers, barre de tches, terminaux graphiques), les seconds ont souvent intgrs le tout au point d'avoir leur propre gestionnaire de fentres.
Il existe de longues lignes de projets. Certains window managers sont compltement antdiluviens et quasiment inconfigurables, puis en plus volu nous trouvons Fvwm2 et Icewm (toujours assez primitifs). Afterstep est un projet voulant copier Nextstep. WindowMaker est un fork d'Afterstep. Enlightenment est dans cette ligne mais en plus ergonomique. On trouve aussi Blackbox et Fluxbox qui se veulent minimalistes et configurables. Et aussi Gnome et KDE... Et d'autres. Bref y'en a pour tous les gots et tous les usages. N'oublions pas non plus Compiz-Fusion qui est une couche logiciel apportant des effets 3D pour Gnome/KDE et XFce.
- Fluxbox: Hritier de Blackbox, cet environnement a t choisi entre autre par la distribution Agnula pour sa lgret.
- Afterstep: Au dbut Afterstep droute l'utilisateur habitu au monde Windows, de surcroit les thmes par dfaut sont (apprciation personnelle) moches. Mais l'intret de cet environnement est sa configurabilit extrme. Encore faut-il aller diter la main les fichiers de configuration, et c'est une tche un peu longue. Selon moi Afterstep est un environnement privilgier pour sa capacit tre compltement reconfigur. De plus il fait continuellement l'objet d'amliorations. Le site officiel
- XFce4 : peut-tre le plus lger des bureaux. Il s'agit donc plus d'un simple window-manager, mais cependant il n'a pas la lourdeur des Gnome ou KDE, qui utilisent tout un systme de clients/serveurs complexes et longs charger. Donc XFce4 est sans doute un environnement complet attractif pour faire de la musique. Le site officiel
- Gnome : le projet bas sur la libraries graphiques GTK (the Gimp Tool Kit). Le site officiel
- KDE : Un des projets les plus aboutis Le site officiel
- Enlightenment : existe en 2 versions, la version stable (e16 ou DR16) et une version en dveloppement, plus "eye candy" (e17 ou DR17). Le site officiel. Enlightenment peut tre vu comme une version amliore d'Afterstep, en plus beau et configurable la souris.
- Compiz-Fusion: Ce magnifique projet qui apporte des fentres flexibles et le cube 3D pour changer d'cran virtuel est trs amusant mais attention pour un usage musical, quand les fentres sont grandes 1920x1200, leur dplacement peut prendre sensiblement plus de CPU que sous un bureau normal. Les effets sont aussi consommateurs de CPU, ce qui est malheureusement pas le top pour avoir le moins d'xruns possible. Bref pas conseill.
7.1. Sites relatifs
http://xwinman.org/http://www.linuxjournal.com/article/6415 : Scripting et X
[+]