Wacom PENPARTNER - ANNEXE 474 spécification
Ajouter à Mes manuels
◉
Touch to zoom
Léa Book Serge Tchesmeli, Jean Christophe Cardot, Frédéric Bonnaud, et divers contributeurs Table des matières Introduction.........................................................................................................................................................................................................................1 Avertissement.......................................................................................................................................................................................................1 Liberté...................................................................................................................................................................................................................1 Présentation de Linux...........................................................................................................................................................................................1 « Configurabilité ».................................................................................................................................................................................................1 Léa........................................................................................................................................................................................................................2 Contacts.................................................................................................................................................................................................................2 Découvrir Linux....................................................................................................................................................................................................................5 Introduction............................................................................................................................................................................................................5 D'abord, c'est quoi, Linux ?...................................................................................................................................................................................5 Installer Linux........................................................................................................................................................................................................5 Découvrir Linux sans l'installer ?...................................................................................................................................................................5 Suite......................................................................................................................................................................................................................5 Remerciements.....................................................................................................................................................................................................6 Linux et le projet GNU...........................................................................................................................................................................................6 Le projet GNU, la Free Software Foundation (FSF) et la license GPL.........................................................................................................6 Linux, un bref historique...............................................................................................................................................................................7 Les distributions............................................................................................................................................................................................7 Chronologie..................................................................................................................................................................................................8 Découvrir Linux − premier contact.......................................................................................................................................................................10 Première prise de contact...........................................................................................................................................................................10 Démarrer et arrêter.....................................................................................................................................................................................15 Au secours !................................................................................................................................................................................................16 Découvrir Linux − les 1ères questions.................................................................................................................................................................17 Les questions et problèmes courants du débutant.....................................................................................................................................17 Découvrir Linux − aller plus loin...........................................................................................................................................................................21 Aller un peu plus loin..................................................................................................................................................................................21 Prêt ? Partez !!!...........................................................................................................................................................................................25 Quels programmes utiliser pour faire ..................................................................................................................................................................26 Introduction.................................................................................................................................................................................................26 La bureautique............................................................................................................................................................................................26 Internet.......................................................................................................................................................................................................27 Le multimédia.............................................................................................................................................................................................27 La gravure de CD/DVD...............................................................................................................................................................................28 Le développement......................................................................................................................................................................................29 Les jeux......................................................................................................................................................................................................29 Pour aller plus loin : trouver de l'aide..........................................................................................................................................................29 Installation de Linux..........................................................................................................................................................................................................31 Préparation à l'installation de Linux.....................................................................................................................................................................31 1. Vérifier son matériel................................................................................................................................................................................31 2. Choisir sa distribution.............................................................................................................................................................................32 3. Préparer ses disques durs......................................................................................................................................................................32 L'installation de Linux..........................................................................................................................................................................................36 4. Choisir ses packages.............................................................................................................................................................................36 5. Installer un chargeur Linux ou Comment booter Linux...........................................................................................................................36 6. Problèmes courants................................................................................................................................................................................37 Installer et configurer son matériel..................................................................................................................................................................................39 3DfX: installation..................................................................................................................................................................................................39 Serveur X, /dev/3dfx et Glide......................................................................................................................................................................39 Librairies Mesa............................................................................................................................................................................................41 Download....................................................................................................................................................................................................42 3Dfx: accélération 3D sous Xfree 4.....................................................................................................................................................................44 Installer Xfree 4 de base.............................................................................................................................................................................44 Récupérer les packages pour la prise en charge 3D et installation............................................................................................................44 Configuration de l'ensemble.......................................................................................................................................................................44 Les cartes NVidia TNT.........................................................................................................................................................................................46 Téléchargement des drivers........................................................................................................................................................................46 Patcher votre kernel pour l'AGP.................................................................................................................................................................46 Installation du driver de chez NVidia..........................................................................................................................................................46 Chasse aux troubles (Trouble Shooting)....................................................................................................................................................48 Carte graphique i810 et Linux..............................................................................................................................................................................49 Présentation...............................................................................................................................................................................................49 Bien configurer son noyau..........................................................................................................................................................................50 Utilisation du DRI........................................................................................................................................................................................50 Configuration de X......................................................................................................................................................................................51 Conseils généraux......................................................................................................................................................................................52 Installation du lecteur de DVD : Xine...................................................................................................................................................................53 Introduction.................................................................................................................................................................................................53 Si vous avez une Mandrake.......................................................................................................................................................................53 i Table des matières Installer et configurer son matériel Préparatifs..................................................................................................................................................................................................53 Installation d'une carte de décompression MPEG−2..................................................................................................................................53 Installation de Xine.....................................................................................................................................................................................58 Résumé......................................................................................................................................................................................................61 Chasse aux problèmes...............................................................................................................................................................................62 Installation de Xine pour une Mandrake..............................................................................................................................................................63 Télécharger les rpm.....................................................................................................................................................................................63 Installation...................................................................................................................................................................................................63 Utilisation.....................................................................................................................................................................................................64 Le Plug and play..................................................................................................................................................................................................65 Installation d'une carte tuner TV..........................................................................................................................................................................67 Drivers et Devices......................................................................................................................................................................................67 Problème du son (MàJ par Serge).............................................................................................................................................................70 Télécommande infrarouge..........................................................................................................................................................................71 Les logiciels................................................................................................................................................................................................71 Réglages fins..............................................................................................................................................................................................72 The end......................................................................................................................................................................................................72 Le son..................................................................................................................................................................................................................74 1. OSS........................................................................................................................................................................................................74 2. ALSA......................................................................................................................................................................................................75 3. un petit mot sur les démons de son........................................................................................................................................................77 Installer une carte Sound Blaster Audigy avec un kernel 2.4.x...........................................................................................................................78 1 − Les sources qu'il vous faut...................................................................................................................................................................78 2 − Faire fonctionner le port de jeu.............................................................................................................................................................78 3 − La compilation du kernel.......................................................................................................................................................................78 4 − L'installation des drivers.......................................................................................................................................................................79 5 C'est la fin................................................................................................................................................................................................79 Installation d'un scanner SCSI grâce à SANE.....................................................................................................................................................80 Récupérer les sources du noyau................................................................................................................................................................80 Récupérer les sources de SANE................................................................................................................................................................80 Récupérer les sources du patch pour les Snapscan..................................................................................................................................81 Installation du noyau avec support des modules et du SCSI.....................................................................................................................81 Configuration des modules et des devices..................................................................................................................................................82 Installation des librairies SANE..................................................................................................................................................................83 Configuration des librairies SANE..............................................................................................................................................................84 Utilisation de SANE....................................................................................................................................................................................84 Configuration en réseau.............................................................................................................................................................................85 Les mots de la fin :.....................................................................................................................................................................................85 Installation d'un scanner USB..............................................................................................................................................................................87 Compilation du noyau 2.2.15 avec les drivers USB du 2.3.x......................................................................................................................87 Configuration du device usbscanner..........................................................................................................................................................88 Chargement des drivers.............................................................................................................................................................................88 Etape optionnelle : mais utile au diagnostic...............................................................................................................................................88 Configuration et installation de SANE (et de XSANE)................................................................................................................................88 Chargement du firmware du scanner.........................................................................................................................................................89 Ca y est vous pouvez scanner !.................................................................................................................................................................89 Liens utiles..................................................................................................................................................................................................89 Installation d'un scanner parallèle grâce à SANE................................................................................................................................................90 Introduction.................................................................................................................................................................................................90 Pré−requis..................................................................................................................................................................................................90 Installation..................................................................................................................................................................................................90 Configuration..............................................................................................................................................................................................90 Utilisation....................................................................................................................................................................................................92 Additif..........................................................................................................................................................................................................92 Installer une imprimante locale !..........................................................................................................................................................................94 Introduction.................................................................................................................................................................................................94 Avec apsfilter..............................................................................................................................................................................................94 Avec DrakConf...........................................................................................................................................................................................95 Drivers HPIJS pour Hp deskjet............................................................................................................................................................................97 Introduction..................................................................................................................................................................................................97 Pré−requis...................................................................................................................................................................................................97 Mise au Point...............................................................................................................................................................................................97 Installation...................................................................................................................................................................................................97 Conclusion...................................................................................................................................................................................................98 Connecter un lecteur Flash USB.........................................................................................................................................................................99 Introduction..................................................................................................................................................................................................99 Procédure simplifiée....................................................................................................................................................................................99 Procédure détaillée......................................................................................................................................................................................99 Application aux disque−durs externes USB..............................................................................................................................................101 Configuration des Senseurs de la carte mère...................................................................................................................................................102 Ce qu'il nous faut......................................................................................................................................................................................102 ii Configuration du système X W Table des matières Installer et configurer son matériel Installation................................................................................................................................................................................................102 Compilation des modules et du noyau.....................................................................................................................................................102 Compilation des librairies et des utilitaires................................................................................................................................................102 Détection des senseurs............................................................................................................................................................................103 Utilisation..................................................................................................................................................................................................103 Installer une WebCam USB...............................................................................................................................................................................105 Installation et configuration du noyau........................................................................................................................................................105 Installation et configuration des drivers.....................................................................................................................................................105 W3Cam......................................................................................................................................................................................................106 Motion.......................................................................................................................................................................................................108 D'autres programmes................................................................................................................................................................................108 Installation d'une carte Olitec PCI 128 RNIS.....................................................................................................................................................110 Pré−requis.................................................................................................................................................................................................110 Configurer le noyau et compiler le tout......................................................................................................................................................110 Paramettrer le démarrage ........................................................................................................................................................................111 Alcatel Speedtouch ADSL USB: installation façon libre :).................................................................................................................................113 Introduction:..............................................................................................................................................................................................113 Pré−requis et détection du modem:..........................................................................................................................................................113 Installation des drivers..............................................................................................................................................................................114 Configuration de la connexion..................................................................................................................................................................115 Testez le tout !..........................................................................................................................................................................................116 Le modem BEWAN ADSL PCIst.......................................................................................................................................................................117 Avertissement............................................................................................................................................................................................117 Copyright...................................................................................................................................................................................................117 Introduction................................................................................................................................................................................................117 Le kernel....................................................................................................................................................................................................117 Driver périphérique ATM...........................................................................................................................................................................117 Le plugin pppd...........................................................................................................................................................................................118 Remarques................................................................................................................................................................................................118 Modem ECI−ADSL USB....................................................................................................................................................................................119 1. Le Kernel...............................................................................................................................................................................................119 2. Le driver.................................................................................................................................................................................................119 3. Lancer sa connection............................................................................................................................................................................120 4. Ca ne marche pas :...............................................................................................................................................................................120 5. Astuces..................................................................................................................................................................................................120 6. Licence..................................................................................................................................................................................................120 Comment installer un modem cable en USB.....................................................................................................................................................121 Intro...........................................................................................................................................................................................................121 Prérequis...................................................................................................................................................................................................121 Le module CDCEther.o.............................................................................................................................................................................121 Connecter au réseau.................................................................................................................................................................................121 Au secours, j'ai des problèmes..................................................................................................................................................................122 Remarques................................................................................................................................................................................................122 Carte radio sous linux........................................................................................................................................................................................123 Introduction................................................................................................................................................................................................123 Pré−requis.................................................................................................................................................................................................123 Mise au Point.............................................................................................................................................................................................123 Installation.................................................................................................................................................................................................123 Tablette Wacom Graphire USB.........................................................................................................................................................................125 Préambule................................................................................................................................................................................................125 USB..........................................................................................................................................................................................................125 Modules du noyau....................................................................................................................................................................................125 Configuration de XFree............................................................................................................................................................................125 Configuration de Gimp..............................................................................................................................................................................126 Références...............................................................................................................................................................................................126 Tablette graphique Acecat Flair.........................................................................................................................................................................128 Tout d'abord..............................................................................................................................................................................................128 Configuration du serveur X.......................................................................................................................................................................128 Souris Logitech Cordless MouseMan Optical et Cordless Keyboard................................................................................................................130 Pré−Requis...............................................................................................................................................................................................130 Configuration de la Souris........................................................................................................................................................................130 Configuration du clavier............................................................................................................................................................................131 Configuration du système X Window............................................................................................................................................................................133 Le système X Window.......................................................................................................................................................................................133 Définitions.................................................................................................................................................................................................133 Choisir son serveur X...............................................................................................................................................................................133 Que faire si votre carte graphique n'est pas supportée ?.........................................................................................................................134 Installer un serveur X pour Frame buffer..................................................................................................................................................134 Installation et configuration du serveur X.................................................................................................................................................135 Configuration avec xf86config..................................................................................................................................................................136 iii Table des matières Configuration du système X Window Installation de XFree86 4.0................................................................................................................................................................................138 Téléchargement des packages binaires...................................................................................................................................................138 Installation de XFree86 4.0.......................................................................................................................................................................138 Une configuration plus fine.......................................................................................................................................................................145 Régler les problèmes avec X Window...............................................................................................................................................................147 Problèmes et questions............................................................................................................................................................................147 NumLock et X Window : La solution définitive...................................................................................................................................................155 La solution................................................................................................................................................................................................155 Installation du programme........................................................................................................................................................................155 Syntaxe de numlockx...............................................................................................................................................................................155 Activation au démarrage...........................................................................................................................................................................155 Pour les curieux........................................................................................................................................................................................156 Choisir son Gestionnaire de fenêtre à la connection.........................................................................................................................................157 Utilisons KDM...........................................................................................................................................................................................157 Configurons KDM.....................................................................................................................................................................................157 Installation de polices pour X, GhostScript et StarOffice...................................................................................................................................161 Le cas de votre serveur X.........................................................................................................................................................................161 Le cas de ghostscript (5.10)......................................................................................................................................................................162 Le cas de StarOffice (5.1a)........................................................................................................................................................................162 Comment automatiser tout cela................................................................................................................................................................163 Conclusion.................................................................................................................................................................................................164 Multi−Head ou Utiliser plusieurs écrans et/ou cartes graphiques......................................................................................................................165 Introduction...............................................................................................................................................................................................165 Configuration du serveur X.......................................................................................................................................................................165 Le Xinerama.............................................................................................................................................................................................168 Sans Xinerama.........................................................................................................................................................................................169 Conclusion................................................................................................................................................................................................169 Postface....................................................................................................................................................................................................169 Maîtriser le démarrage de X..............................................................................................................................................................................170 Introduction...............................................................................................................................................................................................170 Avertissement...........................................................................................................................................................................................170 Théorie.....................................................................................................................................................................................................170 Pratique....................................................................................................................................................................................................172 Notes........................................................................................................................................................................................................173 La capture d'écran sous LINUX.........................................................................................................................................................................174 La capture d'écran sous LINUX.................................................................................................................................................................174 1 Introduction.............................................................................................................................................................................................174 2 La famille xwd.........................................................................................................................................................................................174 3 ksnapshot...............................................................................................................................................................................................175 4 ImageMagick..........................................................................................................................................................................................175 5 The Gimp................................................................................................................................................................................................175 Installer et utiliser un logiciel.........................................................................................................................................................................................177 Installation de StarOffice 5.1a............................................................................................................................................................................177 Les différentes méthodes.........................................................................................................................................................................177 Décompresser StarOffice.........................................................................................................................................................................177 Installation mono−utilisateur.....................................................................................................................................................................178 Installation multi−utilisateurs.....................................................................................................................................................................178 Installation de OpenOffice.................................................................................................................................................................................179 Avant de démarrer l'installation................................................................................................................................................................179 Installation en mode mono−utilisateur......................................................................................................................................................179 Installation en mode multi−utilisateurs......................................................................................................................................................179 Installation du correcteur orthographique.................................................................................................................................................180 Installation avancée..................................................................................................................................................................................180 Accélérer le chargement de OpenOffice..................................................................................................................................................181 L'Éditeur vi.........................................................................................................................................................................................................182 Lancer VI..................................................................................................................................................................................................182 Se déplacer dans le texte.........................................................................................................................................................................182 Les modes de VI.......................................................................................................................................................................................182 Insérer du texte.........................................................................................................................................................................................182 Les commandes.......................................................................................................................................................................................182 Plus...........................................................................................................................................................................................................182 Utilisation d'emacs.............................................................................................................................................................................................185 Introduction...............................................................................................................................................................................................185 L'écran d'emacs........................................................................................................................................................................................185 Les commandes.......................................................................................................................................................................................185 Le curseur.................................................................................................................................................................................................185 Effacer du texte........................................................................................................................................................................................186 Gestion des fichiers..................................................................................................................................................................................186 Répétition de commande..........................................................................................................................................................................186 Les régions...............................................................................................................................................................................................186 iv Table des matières Installer et utiliser un logiciel Les fenêtres d'emacs................................................................................................................................................................................187 Lire ses courrier avec Gnus...............................................................................................................................................................................188 Pourquoi gnus ?........................................................................................................................................................................................188 Prérequis...................................................................................................................................................................................................188 Télécharger les courriers...........................................................................................................................................................................188 Adapter son .emacs...................................................................................................................................................................................189 Créer son .gnus.........................................................................................................................................................................................189 Utiliser gnus...............................................................................................................................................................................................192 FDL............................................................................................................................................................................................................192 Lire ses courrier avec Gnus...............................................................................................................................................................................193 Pourquoi gnus ?........................................................................................................................................................................................193 Prérequis...................................................................................................................................................................................................193 Télécharger les courriers...........................................................................................................................................................................193 Adapter son .emacs...................................................................................................................................................................................194 Créer son .gnus.........................................................................................................................................................................................194 Utiliser gnus...............................................................................................................................................................................................197 FDL............................................................................................................................................................................................................197 Signer et crypteravec GnuPG............................................................................................................................................................................198 Introduction à GPG....................................................................................................................................................................................198 Générer les clés........................................................................................................................................................................................198 Exporter sa clé publique............................................................................................................................................................................199 Importer une clé publique..........................................................................................................................................................................200 Signer un message/document...................................................................................................................................................................200 Vérifier un message signé.........................................................................................................................................................................201 Crypter un message/document.................................................................................................................................................................202 Décrypter un message/document..............................................................................................................................................................202 Edition des clés.........................................................................................................................................................................................202 Vérification de la validité des clés..............................................................................................................................................................204 Conclusion.................................................................................................................................................................................................204 Correction Orthographique................................................................................................................................................................................205 Introduction...............................................................................................................................................................................................205 Télécharger les programmes....................................................................................................................................................................205 Compilation et installation des programmes.............................................................................................................................................205 Configuration............................................................................................................................................................................................206 Conclusion................................................................................................................................................................................................206 Introduction à LaTeX.........................................................................................................................................................................................207 Table des matières...................................................................................................................................................................................207 Document.................................................................................................................................................................................................208 1 Préambule.............................................................................................................................................................................................209 2 Introduction............................................................................................................................................................................................209 3 Schéma de la création d'un document au moyen de ces logiciels........................................................................................................209 4 Utilisation de Gnuplot............................................................................................................................................................................210 5 Importation des graphiques Gnuplot dans LATEX................................................................................................................................210 6 L'auteur..................................................................................................................................................................................................215 GnuPlot, LYX et LATE X....................................................................................................................................................................................217 Installation et utilisation de Wine.......................................................................................................................................................................218 Qu'est ce que Wine ?...............................................................................................................................................................................218 Téléchargez les paquetages....................................................................................................................................................................218 Installez les paquetages...........................................................................................................................................................................218 Le fichier /etc/wine/wine.conf....................................................................................................................................................................218 Utilisation..................................................................................................................................................................................................220 Trucs & Astuces.......................................................................................................................................................................................220 Le minitel sous Linux : XTEL.............................................................................................................................................................................221 Télécharger et installer XTEL...................................................................................................................................................................221 Configuration............................................................................................................................................................................................221 Utilisation..................................................................................................................................................................................................222 RPM (RedHat Package Manager), URPM (User RPM) et apt−get (User RPM)...............................................................................................224 Introduction...............................................................................................................................................................................................224 Les commandes rpm usuelles..................................................................................................................................................................224 Quelques précisions concernant rpm.......................................................................................................................................................226 Les commandes urpm* de Mandrake.......................................................................................................................................................227 apt−get sur Redhat...................................................................................................................................................................................229 Compiler une application...................................................................................................................................................................................232 Pourquoi compiler une application ?........................................................................................................................................................232 Récupérer les sources..............................................................................................................................................................................232 Compiler les sources................................................................................................................................................................................232 Installer le logiciel.....................................................................................................................................................................................234 Babytrans...........................................................................................................................................................................................................235 Introduction...............................................................................................................................................................................................235 Installation................................................................................................................................................................................................235 Utilisation..................................................................................................................................................................................................235 v Configurer les composants d'un réseau Table des matières Installer et utiliser un logiciel INSTALLATION DE ORACLE 8.1.7 SUR LINUX SUSE 7.0.............................................................................................................................236 A − PRE−INSTALLATION........................................................................................................................................................................236 B − INSTALLATION..................................................................................................................................................................................236 C − CONFIGURATION.............................................................................................................................................................................237 D − CONTACT..........................................................................................................................................................................................238 Installation de Oracle 8.1.7 sur Linux SuSe 7.2.................................................................................................................................................239 A − Pré−installation..................................................................................................................................................................................239 B − Installation..........................................................................................................................................................................................239 C − Configuration......................................................................................................................................................................................240 D − Contact...............................................................................................................................................................................................242 DiVX ;−) et ses amis..........................................................................................................................................................................................243 Présentation.............................................................................................................................................................................................243 Pré−requis................................................................................................................................................................................................244 Installation................................................................................................................................................................................................244 Utilisation..................................................................................................................................................................................................245 Conclusion................................................................................................................................................................................................247 La gravure en ligne de commandes..................................................................................................................................................................248 Avant de commencer................................................................................................................................................................................248 Graver une image ISO..............................................................................................................................................................................251 Création d'un disque de données.............................................................................................................................................................251 Copie d'un Cd−Rom de données..............................................................................................................................................................253 Cd−Rom multi−sessions...........................................................................................................................................................................255 Copie de Cd audio....................................................................................................................................................................................256 Les CD mixtes..........................................................................................................................................................................................259 Graver une image .bin/.cue......................................................................................................................................................................260 Conclusion................................................................................................................................................................................................260 Configurer la Slackware.....................................................................................................................................................................................261 Avant−propos............................................................................................................................................................................................261 Créer un utilisateur...................................................................................................................................................................................261 Franciser la Slackware.............................................................................................................................................................................262 Personnaliser le shell Bash......................................................................................................................................................................264 Adapter le noyau installé..........................................................................................................................................................................265 Xwindow...................................................................................................................................................................................................266 Configurer son accès internet...................................................................................................................................................................267 Configurer les périphériques....................................................................................................................................................................269 Gérer les packages..................................................................................................................................................................................270 Mini−distribution TOMSRTBT............................................................................................................................................................................274 Nasgaïa GNU/Linux...........................................................................................................................................................................................277 L'esprit......................................................................................................................................................................................................277 La distribution...........................................................................................................................................................................................277 Et vous ?...................................................................................................................................................................................................277 Configurer les composants d'un réseau.......................................................................................................................................................................279 Configuration carte réseaux pour un réseau local.............................................................................................................................................279 Le HARDWARE (carte réseau)................................................................................................................................................................279 Configuration réseau de la carte..............................................................................................................................................................280 Si vous avez des machines non linux sur votre réseau............................................................................................................................282 Se monter son propre gateway (passerelle) sous Linux....................................................................................................................................283 Introduction...............................................................................................................................................................................................283 Installation de Linux..................................................................................................................................................................................283 Configurations principales........................................................................................................................................................................285 Utilisation d'ipchains et de ipmasqadm.....................................................................................................................................................293 Utilisation d'iptables (noyaux 2.4).............................................................................................................................................................295 Conclusion................................................................................................................................................................................................296 Exploration de la configuration réseau..............................................................................................................................................................297 Avant propos............................................................................................................................................................................................297 Ma configuration réseau...........................................................................................................................................................................297 Les services réseaux configurés sur ma machine....................................................................................................................................298 Les principaux outils de diagnostic réseau...............................................................................................................................................300 Le Mot de la fin..........................................................................................................................................................................................306 Paramétrer sa connexion à internet par modem...............................................................................................................................................307 Installer son modem.................................................................................................................................................................................307 Paramétrage de la connexion...................................................................................................................................................................307 Problème fréquent....................................................................................................................................................................................308 Compiler et configurer pengaol 1.0....................................................................................................................................................................310 1. Introduction............................................................................................................................................................................................310 2. Compilation............................................................................................................................................................................................310 3. Utilisation...............................................................................................................................................................................................311 4. Conclusion.............................................................................................................................................................................................311 Connexion à Internet multi−comptes.................................................................................................................................................................312 Introduction...............................................................................................................................................................................................312 vi Table des matières Configurer les composants d'un réseau Un peu de technique................................................................................................................................................................................312 Configuration de chat...............................................................................................................................................................................312 Configuration de pppd..............................................................................................................................................................................313 Configuration de resolv.conf.....................................................................................................................................................................313 Établissement et coupure de la connexion...............................................................................................................................................314 Connexion à Internet multi−comptes Partie 2 : Configuration de la messagerie...............................................................................................315 Configuration de sendmail et fetchmail....................................................................................................................................................315 Utilisation..................................................................................................................................................................................................317 Conclusion................................................................................................................................................................................................318 Connexion à Internet multi−comptes Partie 3 : Automatisation partielle (ip−up et ip−down).............................................................................319 Rappel des épisodes précédents.............................................................................................................................................................319 ip−up.........................................................................................................................................................................................................319 ip−down....................................................................................................................................................................................................320 Script de connexion/déconnexion.............................................................................................................................................................320 Conclusion................................................................................................................................................................................................321 Connexion à Internet multi−comptes Partie 4 : connexion multi−comptes........................................................................................................322 Pré requis, Introduction............................................................................................................................................................................322 Le principe retenu.....................................................................................................................................................................................322 Syntaxe du fichier /etc/ppp.conf...............................................................................................................................................................322 /etc/ppp/scripts/initcnx..............................................................................................................................................................................323 Un fichier /etc/ppp/ip−up à peine plus complexe......................................................................................................................................325 Un fichier /etc/ppp/ip−down......................................................................................................................................................................325 /etc/ppp/scripts/pppconnect......................................................................................................................................................................326 /etc/ppp/scripts/pppdisconnect.................................................................................................................................................................327 Les permissions........................................................................................................................................................................................327 Utilisation..................................................................................................................................................................................................327 Configuration d'une connexion ADSL................................................................................................................................................................328 Introduction................................................................................................................................................................................................328 Connexion ADSL via le protocole PPTP..................................................................................................................................................328 Connexion ADSL via le protocole PPPOE...............................................................................................................................................329 Modem ADSL USB Alcatel Speedtouch...................................................................................................................................................330 Modem ADSL USB ECI............................................................................................................................................................................330 Modem ADSL Bewan PCI St....................................................................................................................................................................330 Firewall..............................................................................................................................................................................................................331 Explications..............................................................................................................................................................................................331 Les différents types de Firewall................................................................................................................................................................331 Pré−installation d'un Firewall filtrant sous Linux.......................................................................................................................................332 Mise en place du filtrage, du masquerading, routage LAN<−>NET et règles de base.............................................................................333 IpTables par l'exemple.......................................................................................................................................................................................337 Introduction...............................................................................................................................................................................................337 1/ Installation............................................................................................................................................................................................337 2/ Présentation.........................................................................................................................................................................................338 3/ Application par l'exemple......................................................................................................................................................................342 Les ponts filtrants...............................................................................................................................................................................................348 Introduction................................................................................................................................................................................................348 Pré−requis.................................................................................................................................................................................................348 Configuration du pont lui même.................................................................................................................................................................348 Mise en place du Filtrage..........................................................................................................................................................................349 XINETD sous toutes ses coutures.....................................................................................................................................................................351 Avant propos............................................................................................................................................................................................351 Inetd ou Xinetd ?......................................................................................................................................................................................351 configuration générale de xinetd..............................................................................................................................................................351 Affiner les logs avec xinetd.......................................................................................................................................................................352 Xinetd pour contrôler les accès à votre machine......................................................................................................................................353 Xinetd pour limiter les attaques de type Deny of Service.........................................................................................................................354 Autres fonctionnalités de xinetd................................................................................................................................................................355 Exemples de configuration.......................................................................................................................................................................356 Le mot de la fin.........................................................................................................................................................................................357 Installation Apache, PHP, MySQL.....................................................................................................................................................................358 1 Objectif de ce document........................................................................................................................................................................358 2 Introduction............................................................................................................................................................................................358 3 Rappel: Utilisation de la commande rpm...............................................................................................................................................358 4 Installation d'Apache..............................................................................................................................................................................358 5 Installation de PHP................................................................................................................................................................................359 6 Installation de MySQL...........................................................................................................................................................................359 7 Synthèse................................................................................................................................................................................................360 8 Conclusion.............................................................................................................................................................................................360 9 Remerciement.......................................................................................................................................................................................360 L'auteur.....................................................................................................................................................................................................361 Configuration d'apache: httpd.conf....................................................................................................................................................................362 Introduction................................................................................................................................................................................................362 vii Table des matières Configurer les composants d'un réseau Configuration du fichier httpd.conf.............................................................................................................................................................362 Protection d'un serveur Apache PHP MySQL...................................................................................................................................................368 1 Objectif de ce document........................................................................................................................................................................368 2 Introduction............................................................................................................................................................................................368 3 Protection du serveur Apache...............................................................................................................................................................368 4 Protection du gestionnaire de bases de données MySQL....................................................................................................................370 5 Contrôle des accès MySQL initiés par des scripts PHP........................................................................................................................373 6 Cas particulier de phpMyAdmin.............................................................................................................................................................373 7 Le petit bréviaire....................................................................................................................................................................................375 8 Conclusion.............................................................................................................................................................................................375 L'auteur.....................................................................................................................................................................................................375 Installation d'un serveur SAMBA.......................................................................................................................................................................376 Récupération des packages SAMBA.......................................................................................................................................................376 Lancement "test" de SAMBA....................................................................................................................................................................376 Lancement définitif de SAMBA.................................................................................................................................................................377 Gestion des utilisateurs de SAMBA.........................................................................................................................................................378 Gérer la configuration de SAMBA avec SWAT.........................................................................................................................................378 Configuration de SAMBA en tant que serveur de fichiers........................................................................................................................379 Configuration de SAMBA en tant que serveur d'impression.....................................................................................................................381 Test de votre installation depuis Win$$$..................................................................................................................................................382 Quelques commandes utiles....................................................................................................................................................................382 Quelques adresses utiles :.......................................................................................................................................................................384 Se connecter à un ordinateur utilisant le protocole smb...........................................................................................................................384 Conclusion :..............................................................................................................................................................................................385 Installation d'un serveur NFS.............................................................................................................................................................................386 Introduction...............................................................................................................................................................................................386 Les softs...................................................................................................................................................................................................386 Le serveur.................................................................................................................................................................................................386 Le client....................................................................................................................................................................................................388 Liens.........................................................................................................................................................................................................388 Introduction à proftpd.........................................................................................................................................................................................389 Introduction................................................................................................................................................................................................389 Installation.................................................................................................................................................................................................389 Configuration.............................................................................................................................................................................................389 Utilisation de proftpd..................................................................................................................................................................................395 Problèmes rencontrés...............................................................................................................................................................................396 Conclusion.................................................................................................................................................................................................396 Ressources................................................................................................................................................................................................396 Introduction à profxp..........................................................................................................................................................................................397 Introduction................................................................................................................................................................................................397 Installation.................................................................................................................................................................................................397 Utilisation...................................................................................................................................................................................................397 Informations complémentaires..................................................................................................................................................................400 Conclusion.................................................................................................................................................................................................400 DNS 1ère partie: serveur "cache DNS".............................................................................................................................................................401 Introduction................................................................................................................................................................................................401 Théorie: fonctionnement du service DNS..................................................................................................................................................401 Un serveur DNS qui fait cache..................................................................................................................................................................401 Qmail: installation d'un serveur de mail multi−domaine et sécurisé..................................................................................................................405 Introduction................................................................................................................................................................................................405 Récupération des sources et compilation..................................................................................................................................................405 Installation du gestionnaire de mailing list.................................................................................................................................................409 Configuration des service mails.................................................................................................................................................................409 Installation d'autoresponder.......................................................................................................................................................................410 Installation de Qmailadmin........................................................................................................................................................................410 Utilisation, question courantes, etc ...........................................................................................................................................................411 Interface graphique de messagerie...................................................................................................................................................................412 Introduction................................................................................................................................................................................................412 Pré−requis.................................................................................................................................................................................................412 Configurer Apache.....................................................................................................................................................................................413 Configurer Horde.......................................................................................................................................................................................413 Configurer IMP..........................................................................................................................................................................................414 Configurer Turba.......................................................................................................................................................................................416 Configurer poppassd (optionnel : non sécurisé)........................................................................................................................................417 Configurer Postfix......................................................................................................................................................................................418 Amélioration...............................................................................................................................................................................................418 Client/Serveur VNC...........................................................................................................................................................................................419 Qu'est que c'est ?.....................................................................................................................................................................................419 Le principe de fonctionnement.................................................................................................................................................................419 Installation................................................................................................................................................................................................419 Utilisation du serveur sous Linux..............................................................................................................................................................419 viii Administration de Lin Table des matières Configurer les composants d'un réseau Utilisation du serveur sous Windows........................................................................................................................................................420 Utilisation du client....................................................................................................................................................................................420 Remarques...............................................................................................................................................................................................420 Le proxy Junkbusters.........................................................................................................................................................................................421 Introduction................................................................................................................................................................................................421 Pré−requis.................................................................................................................................................................................................421 Mise au Point.............................................................................................................................................................................................421 Installation.................................................................................................................................................................................................421 Administration de Linux..................................................................................................................................................................................................423 Le shell ou le retour du C:> ! (et les commandes).............................................................................................................................................423 Introduction...............................................................................................................................................................................................423 Commandes pour débuter........................................................................................................................................................................423 Quelques questions et réponses..............................................................................................................................................................426 Raccourcis................................................................................................................................................................................................429 Redirections..............................................................................................................................................................................................430 Gestion des processus.............................................................................................................................................................................431 Aliases et variables d'environnement.......................................................................................................................................................431 Configuration du shell...............................................................................................................................................................................432 Les entrailles du shell...............................................................................................................................................................................433 Index des commandes.............................................................................................................................................................................435 Les permissions sur les fichiers.........................................................................................................................................................................436 Un peu de théorie.....................................................................................................................................................................................436 Visualiser/modifier les permissions............................................................................................................................................................436 Lancer des commandes avec les droits de root................................................................................................................................................438 Introduction...............................................................................................................................................................................................438 Exemples d'utilisation...............................................................................................................................................................................438 Comment ça marche ?.............................................................................................................................................................................438 Associer un type de fichier avec un exécutable.................................................................................................................................................441 Un problème : associer un type de fichiers avec une application.............................................................................................................441 La solution : binfmt...................................................................................................................................................................................441 Une automatisation possible....................................................................................................................................................................441 Conclusion................................................................................................................................................................................................442 Configuration de LILO : LInux LOader (le chargeur de Linux)...........................................................................................................................444 Qu'est−ce que LILO..................................................................................................................................................................................444 Restauration du MBR...............................................................................................................................................................................444 Un exemple de fichier de configuration de base......................................................................................................................................444 Mise en place de LILO..............................................................................................................................................................................445 Ajouter un second noyau..........................................................................................................................................................................445 Les options de lilo.conf.............................................................................................................................................................................446 Configuration avancée..............................................................................................................................................................................447 Bonus : lilomsg.pl.....................................................................................................................................................................................448 Annexes....................................................................................................................................................................................................451 Configuration de GRUB : The GRand Unified Bootloader.................................................................................................................................453 Qu'est−ce que GRUB ?............................................................................................................................................................................453 Conventions de numérotation...................................................................................................................................................................453 Installation de GRUB................................................................................................................................................................................453 Charger un OS directement......................................................................................................................................................................454 Chaîner un OS..........................................................................................................................................................................................454 Exemples de fichiers de configuration......................................................................................................................................................454 Sécurité....................................................................................................................................................................................................455 Pour en savoir plus (beaucoup plus) sur GRUB.......................................................................................................................................455 Utilisation de LOADLIN (LOAD LINux)..............................................................................................................................................................456 Qu'est−ce que LOADLIN..........................................................................................................................................................................456 Installation de LOADLIN...........................................................................................................................................................................456 Démarrage de Linux avec LOADLIN........................................................................................................................................................456 Automatisation..........................................................................................................................................................................................457 Aperçu avant impression...................................................................................................................................................................................458 Objectif.....................................................................................................................................................................................................458 Le fichier /etc/printcap..............................................................................................................................................................................458 La configuration du filtre...........................................................................................................................................................................458 Le script qui prévisualise..........................................................................................................................................................................464 Utilisation..................................................................................................................................................................................................466 Conclusion................................................................................................................................................................................................466 PS2PDF.............................................................................................................................................................................................................467 PS2PDF....................................................................................................................................................................................................467 Montage de disques : /etc/fstab.........................................................................................................................................................................470 A quoi sert /etc/fstab.................................................................................................................................................................................470 Syntaxe de /etc/fstab................................................................................................................................................................................470 Un exemple..............................................................................................................................................................................................471 Gestion des daemons........................................................................................................................................................................................474 ix Table des matières Administration de Linux Définition...................................................................................................................................................................................................474 Fonctionnement........................................................................................................................................................................................474 Commandes utiles....................................................................................................................................................................................474 Ajouter ses propres services....................................................................................................................................................................474 Faire du ménage......................................................................................................................................................................................476 Programmation de travaux................................................................................................................................................................................477 Pourquoi ces outils de programmation ?..................................................................................................................................................477 Les différents outils de programmation de tâches....................................................................................................................................477 La commande at.......................................................................................................................................................................................477 La commande cron...................................................................................................................................................................................478 la commande anacron..............................................................................................................................................................................479 conclusion.................................................................................................................................................................................................480 Raid logiciel sous Linux.....................................................................................................................................................................................481 Introduction................................................................................................................................................................................................481 Le Raid et Linux.........................................................................................................................................................................................481 Niveaux de RAID disponibles sous Linux..................................................................................................................................................482 Disques de spare.......................................................................................................................................................................................483 Mise en pratique........................................................................................................................................................................................483 Chunk Size................................................................................................................................................................................................485 Amélioration des performances.................................................................................................................................................................485 Utiliser le RAID sur une partition de swap ?..............................................................................................................................................485 Divers........................................................................................................................................................................................................485 Glossaire...................................................................................................................................................................................................485 Optimisez votre système Linux..........................................................................................................................................................................487 Considérations générales..........................................................................................................................................................................487 Parallélisme...............................................................................................................................................................................................487 Le tuning du système................................................................................................................................................................................487 La mémoire virtuelle..................................................................................................................................................................................487 Le système de fichiers...............................................................................................................................................................................488 Le réseau...................................................................................................................................................................................................489 Divers........................................................................................................................................................................................................490 Glossaire...................................................................................................................................................................................................491 Sécuriser linux...................................................................................................................................................................................................492 1. Stratégie de mot de passes, de comptes et shadowing.......................................................................................................................492 2. Stopper les services inutiles et dangereux............................................................................................................................................492 3. Filtrer les services.................................................................................................................................................................................493 4. Mettre à jour son kernel et ses packages contre les bugs connus.......................................................................................................493 5. Vérifier les permissions........................................................................................................................................................................493 6. Bloquer les logins dangereux des services..........................................................................................................................................494 7. N'autoriser les services qu'à certaines machines distantes..................................................................................................................494 8. Conclusion............................................................................................................................................................................................494 Exploration de la configuration..........................................................................................................................................................................495 Avant propos............................................................................................................................................................................................495 Mon matériel.............................................................................................................................................................................................495 Mon système GNU/Linux..........................................................................................................................................................................499 Mot de la fin..............................................................................................................................................................................................501 Compiler php avec mysql pour le serveur Apache............................................................................................................................................503 Introduction................................................................................................................................................................................................503 Quelle installation faire ?...........................................................................................................................................................................503 Compiler ou recompiler Apache pour ensuite faire l'installation dynamique :...........................................................................................503 L'installation dynamique :..........................................................................................................................................................................503 L'installation statique :...............................................................................................................................................................................504 Voici la partie commune aux deux installations :.......................................................................................................................................505 L'initialisation de la distribution Slackware.........................................................................................................................................................506 Introduction...............................................................................................................................................................................................506 Les niveaux d'exécution...........................................................................................................................................................................506 Le fichier /etc/inittab de la Slackware.......................................................................................................................................................506 Les scripts contenus dans le répertoire /etc/rc.d et leur signification.......................................................................................................507 Notes........................................................................................................................................................................................................509 Conclusion................................................................................................................................................................................................509 Configurer et compiler son noyau.................................................................................................................................................................................511 Le noyau (kernel) de Linux : le compiler............................................................................................................................................................511 D'abord, quelle est la version actuelle du noyau ?...................................................................................................................................511 Vous avez besoin d'un nouveau noyau si :..............................................................................................................................................511 Installation d'un noyau précompilé...........................................................................................................................................................511 Aide−mémoire rapide...............................................................................................................................................................................511 Comment compiler mon propre noyau ?..................................................................................................................................................512 Installation des sources du noyau............................................................................................................................................................512 Phase de configuration du noyau.............................................................................................................................................................512 Phase de compilation du noyau et des modules......................................................................................................................................513 x Linux : plateforme de développe Table des matières Configurer et compiler son noyau Installation du nouveau noyau..................................................................................................................................................................513 Annexe : copies d'écran...........................................................................................................................................................................514 Annexe : quelles options choisir...............................................................................................................................................................515 Cas particuliers.........................................................................................................................................................................................519 Compilation du noyau 'à la façon Debian'..........................................................................................................................................................520 pré requis:.................................................................................................................................................................................................520 Compilation du noyau...............................................................................................................................................................................520 Installation du nouveau noyau..................................................................................................................................................................520 Compilation et installation des modules PCMCIA....................................................................................................................................521 Les packages nécessaires pour compiler..........................................................................................................................................................522 Packages nécessaires pour compiler le noyau........................................................................................................................................522 Packages nécessaires pour compiler une application..............................................................................................................................522 Les modules de Linux........................................................................................................................................................................................525 A quoi ça sert ?.........................................................................................................................................................................................525 Où se trouvent−ils ?..................................................................................................................................................................................525 Comment les manipuler ?.........................................................................................................................................................................525 Comment les recompiler / en ajouter ?.....................................................................................................................................................525 Comment faire pour les charger automatiquement ?...............................................................................................................................526 Compiler et installer un noyau 2.4−test − FAQ..................................................................................................................................................527 Introduction................................................................................................................................................................................................527 Problèmes de connection ppp ?................................................................................................................................................................527 Problèmes de LILO ?.................................................................................................................................................................................527 Problèmes d'USB ?...................................................................................................................................................................................527 Autres problèmes ?...................................................................................................................................................................................527 Installation d'un noyau 2.4.2..............................................................................................................................................................................528 Introduction................................................................................................................................................................................................528 Procédure d'installation avec "make xconfig"............................................................................................................................................528 Options "m"................................................................................................................................................................................................528 /boot et LILO..............................................................................................................................................................................................529 Les modules en général............................................................................................................................................................................529 Réflexions générales.................................................................................................................................................................................530 Linux : plateforme de développement...........................................................................................................................................................................531 Introduction à (g)awk.........................................................................................................................................................................................531 Introduction................................................................................................................................................................................................531 Premiers pas.............................................................................................................................................................................................531 Utiliser awk................................................................................................................................................................................................534 Des filtres en exemple...............................................................................................................................................................................534 Le mot de la fin, enfin ;−)...........................................................................................................................................................................536 PostgreSQL: installation....................................................................................................................................................................................537 Introduction................................................................................................................................................................................................537 Création d'un utilisateur "root" pour PostgreSQL......................................................................................................................................537 Récupération des sources et compilation..................................................................................................................................................537 Configuration du systéme..........................................................................................................................................................................538 Test du bon fonctionement........................................................................................................................................................................538 Programmation de Script: Une introduction.......................................................................................................................................................539 Introduction...............................................................................................................................................................................................539 Notions de base........................................................................................................................................................................................539 Les instructions de contrôle de scripts.....................................................................................................................................................542 SUID Scripts......................................................................................................................................................................................................546 Introduction................................................................................................................................................................................................546 Un échec...................................................................................................................................................................................................546 En C, ça ne marche pas non plus (au début) !..........................................................................................................................................546 Le début de la compréhension..................................................................................................................................................................547 Ça marche mais c'est dangereux..............................................................................................................................................................547 Nicking ze danger !....................................................................................................................................................................................548 En savoir plus............................................................................................................................................................................................549 Tshaw........................................................................................................................................................................................................550 Les Librairies C (linux).......................................................................................................................................................................................551 Introduction................................................................................................................................................................................................551 Rédaction : remarques..............................................................................................................................................................................551 Rédaction : le fichier d'en têtes..................................................................................................................................................................553 Rédaction : le fichier c...............................................................................................................................................................................554 Rédaction : le fichier de l'application.........................................................................................................................................................554 Compilation de tous les binious.................................................................................................................................................................555 En conclusion............................................................................................................................................................................................557 Utiliser la librairie gd..........................................................................................................................................................................................559 Introduction................................................................................................................................................................................................559 Préparatifs.................................................................................................................................................................................................559 Utilisation...................................................................................................................................................................................................560 Aller plus loin.............................................................................................................................................................................................564 xi Table des matières Linux : plateforme de développement Polices Freetype et gd−2.0................................................................................................................................................................................565 Introduction...............................................................................................................................................................................................565 Préparatifs................................................................................................................................................................................................565 Utilisation..................................................................................................................................................................................................565 Quoi de neuf dans gd−2 ?........................................................................................................................................................................569 Perl....................................................................................................................................................................................................................571 Avant propos............................................................................................................................................................................................571 Présentation.............................................................................................................................................................................................571 L'installation..............................................................................................................................................................................................571 Introduction au langage Perl.....................................................................................................................................................................572 Quelques autres commandes utiles.........................................................................................................................................................581 Exemple d'un script Perl...........................................................................................................................................................................582 Obtenir de l'aide ou en savoir plus...........................................................................................................................................................582 Le mot de la fin.........................................................................................................................................................................................582 Tous les trucs et astuces................................................................................................................................................................................................583 Administration....................................................................................................................................................................................................583 Copier à la volée avec tous les frontend...................................................................................................................................................583 Supprimer les ^M dans les fichiers ascii (bis)............................................................................................................................................584 RedHat 8.0 et le codage des caractères...................................................................................................................................................584 supprimer les ^M dans les fichiers ascii....................................................................................................................................................585 Envoyer un mail en console ou un fichier..................................................................................................................................................586 Eterm fondu dans le fond d'ecran..............................................................................................................................................................586 Utiliser le gestionnaire d'impression de KDE avec toutes les applications................................................................................................586 Clavier français avec LILO........................................................................................................................................................................586 Garder sa machine à l'heure.....................................................................................................................................................................587 Les menus d'Xterm....................................................................................................................................................................................587 Changer le hostname................................................................................................................................................................................587 Init et inittab : Enter runlevel......................................................................................................................................................................588 savoir quel processus utilise le son, tel répertoire.....................................................................................................................................588 imprimer des jpeg......................................................................................................................................................................................588 Comment recuperer gcc s'il a disparu (sur mandrake uniquement)..........................................................................................................589 redémarrer les services.............................................................................................................................................................................589 Aide mémoire sur la mémoire....................................................................................................................................................................589 Alt + UpArrow : kbrequest..........................................................................................................................................................................591 Ctrl + Alt + Del...........................................................................................................................................................................................591 Limiter la taille des fichiers CORE.............................................................................................................................................................592 Convertisseur d'extension PHP.................................................................................................................................................................592 Espace disque occupé par un répertoire...................................................................................................................................................593 Recherche sur internet sans pollution.......................................................................................................................................................594 Numlock sur la console et sous X.............................................................................................................................................................594 Monter au démarrage des partitions non linux..........................................................................................................................................595 Choisir le mode de démarrage avec LILO et LOADLIN (graphique, texte, maintenance, etc.).................................................................595 Espace disponible sur les disques durs....................................................................................................................................................596 Faire une démonstration au public............................................................................................................................................................596 gestion des RPMs avec Linux Mandrake : rpmdrake et urpmi..................................................................................................................596 Configurer Inetd.conf.................................................................................................................................................................................597 Changer le mode de démarrage par défaut..............................................................................................................................................597 Rediriger les messages système vers un terminal virtuel..........................................................................................................................598 Installation..........................................................................................................................................................................................................598 Changer de partition..................................................................................................................................................................................598 Créer une disquette de boot......................................................................................................................................................................599 Voir ses logs en fond d'ecran....................................................................................................................................................................599 install de plusieurs DD...............................................................................................................................................................................600 Désinstaller Linux......................................................................................................................................................................................600 Impossible d' installer Mandrake 7.2 ou 8.0..............................................................................................................................................601 Comment avoir accès à d'autres options lors de l'installation de la Mandrake 7.2 − 8.0 − freq2..............................................................601 Apache/php/gd/jpeg/png/zlib/freetype1 sur Slack7.1................................................................................................................................602 Comment je sais si mon système est basé sur libc5, Glibc 2.0.................................................................................................................603 SuSE 6.4 et Windows 2000.......................................................................................................................................................................603 Accéder à Linux pendant l'installation.......................................................................................................................................................603 Matériel..............................................................................................................................................................................................................603 Monter un disque dur Archos (Jukebox)....................................................................................................................................................603 Installation des drivers ATI sur une distribution sans RPM.......................................................................................................................604 Modem ECI ADSL : problème au bloc 259 lors d'un startmodem.............................................................................................................606 Snapscan e25 sur MDK9 (et autre)...........................................................................................................................................................606 Utiliser un appareil photo numérique USB Scott APX 30..........................................................................................................................607 QuickCam Logitech et MDK8.2.................................................................................................................................................................607 emu10k1 : réglages avancés.....................................................................................................................................................................608 Obtenir du son d'un chipset SiS7012........................................................................................................................................................608 Faire reconnaitre son scanner SCSI par une mandrake 8.2 récalcitrante.................................................................................................609 xii Table des matières Tous les trucs et astuces Compiler le driver NVidia avec un kernel > 2.4.9......................................................................................................................................609 Modems internes Olitec PCI HSF (V92, 56Kv2, etc.)................................................................................................................................611 Alcatel Speedtouch USB facile (MDK8.1)..................................................................................................................................................612 Olitec 56kv2 sous MDK 8.0 et 8.1.............................................................................................................................................................613 Chipset video NeoMagic............................................................................................................................................................................614 Problème avec un graveur de CD.............................................................................................................................................................614 Impression canon avec MDK 8.0...............................................................................................................................................................614 un cadenas sur mon floppy et mon zip 250 parallèle................................................................................................................................614 Connecter un disque firewire.....................................................................................................................................................................614 Modem Kortex PCI 56000 ki marche :−)...................................................................................................................................................615 Probleme avec Mandrake 8 / Chipset son ESS solo1...............................................................................................................................615 Alcatel Speedtouch USB + MDK8.............................................................................................................................................................615 Carte son Maxi Sound...............................................................................................................................................................................617 Rechercher quel driver il faut charger .......................................................................................................................................................617 Installation du modem Alcatel Speedtouch USB (MDK 8.0 et autres distributions...)................................................................................617 Changer pour une souris USB...................................................................................................................................................................618 Carte son intégrée (ex : VIA 82c686) + noyau 2.4.x..................................................................................................................................618 Aide pour améliorer les performances des drivers NVidia 0.9.6................................................................................................................619 carte SCSI Adaptec AVA1505...................................................................................................................................................................619 Zip 100 Mo parallèle..................................................................................................................................................................................619 tablette Wacom PenPartner (MDK 7.2).....................................................................................................................................................620 Accélérer un disque dur.............................................................................................................................................................................621 Modem 3Com PCI 56K Fax.......................................................................................................................................................................621 La mémoire n'est pas totalement détectée................................................................................................................................................622 Accélérer le swap......................................................................................................................................................................................622 Noyau................................................................................................................................................................................................................622 Récupérer le fichier .config........................................................................................................................................................................622 Alléger son noyau en utilisant les modules...............................................................................................................................................623 Noyau 2.4.x et Supermount.......................................................................................................................................................................623 Utiliser vos disques Ultra−ATA..................................................................................................................................................................625 Patcher le noyau........................................................................................................................................................................................625 Mise à jour du noyau : conserver la config de votre distrib........................................................................................................................625 Surveiller les messages de syslog.............................................................................................................................................................626 Au secours !.......................................................................................................................................................................................................627 En cas de perte d'un mot de passe (bis)...................................................................................................................................................627 En cas de perte d'un mot de passe...........................................................................................................................................................627 Sortir élégamment d'un plantage...............................................................................................................................................................629 S'en sortir quand on débarque sur Linux...................................................................................................................................................630 Comment faire quand on n'arrive plus à booter ?.....................................................................................................................................631 Codes d'erreur de LILO (L, LI, LIL, LIL−, 01 01 01 etc.)............................................................................................................................631 remettre la touche CR en fonction sur un clavier québécois.....................................................................................................................632 L'écran clignotte et Linux ne démarre plus................................................................................................................................................632 Disquette rescue........................................................................................................................................................................................633 Linux ne démarre plus !............................................................................................................................................................................633 Shell...................................................................................................................................................................................................................633 Retrouver efficacement une ancienne commande....................................................................................................................................634 lancer plusieur appli de la console............................................................................................................................................................634 Extraire les fichiers d'un paquet rpm.........................................................................................................................................................634 Afficher joliment le PATH...........................................................................................................................................................................634 Laisser tourner un processus même si on ferme le terminal.....................................................................................................................634 Déterminer son adresse IP........................................................................................................................................................................635 Yes !..........................................................................................................................................................................................................635 Compression simultanée du tar au gz / bz2..............................................................................................................................................635 Rechercher/remplacer...............................................................................................................................................................................636 Convertir les pages man en pdf.................................................................................................................................................................636 Supprimer un fichier commençant par "−".................................................................................................................................................636 Rechercher du texte dans une page man.................................................................................................................................................637 Sections de manuel ?................................................................................................................................................................................637 ls en couleurs............................................................................................................................................................................................638 Exécuter une succession de commandes dépendantes...........................................................................................................................638 Naviguer dans le résultat d'une commande..............................................................................................................................................638 Un rpm est−il installé (version console).....................................................................................................................................................638 Trouver dans quel package rpm se trouve un fichier donné......................................................................................................................639 Taper les nom de fichiers contenants des espaces...................................................................................................................................639 Travailler sur un ensemble de fichiers.......................................................................................................................................................639 Logiciels.............................................................................................................................................................................................................640 Charger un groupe d'onglets sur Mozilla...................................................................................................................................................640 Utiliser xdvi (ou kdvi) en liaison avec l'éditeur du document source latex ou tex......................................................................................641 Convertir la piste son d'un DVD en CD audio............................................................................................................................................642 Accélérer le lancement de OpenOffice......................................................................................................................................................642 Ecouter Oui FM, Fun Radio, Skyrock........................................................................................................................................................643 xiii Table des matières Tous les trucs et astuces Diablo II sous Wine....................................................................................................................................................................................644 Ripper simplement des mp3/ogg avec Konqueror.....................................................................................................................................645 Entrer du texte japonais avec un Mandrake 8.2 configurée pour le français.............................................................................................645 Java dans Konqueror, Mozilla, Galeon......................................................................................................................................................646 Faciliter la recherche sur Léa....................................................................................................................................................................646 Avec Galéon......................................................................................................................................................................................................646 Avec Konqueror.................................................................................................................................................................................................646 Enregistrer du son avec Yarec..................................................................................................................................................................647 Maple7 et Linux Mandrake 8.1..................................................................................................................................................................647 lancer grip en choisissant parmi 2 lecteurs de cd......................................................................................................................................647 Comment créer des fichiers postscripts ou PDF sans latex......................................................................................................................648 Consulter le manuel (pages man) avec Konqueror...................................................................................................................................648 Get Right sous linux !................................................................................................................................................................................648 Utiliser Konqueror/khelpcenter pour lire les pages de manuel..................................................................................................................648 Jouer à UnReal Tournament.....................................................................................................................................................................649 Installation de perl5.6................................................................................................................................................................................650 Les fontes sous Netscape.........................................................................................................................................................................650 Supprimer les bandeaux publicitaires........................................................................................................................................................650 X Window...........................................................................................................................................................................................................651 nvtv−out pour la sortie TV des nvidia........................................................................................................................................................651 Choix au demarrage en ligne de commande.............................................................................................................................................651 KDE: Déplacer une fenêtre sans bordure..................................................................................................................................................651 Copier/Coller en 2 clics..............................................................................................................................................................................651 Activer Numlock au démarrage de [xk]dm.................................................................................................................................................651 configurer son xterm..................................................................................................................................................................................652 Utiliser 2 souris avec XFree3 et en mode texte (console).........................................................................................................................652 Emulez la souris au clavier........................................................................................................................................................................654 Lancer plusieurs sessions de X.................................................................................................................................................................654 Configuration d'une carte NVidia sous la Mandrake 8.0............................................................................................................................655 Utiliser la sortie TV−Out des cartes NVidia...............................................................................................................................................655 Régler les DPI de votre écran (XFree86 4.0.x)..........................................................................................................................................656 Utiliser deux souris avec XFree 4..............................................................................................................................................................657 connection refused by server....................................................................................................................................................................657 Activer la roulette des souris sous X.........................................................................................................................................................657 NumLock et X Window..............................................................................................................................................................................658 Réseau..............................................................................................................................................................................................................658 Que faire si pppd call adsl n'est pas verbeux?..........................................................................................................................................659 Trouvez des fichiers ou articles exclusivement linux/unix.........................................................................................................................659 Flash avec Konqueror...............................................................................................................................................................................659 Apache : Virtual Host et Ip Dynamique......................................................................................................................................................659 Connection SSH sans mot de passe.........................................................................................................................................................660 gpg et Kmail...............................................................................................................................................................................................660 Reprendre un transfert de fichier (2).........................................................................................................................................................661 Quelques méthodes pour virer la pub + grosse base de données d'adresses à bannir............................................................................661 Récupérer le mail d'Outlook sous Linux....................................................................................................................................................662 Connexion avec Freetelecom (en cas de probleme).................................................................................................................................662 Regler le MTU (optimisation modem)........................................................................................................................................................662 Reprendre un transfert de fichier...............................................................................................................................................................663 Comment lire les animations Flash sous Konqueror (plugins Netscape pour Konqueror)........................................................................663 Garder son anonymat sur le web (sauf pour léa ;−)..................................................................................................................................664 Se connecter via Infonie............................................................................................................................................................................665 Télécharger une suite de fichiers numérotés.............................................................................................................................................665 Rechercher un fichier sur internet en une seule ligne de commande........................................................................................................666 Comment supprimer des mails sans les rappatrier ?................................................................................................................................667 Connexion avec un serveur Novell............................................................................................................................................................667 Garder son anonymat sur le WEB.............................................................................................................................................................668 Noyau 2.4..........................................................................................................................................................................................................668 Migrer vers un kernel 2.4.x........................................................................................................................................................................668 Support PPP..............................................................................................................................................................................................668 Sauvegarde.......................................................................................................................................................................................................669 Cloner son système...................................................................................................................................................................................669 Pré−requis.........................................................................................................................................................................................................669 La première copie..............................................................................................................................................................................................669 Mise à jour de la copie par rapport à l'original...................................................................................................................................................670 Copier (déplacer) son Linux sur DD..........................................................................................................................................................670 Sauvegarde automatisée sur CDRW −− Complément..............................................................................................................................670 Restaurer une sauvegarde en conservant les droits initiaux.....................................................................................................................671 Sauvegarde sur ZIP...................................................................................................................................................................................671 Mdk 7.2 : sauvegarde automatisée sur CDRW.........................................................................................................................................672 Graver une image ISO...............................................................................................................................................................................673 Lecteur de bandes SCSI...........................................................................................................................................................................673 xiv Documentations annex Table des matières Tous les trucs et astuces Graver sous Linux.....................................................................................................................................................................................674 Graver avec un graveur IDE......................................................................................................................................................................674 Tester une image ISO avant de la graver..................................................................................................................................................675 Documentations annexes...............................................................................................................................................................................................677 Consignes pour les contributions.......................................................................................................................................................................677 Composition des fichiers..........................................................................................................................................................................677 Après la publication..................................................................................................................................................................................679 FAQ...................................................................................................................................................................................................................680 Glossaire............................................................................................................................................................................................................684 Les programmes préférés de Léa..................................................................................................................................................................................689 Accueil...............................................................................................................................................................................................................689 Bureautique.......................................................................................................................................................................................................689 Bureautique>Suites...........................................................................................................................................................................................690 Bureautique>Textes..........................................................................................................................................................................................692 Bureautique>Textes>LaTeX..............................................................................................................................................................................693 Bureautique>Tableurs.......................................................................................................................................................................................694 Bureautique>Présentation.................................................................................................................................................................................694 Bureautique>Dessin..........................................................................................................................................................................................695 Vie pratique........................................................................................................................................................................................................696 Vie pratique>Gestion/compta............................................................................................................................................................................696 Vie pratique>Education.....................................................................................................................................................................................697 Vie pratique>Généalogie...................................................................................................................................................................................698 Vie pratique>Catalogage...................................................................................................................................................................................699 Vie pratique>GPS..............................................................................................................................................................................................699 Réseau et Internet.............................................................................................................................................................................................700 Réseau et Internet>Navigateurs........................................................................................................................................................................701 Réseau et Internet>Mail....................................................................................................................................................................................703 Réseau et Internet>Transfert de fichiers...........................................................................................................................................................705 Réseau et Internet>Transfert de fichiers>P2P..................................................................................................................................................707 Réseau et Internet>Messagerie instantanée.....................................................................................................................................................709 Réseau et Internet>Chat...................................................................................................................................................................................711 Réseau et Internet>Serveurs.............................................................................................................................................................................712 Sciences............................................................................................................................................................................................................713 Sciences>astronomie........................................................................................................................................................................................713 Sciences>mathématiques.................................................................................................................................................................................714 Sciences>chimie................................................................................................................................................................................................716 Jeux...................................................................................................................................................................................................................716 Jeux>Casse−têtes.............................................................................................................................................................................................717 Jeux>Casse−têtes>Lemmings like....................................................................................................................................................................718 Jeux>Simulation................................................................................................................................................................................................718 Jeux>Plate−forme..............................................................................................................................................................................................720 Jeux>Action / Baston.........................................................................................................................................................................................721 Jeux>Action / Baston>Doom like.......................................................................................................................................................................721 Jeux>Action / Baston>Shoot'em up...................................................................................................................................................................723 Jeux>Sports.......................................................................................................................................................................................................724 Jeux>Arcade......................................................................................................................................................................................................724 Jeux>Arcade>Tetris like....................................................................................................................................................................................724 Jeux>Arcade>Casse−brique.............................................................................................................................................................................725 Jeux>Stratégie...................................................................................................................................................................................................725 Jeux>Stratégie>SimCity like..............................................................................................................................................................................727 Jeux>Stratégie>Civilisation like.........................................................................................................................................................................728 Multimédia.........................................................................................................................................................................................................728 Multimédia>image.............................................................................................................................................................................................729 Multimédia>video...............................................................................................................................................................................................730 Multimédia>video>Télé......................................................................................................................................................................................734 Multimédia>son.................................................................................................................................................................................................735 Multimédia>3D...................................................................................................................................................................................................738 Gestionnaires d'environnement.........................................................................................................................................................................740 Utilitaires système..............................................................................................................................................................................................743 Utilitaires système>analyseurs de logs.............................................................................................................................................................745 Utilitaires système>interfaces graphiques d'admin............................................................................................................................................745 Utilitaires système>gestionnaire de fichiers.......................................................................................................................................................746 Utilitaires système>gestionnaire d'archives.......................................................................................................................................................747 Utilitaires système>supervision système...........................................................................................................................................................747 Utilitaires système>sauvegarde.........................................................................................................................................................................747 Développement..................................................................................................................................................................................................748 Développement>Web........................................................................................................................................................................................751 Divers.................................................................................................................................................................................................................752 Le modèle..................................................................................................................................................................................................755 xv Table des matières Les programmes préférés de Léa La méthode................................................................................................................................................................................................755 Léa : Le Jeu.......................................................................................................................................................................................................756 Le Jeu........................................................................................................................................................................................................764 Règles du jeu.............................................................................................................................................................................................764 Le plateau de jeu.......................................................................................................................................................................................764 Léa.............................................................................................................................................................................................................764 Léo.............................................................................................................................................................................................................766 Léa et Léo..................................................................................................................................................................................................766 Tux le pingouin..................................................................................................................................................................................................766 Léa s'amuse......................................................................................................................................................................................................................768 Divers ressources liées à Linux.....................................................................................................................................................................................773 Le logiciel libre..................................................................................................................................................................................................773 Les sites de news.............................................................................................................................................................................................773 Les documentations pour bien débuter............................................................................................................................................................773 D'autres documentations..................................................................................................................................................................................773 Livres en ligne...................................................................................................................................................................................................773 Serveurs FTP − Téléchargement.....................................................................................................................................................................774 X Window..........................................................................................................................................................................................................774 Les environnements.........................................................................................................................................................................................774 Les distributions................................................................................................................................................................................................774 Plus de liens.....................................................................................................................................................................................................774 Divers/Rien à voir/Copinage ............................................................................................................................................................................774 PAF Debian − Petit Annuaire Francophone Debian..........................................................................................................................................774 Sites spécifiques........................................................................................................................................................................................774 Documentation..........................................................................................................................................................................................775 Paquets .deb.............................................................................................................................................................................................775 Aide (et vous)............................................................................................................................................................................................776 Utilisations pratiques de Linux.......................................................................................................................................................................................777 La Programmation des microcontrôleurs PIC16F84 sur une Linuxette.............................................................................................................777 Introduction à la programmation de microcontrôleurs PIC16F84 sur une Linuxette..................................................................................777 Introduction...............................................................................................................................................................................................777 Le circuit...................................................................................................................................................................................................778 Notre premier programme........................................................................................................................................................................781 L'assemblage, utilisation de gpasm..........................................................................................................................................................784 Transfert vers le PIC, utilisation de pp......................................................................................................................................................784 Et les utilisateurs de Windows?................................................................................................................................................................787 Conclusions..............................................................................................................................................................................................787 Remerciements........................................................................................................................................................................................788 L'auteur.....................................................................................................................................................................................................788 À propos de ce document.........................................................................................................................................................................788 xvi Introduction Version du 15/02/2003. Avertissement Ce livre est le résultat de la compilation de toutes les documentations que l'on peut trouver sur le site Léa . Ce document peut être librement copié et distribué mais il est et reste la propriété de Léa. Il ne peut être commercialisé sous quelque forme que ce soit sans l'autorisation préalable de Léa (lea@lea−linux.org). Cette documentation n'a pas la prétention d'être exhaustive, ni d'être parfaitement exacte : par contre elle a l'ambition de le devenir. Ce que nous souhaitons c'est rendre service à des utilisateurs découvrant Linux, ainsi qu'à des utilisateurs connaissant Linux mais qui ont un problème de configuration quelconque. Si vous avez des remarques à faire, des modifications à apporter, des contributions : vous pouvez le faire sur le forum du site consacré aux améliorations de Léa. Lorsque vous trouverez des fautes d'orthographe, soyez sympa de nous les signaler. Au sein de ce fichier, vous pourrez cliquer sur la plupart des liens comme au sein d'un fichier HTML mais quelques liens ne seront disponibles que si vous avez le bon plugin pour Acrobat Reader (pour Linux, j'ai dû installer Acrobat depuis le RPM de Rufus). Vous voilà prévenu. Liberté Lorsque l'on parle de Linux, le mot liberté revient comme un leitmotiv. Ce mot est la traduction de l'anglais free. Certains traducteurs confondent souvent les deux sens anglais de ce mot : libre / gratuit. Il est vrai que l'on peut se procurer gratuitement Linux mais le plus souvent vous viendrez à Linux en achetant une distribution (et surtout un support technique). Ceci n'est pas en contradiction avec la caractéristique "free" de Linux. Linux est libre, c'est−à−dire que l'on peut copier, distribuer et surtout modifier Linux comme bon nous semble. Le plus important est que l'on peut modifier Linux (à la différence des freeware, qui sont gratuits mais non modifiables) et donc l'adapter à nos besoins : ajouter un nouveau 'driver' (logiciel gérant un matériel particulier), renforcer la sécurité du système, le réduire pour permettre de "l'embarquer" (sur une montre par exemple, si si ça existe), l'adapter à une nouvelle architecture. Donc si Linux ne vous convient pas : changez−le ;−). Pour la plupart des utilisateurs, la disponibilité du code source de Linux (les instructions qui définissent le logiciel), qui fait que l'on peut le modifier librement, importe peu, car ils n'ont pas les connaissances techniques pour apporter des modifications. Toutefois, la communauté des utilisateurs de Linux, et des logiciels OpenSource en général, bénéficie sans cesse des améliorations qui lui sont apportées par des utilisateurs volontaires. Pour plus d'informations sur les logiciels libres, vous pouvez visiter les sites www.gnu.org (Free Software Foundation) et opensource.org (Open Source Initiative). Présentation de Linux Linux est un système d'exploitation au même titre que Windows, Mac OS ou Solaris. La différence essentielle est que ce système d'exploitation est libre (tout comme le sont d'autres systèmes d'exploitation : NetBSD, FreeBSD, etc). Lorsque l'on parle de Linux, on se réfère en fait très souvent à une distribution (ensemble de logiciels) utilisant Linux comme cur du système d'exploitation. Il existe (du fait de sa liberté) de multiples distributions. Il n'est pas question ici de prétendre qu'une distribution est meilleure qu'une autre (encore qu'il existe de grosses différences entre les diverses distributions). Linux n'est sans doute pas le meilleur système d'exploitation qui soit mais il est vrai qu'il est d'une remarquable stabilité (il n'est pas rare de rencontrer des gens qui n'ont pas redémarré leur ordinateur fonctionnant sous Linux depuis de nombreux mois. Vous en connaissez qui prétendent la même chose avec Windows NT ou 2000 ?). De plus, Linux est un système multitâche (beaucoup pensent que ce multitâche est bien meilleur que celui de Windows mais je ne suis pas technicien) : sous Linux vous pouvez formater une disquette, écouter un CD audio et taper le texte de votre monographie sur les amours des mouches en même temps ! Vraiment en même temps, et sans planter ! Essayez pour voir avec Windows ! De plus, Linux est compatible POSIX, cela signifie que si un programme existe pour un autre UN*X compatible POSIX, son adaptation à Linux se fera (presque) sans problème ! C'est ce qui explique l'incroyable diversité de la logithèque de Linux (allez voir sur http://rufus.w3.org pour un échantillon). Linux fonctionne sur un nombre impressionnant d'architectures (matériels si vous préférez) : processeurs Intel x86 (Pentiums et compagnie), Alpha, ARM, Power PC (Macintosh, etc.)... et même les mainframes IBM et certains assistants personnels (PDA). Il existe des distributions de Linux tenant sur une disquette et d'autres sur un DVD ! Le fait que Linux ne soit qu'un système d'exploitation (pas une interface + un système d'exploitation comme Windows ou Mac OS) fait que le nombre d'interfaces graphiques fonctionnant sous Linux est incroyable. De plus, la mascotte de Linux est un pingouin, et ça c'est vraiment cool ;−) Pour une présentation plus complète de Linux et de ses logiciels, consultez cet article, qui vous aidera à débuter sous Linux. « Configurabilité » La plus grande différence que vous rencontrerez en venant de Windows vers Linux, c'est que cela semble pénible à configurer ! En fait, ce n'est pas vraiment exact : c'est très simple mais comme vous venez de Windows où rien n'est configurable tout vous semblera complexe. En fait, avec Linux rien n'est caché : quand quelque chose ne va pas, vous serez au courant ! De plus la configuration fine de votre système passe par la modification de quelques lignes (voir quelques centaines) dans des fichiers texte situés dans le répertoire /etc (tiens ? ce n'est pas C:\etc ;−). Introduction 1 Léa Evidemment comme toute chose un peu technique (et Linux ne vous cache pas les technologies qu'il utilise...) ces modifications ne doivent pas être faites à la légère (si vous souhaitez mettre un moteur de GTI dans votre 2CV vous le ferez faire par un spécialiste, par contre vous pourrez changer vous−même les pneus...). C'est là que Léa intervient : pour vous apprendre à changer les « pneus » de votre ordinateur et peut−être même (pour les plus curieux d'entre vous) à régler très finement certains paramètres qui autrement vous seraient restés obscurs. Ainsi Linux est−il composé d'un ensemble de logiciels que vous pouvez choisir indépendamment les uns des autres, et configurer chacun à votre manière. Par exemple, vous aurez le choix entre plusieurs interfaces graphiques différentes, là où Windows vous impose la sienne, à plusieurs suites bureautiques, etc. Ces logiciels vont du noyau (ou kernel) aux applications graphiques, en passant par les applications en mode texte, le gestionnaire de mode graphique (X Window), l'environnement de bureau (les plus courants se nommant KDE ou Gnome), etc. Les couches logicielles de Linux Léa "Léa Linux" est un site destiné à vous aider dans la configuration et l'utilisation de tous les jours de Linux. Nous nous adressons à l'utilisateur novice qui aimerait bien comprendre un peu comment ça marche, qui aimerait bien faire fonctionner ce &!@ de scanner ou de carte TV, qui aimerait bien ne pas être pris pour un imbécile quand il pose une question. Nous nous adressons également à l'utilisateur confirmé, soit comme aide−mémoire, soit par des articles plus poussés techniquement. Le site a comme (vaste, trop vaste ?) ambition de couvrir tous les domaines de la configuration et de l'utilisation de Linux. Nous sommes encore loin du but mais nous nous en rapprochons chaque jour. N'hésitez pas à nous poser des questions sur le forum du site (évitez de nous écrire personnellement pour cela, car nous ne pouvons pas répondre à chaque mail). Dans la recherche de cet objectif, nous avons réalisé ce livre qui change au gré des modifications du site, le LéaBook ! Alors... bonne lecture, et que ce livre vous accompagne dans votre vie commune avec votre pingouin préféré ;−) Anne, Fred, Jice, Serge... et Léa ;) Contacts Léa est née et vit grâce au travail de toute une équipe. La voici : L'équipe Léa : le quattuor de coordinateurs Pour contacter l'équipe du site, envoyez un mail à admin chez lea−linux.org. Serge Tchesmeli 2 serge at lea−linux.org Fondateur, maintenance du site, rédaction, programmation PHP/SQL... Introduction Léa Jean−Christophe Cardot clé publique gpg Frédéric Bonnaud clé publique gpg Anne−Laure Nicolas taz98 chez altern point org ICQ UIN : 122123667 da jice's page web Cofondateur, maintenance / génération du site, mise en page, rédaction, programmation PHP/SQL, Perl... (Membre de l'AFUL, du CA des Mongueurs de Perl et des Paris Perl Mongueurs) frederic chez lea−linux point org ICQ UIN : 146552018 Maintenance du site, rédaction, programmation PHP/SQL, Perl, C, maintenance du LéaBooK... anne chez lea−linux point org ICQ UIN : 49194410 Maintenance du site, modération, graphisme, rédaction, éleveuse d'admins ;)... (Membre de l' AFUL) Retrouvez−nous sur IRC : serveur irc.lea−linux.org, canal #lealinux Inscrivez−vous sur la liste de diffusion de Léa. Notre Infographiste Jean Jacques Perrocheau jj.perrocheau at wanadoo.fr Logos, mise en page Les contributeurs du site +/− par ordre d'apparition : Pascal Montagne pmontagne at ifrance.com Eric Bénard home page Sébastien Kalt home page Xavier Garreau xgarreau at club−internet.fr Lionel Tricon ltricon at bigfoot.com Daniel Moyne dmoyne at club−internet.fr Miloz miloz at ifrance.com Roger Martin r.martin at waika9.com Didier Noak Dimitri Clatot dclatot at free.fr Xavier Facq xavier.facq at free.fr Philippe superjoker at free.fr Martial Daumas nasgaia at free.fr Christian Vivet claoli at free.fr Marc Jamot spi.mj at wanadoo.fr Emmanuel Brard emman chez agat point net Jean−Pascal Faure jpfaure at free.fr Michel Lalumiere chelbie at sympatico.ca Jean−Marc Lichtlé jean−marc.lichtle at gadz.org Pierre Fritsch fpb4 chez libertysurf point fr Guillaume Pierronnet moumar at netcourrier point com Herve Lombaert herve point lombaert chez polymtl point ca Pierre Jarillon jarillon chez abul org Raymond Ostertag r.ostertag chez caramail point com Jonesy jonesy chez wanadoo point fr Arnaud de Bermingham duracell chez apinc point org Sylvain Borde sylvain borde chez laposte net Pascal Cussy pascal cussy chez libertysurf fr Charles Dufourneau (DuF) charles dufourneau1 chez libertysurf fr neosadik neosadik chez tuxfamily org Boris Lesner talanthyr chez tuxfamily org Laurent Dubettier−Grenier laurent dubettier−grenier chez laposte net Sans oublier tous les participants aux forums de Léa ainsi que tous ceux qui nous postent leurs astuces. Note: Si nous vous avons oublié, n'hésitez pas à nous contacter pour que nous corrigions cet oubli. Introduction 3 Léa 4 Introduction Découvrir Linux par Jice & Anne Non, non, ce n'est pas "Linux pour les nuls" !!! ;−) Mais un article avec des morceaux de copies d'écran dedans Introduction L'ensemble d'articles ici présent a été rédigé dans le but de vous aider à découvrir concrètement GNU/Linux, à appréhender le monde du logiciel Libre et en comprendre ses concepts principaux, et enfin à bien débuter sur Linux. Toutes les informations ne sont pas dans ces documents ; ils constituent plutôt une trame vous permettant d'accéder à la documentation disponible sur Léa ou ailleurs. Nous vous conseillons, dans tous les articles de Léa, de cliquer sur les mots en vert foncé, qui renvoient à une définition des termes dans le glossaire de Léa. Vous venez d'installer Linux, ou vous vous apprêtez à le faire ? Vous venez de démarrer votre Linux fraîchement installé et vous voulez quelques conseils pour vous aider à démarrer ? Ce qui suit vous renseignera sur les principaux concepts et sur l'histoire de Linux, sur des termes comme GNU ou GPL ou encore distribution. Vous apprendrez aussi les rudiments de la ligne de commande, toujours indispensables en cas de pépin, et nous vous présenterons les principaux programmes textes ou graphiques. Vous y verrez que Linux, au delà d'une interface texte parfois austère, est aussi un formidable environnement graphique où vous pourrez travailler et jouer. D'abord, c'est quoi, Linux ? Linux est un système d'exploitation au même titre que Windows ou Mac OS. La différence essentielle est que ce système d'exploitation est libre. Lorsque l'on parle de Linux, on se réfère en fait très souvent à une distribution (ensemble de logiciels) utilisant Linux comme cur du système d'exploitation. Il existe (du fait de sa liberté) de multiples distributions (Debian, Mandrake, Red Hat, etc.). Linux n'est sans doute pas le meilleur système d'exploitation qui soit, mais il est vrai qu'il est d'une remarquable stabilité (il n'est pas rare de rencontrer des gens qui n'ont pas redémarré leur ordinateur fonctionnant sous Linux depuis de nombreux mois. Vous en connaissez qui prétendent la même chose avec Windows NT ou 2000 ?). De plus, Linux est un système multitâche : sous Linux vous pouvez formater une disquette, écouter un CD audio, graver un CD de sauvegarde, télécharger des fichiers sur internet, et taper le texte de votre monographie sur les amours des mouches en même temps ! Vraiment en même temps, et sans planter ! Essayez pour voir avec Windows ! De plus, Linux dispose d'une logithèque très diversifiée (allez voir sur la logithèque de Léa pour un échantillon). Linux fonctionne sur un nombre impressionnant d'architectures (matériels si vous préférez) : processeurs Intel x86 (Pentiums et compagnie), Alpha, ARM, Power PC (Macintosh, etc.)... et même les mainframes IBM et certains assistants personnels (PDA). Il existe des distributions de Linux tenant sur une disquette et d'autres sur un DVD ! Le fait que Linux ne soit qu'un système d'exploitation (pas une interface + un système d'exploitation comme Windows ou Mac OS) fait que vous avez le choix entre nombre d'interfaces graphiques. De plus, la mascotte de Linux est un pingouin, et ça c'est vraiment cool ;−) Installer Linux L'installation de Linux fait l'objet d'un article à part entière sur Léa. Consultez−le avant votre prochaine installation ! Au fur et à mesure de votre prise d'expérience dans le monde Linux, vous vous rendrez compte de la facilité à installer Linux. Non seulement les distributions évoluent vite en ce sens, mais aussi votre expérience vous aidera vite à trouver la voie ;) Par exemple, une installation de la distribution Mandrake 9.0 m'a pris seulement 20 minutes, en mode recommandé et en prenant les réponses par défaut aux questions "compliquées" ;−) Le plus gros travail est de préparer ses disques durs pour recevoir Linux. Découvrir Linux sans l'installer ? C'est précisemment le but des distributions du style de Demolinux ou Knoppix. Ces distributions vous permettent de démarrer votre ordinateur depuis un CD et reconnaissent votre matériel ; elle ne touchent pas au disque dur et n'altèrent donc en rien votre ordinateur, mais sont pleinement fonctionnelles et n'ont rien à envier aux distributions plus classiques de Linux. Suite... Les articles suivants vous permettront de mieux comprendre : • Découvrir Linux − concepts et histoire : des infos sur l'historique, les licenses utilisées, les différentes distributions dans lesquelles vous allez Découvrir Linux 5 Remerciements devoir faire un choix. • Découvrir Linux − démarrage : c'est le premier contact avec Linux, à savoir démarrage/arrêt de la machine, session graphique, premières astuces... • Découvrir Linux − les 1ères questions : les questions et problèmes courants du débutant. D'autres trucs pour vous en sortir (disquette, CDROM, utilisateurs...) • Découvrir Linux − Aller plus loin : les connaissances à avoir pour se servir de Linux tous les jours : la ligne de commande, le multimédia, internet, la cohabitation avec d'autres systèmes d'exploitation, l'administration de la machine, l'installation de nouveau matériel... • Enfin, Quels programmes utiliser... pour passer de Windows à Linux, nous avons répertorié les logiciels sous Linux avec leurs équivalents Windows. Remerciements A la vue de l'étendue du travail concernant le sujet, l'article sera en constante amélioration et développement. Nous tenons pourtant à remercier dès maintenant Marc et Jiel qui nous ont beaucoup aidés à relire, corriger et améliorer la structure de ces articles. Linux et le projet GNU Historique et description des principaux concepts et de la philosophie du Libre par Jice & Anne Le projet GNU, la Free Software Foundation (FSF) et la license GPL Fin 1983, Richard Stallman, alors chercheur au laboratoire d'intelligence artificielle du MIT aux États−Unis, lance le projet GNU, en réaction à la pratique alors émergente qui consistait à garder secret le code source des logiciels et à contraindre au paiement d'une licence pour leur utilisation. Son objectif est de développer un système d'exploitation complet, semblable à Unix et qui soit un logiciel libre : le système GNU. (« GNU » est l'acronyme récursif the « GNU's Not Unix »; on le prononce « gnou » avec un G audible). Afin de récolter des fonds, il crée la Free Software Foundation, et commence à développer de nombreux logiciels. On lui doit notamment le célèbre éditeur Emacs, le compilateur gcc, etc. La liberté au sens GNU est définie selon quatre principes : 1. la liberté d'exécuter le programme, pour tous les usages (liberté 0). 2. la liberté d'étudier le fonctionnement du programme,et de l'adapter à vos besoins (liberté 1). 3. la liberté de redistribuer des copies, donc d'aider votre prochain, (liberté 2). 4. la liberté d'améliorer le programme et de publier vos améliorations, pour en faire profiter toute la communauté (liberté 3). Pour les points 2 et 4, l'accès au code source du programme est une condition indispensable. Le projet GNU a ainsi défini une licence afin de protéger la liberté de ses travaux, la licence GPL, sous laquelle sont publiés un grand nombre de logiciels libres. Le site www.gnu.org offre une comparaison entre les licences existantes. Notons enfin que « libre » ne signifie par nécessairement « gratuit » ou « non commercial », l'auteur d'un logiciel libre ou de modifications étant libre de le distribuer gratuitement ou non. La licence GPL a depuis été utilisée par de nombreux logiciels, le plus célèbre sur ce site étant bien sûr le noyau Linux. Pour plus d'informations, voir l'historique du projet GNU sur www.gnu.org. Les autres licences Pour les logiciels, c'est la licence d'utilisation qui détermine ce que l'utilisateur a le droit de faire ou pas. La licence doit donc protéger le logiciel tout en laissant aux utilisateurs les quatres libertés citées ci−dessus. Voici les principales Licences Libres existantes : • GPL : General Public License, qui provient du projet GNU (voir ci−dessus). Description sur le site GNU : Il s'agit d'une licence de logiciel libre et d'un gauche d'auteur*. Nous la recommandons pour la plupart des paquetages logiciels. • FDL : Free Documentation License, provient aussi du projet GNU. Description sur le site GNU : Cette licence a été conçue pour les documents sous gauche d'auteur. Nous prévoyons de l'adopter pour tous les manuels GNU. Elle convient également pour d'autres catégories d'oeuvres utiles telles que les manuels scolaires ou les dictionnaires, pas exemple. Son domaine d'aplication n'est d'ailleurs pas exclusivement celui des oeuvres textuelles ("livres"). • BSD : Licence modifiée de BSD. Provient du projet BSD (un autre Unix libre). Description sur le site GNU : Il s'agit de la licence BSD d'origine, mais privée de sa clause publicitaire. C'est une licence de logiciel libre simple et permissive, non gauche d'auteur, compatible avec la GPL de GNU. Si ce que vous souhaitez, c'est une licence permissive non gauche d'auteur, alors la licence BSD modifiée constitue un bon choix. Cependant, recommander la "Licence BSD" est une opération risquée du fait de la confusion possible avec la version d'origine, qui est mauvaise, de la licence BSD. Pour éviter ce risque, suggérez plutôt l'emploi de la licence X11. La licence X11 et la licence BSD révisée sont très proches l'une de l'autre. • X11 : Licence du projet X11 à l'origine de l'environnement graphique sous les Unix. Description sur le site GNU : Il s'agit d'une licence de logiciel libre simple et permissive, non gauche d'auteur, compatible avec la GPL de GNU. XFree86 l'utilise aussi. 6 Découvrir Linux Linux, un bref historiqu *gauche d'auteur est la traduction du mot Anglais "copyleft" qui est l'opposé de "copyright". Les licences à "gauche d'auteur" obligent les personnes qui apportent des modifications au logiciel et le distribuent, à distribuer également le code source de leurs modifications. Linux, un bref historique En 1991, Richard Stallman avait développé un grand nombre de logiciels, mais le composant de base du projet GNU n'avait pas encore vu le jour. Linus Torvalds (le nom Linux est issu d'un jeu de mot entre son prénom et Unix), 21 ans, étudiant finlandais à Helsinski, Finlande, démarra comme hobby l'écriture d'un nouveau noyau (cliquez sur les mots verts pour en avoir la définition) de système d'exploitation de type Unix fonctionnant sur plateforme i386. Il s'intéressait à Minix, un petit système Unix fonctionnant aussi sur PC, et décida de développer un système qui serait meilleur. Il publia la première version 0.02 sur le forum de discussion comp.os.minix, en demandant à d'autres développeurs de l'aider afin de l'améliorer : Vous regrettez les beaux jours de Minix−1.1, lorsque les hommes étaient des hommes et écrivaient leurs propres pilotes de périphériques ? Vous manquez d'un superbe projet et vous languissez après un système que vous pourriez modifier à votre convenance ? Vous êtes frustrés que tout fonctionne sous Minix ? Plus de nuits blanches passées à tenter de faire fonctionner un programme récalcitrant ? Alors ce message pourrait bien être pour vous. Comme signalé il y a un mois, je travaille actuellement sur une version libre et gratuite d'un système ressemblant à Minix pour les ordinateurs AT−386. J'ai finalement atteint un stade où il est utilisable (bien qu'il puisse ne pas l'être pour vous, selon ce que vous désirez), et je compte diffuser les sources pour une diffusion plus large. Il s'agit juste de la version 0.02... mais j'ai pu exécuter bash, gcc, gnu−make, gnu−sed, compress, etc. avec succès sous ce système. Peu à peu des personnes de plus en plus nombreuses se joignirent à Linus afin de développer le système que l'on connait aujourd'hui. Les nombreux utilitaires GNU furent intégrés à Linux. La license du noyau Linux est la GPL dont on a parlé plus haut. Par abus de langage, on désigne souvent par « Linux » l'ensemble des logiciels composant le système d'exploitation (noyau, utilitaires GNU, autres logiciels libres). Linux n'est en fait à proprement parler que le noyau de ce système, le reste des logiciels étant en grande partie issu du projet GNU. C'est pourquoi Richard Stallman et les puristes et parlent plutôt de « GNU/Linux ». Notons que le noyau officiel du projet GNU n'est pas Linux, mais le Hurd (le troupeau, en anglais, la page est également en anglais). En 1996, le besoin d'avoir un logo pour le noyau Linux se faisant sentir, un concours a été lancé. Linus Torvalds ayant dit qu'il aimait bien les pingouins, plusieurs mascottes furent soumises aux développeurs, et le dessin de Larry Ewing (réalisé avec le Gimp) fut choisi, et prénommé "Tux" (jeu de mot entre Linux et "tuxedo", costume de type smoking, en anglais − ou selon les versions : (T)orvalds (U)ni(X) −> TUX). Il est aujourd'hui universellement reconnu comme la mascotte de Linux, et a été rejoint en 2000 par notre 'tite Léa :−) (voir l'histoire de Tux le pingouin [anglais]). Les distributions De nombreux programmes composent GNU/Linux (pour faire simple, on dira Linux par la suite). D'une part, il y a bien sûr le noyau, mais aussi l'ensemble des utilitaires GNU, le système X Window, les environnements graphiques comme KDE, Gnome, Icewm, BlackBox, etc., les outils bureautiques (OpenOffice, KOffice, Abiword, Gnumeric et j'en passe), des outils pour travailler sur les images comme the Gimp, plus tout un tas d'utilitaires en mode texte et graphique permettant de graver des CD, d'écouter de la musique, de regarder la télé, de jouer, etc. S'il fallait aller sur le site de chacun de ces programmes, les télécharger et les compiler un à un, l'installation d'un système d'exploitation Linux complet avec ses applications prendrait plusieurs jours de travail ! C'est pourquoi des personnes s'attèlent à cette tâche, et distribuent un ensemble de logiciels + le noyau Linux, pré−configurés, avec une procédure d'installation : les distributions. Certaines sont "commerciales", c'est−à−dire fabriquées et distribuées gratuitement ou non par des sociétés ; elles respectent parfois plus ou moins bien l'esprit du libre (voir ci−dessous). D'autres sont complètement "libres", développées par des bénévoles. Voici une liste de distributions, les commentaires n'engagent que leur auteur (Jice) ;) Red Hat web Découvrir Linux Cette distribution est certainement la distribution "commerciale" la plus utilisée dans le monde, notamment pour les serveurs. C'est la distribution préférée d'Anne... 7 Chronologie Mandrake web Cette distribution très facile à installer dispute à Red Hat son statut de leader. Elle est conseillée pour l'utilisateur débutant, mais l'utilisateur avancé en manque de temps y trouvera aussi son compte (ce qui est mon cas ;−). C'est à mon avis la plus "libre" des distributions commerciales, de plus elle est réalisée par une société française (soyons chauvins ;), et dispose de bons sites pour le support. Bref, vous l'aurez compris, c'est mon choix. SuSE web C'est également une bonne distribution pour les débutants qui dispose aussi d'un bon site pour le support. Malheureusement, il me semble que SuSE ne respecte pas autant l'esprit du libre qu'il le faudrait. Notamment, vous êtes quasiment obligés d'acheter les CD/DVD si vous voulez l'installer ou monter de version (contrairement à Mandrake qui fournit en libre téléchargement les images ISO pour graver les CD). Le protocole d'installation par exemple est propriétaire. Voilà pourquoi on ne trouve jamais de version complète de SuSE dans les magazines... Debian web C'est vraiment LA distribution libre (réalisée par des bénévoles, elle ne comporte que des logiciels 100% libres). C'est un phénomène à part : il n'y a pas de société pour la commercialiser − et aucun impératif marketing, au contraire : la distribution sort quand les développeurs responsables du projet Debian estiment que tout est bon (ce qui donne des décalages entre ce qui était annoncé et la date réelle de sortie, et des logiciels pas toujours dans leur dernière version). Bref, c'est une distribution très stable. En revanche, elle reste plutôt réservée aux initiés. C'est la distribution préférée de nombreux utilisateurs avancés. Slackware web Je la trouve excellente ; l'installation n'est pas toute simple, mais je trouve sa maintenance plus aisée que sur les Red−Hat. Bref, c'est une distribution pour les initiés. Cette distribution permet de s'installer dans très peu de place disque (moins de 100 Mo) en ne choisissant que les packages indispensables. C'est la distribution préférée de Serge ;) Il existe encore bien d'autres distributions, par exemple Gentoo ou Sourcemage qui sont basées sur les sources des logiciels et se mettent à jour très simplement, etc. Vous remarquerez vite que le choix d'une distribution est un sujet délicat. Cela fait intervenir "les goûts et les couleurs" ;−) et il est courant de trouver sur les forums de longues discussions enflammées et souvent pleines de mauvaise foi (on appelle ce genre de discussion un "troll") où les partisans de plusieurs distributions s'affrontent. Pour ma part, je conseillerais vivement à l'utilisateur débutant une Mandrake, afin qu'il puisse assez facilement appréhender les principes de Linux (dont nous allons parler plus bas), et se familiariser avec ses nouveaux concepts. Ensuite, au bout d'un certain temps d'utilisation (un an ?), s'il veut approfondir ses connaissances, pourquoi ne pas essayer une Slackware ou une Debian ? Enfin, l'utilisateur confirmé saura seul faire son choix. Pour ma part, j'utilise Mandrake, car elle m'épargne pas mal de temps de configuration, et on peut aussi mettre les mains dans le cambouis lorsque c'est nécessaire. Une distribution Linux est avant tout un "Linux" comme tous les autres ! Plus d'infos sur les distributions (en anglais) sur distrowatch.com. Chronologie La chronologie ci−dessous est encore bien incomplète. Si vous avez des informations à y inclure, envoyez−vous un mail :−) 1984 Création de la Free Software Foundation, projet GNU, license GPL. 1991 Création de Linux (version 0.01). Seulement quelques développeurs se sont intéressés au programme publié par Linus sur le forum. Mais en décembre, plus d'une centaine de personnes s'était regroupée au sein de groupes de nouvelles ou de listes de diffusion. Linux n'est alors qu'un passe−temps de hacker et ne dispose pas d'interface graphique. 1992 Linux (version 0.96) est alors pleinement fonctionnel et dispose d'une interface graphique basée sur X Window (XFree86, voir aussi un historique de XFree). 1993 Plus de 100 développeurs contribuent à Linux (version 0.99). Le nombre d'utilisateurs est estimé à 20 000. Linus délègue la relecture du code à un noyau de quelques développeurs. 1994 Le 12 mars, sortie de Linux 1.0. La numérotation des versions devient celle qu'on connaît encore aujourd'hui : <version majeure>.<version mineure>.<sous version>. Les versions "stables" ont un numéro de version mineure pair. Le développement de nouvelles fonctionnalités s'effectue sur les versions dites "bêta", avec un numéro de version mineure impair. 1995 6 mars 1995 : sortie de Linux 1.2. 1996 8 juin 1996 : sortie de Linux 2.0. Les utilisateurs sont estimés à plus de 1,5 million. C'est le début de la reconnaissance de Linux par l'industrie. Naissance de Tux le pingouin. Dès le 30 septembre, commence la réalisation de Linux 2.1. 1997 Linux 2.1. Des magazines mensuels traitant de Linux sortent dans tous les pays. 8 Découvrir Linux Chronologie 1999 25 janvier 1999 : après plus de deux ans d'attente, sortie de Linux 2.2. Le 11 mai, début des hostilités sur la 2.3. été 1999 : Serge est fier de vous annoncer la naissance de la petite Léa dans sa page perso. Le papa est plein d'espoirs et les mensurations de la demoiselle s'avèrent tellement prometteuses pour l'avenir qu'il est vite rejoint par Jice pour assurer la croissance de cette belle plante ;−) 2000 Les bonnes résolutions de début d'année amènent Fred à rejoindre l'équipe. 2001 4 janvier 2001 : sortie de la version 2.4 de Linux. C'est aujourd'hui la version stable utilisée dans la plupart des distributions, mais depuis le 22 novembre 2001, les travaux continuent avec la version 2.5. 2002 L'âge de raison du noyau 2.4, développement du noyau 2.5 qui donnera à terme la prochaine version stable de Linux. Et surtout :−p l'arrivée d'Anne dans l'équipe de Léa ! 2003 Linux en est actuellement (1/2003) à la version 2.4.20, et la version de développement 2.5 va bientôt entrer dans la phase de "feature freeze", c'est à dire que les développeurs n'ajoutent plus de fonctionnalités, et se concentrent sur la stabilité. Nombre d'utilisateurs estimé (linuxcounter): 18 millions. (À faire : ajouter les grandes étapes des logiciels phares (The Gimp, KDE, Gnome...) dans cette chronologie. Merci de nous faire part des inexactitudes que vous constaterez :) Demain Linux 2.6 ou 3.0 ? Le débat fait rage sur kernel.org et la lkml (linux kernel mailing list) Suite : Découvrir Linux − démarrage : premier contact avec Linux, à savoir démarrage/arrêt de la machine, session graphique, premières astuces... Découvrir Linux 9 Découvrir Linux − premier contact Découvrir Linux − premier contact par Jice & Anne Ne soyez pas timide ! Ouvrez grandes vos mirettes et partez à l'exploration Première prise de contact Vous venez d'installer Linux et vous regardez, non sans émoi, défiler sur l'écran les messages de votre pingouin qui s'éveille à la vie. Contrairement à Windows, tous les détails du fonctionnement de Linux vont vous être accessibles. On ne vous cache rien :) mais vous êtes libres de ne pas les lire ;) Lancement du gestionnaire de boot La première phase du démarrage va vous permettre de choisir le système d'exploitation que vous souhaitez démarrer. En effet, vous avez probablement conservé sur votre machine un Windows, quelle que soit sa version. Et vous vous dites : "je vais conserver quelques temps Windows pour effectuer une transition en douceur vers Linux". Certes ! Mais est−il possible de booter tantôt sur Linux, tantôt sur Windows ? Eh bien oui ! Le pingouin n'est pas sectaire :). Les distributions installent généralement un "gestionnaire de boot" qui se nomme LILO ou GRUB. Ces programmes permettent de choisir quel système d'exploitation va démarrer. Vous pourrez les utiliser en mode graphique (plus joli :)) ou en mode texte. Lorsque vous démarerez votre ordinateur, vous verrez l'un de ces 4 écrans : GRUB en mode texte : GRUB version 0.92 (638K lower / 130048K upper memory) linux windows failsafe floppy Use the ‘ and “ keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command line. GRUB en mode graphique : LILO en mode texte : 10 Découvrir Linux Première prise de cont LILO 22 3.2 ..boot : linux windows boot: failsafe floppy Si vous appuyez sur la touche tabulation, vous voyez apparaître la liste des systèmes que vous pouvez démarrer. LILO en mode graphique : Choisissez "linux", et appuyez sur entrée. Affichage des messages systèmes Le démarrage se poursuit. Défilent alors une série d'informations sur l'initialisation de votre système et la détection du matériel. On vous l'a dit, on ne vous cache rien :). Si vous souhaitez malgré tout parcourir ces informations, allez lire "Le pingouin me parle". Vient ensuite le démarrage des services configurés sur votre machine (les lignes qui se terminent par [ OK ] quand le service s'est bien lancé). Remounting devfs at correct place if necessary Mounted devfs on /dev Freeing unused kernel memory: 136k freed INIT: version 2.83 booting scsi0: Tagged Queuing now active for Target 0 Setting default font (lat0−16): Amorçage en cours. Veuillez patienter ... Bienvenue sous Mandrake Linux 9.0 Pressez 'I' pour activer le mode interactif. Lancement du service DevFs : Démontage du RAMdisk initrd Mise en place des paramètres du noyau : Réglage de l'horloge (utc): mar nov 12 17:28:00 Chargement du clavier par défaut : Affectation du nom de machine Lea : Initialisation du contrôleur USB (usb−uhci) Montage du système de fichiers USB Vérification du système de fichiers racine Découvrir Linux [ OK ] [ [ [ [ [ [ [ [ [ OK OK OK OK OK OK OK OK OK ] ] ] ] ] ] ] ] ] 11 Première prise de contact Vous pourrez plus tard configurer les services que vous voulez démarrer ou non. Lire l'article consacré à ce sujet. Lancement de la session de travail La dernière étape du démarrage de Linux consiste en l'ouverture d'une session de travail... Eh oui pour parler au pingouin, il faut se présenter :). Suivant ce que vous avez choisi lors de l'installation, trois cas de figure peuvent ensuite se présenter : 1. Session en mode texte : l'écran ressemble à : Linux Mandrake 9.0 (Dolphin) on i586 login: Tapez alors votre nom d'utilisateur, suivi de votre mot de passe (celui que vous avez défini lors de la phase d'installation). Si alors vous voulez démarrer l'environnement graphique, tapez 'startx', mais lisez quand même ce paragraphe car il est important d'avoir des notions de ligne de commande. Si vous ne parvenez pas à obtenir l'interface graphique, allez voir ici. 2. Session en mode graphique : c'est la plupart du temps ce que vous obtiendrez à la première connexion et par la suite. Ci−dessous un exemple avec Mandrake : Cet écran vous donne la possibilité de vous connecter comme en interface texte, en entrant votre login et votre mot de passe. Mais il vous permet également de choisir le type d'interface graphique que vous souhaitez utiliser. 3. Autologin : certaines distributions récentes vous proposent de connecter automatiquement un utilisateur dès le démarrage. Vous n'avez pas à entrer votre mot de passe, et vous vous retrouvez directement sur votre bureau. Sous Linux, vous pourrez choisir le look et le comportement de votre bureau, car il n'y a pas d'interface unique : les plus courantes sont KDE et Gnome, mais également Windowmaker, IceWM, Enlightenment, GNUStep... En voici quelques exemples : • L'interface KDE 12 Découvrir Linux Première prise de cont Cliquer sur l'icône en forme de K en bas à gauche ici fera apparaître le "menu K" qui contient des icônes correspondant à des programmes que vous pouvez lancer. Les autres icône visibles ici sont des raccourcis pour (dans l'ordre) : − cacher les fenêtres et afficher le bureau − ouvrir un terminal − lancer l'explorateur de fichiers (Konqueror) dans le répertoire de l'utilisateur − lancer le navigateur web (également Konqueror) − lancer l'application de courrier (Kmail) − lancer l'aide en ligne − lancer le Mandrake Control Center − lancer l'éditeur de texte Kwrite Suivent les bureaux virtuels (ici un seul, numéroté '1'), la barre des tâches... • L'interface Gnome Découvrir Linux 13 Première prise de contact Le menu Gnome s'obtient en cliquant sur le bouton "Mandrake" ci−dessus. En général ce bouton ressemble plutôt à un pied , c'est le logo de Gnome. • L'interface IceWM IceWm est un environnement léger, particulièrement adapté aux petites configurations. 14 Découvrir Linux Première prise de cont Trucs et astuces du bureau • Une fonctionnalité intéressante et commune à ces interfaces graphiques : les bureaux virtuels. Ils permettent de disposer de plusieurs écrans virtuels différents que vous affichez tour à tour (vous pouvez aller jusqu'à 16 bureaux !). Vous pouvez ainsi par exemple organiser vos fenêtres de travail par type d'application. Exemple : Le bureau actif est indiqué en grisé (ici le bureau "user"), et vous pouvez voir le contour de vos fenêtres. Pour passer d'un bureau virtuel à l'autre, il suffit de cliquer sur l'une des 4 cases en fonction du bureau choisi. • Le copier/coller : Vous pouvez bien sûr copier/coller avec la bonne vieille méthode Ctrl−C/Ctrl−V comme sous Windows, mais Linux apporte une façon de faire beaucoup plus pratique. En effet, il suffit de sélectionner le texte avec le bouton de gauche (normalement, quoi), de placer le pointeur de la souris à l'endroit où on veut coller le texte, et d'appuyer sur le bouton du milieu pour coller. Essayez, vous verrez à quel point c'est pratique. • Le bouton du milieu : il ne sert pas qu'à coller. Dans les navigateurs web, cliquez sur un lien avec le bouton du milieu : une nouvelle fenêtre s'ouvre pour ce lien. Vous n'avez pas de bouton du milieu ? Si vous avez une roulette, c'est elle ce bouton : cliquez avec la roulette. Si vous avez une souris à deux boutons sans roulette, cliquez en même temps sur les deux boutons pour émuler le bouton du milieu. • Dans KDE, si vous glissez un fichier (pris dans l'explorateur de fichiers par exemple) vers un terminal, le chemin complet du fichier se copié dans le terminal. Pratique pour faire une manipulation sur un fichier sans taper son chemin. • Dans KDE, si vous appuyez simultanément sur les touches [Alt] et [F2], vous obtiendrez une ligne de commande via laquelle vous pouvez lancer une commande, par exemple taper le nom d'un programme pour le lancer. • Dans KDE, si une application est bloquée et ne répond plus, vous pouvez la "tuer" : en appuyant simultanément sur les touches [Ctrl] et [Échap], le curseur de la souris se transforme en tête de mort. Cliquez dans la fenêtre de l'application afin de la faire disparaître. • Faites−nous parvenir vos autres astuces ! La ligne de commandes En interface graphique vous pourrez également retrouver la ligne de commandes tel qu'elle existe en connexion en mode texte. Il suffit de lancer la console (également appelée shell, terminal, ligne de commande, etc.) ; par exemple : A savoir : vous disposez en fait simultanément de cette connexion en mode graphique et des terminaux texte. Autre astuce : n'oubliez pas le copier/coller à la souris décrit plus haut... Démarrer et arrêter Pour démarrer, il suffit d'allumer son ordinateur ;) ou bien de le rebouter (redémarrer). Pour arrêter Linux (ou le redémarrer), vous avez la possibilité de le faire en mode graphique, en cliquant sur "quitter l'environnement" (dans le menu K par exemple) et "redémarrer la machine". Vous pouvez aussi le faire en mode texte : "reboot" pour redémarrer, ou "shutdown" pour arrêter. Note : pour passer root lorsqu'on est connecté sous un utilisateur normal, ouvrir un terminal, et taper dedans : "su − root", puis entrée (su = substitue utilisateur). Vous devrez ensuite taper le mot de passe du super−utilisateur root. Si vous ne savez pas ce qu'est "root", voyez ce paragraphe. Découvrir Linux 15 Au secours ! Au secours ! Linux est réputé pour sa stabilité, toutefois des manipulations un peu violentes peuvent vous faire perdre la main sur votre interface graphique. Qu'à cela ne tienne ! Avec Linux, il faut perdre l'habitude d'éteindre sa machine violemment, ou d'appuyer sur le bouton "reset". Suivez plutôt les indications de docteur Jice, afin de "déplanter" proprement votre PC. Autres cas de figure gênant, vous démarrez ou rebootez votre Linux suite à une manipulation quelconque et celui−ci ne veut rien entendre... Impossible de démarrer, pas même le gestionnaire de multiboot... Pas de panique ! Vous disposez de plusieurs solutions : • Vous avez été prévoyant. Lors de l'installation, on vous a proposé de créer une disquette de secours. Retrouvez le sourire, il suffit de mettre la disquette dans le lecteur et démarrer la machine en ayant pris soin de vérifier dans le bios que vous pouviez booter sur une disquette. • Vous n'avez pas de disquette de secours, tout n'est pas perdu... La plupart des CD d'installation des distributions font office de media de secours. Il suffit de booter sur le premier CD−ROM de la distribution et de choisir un démarrage en mode rescue. Mode d'emploi sur Redhat 8.0 : suivez attentivement les étapes suivantes 1. démarrer en bootant sur le CD−ROM 2. à l'écran d'accueil, taper sur F5 3. paramétrer la langue et le clavier comme demandé à l'écran 4. choisir la partition où est installée la racine de Linux (/) 5. par défaut, vous pourrez accéder aux fichier de votre système dans /mnt/sysimage. Pour vous faciliter la vie, et ne pas avoir à mentionner systématiquement ce chemin, il vous suffit de taper chroot /mnt/sysimage et vous voila en terrain connu :). 6. pour rebooter, taper logout ou sur Ctrl + D. Mode d'emploi sur Mandrake 9.0 1. démarrer en bootant sur le CD−ROM 2. à l'écran d'accueil, taper sur F1 3. sur le nouvel écran, taper "rescue" puis la touche Entrée 4. le CD démarre alors, et vous est présenté un menu pour réaliser diverses opérations de récupération. • Vous n'avez ni disquette, ni CD−ROM, là encore ne paniquez pas :). Il vous reste encore la possibilité de créer une disquette de secours, voir d'utiliser les CD d'une autre distribution en mode "rescue" afin d'accéder à votre disque dur. Suite : Découvrir Linux − 1ères questions : encore d'autres trucs pour vous en sortir (disquette, CDROM, utilisateurs...) 16 Découvrir Linux Découvrir Linux − les 1ères que Découvrir Linux − les 1ères questions par Jice & Anne Demandez−moi tout ce que vous voulez... Les questions et problèmes courants du débutant Linux n'est−il destiné qu'aux nostalgiques de la ligne de commande ? Avant d'aller plus loin, jetons aux orties une idée préconçue : non, Linux n'est pas réservé aux maniaques de l'environnement en mode texte :). Les outils graphiques sous Linux n'ont aujourd'hui plus rien à envier à ceux de ses concurrents. A tout moment, il est possible de choisir son environnement : • le mode graphique est accessible en tapant simultanément sur les touches [Ctrl]+[Alt]+[F7] • le mode texte (6 terminaux différents, ou consoles virtuelles, numérotés de 1 à 6 − implacable :−) est accessible en tapant simultanément les 3 touches [Ctrl]+[Alt]+[Fn] (où n est le numéro du terminal) De nombreux outils graphiques permettent de tout faire "à la souris", même la plupart des tâches de configuration. À ce sujet, Mandrake est une des seules distributions qui disposent d'un outil graphique permettant de configurer de nombreux aspects de votre machine : le Mandrake Control Center. 1. Pour y accéder par le menu de KDE : Pour le lancer directement, la commande à exécuter est mcc. Vous pouvez par exemple (sous KDE) presser simultanément les touches [Alt] et [F2], et taper mcc, puis [Entrée], ou bien, taper cette commande dans un terminal. 2. Mandrake Control Center Découvrir Linux 17 Les questions et problèmes courants du débutant Nous vous conseillons de cliquer sur les différents icônes afin de constater tous les aspects de la machine que vous pouvez contrôler à travers cet outil. Accéder au contenu de son CD−ROM et sa disquette Pour accéder au contenu d'une disquette ou d'un CD−ROM, vous avez 2 possibilités qui reviennent exactement au même : • cliquer sur les icônes prévues à cet effet sur le bureau • réaliser l'opération "à la main" en ligne de commande (utile lorsque vous n'avez pas accès à l'interface graphique). On utilise la commande mount qui permet d'indiquer la mise à disposition de ces données à partir d'un périphérique donné root@pingu# mount /dev/fd0 /mnt/floppy (pour la disquette) root@pingu# mount /dev/cdrom /mnt/cdrom (pour le CD−ROM) Utilisateurs et root : késako ? Quel que soit l'environnement choisi, l'utilisation de votre Linux commence toujours par l'initialisation d'une session de travail . Oui, mais encore ? Et bien, vous devez être identifié en tant qu'un utilisateur bien précis. Pendant la procédure d'installation, on vous a demandé un mot de passe pour l'utilisateur root (voir plus bas) mais également on vous a laissé la possibilité de créer des utilisateurs "normaux". Il existe deux grands types d'utilisateurs sur Linux : • le super−utilisateur : il se nomme root. Lorsque vous prenez cette identité, vous êtes libre de tout faire sur le système, y compris de le détruire... Rien ne vous arrêtera :)). C'est pourquoi il est conseillé d'éviter de se connecter en tant que root surtout lorsque l'on débute, ceci afin de vous éviter de multiples déboires. • les autres utilisateurs : contrairement à root, leurs droits sont limités. Ils ne peuvent pas modifier de fichiers vitaux du système. En général, un utilisateur ne peut pas consulter les données privées d'un autre utilisateur, à moins de lui en avoir donné le droit. Si en essayant d'exécuter une commande, le système refuse avec un message d'erreur parlant de problème d'autorisation, du genre "permission denied", essayez de lancer la même commande en tant que root. Ainsi, la notion d'utilisateur est extrêmement importante, car elle permet d'une part de protéger les données des utilisateurs de la vue d'autres utilisateurs (si vous êtes plusieurs à utiliser l'ordinateur), et elle empêche les fausses manipulations qui compromettraient la stabilité du système. De plus, dans l'éventualité d'un virus ou d'un cheval de troie (éventualité peu probable, rassurez−vous ;−), travailler en tant qu' utilisateur restreint les droits du cheval de troie et l'empêche de véroler tout le système (c'est pourquoi les utilisateurs qui accordent beaucoup d'importance à la sécurité utilisent souvent un utilisateur spécial pour se connecter à internet). Quelques notions plus techniques maintenant. Un utilisateur sous Linux est défini par un certain nombre d'éléments : • son nom (username , ou login par abus de langage) • son numéro de matricule : eh oui ! nous ne sommes que des numéros ! :) (on l'appelle aussi UID ou User Identifier) • son groupe : le linuxien est un être sociable, il vit en groupe. Donc tout utilisateur de Linux appartient au moins à un groupe, appelé "groupe principal". La notion de groupe permet de gérer les permissions par groupe d'utilisateurs (par exemple un groupe pour les utilisateurs ayant le droit de se connecter à internet, etc.). Le groupe est également représenté par un numéro (appelé aussi GID ou Group Identifier). • un répertoire maison : chaque utilisateur dispose d'un "home directory", c'est−à−dire d'un répertoire personnel qui lui appartient. En général, 18 Découvrir Linux Les questions et problèmes courants du les données de l'utilisateur tuxedo seront stockées dans /home/tuxedo, que l'on note aussi ~tuxedo. Toutes ces informations sont répertoriées dans un fichier nommé /etc/passwd , consulté chaque fois que vous vous connectez. Le système vérifie ainsi que votre nom est bien référencé et que votre mot de passe est correct. Lorsque vous vous connectez, votre identité va conditionner l'accès ou non aux fichiers et programmes, grâce à un système de permissions sur les fichiers. Pour plus d'information sur les utilisateurs, voir le paragraphe suivant, et l'article sur les permissions sous Linux sur Léa. La gestion des utilisateurs • J'ai oublié de créer un utilisateur : vous pouvez après l'installation ajouter autant d'utilisateurs que vous le souhaitez. Pour cela, ouvrez un terminal, devenez root (voir paragraphe suivant), et utilisez la commande adduser : "adduser anne" ajoute l'utilisateur anne, pour lui donner un mot de passe, faites ensuite "passwd anne". • Vous êtes connectés en tant qu'un utilisateur normal, et vous voulez lancer une commande root ou en tant qu'un autre utilisateur ? Pas de problème, la commande 'su' (substitute user) est votre amie. Tapez "su − root" ou "su − autre_utilisateur", suivi de son mot de passe, et le tour est joué. La commande "whoami" vous dit qui vous êtes... • Pour changer le mot de passe de l'utilisateur tuxedo, tapez "passwd tuxedo". Pour changer votre propre mot de passe, tapez simplement "passwd", suivez les indications, et (en tant que root), "pwconv" afin de crypter et protéger les mots de passe. • Le répertoire de connexion (ou home directory en bon français) : Vous êtes dans l'arborescence, quelque soit l'endroit, vous pouvez revenir directement à votre home en tapant cd. • Groupes d'utilisateurs et droits sur les fichiers : comme dit dans le paragraphe précédent, tout utilisateur de Linux appartient à au moins un groupe d'utilisateurs, son groupe principal. Ce groupe est déterminé lors de la création et peut être modifié par la suite. L'appartenance à un ou des groupes est importante pour l'application des droits d'accès sur les fichiers et répertoires. Pour tout savoir sur le sujet, consultez l'article sur les permissions. J'ai oublié le mode passe de root ... Inutile de réinstaller votre Linux ! Vous avez un moyen de récupérer la situation en suivant les étapes suivantes : 1. reboutez la machine 2. stoppez le démarrage au niveau du gestionnaire de boot (il y en a deux, nommés LILO ou Grub) ♦ Avec Grub : taper sur Ctrl+C quand le menu de démarrage apparaît, puis sur la ligne de commande : taper "single user" , puis [Entrée] ♦ Avec LILO : sur l'invite LILO: qui s'affiche au tout début du démarrage, taper " linux single ", puis [Entrée] 3. le système se lance et non seulement ne va charger que le strict minimum pour fonctionner mais en plus ouvrir une session en tant que root sans demander de mot de passe. 4. changez le mot de passe de root : taper "passwd root" puis entrez le nouveau mot de passe. 5. remettez le système dans le bon niveau d'exécution (runlevel) en tapant "init 5" pour un démarrage graphique, ou "init 3" pour un démarrage texte. 6. les services et la configuration normale se mettent en place et le système finit de démarrer. Et voilà ! Le tour est joué :)) Configurer l'interface graphique Par défaut, à l'installation, le système est paramétré pour démarrer directement en mode graphique. Il peut arriver que lors du premier démarrage vous vous retrouviez face à une console texte... Horreur ! Pas d'inquiétude, il s'agit probablement d'une mauvaise configuration du mode graphique (le mode graphique est géré par ce qu'on appelle le serveur X, qui permet d'afficher les applications graphiques en utilisant votre carte graphique, l'écran, la souris, le clavier). Pour configurer correctement le mode graphique, vous avez à disposition : • Xconfigurator : plus convivial, laissez−vous guider, • XF86config : nettement moins convivial, le préféré des puristes ;), • vi : pour éditer à la main le fichier de configuration /etc/X11/XF86Config−4, • Sur Mandrake, le Mandrake Control Center, • Les articles de Léa ! Autre problème lié à la gestion de votre interface graphique, vous obtenez ce genre de message désobligeant : Error: Can't open display: :0.0 Il faut savoir en effet que pour afficher vos applications à l'écran, le système a besoin d'une adresse. S'il ne trouve pas cette adresse alors il ne peut pas afficher l'application. Une des raisons pour lesquelles il renvoie cette erreur peut être qu'il n'est pas autorisé à accéder à cette adresse. Pour débloquer cette situation il suffit de taper : root@pingu# xhost + autorise toutes les adresses root@pingu# xhost + 12.144.13.128 autorise une adresse précise (ici 12.144.13.128, que l'on peut remplacer par un nom de machine) Pour plus de précisions, lire les quelques lignes sur DISPLAY. Les petits trucs qui énervent à la connexion • la roulette de ma souris ne fonctionne pas : oui votre pingouin fonctionne à roulettes... Le problème est tout simplement que votre roulette n'est pas reconnue. Là encore, il suffit de modifier la configuration du serveur X pour qu'elle soit prise en compte. • le pavé numérique n'est pas verrouillé : si lorsque vous vous connectez sous interface graphique ou dans une console, le pavé numérique n'est pas activé, c'est désagréable ! Consultez le truc et astuce qui vous permettra de le verrouiller automatiquement à la connexion, en Découvrir Linux 19 Les questions et problèmes courants du débutant mode console et en mode graphique. Ça n'existe pas sous Linux undelete Sous Linux, ainsi que dans les derniers Windows aussi d'ailleurs, il n'y a pas la possibilité de récupérer un fichier malencontreusement effacé (par exemple par la commande rm le_fichier). En effet, sous DOS et Windows, encore récemment, vous aviez la commande "undelete" qui permettait de récupérer les fichiers effacés. Linux n'offre pas cette possibilité car le système de fichiers est très différent, et un fichier effacé est presque immédiatement recouvert par un autre sur le disque. Bref, utilisez la corbeille ! défragmenter La conception du système de fichiers de Linux est telle qu'elle ne se fragmente quasiment pas, contrairement à la conception préhistorique des systèmes de fichiers Fat32 de Microsoft. Il n'y a donc pas besoin de passer régulièrement plusieurs heures à défragmenter son disque dur. Notez qu'il existe bien des outils de défragmentation sous Linux, qui permettent d'optimiser la défragmentation, mais ils sont réservés à des usages très spécifiques, et ne sont quasiment pas utilisés (en 8 ans de Linux, je ne m'en suis jamais servi !) Suite : Découvrir Linux − Aller plus loin : les connaissances à avoir pour se servir de Linux tous les jours : la ligne de commande, le multimédia, internet, la cohabitation avec d'autres systèmes d'exploitation, l'administration de la machine, l'installation de nouveau matériel... 20 Découvrir Linux Découvrir Linux − aller plus Découvrir Linux − aller plus loin par Jice & Anne Tout sur Linux ;−) Aller un peu plus loin Maintenant que vous êtes plus familier avec le pingouin, poussons un peu plus loin l'exploration. Connexion en mode texte, ou "de l'utilité de connaître quelques notions de shell" Lorsqu'on parle de shell, il n'est pas question de partir ramasser des coquillages (shell en anglais) mais de vous parler de la ligne de commande de Linux (équivalent à l'environnement du mode DOS dans les systèmes Microsoft). Votre distribution vous propose un certain nombre d'outils graphiques ô combien plus conviviaux que la ligne de commande. Toutefois dans certaines situations, il vous sera bien utile de savoir utiliser quelques commandes de base pour manipuler les fichiers, obtenir des informations sur votre système, arrêter un programme... Pour plus d'informations, lisez l'excellent ;) article sur le shell de Léa ; voici en avant−première quelques commandes indispensables à connaître : Commande Linux équivalent MsDos cd cd change le répertoire courant. ls dir affiche le contenu d'un répertoire cp copy xcopy copie un ou plusieurs fichiers usage : cp source destination pour copier un répertoire : cp −R rep_source destination rm del efface un ou plusieurs fichiers rm −rf deltree efface un répertoire et son contenu mkdir md crée un répertoire rmdir rm efface un répertoire s'il est vide mv ren move déplace ou renomme un fichier usage : mv source destination man help affiche l'aide concernant une commande particulière cat type affiche un fichier à l'écran à quoi ça sert Explorer le pingouin Comme on vous l'a déjà conseillé, il est souvent fort utile de connaître quelques commandes en ligne. De la même façon, vous gagnerez du temps si vous avez un minimum de connaissance sur l'arborescence d'un système Linux. En clair, ne pas avoir à chercher 2 heures un fichier :). Cette arborescence respecte une certaine logique et les répertoires de la racine ont chacun leur rôle : vous pouvez lire ici la description de l'arborescence de base. Vous entendrez peut−être parler de FHS ou de LSB. Kesako ? LSB (Linux Standard Base) se base sur FHS (Filesystem Hierarchy Standard) afin de définir la manière dont les fichiers doivent être organisés sur le disque dur, la présence et les noms de certains fichiers et répertoires, etc. afin que les différentes distributions de Linux soient compatibles entre−elles, pour faciliter notamment l'installation d'un logiciel sur toute distribution. Les distributions récentes (Mandrake 9.0 par exemple) respectent assez bien la LSB, mais des efforts restent à faire afin de pouvoir installer un paquet .rpm de Mandrake sur une RedHat (et vice versa). Equipons le pingouin : installation de logiciels Pour installer un logiciel sous Linux, vous aurez plusieurs méthodes à disposition que nous allons classer de la plus conviviale à la plus ardue : • l'installation de packages livrés avec votre distribution (fichiers *.rpm, *.deb, *.tgz) : savez−vous que la plupart des logiciels libres dont vous aurez besoin sont sur les CD de votre distribution ? Pour les installer, utilisez donc les interfaces graphiques (kpackage, rpmdrake ou Découvrir Linux 21 Aller un peu plus loin drakrpm selon les distributions), ou sur une Mandrake, l'excellent urpmi en ligne de commande ! • l'installation d'autres packages (téléchargés, etc.). Pour la simplicité, préférez les packages dits "binaires", c'est à dire déjà compilés. ♦ l'utilisation des interfaces graphiques : kpackage, rpmdrake... Pas de surprise, la souris suffira et en un clic votre programme sera installé ♦ la ligne de commande : tous les secrets de la commande rpm : une fois bien assimilé, ce mode d'installation peut s'avérer encore plus rapide. Sous Debian, utilisez apt−get ; sous Mandrake, urpmi. ♦ la compilation des sources : le fin du fin ! La méthode préférée des puristes et qui vous permettra d'optimiser votre programme à votre configuration matérielle. Le pingouin me parle : où retrouver les informations disponibles ? Souvent vous aurez ce genre de message sur votre console : You have new mail in /var/spool/mail/root En effet, le système communique avec ses utilisateurs au moyen de courriers électroniques envoyés sur une boîte aux lettres locale. Il fournit des infos concernant l'état des services réseau, des infos sur la sécurité. (Il est d'ailleurs possible de choisir le type d'infos ainsi envoyées). Pour les consulter, on utilise la commande mail comme ci−dessous : root@pingu# mail Mail version 8.1 6/6/93. Type ? for help. "/var/spool/mail/root": 1 message 1 new >N 1 root@pingu.linuxerie Wed Sep 25 04:02 80/2205 "LogWatch for pingu" Par exemple, ici vous avez un nouveau mail (signalé par N ). Pour le lire, c'est simple il suffit de taper son numéro après le prompt ?. Pour les effacer, on tapera d suivi du numéro de mail. Pour quitter, on tape q (plus d'infos avec man mail). Si consulter vos mails de cette façon vous rebute (et j'avoue qu'il y a de quoi ;−), vous pouvez configurer votre client de mails graphique (Kmail, Sylpheed, Mozilla, Evolution, Balsa...) afin qu'il récupère les mails de la boîte locale, et vous les présente ainsi dans son interface. Vous avez besoin d'informations sur votre système et votre pingouin vous en a délivrées au démarrage... Ca va un peu vite non ? Qu'à cela ne tienne, vous pouvez retrouver ces infos en tapant la commande dmesg. Il y a plus d'informations que peut n'en contenir l'écran ? essayez la commande "dmesg | less"... Des informations très intéressantes se trouvent dans le fichier /var/log/messages (messages du noyau, lancement de drivers, etc.). Consultez−le aussi en cas de problème. Le répertoire /var/log contient aussi d'autres fichiers du même genre, comme par exemple les messages du serveur X (couche graphique), que vous pouvez consulter si le mode graphique refuse de démarrer. Pour des informations plus détaillées (matériel, système, mémoire...) jetez un oeil sur l'excellent article de Jonesy, explorer sa configuration. Le multimédia sous Linux ce paragraphe reste à finaliser, néanmoins nous vous livrons en avant−première les points qui y seront abordés, avec, quand c'est possible, des liens vers les articles de Léa. − le son (config, alsa), jouer un cd audio, jouer un mp3 (xmms), enregistrer des sons (gramofile, rezound...) − la video : le divx, mplayer, xine (autre article), decss, télécharger des rpms pour Mandrake sur plf (pour le DIVX, les DVD cryptés, les codecs Win32, etc.)... − la télé sous linux − photo numerique −> gphoto2 ou usb storage (voir la driverthèque) − webcam −> xawtv, autres (gtkcam ?).. − graver −> en ligne de commande, ou en mode graphique : voir la logithèque. Connectez−vous ! − ln −s /dev/ttyxxxx /dev/modem, se connecter à internet, liens pour les winmodems sur la page hardware, l'adsl, les modems adsl speedtouch et ECI, lien pour numeris : http://www.linux−france.org/article/connex/ISDN, cable (noos) − liens vers l'admin réseau, petit paragraphe pour expliquer les basiques... − reseau −> commandes de base (à écrire) − le minitel sous Linux − faxer avec Linux Linux cohabite avec Windows et MacOS Comme vu dans le paragraphe consacré au gestionnaire de démarrage, il vous est possible de conserver des systèmes d'exploitation différents sur votre machine. Vous pouvez choisir celui que vous allez démarrer. Il vous est également possible d'accéder à partir de Windows à vos données Linux. Il existe pour cela un utilitaire très simple, à installer sur Windows : explore2fs 22 Découvrir Linux Aller un peu plus lo A écrire : accés aux données Linux depuis MacOS. Le contraire est également possible. Il vous est possible d'accéder à vos données Windows en étant sous Linux. Pour mettre à disposition ces données, on utilise la commande mount déjà rencontrée : root@pingu# mount −t vfat /dev/hda3 /mnt/windows où /dev/hda3 est la partition contenant Windows. Vous pouvez également ajouter ces informations dans le fichier /etc/fstab de la manière suivante : root@pingu#cat /etc/fstab ... /dev/hdc3 /mnt/windows vfat defaults 1 2 Remarque : si vous utilisez un windows récent ou un windows NT, vos partitions windows sont peut−être formatées au format NTFS et non Fat32 (ou vfat). Dans ce cas, remplacez le vfat ci−dessus par ntfs. Cependant, le pilote NTFS de Linux ne peut à l'heure actuelle accéder aux partitions NTFS qu'en lecture seule. Vous devrez alors prévoir une partition en Fat32 afin de pouvoir "envoyer" des informations dessus depuis Linux qui pourront être relues sous Windows... Autre possibilité : vous disposez de logiciels développés pour Windows et vous souhaitez pouvoir continuer à les utiliser. C'est possible grâce à Wine. Il s'agit d'un programme qui émule Windows (c'est à dire qu'il simule son fonctionnement). Tous les programmes ne fonctionnent pas, mais il peut être intéressant de tester celui qui vous intéresse (pour information, Microsoff Word, Excel et Powerpoint fonctionnent, Lotus Notes, etc.). S'il ne fonctionne pas, essayez avec la toute dernière version de Wine... Il existe également un émulateur DOS, dosemu. Si vous utilisez un ordinateur Apple, vous pouvez lancer MacOS sous Linux, et cela fonctionne très bien. Utilisez pour cela MacOnLinux. Afin d'accéder aux données MacOS depuis Linux, le cas ressemble au cas NTFS décrit ci−dessus. Soit votre disque est formaté au format HFS. Dans ce cas, Linux saura y accéder sans problème (remplacez le vfat ci−dessus par hfs). Mais les MacOS récents formatent les partitions dans le nouveau format HFS+ par défaut. Si vous êtes dans ce cas, le pilote HFS+ pour Linux étant encore au stade du développement, vous devrez prévoir une partition d'échange au format HFS afin de pouvoir "envoyer" des informations dessus depuis Linux qui pourront être relues sous MacOS, et utiliser les hfsplus−utils qui permettent de lire les partitions HFS+. Remarque : Si vous souhaitez passer en douceur au monde du libre, n'oubliez pas qu'il existe des logiciels libres développés pour Windows et/ou MacOS. Une liste non exhaustive des logiciels les plus connus (les liens sont pour les archives Windows, mais ces mêmes logiciels existent sous MacOS) : • outils bureautique : OpenOffice • Navigateur Internet : Mozilla • graphisme : The Gimp • sécurité : GnuPG • serveur Web : Apache Vous pouvez retrouver encore plus de logiciels libres sur la compilation GNU Win II, que nous vous conseillons fortement de télécharger et de partager si vous avez une connexion à haut débit. Administrez votre machine L'utilisation du shell On l'a déjà dit, il existe de nombreux outils de configuration en mode graphique pour le système. Toutefois connaître les bases de la ligne de comande pourra vous dépanner en cas de dysfonctionnement de l'interface graphique, ou tout simplement vous permettra de répondre à cette grande question "dis Nux, comment tu marches ?":). Ci−dessous quelques liens indispensables : • les entrailles du shell • des trucs & astuces pour mieux comprendre ou faciliter le travail • les bases de la programmation du shell Les programmes exécutables Avant d'aborder les programmes exécutables, une précision sur les chemins d'un fichier. Il y a en effet 2 façons de nommer un fichier et son chemin. Pour illustrer cet exemple, je pars du principe que je me situe dans le répertoire /home/anne et je veux décrire le fichier /home/anne/essai/doc : • chemin absolu : je décris tout le chemin pour arriver jusqu'au fichier, en partant de la racine "/". Donc dans mon exemple, j'ai /home/anne/essai/doc • chemin relatif : je décris le chemin pour arriver jusqu'au fichier, en partant de ma position actuelle. Donc dans mon exemple, j'ai essai/doc Remarque : dans un chemin, le "." désigne le répertoire courant et ".." le répertoire juste au−dessus (appelé aussi répertoire père). Lorsque vous souhaitez exécuter un programme, en plus des droits vous devrez porter attention à une variable d'environnement importante : PATH. En effet, lorsque vous voulez lister le contenu d'un répertoire, vous tapez ls et non pas /usr/bin/ls. Car le shell consulte le contenu de la variable PATH. PATH est la variable qui contient tous les chemins dans lesquels le shell va aller chercher votre commande Exemple : anne@pingu$ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin Découvrir Linux 23 Aller un peu plus loin Donc si lorsque vous tapez une commande, le shell vous renvoie le message "bash: truc: command not found", vous avez 2 cas de figure : soit la commande n'existe pas, soit le chemin de la commande ne figure pas dans PATH. Si vous voulez absolument exécuter truc sans modifier PATH, il suffit de préciser le chemin de la commande. Astuces : • pour savoir où se situe une commande, utilisez whereis Exemple : anne@pingu$ whereis ls ls: /bin/ls • la plupart des commandes de base se trouvent dans /bin et /usr/bin pour les commandes utilisateurs et /sbin et /usr/sbin pour les commandes administrateur Commandes de base de l'administration système Ci−dessous une série de commandes de base. Pour plus de précisions sur la syntaxe, consulter la documentation de la commande : taper dans une console : $ man nom_de_la_commande Rôle Commande Exemple Pour obtenir la date système, ou privilège réservé à root, modifier cette date date root@pingu# date mar déc 3 13:54:33 CET 2002 Pour connaître la place disque utilisée par un fichier, un répertoire du root@pingu# du −ks /home/anne 388420 /home/anne Pour connaître la place disponible dans un système de fichiers df root@pingu# df Système de fichiers 1K−blocs /dev/hdc3 4031560 /dev/hdc1 198313 /dev/hda7 3968852 Monter / démonter un système de fichiers (mettre à disposition les données) − opération à effectuer pour accéder notamment au contenu d'un CD−ROM ou une disquette mount umount root@pingu# mount /dev/cdrom /mnt/cdrom Pour formater une partition, une disquette, c'est−à−dire créer un système de fichiers (ici ext2 ou ext3) mkfs.ext2 mkfs.ext3 root@pingu# mkfs.ext2 /dev/floopy root@pingu# mkfs.ext3 /dev/hda3 Créer un utilisateur, un groupe useradd groupadd root@pingu# useradd anne root@pingu# groupadd utilisateur Pour gérer en ligne de commande le démarrage ou l'arrêt d'un service service chkconfig root@pingu# service samba start root@pingu# service samba stop root@pingu# chkconfig −−level 2345 samba on Pour réaliser des sauvegardes compressées ou non de mes tar données. Utilisé Disponible U.% 107780 3718980 3% 9181 178878 5% 3219768 547472 86% Monté sur / /boot /home root@pingu# tar cvzf /home/anne anne.tar.gz root@pingu# tar xvzf anne.tar.gz root@pingu# ps −aux Pour lister les processus tournant sur ma machine ps USER ... root rpc rpcuser ... PID %CPU %MEM 524 533 552 0.0 0.0 0.0 0.2 0.3 0.4 VSZ 1336 1484 1528 RSS TTY STAT START TIME COMMAND 356 ? 432 ? 544 ? 0:00 klogd −x 0:00 portmap 0:00 rpc.statd S S S Dec02 Dec02 Dec02 Ceci précisé, et même s'il est extrêmement utile de connaître les commandes en ligne, vous avez des outils graphiques à votre disposition pour administrer votre machine. L'un des plus répandus et des plus complets est sans doute webmin. Il vous permet d'administrer votre machine soit en local, soit à distance au moyen d'un navigateur. Automatiser le montage des systèmes de fichiers (périphériques fixes ou amovibles) Dans les commandes déjà évoquées à plusieurs reprises figure la commande mount. On a vu qu'elle permettait de monter un système de fichiers et donc de mettre à disposition les données du système de fichiers. Le fichier /etc/fstab vous permet d'automatiser dès le démarrage de la machine le montage des systèmes de fichier, avec la possibilité d'utiliser toutes les options de la commande (montage en lecture seule, type de système de fichiers, ...). Le fichier est également utilisable pour les supports dits amovibles comme les CD−ROM et les disquettes. On a recours pour cela à supermount. Le noyau Linux Une fois que vous vous êtes familiarisé avec l'environnement Linux, vous êtes fin prêt pour découvrir toutes les arcanes du noyau Linux. Vous aurez besoin de recompiler le noyau pour changer de version (correction de trous de sécurité, prise en charge de nouveaux drivers), parce que vous ajoutez un nouveau matériel non pris en charge par votre noyau ou tout simplement pour pouvoir dire "je l'ai fait !" :)). Il paraît même que cela provoque du plaisir à certains geeks ;) 24 Découvrir Linux Aller un peu plus lo Pour tout savoir de la compilation étape par étape, consultez l'article sur le noyau (kernel) de Linux. Matériel Cette partie n'est pas encore finalisée. Video − la 3D =>voir les articles nvidia, 3dfx, etc. − plusieurs moniteurs/cartes graphiques ? lisez l'article sur le multihead. − télé (logiciels, etc.), pilote, modules.conf Stockage − installer un zip //, scsi ou usb (modprobe, etc.) + cf les t&a − adaptateur flash/usb, pour les clefs USB, ainsi que les adaptateurs USB compact flash, etc. Impression Suivez tout d'abord la procédure d'installation de votre distribution. En cas de problème, lisez les articles suivants : − installer une imprimante − Imprimantes HP KDE dispose dans le panneau de configuration d'outils graphiques pour gérer les imprimantes. Utilisez−les pour plus de simplicité ! Ils fonctionnent avec les 2 systèmes d'impression rencontrés, à savoir CUPS (Mandrake) et lpr (autres distributions). Multimédia − Les cartes radio − Les scanners parallèles, SCSI et USB. − Les tablettes graphiques Wacom, Acecat Flair... − Les webcam. − Les joysticks Laptops et PDA − palm, zaurus (voir l'article flash usb)... − laptops : voir le site mobilix Prêt ? Partez !!! Voilà terminée notre présentation de Linux. Vous êtes maintenant prêts à exploiter toutes les possibilités du pingouin. Que peut−on attendre de Linux en tant qu'environnement de travail ? Enormément !!! On a répertorié pour vous les grands groupes d'applications avec les équivalents Linux / Windows... Bande de petits veinards :−) Découvrir Linux 25 Quels programmes utiliser pour faire ... Quels programmes utiliser pour faire ... par Fred Vous débutez sous Linux, vous avez de bons repères sous MS−Windows, ce document est pour vous : il vous dira quel programme MS−Windows est équivalent à quel autre programme Linux. Introduction Pour chaque tâche, il existe sous Linux une multitude de programmes. Il est assez difficile, lorsqu'on débute, de s'y retrouver. Mon propos n'est pas de vous dire quel est le meilleur programme pour faire telle ou telle chose. Je veux juste vous donner quelques repères simples. Tout d'abord, je vais faire des choix, mais ce ne seront pas forcément les meilleurs. Ensuite, je vais insister principalement sur deux environnements (majoritaires) : Gnome et KDE. J'ai ma préférence, mais à vous de choisir en fonction de vos goûts. En me limitant ainsi, je vais délibérément oublier certains programmes que d'autres trouveraient indispensables. Il faut aussi savoir que les programmes pour KDE fonctionnent sous Gnome, et réciproquement. Seulement, ceux prévus pour KDE sont mieux 'intégrés' sous KDE, alors que ceux prévus pour Gnome sont mieux 'intégrés' sous Gnome. Je me contenterai de citer des programmes qui sont opensource, c'est−à−dire libres. L'objectif n'est pas non plus de dire que Windows est nul et que Linux est mieux (même s'il m'arrive de le dire quand je suis énervé...), l'objectif est de présenter quelques logiciels qui peuvent remplacer ceux que vous utilisez sous MS−Windows. La bureautique. Le traitement de texte. Sous MS−Windows, il n'existe pratiquement plus que le traitement de texte MS−Word. Ce n'est pas le cas sous Linux. Par contre, il en est un qui commence à supplanter les autres : le traitement de texte d'OpenOffice, OpenWriter. Il ne fonctionne pas vraiment comme MS−Word, mais il offre le même type de fonctions, et parfois d'autres fonctions. Il est maintenant bien traduit dans la langue de Molière, et dispose d'un dictionnaire correct. Il est aussi capable d'importer, à peut près correctement les documents de MS−Word. De plus, OpenOffice fonctionne également sous Windows, ce qui peut vous permettre de passer en douceur au Logiciel Libre. (Voir l'article sur l'installation d'OpenOffice sur Léa.) Seulement, ce n'est pas le seul. Il existe bien d'autres traitements de texte. Si vous utilisez l'environnement KDE, vous aurez sans doute envie de tester KWord, le traitement de texte de la suite KOffice. Il me semble encore "mal" finalisé, mais il est déjà utilisable. Vous pourriez bien le trouver plus intéressant qu'OpenOffice. Il faut noter que, comme OpenWriter, il existe des filtres d'importation de documents MS−Word pour KOffice. Mais ils semblent moins performants. Si vous préférez Gnome, il n'existe que le traitement de texte AbiWord. Il est beaucoup plus léger que les deux précédents, mais aussi, un peu moins complet. Par contre il est rapide et fait assez bien ce qu'il sait faire. Si vos besoins en traitement texte sont légers, c'est sans doute un bon programme. Le tableur Comme pour le traitement de texte, le marché du tableur sous MS−Windows est dominé par MS−Excel. Pour Linux, le choix est plus vaste. Celui qui ressemble le plus à MS−Excel, est, sans aucun doute, OpenCalc, le tableur d'OpenOffice. Comme le traitement de texte, il est capable d'importer les documents Microsoft®. Il est à noter que contrairement au traitement de texte, le tableur d'OpenOffice fait largement jeu égal avec celui de Microsoft®. Le tableur de KOffice : KSpread (de spreadsheet : tableur) est lui aussi très performant. À bien des égards, on pourrait le trouver meilleur. Il est parfaitement intégré à la suite KOffice, c'est celui que vous devrez préférer si vous utilisez les autres logiciels de cette suite. Les développeurs de Gnome ont produit un remarquable tableur : gnumeric. Il ne ressemble pas complètement à celui de Microsoft® mais il est très performant tout en restant extrêmement léger. Les bases de données. Pour les bases de données, MS−Windows est encore une fois dominé par un produit Microsoft® : MS−Access. Je ne connais, sous Linux aucun programme réellement équivalent. Par contre, il existe de bons programmes capables de gérer une base de données. Le premier, MySQL, est très répandu sur le WEB. Il est bien documenté et comme il est très utilisé, il est assez facile de trouver de l'information dessus. On peut y accéder en utilisant divers langages : PHP (pour le web), PERL, C ou C++ (sans doute d'autres). Ce qui permet de produire de multiples sortes de documents. Il existe une interface WEB d'accès aux bases de données MySQL : phpMyAdmin. Il faut noter que MySQL n'est pas complètement compatible avec le standard SQL (en particulier au niveau des transactions) mais qu'il est suffisamment compatible pour que l'on puisse apprendre le SQL avec. Le second, PostgreSQL, est aussi très performant et, paraît−il, plus "résistant". Mais ne l'utilisant pas, je ne peux vous en parler (si quelqu'un le connaît bien, il serait utile de le décrire en quelques lignes pour que je mette à jour cette partie). Il existerait aussi un environnement de développement pour ProsgreSQL. Pour aller plus loin avec Léa : La Logithèque / Bureautique 26 Découvrir Linux Internet. Internet. Les navigateurs Internet (Browsers Web). Chez Microsoft®, le combat des navigateurs s'est terminé par la victoire par forfait des autres concurrents d'Internet Explorer (IEx). Néanmoins Mozilla (et donc Netscape 7) commence à revenir doucement sur la plate−forme de Microsoft®. Linux est beaucoup plus prolixe et autorise l'utilisation de multiples navigateurs. Le plus connu : Mozilla, le navigateur libre issu de Netscape. Ce navigateur est celui qui semble le plus compatible avec les standards du Net. Et aussi le plus complet. Le revers de cela, c'est sans doute aussi le plus "lourd". C'est pourquoi l'équipe de Mozilla a développé Phoenix, basé sur les mêmes technologies, mais beaucoup plus léger. Pour ceux qui préfèrent les navigateurs légers mais qui restent compatibles avec tout ce que l'on peut trouver sur le Net, on peut conseiller d'essayer Galeon. Ce navigateur utilise le moteur d'affichage de page Web de Mozilla : Gecko. Une page affichée avec Mozilla et Galeon sera identique. Il est plus léger que Mozilla car il ne dispose pas de client mail, ni de client irc, ni d'éditeur de page web. Bref, c'est un navigateur rien qu'un navigateur mais un bon navigateur. C'est le navigateur de référence des aficionados de Gnome. Si vous privilégiez la légèreté et la rapidité au détriment de certaines fonctionnalités, Dillo est votre navigateur préféré. Si vous utilisez KDE, vous devriez utiliser Konqueror. C'est un très bon navigateur, presqu'aussi compatible avec le Net que Mozilla. Il est capable d'afficher correctement des polices de caractères lissées. Bref : c'est mon préféré, quand les pages sont compatibles... Les gestionnaires de mails. Une fois n'est pas coutume, il existe plusieurs gestionnaires de mails pour MS−Windows : OutLook (express et autres avatars), Eudora, etc... Avec Linux, on utilisera, si on veut rester très proche du Look&Feel de OutLook, le programme Evolution de Ximian®. C'est un bon programme, mais un peu lourd à mon goût. Sous Gnome, on lui préférera : Sylpheed. Il est beaucoup plus léger et tout aussi performant. Sous KDE, le client mail par défaut est kmail. C'est aussi un très bon programme parfaitement intégré à l'environnement KDE. Il en existe une multitude d'autres, les oubliés m'excuseront (ou pas) : j'en suis resté aux plus habituellement utilisés. Je ne veux pas faire ici la liste de tous les clients mails. Le chat, ou clavardage en québécois. Sous Windows, on utilise mIRC pour se connecter à différents chats utilisant le seul protocole de chat standard : IRC. Les logiciels équivalents sous Linux sont l'excellent Xchat, BitchX, etc. Ils fonctionnent également sous Windows, comme de nombreux autres logiciels libres, cela afin de vous permettre une transition en douceur. Le transfert de fichiers. WSFTP se retrouve sous Linux : gftp en mode graphique, ftp ou le très pratique ncftp en mode texte. Le GetRight de Linux se nomme Downloader for X (d4x), ou Getleft (uniquement pour aspirer des sites web). Le partage de fichiers (peer to peer) existe aussi sous Linux, qui permet de se connecter aux réseaux : − Gnutella, avec Limewire (oui, le même que sous windows, mais toujours pas libre), Qtella ou GTK Gnutella − eDonkey, avec le client officiel, mais aussi le client libre mldonkey, etc. La messagerie instantanée. En passant à Linux, vous ne perdrez pas vos amis, qu'ils utilisent ICQ (Licq...), AIM (Gaim), etc. Gaim comme EveryBuddy permettent de se connecter à de nombreux réseaux en plus d'AOL : ICQ, Jabber, MSN, Zephyr, Napster mais aussi IRC. Pour aller plus loin avec Léa : La Logithèque / Internet Le multimédia. La retouche photographique. On vous a habitué à (pirater ?) PhotoShop (qui est vraiment très bon) et PaintShop Pro. Linux vous convaincra avec : The Gimp qui est LE logiciel de retouche photographique de référence. Il est tellement bon (et gratuit... mais ce n'est pas l'essentiel) que certains graphistes ont (paraît−il) installé Linux uniquement pour l'utiliser. Il fait tout et le reste. Ses seuls défauts ? L'absence de gestion CYMK (mais ça vient...) et une gestion de mémoire qui ne lui permettent pas vraiment de travailler sur des images de plusieurs dizaines de méga−octets. Il existe quelques autres concurrents, mais ils ne sont pas au niveau. Scanner une image. Sous MS−Windows, les programmes de retouche photographique utilisent l'interface TWAIN pour converser avec votre scanner. Sous Linux, l'équivalent est l'interface SANE (c'est en fait le driver de votre scanner). Le principe de fonctionnement est le même. Soit vous scannez directement grâce au 'frontend' (interface graphique) : xsane, soit vous demandez à The Gimp d'accéder à xsane directement. Xsane est capable d'envoyer un fax, Découvrir Linux 27 Le multimédia. de faire une photocopie ou simplement de générer une image (dans différents formats). La création 3D. Si vous êtes un pro de 3DS Max, la transition risque d'être dure (il est toujours difficile de s'adapter à une nouvelle interface)... mais possible. Le programme de référence sous Linux est : Blender (logiciel propriétaire devenu libre). Je ne sais pas s'il est au niveau de 3DS Max, mais il est en tout cas utilisé pas un très grand nombre de graphistes qui ont pris le risque de payer (ensemble) $100 000 pour que les sources de celui−ci deviennent libres alors qu'ils disposaient déjà d'une version performante de Blender. C'est un signe. Payer pour rendre libre, un logiciel qu'on peut déjà librement utiliser gratuitement... Les fans du lancer de rayons continueront à utiliser POVRay qui existe aussi sur tous les Unix et pourront, même s'ils disposent de plusieurs machines, lancer les calculs de manière distribuée sur l'ensemble de leurs machines. Povray dispose également d'interfaces graphiques de modélisation. Je ne parlerai pas des logiciels comme LightWave qui, bien qu'existant sous Linux, ne sont pas libres (mais si vous êtes un pro que cela ne vous arrête pas). Les lecteurs multimédia. Sous MS−Windows, vous écoutez vos fichiers son (ogg, mp3, wav, etc...) avec WinAmp, et bien il existe sous Linux un clône parfaitement semblable à WinAmp : XMMS. Il est tellement semblable qu'il peut utiliser les skins de WinAmp, et même, en utilisant Wine (attention ce n'est pas pour les débutants...), ses plugins. Il dispose déjà de nombreux plugins (tant pour la visualisation, que la sortie : une sortie vers un fichier wav par exemple). Vous trouvez le 'Window Multimedia Player' très pratique pour voir et écouter tous vos fichiers multimédia ? Eh, bien sous Linux, les logiciels qui font cela aussi bien sont au nombre de 2 (au moins) : Xine qui est spécialisé dans les fichiers vidéo (VCD, DVD, DVD Crypté −− voir le penguin liberation front, DivX, MPEG, etc..) et MPlayer qui peut lire tous ces formats plus presque tous les formats audio (en particulier les streams audio au format wma dont certaines radios sont si friandes...). Lequel choisir ? C'est une affaire de goût. Si vous aimez Gnome, il faut savoir que l'interface graphique de MPlayer est basée sur Gnome. Il existe des interfaces KDE, Gnome, ou seulement Gtk pour Xine. Il est également possible de lire les flux realaudio puisque real a porté son logiciel de lecture sous Linux, mais je n'insiste pas la dessus puisque c'est un format propriétaire. Depuis peu, Mplayer dispose de codecs libres pour lire ce format. Les encodeurs mp3, ogg. J'avoue mon ignorance pour ce qui est de MS−Windows : je ne sais pas ce qui se fait... Par contre, sous Linux, vous encoderez vos CD−Audio grâce Ogg Vorbis dans un format libre (ie: pour l'encodage et le décodage, à la différence du format mp3) lisible sur toutes les plateformes (vous me direz, ben comme le mp3... oui et non le format mp3 est encore librement utilisable pour les logiciels gratuits mais pour combien de temps ?). Seulement, il y a fort à parier que vous n'utiliserez pas directement les logiciels de Vorbis car ceux−ci sont en ligne de commandes. Vous leur préférerez le lecteur de CD/encodeur de CD : grip. C'est un très bon logiciel : j'utilise KDE comme environnement, et pourtant j'encode mes CD avec grip, tellement il est pratique et facile d'utilisation (une fois configuré, il suffit de 2 clics pour encoder un CD!). Sous KDE, il est possible d'encoder directement un CD en utilisant le glisser/déplacer depuis le lecteur de CD vers un répertoire. Notez que je ne parle pas d'encodeur mp3. Il en existe, mais comme le format est propriétaire... L'encodage en DivX, MPEG etc. Pour en garder une copie bien sûr. C'est possible sous Linux grâce au logiciel transcode fonctionnant en ligne de commandes (beurk ;) mais une interface (relativement) simple existe pour ce très bon logiciel d'encodage : DVD::Rip. Le couple transcode/dvdrip possède un sérieux concurrent : drip. Alors lequel choisir ? Franchement, je ne sais pas essayez les, choisissez le plus simple pour vous. Le plus rapide ? Pour aller plus loin avec Léa : La Logithèque / Multimédia La gravure de CD/DVD. Les logiciels de gravure sous Linux n'ont rien à envier à ceux sous MS−Window, même si historiquement, ce fut le cas. Il fut un temps encore pas si lointain, où la gravure sous Linux se déroulait en mode "console" (taper d'incompréhensibles suites de commandes ;−) Ces temps sont maintenant révolus ! Bon, je vous donne mon préféré (je vais me faire des ennemis ;−) : k3b (qui veut peut−être dire : KDE 3 Burning ?). Ce programme permet à tout utilisateur autorisé (c'est à dire géré par le programme et non par des droits à donner de manière absconse via la ligne de commande ;−) de graver CD−ROM (multisession, ou non), CD Audio, CD Text, etc... en mode Disk At Once ou non. Tout cela avec une interface vraiment très intuitive. Si vous utilisez KDE : préférez celui−là à tous les autres. Ce n'est bien sûr pas le seul (ni sûrement le meilleur), par exemple, les utilisateurs de Gnome lui préféreront sûrement GCombust un programme très abouti. Il peut même vous générer des jaquettes pour vos CD. 28 Découvrir Linux Le développemen Les programmes de gravure de DVD ne sont pas légions, mais normalement ceux qui gravent des CD peuvent aussi graver des DVD. Le problème est alors la création de fichier VOB. Là, je dois avouer que je ne sais pas comment cela fonctionne sous Linux (si quelqu'un dispose d'infos, qu'il m'écrive, je mettrai cette section à jour). Pour aller plus loin avec Léa : La Logithèque / Gravure Le développement. La programmation d'applications. Alors là, Linux va être votre ami. Tous les langages du monde de l'univers du coin existent sous Linux : C, C++, Objective C, Java, Pascal, Pascal Objet, SmallTalk, Eiffel, Prolog, Python, Tcl/Tk, Perl, PHP, Prolog, Logo... j'en oublie (plein). Et mieux : ils sont sur les CDs de votre distribution ! Donc si le cur vous en dit, si vous en faites votre métier, ou votre passion : Linux est le royaume des développeurs. Bon, c'est bien tous ces langages, mais mieux, il existe aussi des environnements de développement très performants. Les utilisateurs de KDE se tourneront vers Kdevelop, un IDE qui sans être RAD s'en approche sérieusement. On peut même dessiner ses boites de dialogue à la souris comme sous MS−Windows. Les utilisateurs de Gnome, eux, préféreront utiliser : l'IDE Anjuta en conjonction avec glade pour construire leurs interfaces graphiques. Ce couple semble vraiment "au top". Comment ? Je ne parle pas de VI ni d'Emacs ? Ah, oui c'est vrai. Ce sont les deux dinosaures de la programmation Linux. Ils sont sans doutes très performants, mais si vous venez de MS−Windows, apprenez−en les balbutiements mais oubliez−les pour la programmation : l'investissement pour les maîtriser est vraiment énorme. Pour aller plus loin avec Léa : La Logithèque / Développement La création de site Web. Linux est né sur internet, et il le lui rend bien. Développer un site web sous Linux est vraiment une sinécure. Bon, j'exagère. Tenez vous le pour dit : il n'existe pas (encore) d'équivalent de DreamWeaver ou de FrontPage sous Linux. Non, ils n'existe pas de logiciels : 'cliquez−on−croit−c'est−fait−mais−c'est−pas−fait' sous Linux. Il existe quand même plusieurs éditeurs HTML WYSIWYG, le premier d'entre eux est sans aucun doute l'éditeur de Mozilla. Les dernières versions, sans être parfaites, en font un logiciel utilisable pour éditer des pages assez complexes mais pas trop ;−). Je trouve les autres tellement mauvais que je n'en parlerai pas (par exemple OpenOffice génère un code HTML vraiment merdique (presque autant que MS Word, c'est dire) : il ne faut l'utiliser à aucun prix sauf à vouloir augmenter le bruit sur Internet ;−) Mais développer un site Web, ce n'est pas seulement générer 3 pages vite tapées. Pour des projets d'envergure, l'utilisateur de KDE aimera Quanta+ : gestion de projet, complétion automatique des balises HTML, proposition des paramètres des balises, aide contextuelle pour PHP, Javascript, HTML et CSS : un must. Le Gnome−Maniac, lui, préfèrera BlueFish : très bonne coloration syntaxique (dans les dernières versions), barre d'outils pour toutes les balises HTML. Les jeux. Franchement, je vous mentirais en vous disant que Linux est génial pour les jeux. Le developpement de jeu est vraiment en retrait. Pour plusieurs raisons, la principale étant, à mon avis, que les développeurs ne sont souvent pas des joueurs. En tout cas, ils sont beaucoup moins joueurs que développeurs. Ceci dit, il existe de très bons jeux libres. Mon préféré : FreeCiv, un clone de Civilisation II. Il commence à être très réussi, même au point de vue graphique (ce qui à longtemps été son point faible). Pour les amateurs de casse−têtes, un clone de Lemmings existe : Pingus, où les lemmings sont remplacés par des pingouins : très bien fait. L'un des derniers puzzles sous Linux est Frozen Bubble (clone du fameux Puzzle Bubble) : jouez à deux à éliminer des bulles glacées et gelez votre adversaire ! Il y a aussi : TuxKart un clone de Mario Kart et le simulateur de vol FlightGear (les images sont vraiment réalistes). Pour les simulations temps réel, on dispose d'un clone de WarCraft 2 : FreeCraft, qui utilise, au choix, ses propres graphiques (pas encore parfaits) ou ceux de l'original si vous possédez le CD. Bref, on peut quand même bien s'amuser avec Linux. Surtout que de nombreux jeux ont été portés sous Linux (Quake2 et 3, UnReal Tournament (2003), Call To Power, SimCity 2000, etc...) et que Wine ou Winex font tourner sous Linux de nombreux jeux Windows. Voir aussi les jeux sous Linux dans la logithèque de Léa. Pour aller plus loin : trouver de l'aide Pour terminer, quelques liens pour trouver de l'aide sur l'utilisation des logiciels sous Linux : • framasoft : un site de promotion des logiciels libres. De très bons tutoriels pour apprendre à manipuler certains logiciels libres • un très bon article sur les les logiciels libres avec notamment des développements sur les outils de bureautique et de graphisme Découvrir Linux 29 Le développement. 30 Découvrir Linux Installation de Linux Tout ce qu'il faut savoir pour installer Linux. Préparation à l'installation de Linux Par Jean−Christophe sur la base du travail de Serge Cette partie traite de la préparation que vous et votre ordinateur devrez subir avant d'installer Linux ;−) 1. Vérifier son matériel Avertissement : Linux ne supporte pas tous les matériels qui existent dans le commerce ou ailleurs. La faute en revient aux constructeurs qui développent des drivers en général uniquement pour Windows. Les drivers Linux sont généralement développés par des personnes qui possèdent un matériel qu'ils souhaitent utiliser avec Linux ; cela n'est possible que si le fabricant ne garde pas secrètes les spécifications de son matériel, ce qui est malheureusement encore souvent le cas. Dans ce cas, je vous invite à boycotter et à faire boycotter ces fabricants afin de faire pression sur eux. Prérequis : • Microprocesseur : Intel x86 à base de microprocesseur 386 minimum (ou compatible comme AMD, CYRIX, etc.) (Je ne traite ici que des plates−formes "compatibles IBM PC") Il existe des versions de Linux pour le matériel plus vieux (286, etc.), mais cela dépasse le cadre de cette rubrique. Il existe aussi des distributions de Linux pour 680xx (MkLinux), PowerPC (Linux PPC), Alpha, etc. mais je ne les connais pas. • Disque dur : prévoyez pour le système lui−même de l'ordre de 600 Mo pour une distribution assez récente, surtout si vous installez X (le sous−système graphique de Linux) avec des environnements de bureau de type KDE ou Gnome (très à la mode dans les distributions actuelles). Prévoyez aussi environ 100 Mo supplémentaires pour le Swap (i.e. mémoire virtuelle, on en reparle plus tard). Avec ça, vous allez déjà pouvoir faire tourner plein de choses. Sachez cependant que des "mini distributions" (ou parmi les distributions "classiques", la Slackware) passent avec 100 Mo, mais là, pas question d'avoir un système X, ni de grosses applications de style base de données, etc... • Mémoire : prévoyez environ 64 Mo avec un système X (ça passe avec 32 Mo, mais avec les nouveaux environnements sous X ça risque de ramer). Là aussi, c'est juste une recommandation pour utiliser les packages les plus courants compris dans les distributions. Maintenant, si vous prévoyez de faire de votre serveur Linux une vraie usine à gaz (serveur WEB, base de données SQL, proxy serveur, Star Office...), prévoyez plus de mémoire. Si vous avez peu de mémoire (8 à 16 Mo) vous pouvez essayer d'installer X, mais sans KDE ni Gnome : utilisez plutôt quelque chose de plus léger dans le genre de fvwm ou twm. Maintenant voyons de plus près le matériel supporté. Sachez que la liste complète se trouve dans le Hardware−HOWTO (anglais/français) sur le site LDP (Linux Documentation Project <www.linuxdoc.org>). En général : • Les disques durs SCSI et IDE ainsi que leurs contrôleurs sont supportés dans la plupart des cas. • Les cartes réseau de type compatible NE2000 ISA ou PCI, ainsi que les cartes 3COM, HP, AMD sont très bien supportées. • Les modems compatibles HAYES (attention toutefois à certains US ROBOTICS) mais évitez de préférence les "soft−modems" qui ne marchent que sous Windows (US Robotics Winmodem à 90€, modems internes PCI en général). En fait, la communauté Linux a développé des drivers pour la plupart de ces modems depuis quelques temps. Seulement, leur installation reste "pénibles". En bref, les modems externes sur port série ainsi que les modems sur bus ISA sont OK, évitez les modems internes PCI (mais vous devriez pourvoir faire fonctionner la plupart de ceux−ci moyennant un petit investissement technique). Les modems ADSL : ECI USB et SpeedTouch USB sont supportés, ainsi que la plupart des modem BeWAN. Tous les modems ADSL Ethernet sont supportés. Le problème qu'il reste : les providers. Certains providers (AOL pour ne pas le citer) rende la connection depuis Linux très complexe, allant jusqu'à tenter de faire interdire certains logiciels de connection alors qu'ils n'en fournissent pas ! • Les cartes graphiques : toutes les cartes un peu anciennes de type S3, S3 Virge, Trident, Cirrus Logic, etc. passent sans problèmes, mais attention aux dernières cartes vidéo très à la mode sous Windows... Je vous conseille si vous voulez de bonnes performances des cartes de type Matrox G200, les 3Dfx (toute génération, même la Rush est paraît−il supportée). Les cartes vidéo évoluent très vite, et peu de constructeurs font des efforts pour X... Attention donc. Pour une liste à jour, allez sur le site de X (voir dans les liens). Au niveau de l'accélération 3D, seules les cartes 3Dfx sont actuellement supportées (voir la rubrique 3Dfx), mais XFree 4.2.x a changé la donne. La plupart de carte NVidia fonctionnent sans problème en 2D et assez bien en 3D (pour peu que vous installiez les drivers 'closed−source' de chez NVidia). La plupart des cartes de chez ATI fonctionnent aussi en 2D (y compris les Radeon 8500, ...) et devraient être supportée en 3D aussi par la version 4.3.0. • Carte série multiports. • Carte tuner TV : les cartes à base de chipset BT848 sont très bien supportées (comme la Mìro PCTV). Voir la rubrique TV. Les cartes ATI ALL in Wonder disposent aussi de drivers, voir gatos.sourceforge.net. • De plus en plus de webcams sont suppotées. Les webcams phillips sont supportés par un drivers spécifiques, et beaucoup de webcam sont prise ne charge par le module OV511 ou par le module CPiA. • Scanner : évitez absolument les scanner parallèles (quoi que ca commence à bouger de ce côté−là, mais pour l'instant ils ne sont pas très bien supportés). Par contre, beaucoup de scanner SCSI fonctionnent très bien (Voir la home page de SANE pour les scanners supportés), en particulier certains scanner n'ont plus de driver pour Windows 2000 et XP mais en ont pour Linux ;−). De plus en plus de scanner USB sont supportés. • Imprimante : évitez certaines Hewlett Packard jet d'encre qui sont en fait des win−imprimantes (ex : HP820 Cxi) ne fonctionnant que sous Installation de Linux 31 2. Choisir sa distribution Windows 9x (même pas NT !), préférez dans ce cas les autres marques. La plupart des imprimantes LASER fonctionnent très bien, mais des win−imprimantes y sont aussi apparues :−(. • Lecteur ZIP sur port parallèle, scsi ou usb : aucun problème. • Lecteur JAZ, ZIP, de bandes, etc... SCSI : tous très bien supportés, quasiment pas de configuration à faire. • Lecteur CD−ROM et graveur : ça passe très bien aussi, les graveurs SCSI étant très faciles à configurer. Pour configurer un graveur IDE, allez voir la rubrique Trucs. Ils sont casiment tous supportés. • Les périphériques USB sont relativement bien supporté quand les constructeurs fournissent des documentations techniques. Ainsi, les souris USB, les claviers USB (même ceux ayant des touches supplémentaires, voir : LinEAK), les webcams, les modems ADSL, les apareils photos numériques, les USB−Keys, etc ... sont trés bien supportés, sauf exception... • Les DVD sont maintenant très bien supportés par, essentiellement deux logiciels : xine et mplayer. Les graveurs de DVD sont eux aussi assez bien supportés (de la même façon que les graveurs de CD, et par les mêmes logiciels). Voilà, cette liste est très incomplète mais permet de débuter. Pour une liste complète de tous les matériels supportés, allez voir le Hardware−HOWTO (anglais/français) pour les matériels spécifiques. 2. Choisir sa distribution Il y a dans les listes de distribution et sur Usenet des débats acharnés où chacun cherche à prouver que "sa" distribution est mieux que les autres. C'est avant tout une question de goût personnel. Voici les principales distributions : Distribution Commentaire type de package Red−Hat la plus connue et la plus utilisée. L'une des plus simples à installer pour un débutant mais pas la plus simple à maintenir à mon goût. rpm Mandrake cette distribution est à l'origine basée sur la RedHat, optimisée pour les Pentiums (donc conseillée pour des machines à base de Pentium toutes générations). Elle est facile à installer, dispose d'un bon site pour avoir les correctifs et de plus elle est francisée (elle est réalisée par une société française). Vu le support qu'il y a derrière, grâce à leur site et leurs listes de diffusions, je trouve que cette distribution est un bon choix. rpm SuSE très bonne distribution pour les débutants aussi (Install simple) et bon site aussi pour le support. rpm Debian c'est vraiment LA distribution libre (elle ne comporte que des logiciels libres) et à part : le groupe de développeurs ne met à la disposition des personnes intéressées que l'image ISO de la distribution : il n'y a pas de société pour la commercialiser − et aucun impératif marketing, au contraire : la distribution sort quand les développeurs responsables du projet Debian estiment que tout est bon (ce qui donne des décalages entre ce qui était annoncé et la date réelle de sortie !). Bref, c'est une distribution très stable, mais plutôt pour les initiés. deb Slackware je la trouve excellente ; l'installation n'est pas toute simple, mais je trouve sa maintenance plus aisée que sur les Red−Hat. Bref, c'est une distribution pour les initiés. Par contre, la Slackware est souvent en retard par rapport aux autres distributions au niveau des versions des logiciels. Cette distribution permet de s'installer dans très peu de place disque (moins de 100 Mo) en ne choisissant que les packages indispensables. .tar.gz Il existe encore bien d'autres distributions... La facilité de trouver des packages rpm milite également en faveur de Red Hat et de Mandrake, mais on trouve également tout en .tar.gz, ce qui permet d'installer tout logiciel sur toute distribution ; il suffit de le compiler si le package ne contient pas une version binaire. Se procurer une distribution : Si vous avez une bonne connexion au Net (câble ou LS à votre travail) vous pouvez télécharger une distribution complète. Mandrake, Debian et peut−être SuSE sont disponibles en image ISO (un seul fichier d'environ 600 Mo qu'il suffit ensuite de graver sur un CD). Si vous souhaitez/devez acheter une distribution, vous la trouverez dans les librairies, FNAC, etc. Optez pour l'une d'elle avec si possible un gros livre fourni avec. évitez aussi les distributions en package à plus de 300Fr, on est souvent déçu par le soit−disant contenu. De plus, de nombreux magazines informatiques proposent régulièrement sans supplément de prix (vers les 30−40Fr donc) une distribution toute récente. Vous pouvez également trouver tout un tas de CD à bas prix en suivant ce lien chez Mandrake, ou chez Ikarios. Débuter : Si vous commencez avec Linux, je vous conseille de choisir Mandrake ou SuSE. La nouvelle distribution Corel Linux (basée sur Debian), fortement travaillée pour être à la portée de n'importe quel utilisateur, peut également être un choix, mais je ne l'ai pas encore testée. 3. Préparer ses disques durs. Je ne vais pas vous décrire toute la procédure d'installation, mais vous donner des conseils utiles, avec un peu d'explications. Le installation−HOWTO (anglais/français) ou le Guide d'installation et de démarrage (en anglais) sont là pour ça, les docs des distribs et des centaines d'autres sites aussi. Un peu de théorie Les systèmes de fichiers Le système de fichiers (ou File System ou FS), c'est la façon dont le système d'exploitation structure les données sur le disque dur. 32 Installation de Linux 3. Préparer ses disques d Comme tout système d'exploitation, Linux dispose de ses propres systèmes de fichiers : • EXT2FS (ou ext2) : c'est le système de fichiers historique de Linux, il n'est pas forcément le meilleur choix car, n'étant pas journalisé, si vous éteignez mal votre ordinateur, linux prendra beaucoup de temps pour tester les disques durs. • EXT3FS (ou ext3) : c'est l'évolution logique du ext2. Il présente l'avantage d'être compatible avec l'ext2 tout en étant journalisé. Il n'implémente toute fois pas les toutes dernières inovations en matière de journalisation. Utilisé ce système de fichiers si vous comptez pouvoir relire des informations depuis votre windows. • REISERFS : c'est un système de fichiers journalisés. C'est un bon choix. Il est réimplémenté à partir de zéro et bénéficie de beaucoup d'innovation. Il en exite d'autre, mais préférez leur l'un de ceux là, sauf si vous avez une bonne raison. Windows utilise quant à lui un système VFAT (partitions limitées à 2 Go) ou FAT32, le nouveau système de fichiers de Microsoft. Vous ne pouvez pas installer Linux sur une partition de ce type, car les partitions de ce type ne gérent pas les droits. Les dernières versions de Windows (NT, 2000 et XP) utilisent aussi le système de fichiers NTFS, seulement ils n'ont pas fournis les spécifications techniques de ce format et Linux (mais la plupart des autres systèmes d'exploitation aussi) sont incapables des les gérer correctement (prévoyez une partition en VFAT−FAT32 pour partager des informations facilement entre Linux et Windows) : Linux sait lire les informations sur une partitions NTFS mais pas en écrire. Les disques et les partitions sous Linux Tout d'abord, voyons comment Linux identifie et organise les disques durs. Pour les disques IDE, la numérotation se fait avec un préfixe "hd", suivi par une lettre, "a" pour le premier IDE maître, "b" pour le premier esclave, etc. En résumé on a : • hda • hdb • hdc • hdd Disque maître sur le 1er contrôleur IDE Disque esclave sur le 1er contrôleur IDE Disque maître sur le 2eme contrôleur IDE Disque esclave sur le 2eme contrôleur IDE Si vous avez d'autres contrôleurs IDE (hé oui, cela arrive !) la numérotation se poursuit (hde, hdf, etc.). Attention : les lecteurs de CD−ROM IDE apparaissent comme un disque dur. Si votre CD est maître sur la deuxième nappe par exemple, il sera nommé hdc. Pour les disques SCSI, cette fois c'est l'ID SCSI qui va donner la lettre, le préfixe étant "sd". Prenons par exemple 3 disques scsi d'id 0,1 et 3 on va avoir : • sda • sdb • sdd Disque d'ID 0 Disque d'ID 1 Disque d'ID 3 Attention : les lecteurs de CD−ROM SCSI, les ZIP, JAZ, etc. SCSI apparaissent comme un disque dur SCSI ; ils se nomment aussi sdx suivant leur ID. Les partitions sont quant à elles représentées par le nom du disque dur, suivi d'un chiffre représentant la partition. Par exemple, la première partition du premier disque IDE se nomme hda1, de même, la troisième partition du disque SCSI d'ID 1 se nommera sdb3. Organisation des fichiers sous Linux L'arborescence Sous Linux, ou tout autre Unix d'ailleurs, il n'y a pas de lettre représentant le disque dur comme le C: de Windows/DOS. De plus, le signe '\' est remplacé par '/' pour séparer les répertoires. Il y a une seule arborescence, qui débute à la "racine", notée '/', et tous les disques durs/partitions apparaissent dans cette arborescence avec leur contenu de façon transparente comme un répertoire. Les périphériques De plus, tout périphérique est identifié à un fichier qui se trouve dans le répertoire /dev (comme device, périphérique en anglais). Par exemple, le disque maître du deuxième port IDE est identifié par /dev/hdc, sa deuxième partition par /dev/hdc2. Le lecteur de disquette est représenté par /dev/fd0, etc. Les partitions / les points de montage Les partitions que l'on va créer sur les disques durs seront attachées à des répertoires de l'arborescence, ou "points de montage". C'est ce qu'on appelle "monter une partition". Le point de montage est un simple répertoire, vide avant le montage, et qui après le montage, représente le contenu de la partition montée. Par exemple, supposons que nous ayons créé une partition /dev/hda2 (premier disque IDE, 2ème partition) pour contenir le système. On montera cette partition (automatiquement, heureusement !) dans le répertoire racine /. Si la partition /dev/hda3 est destinée à contenir les données utilisateur, on la montera dans le point de montage (=répertoire) /home. On verra le contenu de cette partition dans le répertoire /home comme si c'était n'importe quel autre répertoire, alors que physiquement les données sont sur une autre partition. De même, pour accéder à la disquette, on montera le périphérique /dev/fd0 dans le point de montage /mnt/floppy ou /floppy (selon la distribution) et pour accéder au CD−ROM, on montera le périphérique /dev/cdrom dans le point de montage /mnt/cdrom ou /cdrom. Les répertoires standards Linux possède des répertoires "spéciaux" à la racine (un peu comme le C:\windows), qui sont classiques dans les systèmes Unix et peuvent ou non représenter un point de montage pour une partition. Installation de Linux 33 3. Préparer ses disques durs. On a déjà vu par exemple le répertoire spécial /dev où tous les périphériques sont répertoriés en tant que fichiers, ou encore le répertoire /home qui contient les données personnelles des utilisateurs. Chacun des répertoires ci−dessous peut être soit un simple répertoire dans la partition racine, soit le point de montage d'une autre partition, mais dans tous les cas le résultat est le même : des fichiers dans des répertoires. Les répertoires standards de Linux sont : / La racine du système = la base. /boot Fichiers utilisés pour booter le noyau /usr Programmes, données, accessibles par les utilisateurs et non nécessaires lors du boot /home Tous les répertoires de base des utilisateurs et de certains services comme le FTP, le serveur Web, Samba, etc. /dev Tous les périphériques /bin Programmes nécessaires au boot, et disponibles ensuite à tous les utilisateurs /sbin Programmes nécessaires au boot, disponibles au root uniquement /var Fichiers de log, spool d'impression, de mail, etc. En général, fichiers qui changent tout le temps /etc Fichiers de configuration du système /boot Fichiers de démarrage (répertoire pas présent sur toutes les distributions) /root Répertoire home de l'administrateur /lib Bibliothèques et modules (comme les DLL de Windows) nécessaires au boot /tmp Fichiers temporaires /mnt Répertoire proposé pour monter des périphériques (ou /mnt/cdrom, /mnt/floppy, /mnt/zip, etc.) /proc Fichiers d'information sur la configuration système (les fichiers sont générés dynamiquement, pas de modifications possibles). Les fichiers dans ce répertoire n'existent pas sur le disque, c'est Linux qui les crée en temps réel lorsque vous en avez besoin. /opt Dans ce répertoire (optionnel), on peut ajouter des logiciels afin qu'ils ne s'installent pas dans les répertoires système. Et j'en passe... Passons à la pratique ! On peut installer Linux sur une partition DOS/Windows avec par exemple Linux4win de Mandrake. Cette méthode est pratique car elle nécessite un minimum de travail sur le système d'exploitation d'origine (en général Windows) : Linux s'installe dans un gros fichier sur le disque Windows. Cependant, je vous déconseille cette méthode, à moins que vous y soyez obligé. Un tel système est très ralenti (au moins d'un facteur 2) et vous allez être très déçu des performances de Linux ; de plus il arrive parfois des problèmes d'incompatibilités avec cette méthode. Au prix où sont les disques durs aujourd'hui et vu leur taille grandissante, vous trouverez bien de la place pour créer des partitions Linux. Préparation Avant de commencer l'installation, vous allez donc devoir libérer de la place pour les nouvelles partitions Linux. Si vous comptez installer Linux sur un disque vierge, pas de problème. Par contre, si vous voulez faire cohabiter Windows et Linux sur le même disque, et que Windows est déjà installé sur la totalité du disque, il va falloir arranger ça :) (à moins que vous ne vouliez réinstaller Windows de zéro). On va devoir passer de ça : <−−−−−−−−−−−−−−−−− Windows −−−−−−−−−−−−−−> |==========================================| <− disque dur à ça : <− Windows −> <− place libre pour Linux −> |=============|============================| <− disque dur Alors soit vous virez tout et vous réinstallerez Windows, c'est le plus simple évidemment, soit vous redimensionnez votre partition Windows. Pour ce faire, utilisez un logiciel approprié, comme FIPS (souvent sur les CD des distributions), ou Partition Manager (un freeware sous DOS) encore Partition Magic (produit commercial). Pour ça, je vous renvoie à la documentation du logiciel utilisé. Remarque : Partition Manager a l'air intéressant, il fonctionne sous DOS, est freeware, et existe en version française. Il permet de gérer les partitions, de sauver le MBR (Master Boot Record, c'est là que vient s'enregistrer LILO) dans un fichier, de le restaurer, de modifier la taille d'une partition, de la formater, etc. (Voir la page de Partition Manager.) Dans tous les cas, pensez à sauvegarder vos données perso ! Installation proprement dite : le partitionnement des disques La plupart des installations commencent de la même façon : on crée une disquette de boot sous DOS/Windows avec l'utilitaire "RAWRITE" (livré sur les CD des distributions), des fois même deux disquettes (pour la Slackware) ; parfois le CD de la distribution est bootable (Mandrake par exemple) et il n'y a alors pas besoin de disquette. Puis on boote sur la disquette ou le CD. 34 Installation de Linux 3. Préparer ses disques d Ensuite on suit les indications du programme d'installation, puis on arrive sur le partitionnement des disques (attention à la Slackware où on n'atterrit pas sur ce point directement : après s'être logué en root il faut taper "fdisk" AVANT de taper "setup"). Détaillons un peu cette procédure de partitionnement. Pour partitionner votre disque vous allez appeler la commande fdisk suivie du nom du disque sur lequel vous voulez installer Linux, par exemple "fdisk /dev/hda". Des logiciels plus conviviaux existent comme DiskDruid (disponible lors de l'installation d'une Red Hat par exemple) ou DiskDrake de Mandrake Soft fonctionnant en mode graphique (mais il me semble qu'il nécessite que Linux soit déjà installé !). Je vous renvoie à l'installation HOWTO (anglais/français) pour toutes les commandes de fdisk ; les principales sont : •n •t Crée une partition, de type linux native (ext2fs) par défaut. Change le type d'une partition (82 linux native, 83 linux swap). Dans fdisk, tapez "m", afin d'accéder à la liste de toutes les commandes possibles. C'est assez bien indiqué dans l'installation−HOWTO. Attention : le nombre de partitions dites "primaires" est limité à 4. Ainsi, si vous souhaitez définir plus de 4 partitions sur un même disque, l'une de ces 4 partitions primaires doit être définie comme "étendue", elle contiendra alors toutes les autres partitions. Les partitions primaires sont numérotées de 1 à 4, les partitions créés à l'intérieur de la partition étendue sont numérotées à partir de 5. De combien de partitions allez vous avoir besoin ? • Tout d'abord, une partition pour le swap. Le swap c'est la mémoire virtuelle de Linux. La taille ? Ca va dépendre de votre mémoire physique. Une partition de swap de 128Mo avec 64 ou 128 Mo de RAM physique suffit amplement pour une utilisation standard. Je vous conseille donc un swap de 128 Mo : créez sous Linux avec fdisk une partition de type 83 de 128 Mo. Attention : une idée répandue dit qu'on ne peut pas avoir de partition de swap de plus de 128 Mo. C'est faux : les noyaux récents (au moins à partir du 2.1.x) peuvent gérer des partitions de plusieurs giga octets sans aucun problème. • Pour le reste, vous avez le choix : La chose la plus simple est une seule partition (en plus du swap), qui contiendra toutes les données (système & utilisateur) ; prenez le plus de place possible (1 Go mini). En fait, il est intéressant de créer au moins deux partitions : une qui contiendra le système et une autre pour vos données personnelles. Comme ça, vous pouvez réinstaller Linux et même formater la partition système sans perdre vos données perso. Pour la même raison, on peut pousser le raffinement jusqu'à avoir une troisième partition afin de contenir les logiciels que vous installerez par la suite (StarOffice par exemple). (voir plus haut le tableau des répertoires standard) A ces partitions, on attribuera des points de montage. − C'est quoi un point de montage ? − Ah mais vous n'avez pas lu le paragraphe précédent ? :−) Si vous installez un serveur : L'une des méthodes les plus utilisées, c'est de mettre le / sur un petit disque ou une partition, puis /usr sur un autre disque en point de montage. Si notre système va être un serveur avec beaucoup d'utilisateurs, qui vont avoir beaucoup de données personnelles à stocker, on peut créer aussi un /home en point de montage sur un autre disque. On va aussi généralement réserver un disque ou une partition pour le répertoire temporaire que l'on montera dans /tmp, et encore une autre pour le /var. En fait, on ne va laisser dans le disque contenant la racine que les informations qui bougent peu et dont le volume augmente peu. Ainsi on ne charge pas le disque de point de montage / des répertoires /usr, /home, etc., ce qui permet de facilement maintenir le système (si /home est plein, on prend un disque + gros que l'on monte en /home et on recopie tout dessus, ça permet de ne pas casser le reste...), etc. Ca a plein d'avantages, je vous conseille de faire comme ça si vous avez plusieurs disques. De plus si un disque crashe, si ce n'est pas le disque contenant la racine /, ça permet de rebooter quand même la machine, de travailler un minimum pour réinstaller un disque sans à avoir à réinstaller un système de base. Remarque : si vous installez un serveur qui sera très sollicité, soyez généreux pour la taille du swap (2 fois la taille de la RAM est un bon début). Si vous installez sur une machine perso : Sur une machine mono−utilisateur, voire mono−disque, on peut faire une partition pour le / (mini 1Go), une pour /home et une pour le swap (128 Mo par exemple). Vous pouvez aussi éventuellement faire une partition pour /opt qui contiendra les logiciels que vous avez installés vous−même et qui ne proviennent pas de la distribution. Ca permet de mettre à jour voire de réinstaller la distribution sans trop devoir travailler derrière pour que ça fonctionne comme avant. exemple de partionnement : <− /dev/hda1 −> <−−− /dev/hda2 (étendue) −−> (primaire) /dev/hda5 hda6 hda7 hda8 <−− Windows −−> <−− / −−> <− /home −> <swap> <−pt de montage |===============|=========|===========|======| <−disque dur 2 Go 1 Go 1 Go 64 Mo Installation de Linux 35 L'installation de Linux L'installation de Linux Par Jean−Christophe sur la base du travail de Serge Passons maintenant aux choses sérieuses: l'installation de Linux. Normalement, vous devez déjà avoir lu le chapitre précédent, ou bien vous connaissez déjà les bases de Linux ! :−) 4. Choisir ses packages. Je ne vais pas faire la liste des milliers de packages existants, je ne suis pas fou. Je vous donne juste les packages essentiels à installer car vous en aurez besoin un jour ou l'autre. • Tout ce qui est du système de base (jeu A et AP pour la Slackware), • Tout ce qui concerne le développement (jeu D pour la Slackware) : C, C++ et librairies diverses : nécessaire pour compiler (voir rubrique "quels packages nécessaires"), • Les sources du noyau aussi (K pour la Slackware). Je sais c'est gros, les derniers noyaux font près de 50 Mo, mais un jour ou l'autre vous en aurez besoin pour compiler une appli ou pour régler votre noyau suivant votre système ; • Les packages réseau, • Le reste n'est pas complètement indispensable mais : • X (sous−système graphique) est bien utile quand même (que feriez−vous sans environnement graphique ?), sa partie développement aussi (pour certains programmes X que vous aurez à recompiler) et pourquoi pas les jeux aussi. Dans ce cas installez aussi un gestionnaire comme KDE ou Gnome ou pourquoi pas tous les gestionnaires pour vous faire un avis avant d'en choisir un définitivement ? • Après, suivant votre besoin, cherchez sur le net l'application qui vous intéresse, mais regardez avant si elle est pas contenue dans votre distribution. Contrairement au monde Windows, Mac, etc. la majorité des applications sous Linux est "libre". Elles sont alors disponibles en tant que sources. Il vous faut alors les compiler sur votre machine pour obtenir les fichiers binaires (i.e. les exécutables). C'est pour ça que vous avez besoin des packages de développement, même si vous ne développez pas vous−même. J'insiste mais installez les packages de développement, c'est toujours râlant de passer 30 minutes à recompiler un truc et avoir une erreur parce qu'il vous manque juste une petite bibliothèque qui était comprise dans un de ces packages. Après vous passez des heures pour trouver le package où se trouve le fichier manquant ! En fait dès que vous lisez développement ou un truc du genre (devel...) installez−le, au pire ca vous prend un peu de place pour rien, mais au moins vous arriverez à compiler la toute dernière application que vous attendiez depuis 2 ans sur Linux. 5. Installer un chargeur Linux ou Comment booter Linux. LILO Tout d'abord pour les débutants : LILO (LInux LOader) est le petit utilitaire qui permet de faire démarrer Linux. D'où son importance. Je tenais à faire une place spéciale pour LILO, source de nombreux problèmes si on ne l'installe pas correctement. La documentation de LILO est bonne, je vous conseille de la lire pour plus de détails dans /usr/doc/lilo*. Une limitation de LILO due à une limitation des BIOS, c'est que le partition racine de Linux doit commencer avant le 1024ième cylindre, tous disques compris. Cela veut dire que si vous voulez être sûr que ça fonctionne du premier coup, il vous faut installer les fichiers de démarrage de linux sur le premier disque dur en dessous du 1024ième cylindre. Il faut également installer LILO sur le disque bootable. Si les fichiers nécessaires à l'installation de LILO sont au delà du 1024ième cylindre, LILO vous préviendra lors de l'installation. Les solutions sont alors les suivantes : • soit vous faites une petite partition de 10−20 Mo (grand maximum) au début de votre premier disque (1er disque IDE ou disque d'ID 0 pour du SCSI) que vous monterez en /boot (voir préparer ses disques durs), Attention : certaines distributions ne font pas de répertoire /boot (la Slackware du moins jusqu'a la 3.6), mais rien ne vous empêche de le créer et de déplacer le noyau dedans (dans ce cas, pensez à modifier le fichier /etc/lilo.conf). • soit vous créez votre partition avec point de montage / sur le premier disque, entièrement comprise en−dessous du 1024ième cylindre. • le plus simple, dans la majorité des cas où la première partition est la partition DOS, est de monter votre partition DOS, par exemple dans /dosc, de créer un répertoire /dosc/linux/boot et d'y copier l'intégralité de /boot : cp −a /boot /dosc/linux. Enfin, supprimez /boot par rm −Rf /boot, puis créez un lien symbolique /boot vers /dosc/linux/boot par ln −s /dosc/linux/boot /boot. Cette solution fonctionne très bien dans le cas de la Mandrake/RedHat, où vous pouvez passer dans une console texte avec un shell en cours d'installation : attendez que LILO vous renvoie un message d'erreur, puis tapez CTRL−ALT−F2 pour passer dans un shell, effectuez les commandes ci−dessus dans votre shell, puis revenez à la procédure d'installation par CTRL−ALT−F1 et relancez LILO. Surprise ! Cela fonctionne maintenant :) Attention cependant : LILO stocke l'emplacement physique du noyau sur le disque. Aussi, si vous le déplacez (par une défragmentation sous Windows par exemple), vous ne pourrez plus bouter votre système Linux. Gardez toujours une disquette de boot pour régler ce problème. Vous pouvez marquer ces fichiers SHR sous DOS par attrib +SHR fichier.ext, ce qui devrait les empêcher de bouger. • enfin, vous pouvez encore utilisez LOADLIN (voir plus bas). Le plus simple, c'est de mettre un gros disque en bootable, de faire une première partition dessus pour votre autre système (Windows par exemple), de laisser de la place dessus style 300Mo à 1 Go pour créer la partition / de Linux dessus (en fonction de vos choix de partitionnnement), puis sur vos 36 Installation de Linux 5. Installer un chargeur Linux ou Comment bo autres disques de créer des partitions de données pour les autres OS et créer par exemple le /usr, /home, etc. Là vous êtes presque sûr que ça marche, quelque soit la distribution que vous utilisez. Désinstaller LILO De préférence depuis Linux : tapez lilo −u. Depuis DOS : tapez fdisk /mbr. Voir aussi la rubrique LILO. LOADLIN C'est un utilitaire fonctionnant sous DOS que vous pouvez utiliser pour démarrer Linux, si vous ne souhaitez/pouvez pas utiliser LILO, et que vous disposez d'une partition DOS/Windows bootable. Il est disponible en général sur les CD des distributions. Je ne crois pas qu'il ait le problème des 1024 cylindres, car le noyau de Linux est alors situé sur le système de fichiers de DOS/Windows. Cependant, j'ai entendu dire que certaines personnes avaient eu des problèmes d'incompatibilité avec leur matériel (plus reconnu sous Linux lorsqu'ils utilisent LOADLIN). Bref, à tester. Pour le faire fonctionner, je vous conseille de créer un répertoire C:\LINUX, d'y placer LOADLIN, de copier le noyau /boot/vmlinuz−2.x.x sous Linux dans ce répertoire sous le nom VMLINUZ, et d'y créer un fichier linux.bat contenant la ligne de commande : LOADLIN C:\LINUX\VMLINUZ root=/dev/hdb1 ro %1 %2 ^^^^^^^^^ −> remplacez /dev/hdb1 par votre partition "racine" / ou encore, si vous utilisez initrd, copiez /boot/initrd dans le même répertoire, et placez cette ligne dans linux.bat : LOADLIN C:\LINUX\VMLINUZ initrd=C:\LINUX\INITRD %1 %2 Ainsi, vous pouvez créer une entrée dans votre c:\config.sys pour avoir un choix "Linux" au boot qui en fait lance linux.bat. Ou bien vous bootez en "ligne de commande seulement" et vous démarrez Linux en tapant linux au prompt C:\>. De cette manière vous pouvez passer des paramètres au noyau, par exemple pour lui dire de démarrer en mode texte si X ne veut plus fonctionner, en tapant : C:\>linux 3, ou en mode maintenance par C:\>linux single (suivant votre distribution). Voir aussi la rubrique LOADLIN. 6. Problèmes courants. Problèmes avec le CD−ROM : Essayez de copier le contenu du CD sur le disque dur et de lancer l'installation depuis le disque dur, cela règle bien des problèmes si votre lecteur de CD est mal reconnu. Installation de Linux 37 5. Installer un chargeur Linux ou Comment booter Linux. 38 Installation de Linux Installer et configurer son matériel Cette section va vous permettre d'installer et de configurer votre matériel sous Linux. Voir aussi les Trucs et Astuces Hardware, et la base de données de matériel/drivers de Léa Si vous avez des questions concernant votre matériel vous pouvez poser votre question sur le forum. Note de Jicé : j'aimerais écrire un article sur l'installation et la configuration des linmodems (modems internes PCI) sous Linux. Pour ce faire, j'ai besoin de vos retours d'expérience pour vos différents modems (Olitec, Lucent, etc.). Merci de m'envoyer votre rapport d'installation/configuration ! Voici déjà les infos pour les modems : basés sur les chipsets Connexant HSF (Olitec 56Kv2, V92...), basés sur les chipsets PCTel, Via, Asus, CM8x, SIS, Intel i810 (Kortex PCI 56000...), 3COM PCI 56K. Lucent D'autres sites : Infos sur les winmodems (compatibilité Linux) linmodems.org De plus, de nouveaux drivers apparaissent pour les modems USB ADSL : Alcatel Speedtouch USB ECI Hi−Focus ADSL USB Sagem 800 USB Un article sur la Carte PCI ADSL Conexant. 3DfX: installation par Serge & Jean−Christophe Comment faire fonctionner une carte de chez 3DfX. Heureux possesseurs de cartes 3DfX, vous allez pouvoir faire fonctionner votre carte sous Linux !!! (D'ailleurs, ce furent longtemps les seules cartes 3D complètement supportées ! même la Voodoo Rush !) Mauvaises nouvelles pour les fans de 3Dfx : 3Dfx ayant été racheté par NVidia (le créateur de la TNT et des GE Force), c'est la fin de 3Dfx. Cause immédiate de ce rachat pour nous : de nombreux liens dans cette page risquent de ne plus fonctionner... Vous aurez besoin de : • Un système Linux basé sur le noyau 2.x avec une Glibc 2.0 ou 2.1 (i.e. toute distribution récente), voire libc5 (uniquement Voodoo1, 2 et Rush). Remarque : Pour savoir sur quelle libc votre Linux est basé, dans /lib faites un ls libc*, si vous voyez libc5, c'est la libc5, libc6 c'est la glibc et libc−2.xx c'est la Glibc 2.xx. La Mandrake 6.0 utilise la glibc2.1 (tout comme la RedHat 6). • Une carte 3DFx, Voodoo 2, Voodoo Banshee, Rush ou Voodoo 3, 4 ou 5 (dans le désordre :−) Nouveau : avec XFree 4.0.2, tout devient plus simple (voir chez Xfree, rubriques 3Dfx et Alliance) : • Le support pour les puces Voodoo Graphics et Voodoo 2 est disponible sur les plateformes où Glide est disponible (Linux et FreeBSD(?)) et est fourni par le driver "glide" (nécessite la version 2.x de la librairie Glide, qui ne fait pas partie de la distribution de XFree86, mais est en général fournie par votre distribution). • Le support (dont l'accéleration) pour les Voodoo Banshee, Voodoo3, Voodoo4, et Voodoo5 est fourni par le driver "tdfx". • Pour la Voodoo Rush, suivant votre chipset (les puces sur la carte) : ♦ Utilisez Xfree 4.0.2 ou plus pour les chipsets AT24, AT25 et AT3D (cas général). Ce support (avec accéleration) est fourni par le driver "apm". Actuellement, le support du chipset AP6422 est incomplet dans ce driver. ♦ Utilisez Xfree 3.3.6 pour le chipset AP6422 (supporte aussi AT24 et AT3D). Le support est accéléré et utilise le driver apm. Normalement vous ne devriez donc pas avoir besoin d'aller plus loin dans la lecture de cet article, néanmoins, je le laisse ici pour référence. Attention, les liens vers les sites et les drivers peuvent être maintenant erronés. Pour installer votre carte, allez sur le site de Linux 3DfX ou 3DfX gamers pour les drivers nécessaires (choisissez suivant votre carte, voodoo 1, 2, banshee, 3...) ; les liens pour les fichiers à télécharger sont à la fin de ce document. Remarque : Un nouveau serveur X vient de sortir chez 3dfx pour les Voodoo 3 et Voodoo Banshee (nommé DRI), qui implémente Glide version 3 et permet d'afficher en mode fenêtré. Comme peu d'applications sont compatibles à l'heure actuelle avec ce serveur X (voir la description sur linux.3dfx.com), nous détaillons l'installation de l'ancienne version. Serveur X, /dev/3dfx et Glide • Voodoo 1 ou Voodoo 2 Ces cartes sont uniquement des accélérateurs 3D, il n'y a pas de modification à faire sur votre serveur X. Installer et configurer son matériel 39 Installer et configurer son matériel • Voodoo Banshee ou Voodoo 3 Ces cartes sont des cartes 2D/3D : il faut installer le serveur X adéquat : ♦ XFree 3.3.3 XFree86_3DFX−SVGA−3.3.3−5.i386.rpm, et XFree86_3DFX−rushlib−3.3.3−5.i386.rpm (par rpm −Uvh XFree86_3DFX−SVGA−3.3.3−5.i386.rpm ; rpm −Uvh XFree86_3DFX−rushlib−3.3.3−5.i386.rpm) ainsi que XFree86_3DFX−XF86Setup−3.3.3−5.i386.rpm si vous souhaitez utiliser XF86Setup. ♦ XFree 3.3.5 ou plus Avec XFree 3.3.5, il suffit d'utiliser le serveur X SVGA standard. Les Rushlibs ne sont plus nécessaires. Il paraît que le serveur SVGA disponible sur 3Dfx gamers est plus stable, mais le serveur X standard fonctionne bien. Attention : Pensez à spécifier les résolutions que vous souhaitez utiliser en mode 3D, car celles−ci doivent obligatoirement être disponibles pour le serveur X. Votre fichier /etc/X11/XF86Config doit donc contenir ces résolutions. Par exemple, si vous voulez jouer à Quake II en 640x480, vous devez pouvoir afficher en 2D en 640x480 également. N'allez pas plus loin avant que votre affichage 2D soit bien configuré ! Utilisez XF86Setup ou bien éditez /etc/X11/XF86Config à la main. Remarque : lors de la mise à jour de votre distribution (par exemple vers une Mandrake 6.1), le serveur X SVGA version 3.3.5 standard convient parfaitement. De plus, il semble qu'il n'y ait plus besoin des rush libs. Par contre, la mise à jour de la Mandrake 6.1 installe une version de Mesa non optimisée pour les cartes 3Dfx. Il faut donc la remplacer par la version que vous compilerez vous−même (voir plus bas). • Voodoo Rush C'est également une carte 2D/3D, il faut installer le serveur X adéquat : rpm −Uvh XFree86_Rush−SVGA−3.3.2−1.i386.rpm rpm −Uvh XFree86_Rush−libs−3.3.2−1.i386.rpm Ce serveur fonctionne uniquement avec les cartes basées sur les chipsets Alliance AT25 ou AT3D. Les mêmes remarques s'appliquent à la carte Rush qu'aux cartes Banshee et Voodoo 3. Et quelle que soit votre carte il faut installer : ♦ Glide : téléchargez le fichier Glide suivant votre Glibc et votre carte : Carte 3Dfx système Glibc 2.1 système Glibc 2.0 Voodoo 3Dfx Glide_VG−2.46−3.i386.glibc2.1.1.rpm Glide_VG−2.46−1.i386.glibc.rpm Voodoo Rush Glide_VR−2.46−4.i386.glibc2.1.1.rpm Glide_VR−2.46−3.i386.glibc.rpm Voodoo 3Dfx II Glide_V2−2.53−2.i386.glibc2.1.1.rpm Glide_V2−2.53−1.i386.glibc.rpm Voodoo Banshee ou Voodoo 3 Glide_V3−2.60−8.i386.rpm Glide_V3−2.60−7.i386.glibc20.rpm Remarque : pour les carte 3Dfx 1 et 2 ainsi que Rush, Glide existe aussi en version libc5. exemple : dans le cas d'une Voodoo Banshee et d'un système Glibc 2.1 : ♦ rpm −Uvh Glide_V3−2.60−8.i386.rpm • Device 3DfX : Device3Dfx−2.2−3.src.rpm (ou plus récent) rpm −−rebuild Device3Dfx−2.2−3.src.rpm rpm −Uvh /usr/src/redhat/RPMS/i386/Device3Dfx−2.2−3.i386.rpm Attention, vérifiez le chemin du fichier ci−dessus qui peut avoir été créé ailleurs suivant votre distribution. Truc : Si l'installation de Device 3Dfx ne fonctionne pas, essayez le truc suivant : dans le cas ou un "depmod −a" vous renvoie des messages d'erreur, localisez les modules fautifs (p.ex. /lib/modules/2.x.x/net/ne.o) et déplacez−les vers /tmp le temps d'installer le Device 3Dfx. Remettez−les en place ensuite. On ne sait jamais ;−) Maintenant, nous avons installé un nouveau module. Pour le faire monter en mémoire, le plus simple est de rebooter (beurk). Normalement, le module Device 3Dfx devrait se charger automatiquement lorsqu'on a besoin de lui. Une ligne dans /etc/conf.modules en témoigne (alias char−major−107 3dfx). Cependant, si ce n'est pas le cas chez vous, vous pouvez l'automatiser : ajoutez cette ligne à la main. Si cela ne fonctionne toujours pas, même après avoir rebooté, essayez la méthode bourrin : dans /etc/rc.d/rc.local (ce fichier existe normalement dans toute les distributions) ajoutez simplement "modprobe 3dfx" à la fin du fichier. • Test indispensable Lancez /usr/local/glide/bin/test3Dfx afin de voir si cela fonctionne : vous devriez voir un ecran bleu, avec en haut "press a key to quit". Voodoo Banshee et Voodoo 3 : Lancez cette commande obligatoirement depuis un terminal sous X (xterm, konsole, and Co). Si cela ne fonctionne pas, c'est peut−être que la résolution 640x480 n'est pas définie, essayez /usr/local/glide/bin/test3Dfx −r 800x600 (remplacez 800x600 par votre résolution actuelle en 2D). En plus, si vous avez du temps à perdre :−), vous pouvez aussi aller voir dans /usr/local/glide/src, il y a une trentaine de tests que vous pouvez compiler et essayer afin de voir si votre carte fonctionne correctement. 40 Installer et configurer son matérie Librairies Mesa • Récupérez aussi le SDK Glide pour linux (disponible dans la rubrique develop du site de 3Dfx), afin de pouvoir compiler des applications utilisant les cartes 3Dfx, et installez−le. Glide2x_SDK−2.1−3.i386.rpm Si vous n'avez rien compris, le site Linux 3dfx ou encore 3DfX gamers explique également comment installer tout ça (drivers et device). Librairies Mesa Mesa est une librairie donnant à Linux l'API OPEN GL, c'est une implémentation libre d'OPEN GL. Disons que OPEN GL est à Linux ce que Direct 3D est à Windows. Récupérez Mesalib et Mesadémo sur le site de Mesa . Le but du jeu est de recompiler ces librairies avec le support 3Dfx (Glide) pour faire marcher notre carte (prenez les .tar.gz). Attention, votre distribution peut avoir déjà installé les librairies Mesa non optimisées 3Dfx. Dans ce cas, il faut au préalable les désinstaller. Par exemple, recherchez le/les packages mesa par : rpm −qa | grep mesa (mesa et/ou mesa−dev), puis désinstallez−les par : rpm −e −−nodeps le_package Donc une fois les sources dé−zippées/détarées : gzip −cd MesaLib−3.0.tar.Z | tar xfv − ou tar zxvf MesaLib−3.0.tar.gz de même pour Mesadémo, puis allez dans le répertoire de Mesa (Mesa3.0) et lancez tout simplement make linux−glide afin de tout compiler. La compilation devrait passer sans erreur. Si vous avez des erreurs du style "machin.h : no such file or directory", c'est que les fichiers provenant du SDK Glide ne sont pas trouvés. Deux solutions : copiez ces fichiers dans un répertoire où le PATH pointe (dans /usr/include par exemple) ou insérez à votre variable PATH le chemin ou les includes du SDK se situe (/usr/include/glide si mes souvenirs sont bons) par export PATH=$PATH:/usr/include/glide (sh, bash) ou setenv PATH $PATH:/usr/include/glide (csh, tcsh). Normalement, si vous avez installé le rpm du SDK, tout doit bien se passer. Une fois la compilation passée vous devez avoir un répertoire /lib dans le répertoire Mesa3.0. Allez dans ce répertoire, vous devez avoir alors des choses du style : libMesaGL.so.3.x libMesaGLU.so.3.x libglut.so.3.x libMesaGL.so.3 libMesaGLU.so.3 libglut.so.3 libMesagl.so libMesaGLU.so libglut.so Il manque des liens par défaut que certaines applications risquent de chercher, ajoutez donc ces liens comme suit : ln ln ln ln −s −s −s −s libMesaGL.so.3.x libGL.so.3 libMesaGL.so.3.x libGL.so libMesaGLU.so.3.x libGLU.so.3 libMesaGLU.so.3.x libGLU.so (Remplacez le x par la bonne valeur, bien sûr). Puis, toujours dans ce répertoire, faites : cp * /usr/X11R6/lib ldconfig Enfin, vérifiez que vous n'avez pas d'ancienne version de Mesa non optimisée Glide qui traîne : ldconfig −v Regardez dans la liste qui va s'afficher s'il se trouve encore des librairies "Mesa", si oui, supprimez ces fichiers, puis relancez la même commande. Normalement, le module Device 3Dfx devrait se charger automatiquement lorsqu'on a besoin de lui. Cependant, si ce n'est pas le cas chez vous, vous pouvez l'automatiser : pour cela dans /etc/rc.d/rc.local (ce fichier existe normalement dans toutes les distributions) ajoutez simplement "modprobe 3dfx" à la fin du fichier. Le chargement automatique du module 3dfx se fait grâce à la ligne "alias char−major−107 3dfx" présente dans /etc/conf.modules (voir plus haut). Tout devrait marcher maintenant. Pour le test on va charger le module 3dfx à la main (à moins que vous ayez déjà rebooté) par modprobe 3dfx. Allez dans le répertoire /demos sous le répertoire Mesa3.0, lancer la démo glu (me rappelle plus du nom, demoglu je crois, quelque chose de ce genre) sous X, en ouvrant un terminal X (oublier pas le ./ avant le nom du programme de la démo) et vous devez alors voir apparaitre une belle image 3d en Installer et configurer son matériel 41 Download plein écran qui utilise la 3dfx. Remarque 1 : pour la Banshee et la Voodoo 3, il est nécessaire de positionner la variable d'environnement MESA_GLX_FX à la valeur fullscreen. bash : export MESA_GLX_FX=fullscreen tcsh : setenv MESA_GLX_FX fullscreen Remarque 2 : Votre distribution ou sa mise à jour, par exemple vers la Mandrake 6.1, peut installer des librairies Mesa non optimisées Glide. Vos programmes vont alors utiliser ces librairies, présentes dans /usr/X11R6/lib, au lieu des vôtres, optimisées Glide, et l'affichage ne sera plus accéléré, mais fenêtré. Bref, ça rame !!! La solution consiste à désinstaller les packages mesa et mesa dev (par rpm −e package), de lancer ldconfig (par ldconfig −v, et verifier qu'il n'y a plus de lib MesaGL), puis copier les librairies compilées pour Glide dans /usr/X11R6/lib, et lancer ldconfig de nouveau. Programmes testés avec brio (qui c'est çui−là ?) : • Toutes les démos de Glide et de Mesa (dont le magnifique morph3D, à comparer en vitesse avec la version software dispo sous NT et KDE !), • XMMS et son plugin de visualisation 3Dfx, • Quake II avec la lib Mesa livrée avec (./quake2 +set vid_ref glx +set gl_driver libMesaGL.so.2.6), • Q3test, • UltraHLE64 dans wine, • XRacer, • ... Astuce n°1 : (si vous étes riches avec plein d'écrans) Connectez votre carte vga sur un écran directement sans passer par la 3dfx et branchez la sortie de votre 3dfx sur un autre écran. Ca permet d'avoir tout affichage en 3d sur un écran séparer et de continuer de travailler sur un autre écran : • Vous pouvez écouter des mp3 avec XMMS et son plugin de visualisation 3Dfx sur un écran tout en faisant autre chose sur l'autre (trop fun :−) • C'est pratique quand l'affichage 3D plante ou que la fenêtre, et croyez moi ça arrive assez souvent, cela permet de pouvoir continuer à travailler sans avoir perdu son affichage normal et de devoir débrancher/rebrancher son écran en direct sur la carte vga pour débloquer l'affichage. Astuce n°2 : en fait l'affichage 3D semble être planté souvent parce que la fenêtre qui sous X a permis de lancer l'application 3D a perdu le focus (p.ex. la souris a bougé et n'est plus sur la fenêtre). • Sur Voodoo 1 ou Voodoo 2, lancez les applis 3D depuis une console texte (ALT−F2 à ALT−F6), vous n'aurez jamais ce problème ! • Sur Voodoo Banshee ou Voodoo 3, au contraire, vous êtes obligés de lancer les programmes 3D depuis un terminal sous X, sinon ils refusent de démarrer. Alors pour limiter le risque de problème, maximisez la fenêtre qui vous a servi à lancer votre appli 3D... Dépannage : • Couleurs abominable, scintillements, et bien que la 3Dfx fonctionne les couleurs sont pourries : vérifiez dans le BIOS les options PCI (Write back, PCI burst) et aussi dans les options de BIOS avancé le Shadow VGA BIOS, et le Snap color palette (activez/desactivez ces options jusqu'à ce que cela resolve le problème : ca dépend des cartes mères, des cartes Voodoo, etc.). • Les démos fonctionnent, mais uniquement en mode fenêtré et non pas en plein écran : elles n'utilisent pas la 3Dfx (ca rame !) : il reste sûrement des librairies Mesa non compilées pour Glide quelque part : tapez "ldconfig −v", regardez dans la liste qui va s'afficher s'il y a encore des librairies "Mesa", si oui, supprimez ces fichiers, puis relancez la même commande. Voilà, bonne 3D ! Download Pour les downloads, allez plutôt voir sur linux.3dfx.com afin d'obtenir les dernières versions. (from 3Dfx gamers) Indispensable pour toutes les cartes : Device3Dfx−2.2−3.src.rpm (26KB) Voodoo 3Dfx Glide_VG−2.46−1.i386.glibc.rpm (251KB) Glide_VG−2.46−1.i386.rpm (224KB) Glide_VG−2.46−3.i386.glibc2.1.1.rpm (247KB) Voodoo Rush Glide_VR−2.46−3.i386.glibc.rpm (475KB) Glide_VR−2.46−3.i386.rpm (238KB) Glide_VR−2.46−4.i386.glibc2.1.1.rpm (261KB) 42 Installer et configurer son matérie Download XFree86−Rush−SVGA−3.3.2−1.i386.rpm (1717KB) XFree86_Rush−libs−3.3.2−1.i386.rpm (781KB) Voodoo 3Dfx II Glide_V2−2.53−1.i386.glibc.rpm (511KB) Glide_V2−2.53−1.i386.rpm (482KB) Glide_V2−2.53−2.i386.glibc2.1.1.rpm (279KB) Voodoo Banshee et Voodoo 3 Glide_V3−2.60−7.i386.glibc20.rpm (230KB) Glide_V3−2.60−8.i386.rpm (424KB) XFree86_3DFX−rushlib−3.3.3−5.i386.rpm (11KB) XFree86_3DFX−SVGA−3.3.3−5.i386.rpm (1213KB) XFree86_3DFX−XF86Setup−3.3.3−5.i386.rpm (181KB) Mesa, à installer pour toutes les cartes (librairie 3D) (from Mesa3d.org) MesaLib−3.0.tar.gz (1,2 MB) MesaDemos−3.0.tar.gz (0,7 MB) Installer et configurer son matériel 43 3Dfx: accélération 3D sous Xfree 4 3Dfx: accélération 3D sous Xfree 4 par Serge Attention : cet article ne concerne que les cartes Voodoo 3 ou Banshee. Pour la Voodoo 5, je n'ai pas testé, mais cela doit aussi pouvoir s'appliquer en adaptant un peu. Une autre rubrique sur le site vous explique comment utiliser l'accélération 3D de tous modèles de cartes 3Dfx pour les serveur X de version 3.3.x. Depuis peu, la version 4 de Xfree est sortie. Il y a eu de grand changements dans les supports des cartes et la méthode précédente ne fonctionne plus pour utiliser l'accélération 3D avec Xfree4. Ainsi, si vous avez une carte 3Dfx autre que Banshee ou Voodoo 3, restez sous X version 3.3.x, car sous la version 4 vous ne pourrez plus utiliser l'accélération 3D. Seuls les possesseurs de cartes Voodoo 3 et Banshee peuvent utiliser leur carte 3Dfx sous Xfree 4 de façon optimale. Note : Vous pouvez quand même utiliser Xfree 4 avec les Voodoo 1, 2 et Rush mais comme une simple carte 2D sans utiliser les fonctions 3D. Les cartes 3Dfx 1 et 2 peuvent êtres utilisées en 2D, vous avez bien lu ! (Mais avec des limitations : 640x480 maxi, 2D non accélérée, avec une Voodoo 1 par exemple.) Installer Xfree 4 de base Avant toute chose, installez Xfree 4 : reportez−vous à la rubrique du site qui explique comment l'installer de plusieurs façons. Testez que tout marche bien au niveau 2D (pas la 3D bien sûr car on l'a pas encore installée !), que vos applications fonctionnent parfaitement, ainsi que les fontes, les diverses résolutions, etc... Une fois Xfree4 opérationnel, copiez le fichier /etc/X11/XF86Config dans un endroit sûr (dans le /root ou tout autre répertoire que /etc/X11). On va maintenant passer à la prise en charge de l'accélération 3D. Il est important pour le moment que le serveur 2D marche très bien. Récupérer les packages pour la prise en charge 3D et installation Allez sur le site linux.3dfx.com , suivre les liens "Open source" , "drivers" , Voodoo3/Banshee X Server with Mesa−based OpenGL API Support. (pour la Voodoo 5, regardez dans ...) Récupérez les packages suivants : tdfx_dri−4.0.00−1.i386.rpm tdfx_drm−1.0−1.src.rpm Glide_V3−DRI−3.10−6.i386.rpm Installez en premier le package Glide 3x par la commande: rpm −Uvh Glide_V3−DRI−3.10−6.i386.rpm Note : Si votre distribution n'est pas basée sur les rpm, récupérez le gestionnaire de rpm et forcez l'install par "rpm −i −−nodeps Glide_V3−DRI−3.10−6.i386.rpm". Pour la Slackware 7, le gestionnaire rpm est déjà dans la distribution, il suffit d'initialiser la base rpm par "rpm −−initdb" puis de forcer l'installation du package). Installez alors le serveur Xfree4 DRI : rpm −Uvh tdfx_dri−4.0.00−1.i386.rpm En fait là, on installe un serveur Xfree 4 optimisé et qui contient les modules pour les cartes 3Dfx banshee/voodoo3. Votre XF86Config vas être écrasé par un XF86Config de base, qui a tous les coups ne correspond pas à votre config (résolution par défaut, fontes, souris, clavier, ...). On va le laisser comme ça pour le moment. Recompilez alors le device pour la 3Dfx: rpm −−rebuild tdfx_drm−1.0−1.src.rpm Puis installez le: rpm −Uvh /usr/src/redhat/RPMS/i386/tdfx_drm−1.0−1.i386.rpm Ne vous affolez pas si vous avez des erreurs de dépendances de modules, ou de modules non résolus, c'est pas grave. Pour la Slackware, j'ai eu des petits problèmes pour recompiler ce driver. Si vous avez les mêmes problèmes, contactez moi (st@lea−linux.org). Configuration de l'ensemble Bon ok, on vas maintenant passer au plus dur, la configuration du tout. Premièrement il faut vérifier que le module tdfx est chargé avant de lancer le serveur X. Faite un "insmod tdfx.o". Je crois bien que les rpm insèrent cette ligne dans un script de démarrage. Si toutefois vous vous apercevez qu'après un reboot ce module n'est pas chargé (on peut voir les modules chargés en mémoire par la commande lsmod) , insérez la ligne "insmod tdfx.o" dans /etc/rc.d/rc.local. 44 Installer et configurer son matérie 3Dfx: accélération 3D sous Xf Bon maintenant on va configurer le XF86Config. Pour cela heureusement on a gardé l'ancien :) . Vous allez copier les sections tels que les fontes, la souris, le clavier de l'ancien XF86Config (celui que vous avez sauvegardé dans un répertoire au début de l'install, vous vous souvenez, quand même ;) dans le nouveau (qui se trouve dans /etc/X11) en écrasant les entrées bien sûr. Ne modifiez PAS les sections modules et autre ! Vérifiez quand même dans les sections screen que les résolutions correspondent à des résolutions que votre écran supporte (virez par exemple le 1280x1024 si c'est trop pour votre matériel). Si les fréquences ne sont pas bonnes, que votre écran n'arrive pas à suivre (on dirait une émission de canal + cryptée sur le moniteur), contactez−moi sur la liste ou le forum pour qu'on ajuste vos fréquences. Gardez bien de coté l'ancien XF86Config pour qu'on puisse vous aider ! Bon alors on croise les doigts et on lance X. Si X se lance bien on vérifie que la 3D est bien prise en compte en testant Quake III : linuxquake3 +set r_glDriver /usr/X11R6/lib/libGL.so +set r_fullscreen 0 Si Quake démarre, c'est bon la 3D fonctionne ! Cette rubrique n'est pas totalement finie, j'attends vos impressions et vos résultats d'installations, les problèmes rencontrés ainsi que les solutions seront inclus dans cette rubrique au fur et à mesure, donc n'hésitez pas à me mailer pour compléter cet article : st@lea−linux.org, ou bien postez vos expériences sur le forum. Installer et configurer son matériel 45 Les cartes NVidia TNT Les cartes NVidia TNT par Fred complété par serge NVidia vient de sortir un driver (dont la première version violait la license GPL) ; l'installation de ce driver est moins facile qu'il n'y paraît. Ce driver suppporte les TNT, TNT2, Geforce, Quadro. Nous allons expliquer dans cette rubrique comment installer les drivers de chez NVidia afin de disposer de l'accélération 3D des cartes TNT sous Linux. Prérequis : Vous devez tout d'abord installer XFree86 4.0 − voyez pour cela la rubrique XFree4.0. Vous devez vous connecter en root, et être en runlevel 3 (par exemple, tapez "init 3" dans une console). Téléchargement des drivers Ensuite téléchargez les drivers de chez NVidia. Je vous conseille (c'est la seule procédure que je décrirai) de télécharger les sources sur leur site ftp. Ne pas oublier de télécharger la FAQ. Ne pas oublier de la lire. (Je déconne, la lecture de ce document devrait suffire, mais on ne sait jamais). Dans la version précédente de cette documentation, je faisais état de problème avec le driver AGP de chez NVidia : le problème est réglé avec la version 0.9.4. Le problème était dû à des bios boggués (comme par hasard : le mien !). Cette nouvelle version semble fonctionner sans trop de problème (si quelqu'un veut que je teste Quake, il n'a qu'à me l'envoyer − par la poste ! ;−)) . Patcher votre kernel pour l'AGP ATTENTION: ce patch est à appliquer QUE si la version des drivers Nvidia que vous possédez est inférieure à la version 0.9.6. A partir de la version 0.9.6 N'APPLIQUER SURTOUT PAS CE PATCH, passez au chapitre suivant! Il est necessaire pour certaines cartes méres de patcher votre kernel pour la prise en compte de l'AGP et utiliser le driver de nvidia. De plus, même si pour certaine carte mére il n'est pas nécessaire de patcher le kernel pour pouvoir utiliser les drivers nvidia, je vous le conseille fortement pour profiter pleinement des accélérations 3D. Je suppose que vous avez un kernel 2.2.16 (dernier en date), d'ailleur je ne peux que vous le conseiller pour prendre en compte correctement l'AGP et les driver nvidia. Si vous ne l'avez pas, récupérez le sur ww.kernel.org. Récupérez le patch ici (récupérez la version pour les noyaux 2.2.16 ou 2.3.x si vous avez un noyau 2.3.x). Pour patcher votre kernel, faire alors: cd /usr/src/linux cat /chemin_ou_se_trouve_le_patch/agpgart−2.2.16−patch | patch −p1 Une fois votre kernel patché, reconfigurez le (make config ou make menuconfig ou make xconfig) , vérifiez dans la rubrique code maturity que vous avez activez le development code/drivers , puis dans la rubrique "character device" passez en module(M) le support agp, si une liste de chipset apparait, selectionnez tous les chipset (VIA, Intel, etc...) pour avoir le support de n'importe quel chipset (et du votre donc). Bon le probléme c'est qu'il vas falloir maitenant recompilez et installez le nouveau noyau ainsi que les modules (voir la rubrique kernel pour plus d'aide). Une fois le noyau compilé et que vous avez demarrez sur ce nouveau noyau (indispensable car le patch modifie les zones mémoires pour prendre en compte l'agp), on vas créer le device pour l'agp: mknod /dev/agpgart c 10 175 chargez le module agpgart en mémoire (modprobe agpgart). Il se charge sans probléme normalement. Si c'est bon, ajoutez dans un script de démarrage la chargement de ce module, par exemple vous ajoutez dans /etc/rc.d/rc.local la ligne: /sbin/modprobe agpgart Voila l'agp est pris en compte par votre kernel! Installation du driver de chez NVidia Je vais expliquer la démarche en supposant que vous installez les drivers 0.9.4 deniére version en date de cocument: Vous devez avoir téléchargé : NVIDIA_GLX−0.9−4.tar.gz NVIDIA_kernel−0.9−4.tar.gz décompressez les : # tar xzf NVIDIA_kernel−0.9−4.tar.gz # tar xzf NVIDIA_GLX−0.9−4.tar.gz 46 Installer et configurer son matérie Installation du driver de chez N Installation du module nvidia pour le kernel Placez vous dans le répertoire : NVIDIA_kernel−0.9−4. Compilez le module. Note : pour mener à bien cette compilation, vous devez avoir installé les sources du noyau de Linux et configuré ceux−ci comme décris plus haut.. Un simple make dans le répertoire NVidia_kernel−0.9−4 va modifier le fichier /etc/conf.modules pour que le modules soit chargé automatiquement, créer dans /dev les noeuds de périphériques correspondant à votre carte et installer les dits modules dans le bon répertoire (ie: /lib/modules/<kernel−version>/video). Toutefois, il est necessaire d'ajouter les options de chargement du module NVdriver pour éviter des pantages suivant le chipset de votre carte mére. Déchargez de la mémoire le module NVdriver que le make à chargé automatiquement par: rmmod NVdriver Editez le fichier /etc/modules.conf (ou conf.modules suivant les distributions) et ajoutez en dessous de alias char−major−195 NVdriver la ligne suivante: ATTENTION: cette ligne est à appliquer QUE si la version des drivers Nvidia que vous possédez est inférieure à la version 0.9.6. A partir de la version 0.9.6 N'APPLIQUER PAS CES CHANGEMENTS! options NVdriver NVreg_UseKernelAGP=1 NVreg_ReqAGPSBA=1 NVreg_ReqAGPFW=1 Remarque: si vous avez un chipset VIA Apollo Pro133A, validez dans votre BIOS la gestion 4x AGP et ajoutez dans la ligne décrite au−dessus NVreg_EnableVia4x=1 Bon testez que le module se charge sans erreur par un modprobe NVdriver Installation du serveur X L'installation du driver en elle−même est simple, mais il ne faut pas que le nouveau driver entre en conflit avec l'ancien. Pour cela il nous faut effacer ce qui pourrait entrer en conflit en prenant soin de sauvegarder ceux−ci pour revenir au départ en cas de problème. [root@becane [root@becane [root@becane [root@becane home]# mkdir nv−bak ; cd nv−bak nv−bak]# mv /usr/X11R6/lib/libGL.* . nv−bak]# mv /usr/X11R6/lib/modules/extentions/libGLcore.a . nv−bak]# mv /usr/X11R6/lib/modules/extentions/libglx.a . Pour être sur d'avoir fait correctement le ménage faite un : find /usr/X11R6/lib −name '*GL.*' find /usr/X11R6/lib −name '*GLcore.*' find /usr/X11R6/lib −name '*glx*' Si l'un de ces find vous renvoie quelque chose, celui−ci va, n'en doutons pas, créer des problèmes, alors : déplacez le dit quelque chose vers nv−bak. Puis placez−vous dans NVIDIA_GLX−0.9−4 et installez le driver par : [root@becane NVIDIA_GLX−0.9−4]# make Enfin éditer /etc/X11/XF86Config et modifiez la ligne : Driver "nv" et remplacez là par (le symbole # sert à commenter une ligne pour la rendre inactive sans pour autant la supprimer pour permettre un retour en arrière facile) : #Driver Driver "nv" "nvidia" et dans la section : modules faites en sorte que l'on puisse voir : Load "glx" plutôt que : #Load "glx" Et puis lancez votre serveur X par startx ou init 5 pour relancer [kgx]dm. Et c'est tout. Pour voir comment cela accélere, vous pouvez utiliser xracer (chez moi ça marche) ou l'économiseur xscreensaver (les economiseurs 3D) par exemple en tapant morph3d. Attention ils ne fonctionnent pas en tant qu'économiseur écran (une − au moins − fonction OpenGL semble ne pas être encore implémentée !), par contre en tant que démo tout va bien. Mais des programmes plus lourds devraient pouvoir en profiter (genre Quake). Je n'ai eu aucun problème avec l'analiseur de spectre OpenGL de XMMS. Installer et configurer son matériel 47 Chasse aux troubles (Trouble Shooting). Chasse aux troubles (Trouble Shooting). Rien ne fonctionne, je veux revenir à mon ancien driver Normalement cela ne devrait pas arriver, mais bon, effacez dans /usr/lib tous les libGL.* et libGLcore.* et dans /usr/X11R6/lib/modules/extensions tous les libglx.* et recopiez les originaux depuis nv−bak, enlevez vos modifications dans /etc/X11/XF86Config. Redémarrez votre serveur X. <programme> ne semble pas utiliser l'accélération 3D NVidia nous prévient que certains programmes peuvent ne pas profiter de l'accélération 3D bien qu'étant basés sur MesaGL : ceux dont la librairie Mesa est liée statiquement avec l'exécutable (cela signifie que le programme inclut sa propre librairie OpenGL et n'utilise donc pas celle que vous venez d'installer). Dans ce cas, pas de problème, comme nous sommes dans le monde radieux de l'open source : recompilez depuis les sources et tout (ou presque) se passera bien. libMesaGL.so not found Un autre problème peut se poser : les programmes compilés pour MesaGL (et liés avec libMesaGL/libMesaGLU). Pour ceux−là la solution est simple, créez des liens : # ln −s /usr/lib/libGL.so.xxx.xxx /usr/lib/libMesaGL.so # ln −s /usr/X11R6/lib/libGLU.so.xxx.xxx /usr/X11R6/lib/libMesaGLU.so # ldconfig Note : C'est bien deux répertoires distincts : /usr/lib et /usr/X11R6/lib − NVidia installe ses drivers dans /usr/lib alors que XFree86 installe ses librairies dans /usr/X11R6/lib. Ceci devrait régler certains problèmes. Quand je lance X j'ai l'écran qui devient noir et la machine est plantée Probléme lié à la gestion de l'AGP. Pour cela, editez le fichier /etc/modules.conf et modifiez les options NVreg_UseKernelAGP=1 NVreg_ReqAGPSBA=1 NVreg_ReqAGPFW=1 en changeant les 1 par des 0. ATTENTION: ceci n'est en fait valable que pour les drivers versions 0.9.5 et inférieur! Quand je passe de X à un terminal par CTRL ALT Fx : ça plante. C'est un bug des drivers, on ne peux rien faire pour vous. Attendez une nouvelle version des drivers chez nvidia. Evitez de passez sur un autre terminal, préférez ouvrir un xterm. Quake III démarre mais lorsque je joins une partie Quake se termine avec des erreurs GLX. Essayez de mettre à jour les librairie GLX en les récupérant sur http://utah−glx.sourceforge.net/ (je n'ai pas testé personellement mais il parrait que ça marche). 48 Installer et configurer son matérie Carte graphique i810 et Li Carte graphique i810 et Linux. par Martial Daumas Ce document décrit comment utiliser et configurer la carte graphique i810 efficacement sur les différentes versions de Linux. Présentation. Le problème : Supportée depuis quelques temps directement par le noyau de Linux, la carte graphique Intel i810 peut parfois poser des problèmes avec certaines distributions, avec certains noyaux ou drivers ou dans des configurations matérielles spécifiques. Cette carte existe en différentes versions et modèles, mais la démarche est normalement la même à chaque fois. Exemples de problèmes : Ceci est juste pour information, toutefois voici certains cas où j'ai rencontré des désagréments plus ou moins sévères (PC: Celeron 500Mhz): SuSE Linux 6.4 : Problèmes fréquents avec XF86Setup (plantage de la machine), problème de disparition du device /dev/agpgart (bus AGP) lors des recompilations du noyaux dû à un noyau (trop?) lourdement patché par SuSE. Leur outil de configuration SAX plantait aussi souvent. Leur driver GLX semble défectueux. SuSE Linux 7.0 : Problème encore et toujours avec la 3D, ainsi que des plantages de la machines avec SAX2 et XFree 4. Mandrake7.1 : Supportait bien cette carte, mais les outils de configurations 'maison' avaient tendance à brider sans raison les possibilités de la carte (profondeur de couleur, résolution etc...) Première solution Après une compilation d'un noyau 2.2.16+ (ou avant avec des patch il me semble), il se peut que le système refuse de passer en mode graphique, avec des messages du style : /dev/agpgart(i810) not found .... En fait, cela ne m'est arrivé que sur des SuSE... Toujours est il qu'il faut faire un petit tour (toujours recommandable) par /usr/src/linux/Documentation/devices.txt, on y trouve ceci : 10 char Non−serial mice, misc features ... ... 175 = /dev/agpgart AGP Graphics Address Remapping Table Ce qui signifie en clair que le 'device' agpart (bus AGP) a un Major de 10, type caractère avec un Minor de 175. le premier définit un type et une famille, et le deuxième est un identifiant spécifique au matériel. Nous allons donc créer ce 'device' par ces commandes: (martial@lfs:martial)$ su Password:****** (root@lfs:martial)# cd /dev (root@lfs:dev)# mknode /dev/agpgart c 10 175 Le 'c' précise qu'il s'agit d'un character device (et non pas block); on vérifie la création par: (root@lfs:dev)# ls −l agpgart crw−−−−−−− 1 root root 10, 175 Aug 6 2000 agpgart En cas de besoin, modifiez les permissions, mais normalement ça passe très bien ainsi. Nous venons de 'créer' la prise en charge par Linux du bus AGP (rappelez vous, tout est fichier), mais cela ne suffit pas si nous n'avons pas un 'device' spécifique pour notre carte i810, Ce device n'était malheureusement pas documenté dans le noyau 2.2.x (toujours pas en fait), mais une brève recherche sur internet nous apprend ce que l'on veut : crw−−−−−−− 1 root root 10, 240 Aug 8 2000 agpgarti810 (root@lfs:dev)# mknode /dev/agpgarti810 c 10 240 (root@lfs:dev)# ls −l agpgarti810 crw−−−−−−− 1 root root 10, 240 Aug 8 2000 agpgarti810 Il faut donc refaire la manip précédente: Là, on est bon ! Installer et configurer son matériel 49 Bien configurer son noyau. Bien configurer son noyau. Les manips précédentes sont utiles si vous aviez perdu les 'devices' corrects, mais ils ne seront utiles que dans le cas ou votre noyau a bien le support du bus AGP, sinon ces devices sont aussi inutiles que /dev/mouse quand on n'a aucun driver souris (en statique ou module). Pour que l'AGP avec la i810 marche, il nous faut sélectionner quelques options lors de la configuration d'un noyau, ce sont les mêmes avec les noyaux 2.2.x et 2.4.x. (root@lfs:root)# cd /usr/src/linux&& make menuconfig ou (root@lfs:root)# cd /usr/src/linux&& make xconfig Tout d'abord vérifiez que vous avez ceci : Code maturity level options −−−> [*] Prompt for development and/or incomplete code/drivers (pour éviter d'avoir des options inaccessibles sur un noyau un peu ancien) Processor type and features −−−> (Pentium−Pro/Celeron/Pentium−II) Processor family < > Toshiba Laptop support < > /dev/cpu/microcode − Intel IA32 CPU microcode support < > /dev/cpu/*/msr − Model−specific register support < > /dev/cpu/*/cpuid − CPU information support (off) High Memory Support [ ] Math emulation [*] MTRR (Memory Type Range Register) support [ ] Symmetric multi−processing support [ ] APIC and IO−APIC support on uniprocessors Mettez le processeur qui vous correspond au lieu du i386 par défaut, ça ira (un peu) plus vite. Les cartes mères i810 ont le mttr normalement, sinon ça ne pose pas de problèmes, alors autant le mettre. Character devices −−−> <M> /dev/agpgart (AGP Support) [ ] Intel 440LX/BX/GX and I815/I840/I850 support [*] Intel I810/I815 (on−board) support [ ] VIA chipset support [ ] AMD Irongate support [ ] Generic SiS support [ ] ALI chipset support L'option Intel n'est pas disponible en module, il faudra donc générer un nouveau noyau, et pas seulement compiler les modules. Nous passons donc à la compilation par : (root@lfs:martial)# (root@lfs:martial)# (root@lfs:martial)# (root@lfs:martial)# (root@lfs:martial)# (root@lfs:martial)# (root@lfs:martial)# cp −R /lib/modules/2.4.5 /lib/modules/2.4.5.bak make bzImage make modules rm −R /lib/modules/2.4.5 make modules_install mv /boot/vmlinuz /boot/vmlinuz.old cp arch/i386/boot/bzImage /boot/vmlinuz En oubliant pas de mettre à jour LILO avec ce nouveau noyau : (root@lfs:martial)# /sbin/lilo −v Puis de mettre à jour les dépendances des modules du noyau par un : (root@lfs:martial)# depmod −a Utilisation du DRI. Le DRI est une fonctionnalité de Xfree 4.x qui permet d'utiliser l'accélération matérielle de certaines cartes, dont la i810 sous X. La i810 n'est pas une carte 3D géniale, raison de plus de la booster un peu. Pour information, je viens de réussir à utiliser cette fonction pour la première fois en utilisant une version de Linux faite 'maison' (cf. LFS). J'avais essayé avec des SuSE, Mandrake, RedHat etc... et toutes avaient plus ou moins ce qu'il fallait en théorie pour que ça marche, mais je n'ai jamais réussi. C'est sans doute possible... en tout cas si certains de vos RPMS semblent poser trop de problèmes, penser à essayer de les compiler vous−même. (NDJC : si vous avez réussi à installer sur une de ces distributions, merci de nous transmettre votre méthode :−) En tout cas, voici ce qu'il vous faut en plus dans le noyau : [*] Direct Rendering Manager (XFree86 DRI support) < > 3dfx Banshee/Voodoo3+ < > 3dlabs GMX 2000 < > ATI Rage 128 < > ATI Radeon 50 Installer et configurer son matérie Configuration de X <*> < > Intel I810 Matrox g200/g400 C'est dans les noyaux 2.4.x, mais certaines distributions proposent des noyaux 2.2.x améliorés : à consommer avec la plus grande des modérations (NDLR : malheureusement on n'a pas le choix). Configuration de X Ensuite, il faut configurer votre /etc/X11/XF86Config. Plutôt qu'un long discours, je sort le mien, mais à titre d'exemple uniquement, ça ne passera sans doute pas tel quel chez vous : ###### /etc/X11/XF86Congig ######### Section "Files" FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/local" FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled" ..... et bla et bla .... ModulePath "/usr/X11R6/lib/modules" # ca c important, ca doit pointer # sur l'endroit (variable) ou vous avez les modules #(dri, glx, freetype etc..) de X. RgbPath "/usr/X11R6/lib/X11/rgb" #idem EndSection Section "ServerFlags" Option "AllowMouseOpenFail" EndSection Section "Module" Load "dbe" # le double buffer extension, parait que ca sert.... Load "type1" Load "speedo" Load "extmod" Load "freetype" # si vous voulez les police .TTF Load "glx" # important pour l'accel 3D Load "dri" # imprtant aussi EndSection Section "InputDevice" Driver "keyboard" .... ! depend de votre matériel ! .............. UseModes EndSection "Modes[0]" Section "Modes" Identifier "Modes[0]" Modeline "1024x768" 96.16 1024 1064 1200 1328 768 783 794 813 EndSection Section "Screen" DefaultDepth 16 SubSection "Display" Depth 16 Modes "1024x768" EndSubSection SubSection "Display" Depth 24 Modes "1024x768" EndSubSection SubSection "Display" Depth 8 Modes "1280x1024" EndSubSection Device "Device[0]" Identifier "Screen[0]" Monitor "Monitor[0]" EndSection Section "Device" BoardName "i810" # cette section est assez importante BusID "0:1:0" # ceci dépend du matériel : # X −scanpci # en mode console pour trouver le bon ID Driver "i810" VideoRam 8192 # la i810 se sert de la RAM générale, vous pouvez # en allouez plus si vous voulez Identifier "Device[0]" VendorName "Intel" EndSection Installer et configurer son matériel 51 Conseils généraux. Section "ServerLayout" Identifier "Layout[all]" InputDevice "Keyboard[0]" "CoreKeyboard" InputDevice "Mouse[1]" "CorePointer" Option "Xinerama" "off" Screen "Screen[0]" EndSection Section "DRI" Group "video" Mode 0666 EndSection # pensez à créer le groupe video en tant que root # normalemnt ca soit etre 0660, mais heuuuuhh..... #######fin de /etc/X11/XF86Config ########## N'oubliez pas que le DRI est supposé tourner en 16bits, ca passe aussi en 24bits, mais beaucoup moins bien. Pour essayer le résultat, tester un des Xscreensaver (comme atlantis) ou un jeu en 3D (comme Xracer), si tout c'est bien passé ca doit aller très vite (au moins un quadruplement de vitesse chez moi). Pensez aussi s'il n'existe pas à créer le device dri dans /dev : (root@lfs:dev)# ls −l dri total 0 crw−rw−rw− 1 root root 10, 63 Jul 19 21:27 card0 donc un : bash−2.05# mknod /dev/dri c 10 63 fera l'affaire. Conseils généraux. Dans tout les cas, faites le maximum pour opérer sur un système sain, c'est−à−dire installez les bons paquetages, au besoin obtenez les mises à jours et/ou patches sur le site de votre distribution. Utilisez une version stable de gcc, la version 3 est buggée (celle installée par RH7.1 ; NDLR : ce n'est pas la version 3 officielle..., mais une version 3 spéciale RedHat) (j'ai utilisé gcc version 2.95.2.1, impeccable). Lisez bien la doc de Xfree et du noyau, il y a pleins de bons conseils importants dedans. Veillez à bien avoir les libs requises comme MESA, libGL, libGLUT, glx et c. Cela dépend malheureusement de votre distribution et peut s'avérer extrêmement compliqué. En installant tout à partir des sources, je n'ai eu aucun problème particulier. Il vous faut dans tout les cas un serveur X prenant en charge la carte i810, pas de soucis pour les noyaux récents. Au besoin, mettez à jour, ou utilisez certains patches disponibles pour les vieux noyaux. Soyez prudents lorsque vous touchez au noyau et/ou à X, faites des copies de sauvegardes, et gardez toujours un moyen de booter sur l'ancienne configuration. ...Et lisez le LEA−BOOK ! 52 Installer et configurer son matérie Installation du lecteur de DVD Installation du lecteur de DVD : Xine par Fred et Jicé Lire des DVD vidéo avec Xine, avec et sans carte de décompresion MPEG−2 (dxr3 et Hollywood+). Introduction La lecture de DVD video sous Linux a longtemps été un véritable défi. La cause en était la volonté des majors et autres multi−nationales de verrouiller le marché du DVD (zones, cryptage des DVD, etc.). Grâce au travail acharné de plusieurs équipes, ce temps est aujourd'hui révolu, et après avoir lu ces quelques lignes, et épongé un peu de sueur, vous pourrez utiliser sous Linux vos DVD video de façon optimale. Nous allons présenter dans cet article l'installation de Xine, un lecteur video performant pour Linux. A cause de problèmes légaux, Xine ne sait pas tel quel lire les DVD cryptés ou bloqués. Heureusement, une autre équipe développe en parallèle un plugin pour Xine (xine_d4d) permettant de les lire sans aucun problème. Nous verrons comment installer xine_d4d pour lire les DVD cryptés. La structure modulaire de Xine permet aussi à un autre groupe de développer un plugin (xine−dvdnav) afin d'utiliser les menus des DVD comme sur une platine de salon. Nous verrons enfin comment tirer parti des cartes de décompression MPEG−2 basées sur le chipset em8300, dont les cartes Creative Labs dxr3 et Sigma Design Hollywood+ (et d'autres cartes sans marque et moins chères ;). Enfin, nous verrons qu'un autre problème se pose qui, lui, n'est pas lié au lecteur de DVD : rendre automatique l'installation de tous les drivers au boot de Linux. Les utilisateurs avancés (ou pressés ;) pourrons se rendre directement au résumé qui regroupe en quelques lignes les étapes à franchir afin d'installer Xine avec et sans carte de décompression. Pour commencer, il faut que votre noyau soit compilé avec le support du système de fichier UDF (CONFIG_UDF_FS = Y ou M), car la plupart des DVD utilisent ce système de fichier. C'est le cas des distributions récentes. Nous supposerons également dans la suite que vous avez un noyau de la série 2.4. Si vous avez une Mandrake Dans ce cas, lisez plutôt : xine pour mandrake. Préparatifs 1. /dev/dvd Etablissez un lien entre votre lecteur (chez moi /dev/hdb, car j'ai un lecteur de DVD atapi (IDE), mais ce pourrait être /dev/scd0 si vous avez un lecteur SCSI) et /dev/dvd : [user@localhost ~]$ ln −s /dev/hdb /dev/dvd Vous devez aussi donner les droits en lecture/écriture sur ce périphérique a vos utilisateurs de xine : reportez vous à cet article. 2. /usr/local Nous allons installer Xine (ainsi que les programmes pour piloter la carte em8300) dans le répertoire /usr/local. Le répertoire /usr/local/bin doit donc être dans votre chemin de recherche (PATH) et de plus, /usr/local/lib doit se trouver dans les librairies chargées par défaut. Ajoutez la ligne : export PATH=$PATH:/usr/local/bin dans ~/.bashrc et (passez en root) la ligne : /usr/local/lib dans /etc/ld.so.conf, puis tapez : /sbin/ldconfig (afin de faire prendre en compte les librairies de /usr/local/lib au système). Installation d'une carte de décompression MPEG−2 Si vous n'avez pas de telle carte, passez directement au chapitre suivant pour installer Xine. "Bon, c'est bien joli tout cela, mais la lecture de dvd sur mon PII 350 est saccadée et c'est pour cela que j'ai acheté une carte dxr3 !" Et bien, c'est pour cela qu'une équipe de joyeux lurons a développé un driver pour votre carte accélératrice ! (enfin, la leur je pense...) Ce driver fonctionne avec toutes les cartes basées sur la puce em8300 (Creative Labs dxr3, Sigma Design Hollywood+, etc). Il est utilisable par Xine, et depuis la version 0.9.0 du 3/12/2001, par MPlayer. Installer et configurer son matériel 53 Installation d'une carte de décompression MPEG−2 L'installation et la configuration de ce driver est assez difficile, mais cela vaut le coup... Il faut savoir que ce driver est développé sans l'aide des constructeurs de la puce em8300 ! Il est entièrement reverse−engineeré (admirez le franglais), c'est à dire que les développeurs ont observé le comportement du driver et de la carte sous Windows et en ont déduit comment programmer le driver pour Linux. C'est un travail long et difficile (mais que je (Jice) trouve très amusant ;) Voyons comment j'ai installé cette carte chez moi. Avant toute chose, il faut que votre noyau soit compilé avec le support I2C (CONFIG_I2C = Y ou M) et I2C bit−banging interfaces (CONFIG_I2C_ALGOBIT = Y ou M), ce qui est le cas des noyaux pour les distributions récentes (Mandrake 8, etc.) Important : sachez que par défaut le driver active la sortie télé de la carte MPEG−2 ; pour afficher la video sur le moniteur (on parle alors de mode "overlay"), il faut suivre ces recommandations. Création des périphériques em8300 Créons les périphériques à travers lesquels nous accéderons à la carte : $ su Password: xxxxxxxxxx # mknod /dev/em8300 c 121 0 # mknod /dev/em8300_mv c 121 1 # mknod /dev/em8300_ma c 121 2 # mknod /dev/em8300_sp c 121 3 # chmod g+rw /dev/em8300* # exit Pour que l'utilisateur courant puisse utiliser la carte de décompression Et pour que tout le monde (et pas seulement root) puisse se servir de la carte de décompression (et donc de xine pour dxr3) éditez /etc/security/console.perms et ajoutez−y : <em8300>=/dev/em8300* <console> 0600 <em8300> 0600 root.audio relancez le serveur X en tapant CTRL+ALT+BACKSPACE. Et voilà ! Tout le monde peut utiliser votre carte de décompression. Récupération des sources et installation de la librairie dxr3, et du "patch" pour Xine Il vous faut le package des drivers em8300 (http://dxr3.sourceforge.net). Prenez la dernière version sur http://sourceforge.net/project/showfiles.php?group_id=5165 : ce ne sera pas pire ! A la rédaction de cet article les drivers sont en version 0.9.0 ; ils ne contiennent plus de patch pour Xine car celui−ci est intégré à Xine depuis xine−5.0. Remarque : pour que les étapes de compilation passent chez moi, j'ai dû copier le fichier em8300−0.9.0/include/linux/em8300.h vers /usr/src/linux−2.4.8/include/linux/em8300.h Passons à l'installation : $ tar xzf em8300−0.9.0.tar.gz $ cd em8300−0.9.0 $ ./configure −−prefix=/usr/local $ make $ su Password: xxxxxxxx # make install # exit Et c'est tout ? Hé bien oui, sauf si vous aviez installé Xine auparavant : il faut le recompiler (seulement la partie xine−lib) : il va détecter la librairie dxr3 tout seul et se compiler avec le plugin dxr3. Placez−vous dans le répertoire de Xine : $ cd xine−lib−0.9.7 $ rm −f config.cache $ make clean (si vous avez un message d'erreur ici, ce n'est pas grave : continuez) $ ./configure −−prefix=/usr/local $ make $ su Password: xxxxxxx # make install # exit Et voilà ! 54 Installer et configurer son matérie Installation d'une carte de décompression Chargement des modules Et c'est tout ? Non ! Maintenant il faut charger les modules (=drivers). Heureusement deux scripts se chargent de cela pour nous : ldm pour le chargement et rmm pour le déchargement. Mais avant de les charger, il faut les compiler (avant toute chose, les sources de votre noyau doivent être installées et configurées, sinon vous aurez un message d'erreur). Placez−vous dans le répertoire em8300−0.9.0/modules : $ cd em8300−0.9.0 $ cd modules $ ./make $ su Password: xxxxxxxx $ ./make install $ exit Ensuite on charge les modules (pour l'instant, ce n'est qu'un test) : $ cd em8300−0.9.0/modules $ su Password: xxxxxxxxx # ./ldm (vérifions que l'installation est correcte : les lignes suivantes doivent ressembler à ça) # lsmod | grep em8300 em8300 45456 0 (unused) soundcore 4208 6 [em8300 sb_lib sound] i2c−algo−bit 7328 3 [em8300] # exit Récupération et installation du microcode Pour que la carte de décompression fonctionne, il faut programmer son processeur em8300. Cela se fait en chargeant dedans un programme nommé le "microcode" (programme en langage machine correspondant au processeur em8300 de la carte). Pour récupérer ce programme, montez la disquette ou le CD sur laquelle se trouvent les drivers Windows (ou téléchargez la dernière version des drivers) et trouvez le fichier qui s'appelle rmquasar.vx_ (si vous avez une carte Hollywood+) ou enc2dev.vx_ (si vous avez une carte dxr3). Ces fichiers sont peut−être dans un zip ou un autre type de fichier : à vous de le trouver ; avec ma carte Hollywood+ le fichier est à la racine de la disquette. Il faut décompresser ce fichier : $ cp /mnt/floppy/rmquasar.vx_ . $ em8300−0.9.0/scripts/msexpand.pl rmquasar.vx_ Input file appears to be Microsoft Compress format, proceeding Output filename = rmquasar.vxd Original file size: 307668 bytes Compression ratio: 45.3% puis récupérer le microcode : $ em8300−0.9.0/scripts/microcode_extract.pl rmquasar.vxd Found microcode block (length=26282), saving to microcode0.bin Found microcode block (length=26026), saving to microcode1.bin Found microcode block (length=26222), saving to microcode2.bin Note : il peut y avoir 2 ou 3 microcodes, selon votre carte et/ou la version des drivers. C'est normal. Ensuite il faut charger le microcode dans la carte, et pour ce : $ su Password: xxxxxxxx # em8300−0.9.0/scripts/microcode_upload.pl microcode0.bin Microcode uploaded to /dev/em8300 # exit Note (1) : à ce moment le "vga passthrough" (le câble qui relie votre carte vidéo à la carte MPEG−2) peut cesser de fonctionner (ce n'est pas le cas chez moi... : ce problème semble ne plus exister (?)). Si cela vous arrive, il n'y a pas encore d'autre solution que de rebrancher votre moniteur directement sur la carte video plutôt que sur la carte de décompression. C'est parfait. Le premier problème est qu'il y a (comme vous l'avez peut−être remarqué) plusieurs microcodes, alors lequel choisir ? Réponse : en essayant ! Les développeurs n'ont pas encore trouvé lequel choisir. Ce sera à vous de le faire. Chez moi tous les microcode semblent fonctionner de la même manière (en fait, après de multiple expérience, il semble que seul l'un d'eux permette de faire fonctionner correctement le mode 'overlay' : affichage à l'écran plutot que sur la télé), mais ce ne sera peut−être pas le cas chez vous. Note de Jice : chez moi, le microcode permettant de faire fonctionner correctement l'overlay est microcode2.bin. Voilà comment faire pour choisir un bon microcode : Installer et configurer son matériel 55 Installation d'une carte de décompression MPEG−2 1. tapez : em8300−0.9.0/scripts/microcode_upload.pl microcodeX.bin où X est le numéro du microcode que vous voulez tester. 2. lancez xine (en tant que root) : # xine (ceci pour un affichage sur une télé. Pour un affichage sur le moniteur, lisez d'abord le paragraphe sur l'overlay.) 3. jouez un dvd, si vous obtenez un signal video (même de couleur complétement décalées dans le vert) c'est bon, vous avez un microcode qui fonctionne, sinon, quittez xine, déchargez puis rechargez les modules : # cd em8300−0.9.0/modules # ./rmm # ./ldm et recommencez avec un autre microcode. 4. si ça ne marche toujours pas : vous êtes maudit, il va falloir vous mettre à l'anglais et lire le howto : http://dxr3.sourceforge.net/howto.html ou alors acheter un lecteur dvd de salon, voire même utiliser Windows (mais vous n'arriverez sûrement pas à cette extrémité ;−) Choisir les paramètres du noyau A ce point, vous avez identifié un microcode qui fonctionne, mais les couleurs ne sont probablement pas les bonnes : c'est parce que nous n'avons pas passé les bons paramètres aux modules que nous avons chargés. Note de Jice : si vous utilisez uniquement l'overlay, les modules fonctionnent sans aucun paramètre, et avec les bonnes couleurs. Vous pouvez donc sauter cette étape si vous ne désirez pas utiliser la sortie télé de votre carte MPEG−2. Editez d'abord ~/.xine/config et modifier les lignes: dxr3_tvmode:default video_driver_name:Xv Pour qu'elles deviennent : dxr3_tvmode:pal ou ntsc ou pal60 (ou overlay, voir plus loin) video_driver_name:dxr3 Si ces lignes n'existent pas : ajoutez−les ! Puis, éditez le fichier em8300−0.9.0/modules/ldm : #!/bin/sh modprobe i2c−algo−bit insmod eeprom.o insmod adv717x.o pixelport_16bit=1 pixelport_other_pal=0 insmod bt865.o insmod em8300.o dicom_fix=0 dicom_control=0 dicom_other_pal=0 (ça c'est celui qui marche chez moi) Pour trouver les paramêtres qui vont bien, il va vous falloir une série et './rmm', './ldm'. Voici par quoi remplacer les lignes en gras pour que les couleurs soient bonnes : adv717x.0 pixelport_16bit=1 pixelport_other_pal=1 em8300.0 dicom_fix=1 dicom_control=1 dicom_other_pal=1 ou adv717x.0 pixelport_16bit=0 pixelport_other_pal=0 em8300.0 dicom_fix=1 dicom_control=1 dicom_other_pal=0 ou adv717x.0 pixelport_16bit=0 pixelport_other_pal=1 em8300.0 dicom_fix=1 dicom_control=1 dicom_other_pal=1 ou adv717x.0 pixelport_16bit=1 pixelport_other_pal=0 em8300.0 dicom_fix=0 dicom_control=0 dicom_other_pal=0 Voilà comment procéder : • changer les deux lignes en gras par celles proposées (ou essayer d'autres combinaisons) • ./rmm • ./ldm • $EM8300PATH/microcode_upload.pl microcodeX.bin (ou X est le numéro du microcode qui marche !) • xine • on joue un dvd : les couleurs sont bonnes : ok, les couleurs ne sont pas bonnes on recommence. C'est très fastidieux, mais au bout d'un moment, on finit par y arriver ! 56 Installer et configurer son matérie Installation d'une carte de décompression Automatiser le chargement des modules Ca y est vous avez trouver les bons paramètres pour charger les modules ? Nous allons automatiser leur chargement au démarrage de la machine. Créez le fichier /etc/rc.d/init.d/em8300 (l'emplacement correspond à une Mandrake/RedHat) : #!/bin/sh # (c) Frédéric Bonnaud # em8300 : This shell script launches the dxr3 driver on your system. # case $1 in start) /usr/local/bin/ldm /usr/local/bin/microcode_upload.pl /usr/local/etc/microcodexxx.bin # pensez à copiez le microcode dans /usr/local/etc ! ;; stop) /usr/local/bin/rmm ;; status) if lsmod | grep em8300 2>&1 > /dev/null ; then echo "Le driver EM8300 (décompression MPEG−2) est chargé." else echo "Le driver EM8300 (décompression MPEG−2) n'est pas chargé." fi ;; reload) ;; restart) $0 stop $0 start ;; *) echo "Usage: $(basename $0) start|stop|restart|status" exit 0 esac exit 0 Copiez ldm, rmm et microcode_upload.pl vers /usr/local/bin et remplacez modprobe xxxxx.o par modprobe xxxxx et ajoutez PATH=$PATH:/sbin à chacun de ces fichiers (ldm et rmm). Ils doivent ressembler à (avec vos paramètres) : #!/bin/sh # ldm PATH=$PATH:/sbin:/usr/sbin modprobe i2c−algo−bit insmod insmod insmod insmod eeprom adv717x pixelport_16bit=1 pixelport_other_pal=0 swap_redblue_pal=0 bt865 em8300 dicom_fix=0 dicom_control=0 dicom_other_pal=0 et : #!/bin/sh # rmm PATH=$PATH:/sbin:/usr/sbin fuser fuser fuser rmmod rmmod rmmod −k /dev/em8300 −k /dev/em8300_mv −k /dev/em8300_ma eeprom em8300 adv717x Installer et configurer son matériel 57 Installation d'une carte de décompression MPEG−2 rmmod bt865 puis, tapez : # chkconfig −−add em8300 Si vous n'avez pas chkconfig, ajoutez des liens S* vers le script dans les répertoires correspondant aux runlevels 3 et 5 (en général /etc/rc.d/rc.3 et rc.5), et des liens K* dans les runlevels 0 et 6 si votre système est "sysV compliant" ;) Bref, si vous n'avez pas ces répertoires, débrouillez vous simplement pour que /usr/local/bin/ldm soit lancé au démarrage de votre machine et éventuellement /usr/local/bin/rmm quand vous éteignez votre machine. Utilitaires Losque vous avez installé les drivers em8300, un programme (dhc) a été installé dans /usr/local/bin, ce programme permet • d'activer a postériori les modes PAL/NTSC/PAL 60 • de passer du mode 4/3 au mode 16/9 • d'activer la sortie son numérique. • de régler les contrastes, la brillance • d'activer/supprimer les sous−titres N'hésitez pas à l'utiliser : il est très pratique et simplissime d'emploi. Un autre programme a été installé : dxr3view. Il permet d'utiliser, tester et régler l'overlay de la carte (i.e. affichage sur le moniteur). Normalement l'affichage se fait correctement dans la fenêtre dxr3view. Lorsque la souris est sur cette fenêtre, un appui sur la touche 't' affiche un menu (mémorisez bien cette touche) qui vous permet de passer en plein écran. Mais surtout ne le faites pas avant d'avoir lu la suite : pour repassez en mode 'fenêtré' il faut appuyer sur 't' , puis 'flêche bas', puis 'entrée'. Mémorisez bien cette séquence de touche avant d'essayer : sinon, vous n'avez plus d'écran : il faudra débrancher le cable 'VGA PASSTHROUGH' ! Utilisation de l'overlay (affichage sur le moniteur) avec le driver em8300 Par défaut, le driver dxr3 (nom du driver em8300 de Xine) affiche la video sur la sortie télé de la carte MPEG−2. Si vous désirez afficher la video sur votre moniteur, il faut activer le mode nommé "overlay". Depuis la version 0.8.1 des drivers em8300, ce mode overlay fonctionne assez correctement, mis à part un bug de xine dans l'initialisation de l'overlay ; nous allons voir ci−dessous un truc pour contourner ce bug. Comment ça marche ? C'est relativement simple. 1. Pour la première utilisation (et à chaque changement de résolution/profondeur de couleur), il faut lancer "autocal" qui a été installé dans /usr/local/bin par Xine. 2. Modifiez ~/.xine/config, pour que les lignes suivantes contiennent : 1. video.driver:dxr3 2. dxr3.videoout_mode:overlay 3. Lancez dxr3view qui est dans /usr/local/bin, 4. puis xine comme d'habitude (la première fois, par "xine −V dxr3") 5. Enfin, lancez un film : pour que l'affichage se fasse dans la fenêtre de Xine, minimisez celles de dxr3view, puis déplacez un peu la fenêtre de Xine : cela va lui faire "attraper" l'overlay. 6. c fini :) Tous les plugins fonctionnent bien avec l'overlay, même dvdnav (navigation dans les menus des DVD), sauf que l'affichage des menus est un peu décalé, rien de grave en somme. Voilà, bon film ! Installation de Xine L'installation est somme toute triviale : on récupère sur : http://xine.sourceforge.net les packages xine−lib et xine−ui. Note (1) : à l'heure ou j'écris ces lignes (17/12/2001) la version 0.9.7 de xine est sortie ; Xine supporte directement les cartes à base de em8300 (style : dxr3 ou Hollywood+) à partir de la version 0.5.3. Il n'y a plus besoin de patcher Xine. On compile les sources, et on installe Xine dans /usr/local : [user@localhost ~]$ tar xzf xine−lib−0.9.7.tar.gz [user@localhost ~]$ cd xine−lib−9.7 [user@localhost xine−lib−0.9.7]$ ./configure −−prefix=/usr/local [user@localhost xine−lib−0.9.7]$ make [user@localhost xine−lib−0.9.7]$ su Password:xxxxxxxx [root@localhost xine−lib−0.9.7]# make install [root@localhost xine−lib−0.9.7]# exit 58 Installer et configurer son matérie Installation d'une carte de décompression [user@localhost xine−lib−0.9.7]$ cd .. [user@localhost ~]$ tar xzf xine−ui−0.9.7.tar.gz [user@localhost xine−ui−0.9.7]$ ./configure −−prefix=/usr/local [user@localhost xine−ui−0.9.7]$ make [user@localhost xine−ui−0.9.7]$ su Password:xxxxxxxx [root@localhost xine−ui−0.9.7]# make install [root@localhost xine−ui−0.9.7]# exit Et voilà ! Xine est compilé et installé ! Les fichiers de Xine sont dans /usr/local/bin pour les exécutables, /usr/local/lib pour les librairies, et /usr/local/lib/xine pour les plugins de Xine. Nous allons maintenant le tester. Munissez−vous d'un DVD non crypté et mettez le dans votre lecteur de DVD. Lancez xine : [user@localhost ~]$ xine si a ce moment vous vous faites abreuver d'injures du type : audio_out_oss: audio_oss_out: audio_oss_out: audio_oss_out: realtime check: *FAILED* :−((((( Audio driver realtime sync disabled... ...Will use video master clock for soft−sync instead ...There may be audio/video synchronization issues input_dvd: unable to open raw dvd drive (/dev/rdvd): Permission denied ce n'est pas grave (moquez−vous en). Par contre si vous avez : bash: xine: command not found ou : input plugin found : /usr/local/lib/xine/plugins/input_file.so(input_file.so) input plugin found : /usr/local/lib/xine/plugins/input_net.so(input_net.so) xine.c(736): /usr/local/lib/xine/plugins/input_dvd.so doesn't seem to be installed (libcss.so.0: cannot load shared object file: No such file or directory) C'est que /usr/local/bin n'est pas dans votre chemin de recherche (PATH) et/ou que /usr/local/lib n'est pas dans les librairies chargées par défaut. Relisez les préparatifs, ou tapez : LD_LIBRARY_PATH=/usr/local/lib /usr/local/bin/xine pour lancer xine. Pour spécifier le driver video, vous pouvez lancer xine avec l'option −V (ex : xine −V dxr3), pour l'audio avec −A (ex : xine −A oss). Xine se "souvient" ensuite du driver video ou audio que vous avez choisi (il modifie son fichier de configuraiton ~/.xine/config). Une sortie du type : [jice@taz jice]$ xine This is xine (X11 gui) − a free video player v0.9.7 (c) 2000, 2001 by G. Bartsch and the xine project team. Généré avec la bibliothèque xine 0.9.7 [sam 15 déc 2001 21:56:43]−[gcc version 2.96 20000731 (Mandrake Linux 8.1 2.96−0.62mdk)]−[Linux 2.4.8−26mdk i586]. Version de la bibliothèque de xine trouvée : 0.9.7 (0.9.7). Display is not using Xinerama. xres 1024 yres 768 depth 16 dxr3_vo: setting aspect ratio to full dxr3_vo: setting up overlay mode dxr3_vo: setting tv_mode to PAL 50Hz load_plugins: video output plugin dxr3 successfully loaded. audio_oss_out: Opening audio device... audio_oss_out: realtime check: *FAILED* audio_oss_out: Audio driver realtime sync disabled... audio_oss_out: ...will use system real−time clock for soft−sync instead audio_oss_out: ...there may be audio/video synchronization issues audio_oss_out : supported modes are mono stereo load_plugins: audio output plugin oss successfully loaded. xine_init entered xine: using MMX optimized memcpy() load_plugins: input plugin found : CDA load_plugins: input plugin found : DVD load_plugins: input plugin found : stdin_fifo Installer et configurer son matériel 59 Installation de Xine load_plugins: input plugin load_plugins: input plugin load_plugins: input plugin load_plugins: input plugin load_plugins: input plugin load_plugins: demux plugin load_plugins: demux plugin load_plugins: demux plugin load_plugins: demux plugin load_plugins: demux plugin load_plugins: demux plugin load_plugins: demux plugin load_plugins: demux plugin load_plugins: demux plugin load_plugins: demux plugin load_plugins: demux plugin video decoder plugin found audio decoder plugin found audio decoder plugin found audio decoder plugin found audio decoder plugin found spu decoder plugin found : spu decoder plugin found : video decoder plugin found video decoder plugin found audio decoder plugin found video decoder plugin found video decoder plugin found spu decoder plugin found : audio decoder plugin found xine_init returning found : TCP found : file found : RTP found : VCD found : HTTP found : MPEG_TS found : QUICKTIME found : MPEG found : ASF found : AVI found : CDA found : MPEG_ELEM found : MPEG_PES found : OGG found : MPGAUDIO found : MPEG_BLOCK : vfw (win32) video decoder : vfw (win32) audio decoder : a/52dec : dts : mad spudec dxr3−spudec : dxr3−mpeg2 : mpeg2dec : lpcm : videofill : ffmpeg video decoder sputext : vorbis doit être considérée comme sans erreurs ! D'ailleurs, si vous voyez cela dans votre terminal, c'est que deux fenêtres viennent de s'ouvrir : une première, nommée xine video output et l'autre représentant un lecteur de DVD. Insérez un DVD video (non crypté) dans votre lecteur, puis cliquez sur le le bouton [dvd], dans la fenêtre du lecteur de DVD ; vous devez voir apparaître : dvd://VIDEO_TS.VOB ou quelque chose de ce genre. C'est parfait : ça veut dire que Xine a bien reconnu que vous aviez un DVD dans votre lecteur et qu'il veut bien le jouer. Appuyez sur le bouton "play" (la petite flèche ;−). Et hop, miracle, ça marche. Appuyez sur le bouton juste à gauche de la croix (en haut à droite) et hop, vous passez en plein écran. Un clic droit sur la fenêtre de vidualisation et le lecteur de dvd disparaît, vous laissant en plein écran. Un autre clic droit et le lecteur réapparaît. C'est simplissime. Pour choisir la bande son et/ou les sous−titres, il faut cliquer sur les flèches : celles de "SUB" pour les sous−titres (off par défaut) et celles de "AUD" pour la bande son. Et si ça ne marche pas ? Et si vous refaisiez tout par le menu ? Installons le plugin xine_d4d Le problème des DVD c'est que la plupart sont encryptés (via CSS), sous prétexte d'en empêcher la copie. Cela est faux : rien ne vous empêche de copier tel quel un DVD crypté, le décryptage s'effectuant lors de la lecture pour les DVD (c'est un peu comme si vous enregistriez une K7 vidéo de Canal+ en crypté et que vous décryptiez lors de la lecture). Ceci dit, vu me prix d'un DVD−RAM, vous feriez mieux d'achetez le DVD original ! En fait, le cryptage permet aux multinationales de verrouiller le marché, et − accessoirement − de toucher des royalties sur tout lecteur de DVD (de salon, ou tout logiciel permettant de les lire). (C'était la séquence "politique" de cet article :−) Dans les faits, le cryptage empêche la lecture des DVD video par notre OS favori. Chaque problème a sa solution : pour nous c'est xine_d4d et son plugin (basé sur DeCSS, le décrypteur de DVD le plus contesté de la planète). Téléchargez le package xine_d4d_plugin−0.3.0.tar.gz (ou une version plus récente) sur le site de captain css. Note : (21/12/2001) ce site est tombé. Cherchez "captain_css " sur google et vous devriez trouver sans problème. Procédons à l'installation : $ tar xzf xine_d4d_plugin−0.3.0.tar.gz $ cd xine_d4d_plugin−0.3.0 $ ./configure $ make $ su Password:xxxxxxx # make install 60 Installer et configurer son matérie Installation de Xin # exit That's all folks. Relancez Xine : maintenant il lit les dvd cryptés, mais pour cela il faut cliquer sur [d4d] au lieu de [dvd] dans la fenêtre de Xine (le mieux est de toujours cliquer sur [d4d], puisque ce plugin lit aussi les DVD non cryptés). Et voilà ! Installons le plugin xine−dvdnav Lire des DVD, c'est bien. Mais utiliser les parties interactives des DVD (menus, etc.), c'est bien mieux ! C'est ce que propose ce plugin. Tout d'abord, il faut installer la librairie libdvdread dont on trouve la dernière version sur http://www.dtek.chalmers.se/groups/dvd/downloads.shtml (ce lien est parfois indisponible, réessayez plus tard) : $ tar xzf libdvdread−0.9.2.tar.gz $ cd libdvdread−0.9.2 $ ./configure −−prefix=/usr/ $ make $ su −c Password:xxxxxxxx # make install # ldconfig # exit Ensuite, récupérez le plugin xine−dvdnav sur : http://dvd.sourceforge.net/xine−dvdnav.shtml. Remarquez que ce plugin lit aussi les DVD cryptés (mais il semble moins stable que xine_d4d). Actuellement le support des menus fonctionne assez bien, malgré des décalages en plein écran avec la carte de décompression em8300. J'utilise actuellement la version 0.9.5.beta (en général la version de ce plugin correspond à la version de Xine) trouvée sur http://sourceforge.net/project/showfiles.php?group_id=31346&release_id=52555. Récupérez le package, puis décompressez−le et installez−le comme d'habitude : $ tar zxf xine−dvdnav−0.9.5.beta.tar.gz $ cd xine−dvdnav−0.9.5.beta $ ./configure $ make $ su −c Password:xxxxxxxx # make install # exit Vous pouvez également essayer la version CVS (i.e. la toute dernière version, telle que les développeurs l'ont chez eux). La version que j'ai testée est la version CVS du 10/09/2001. Pour cela, il faut que les outils CVS soient installés sur votre machine (sur une Mandrake 8 Freq 2, le paquetage s'appelle : cvs−1.11−5mdk.i586.rpm). On récupère le plugin par : cvs −d:pserver:anonymous@cvs.dvd.sourceforge.net:/cvsroot/dvd login password:<ENTREE> cvs −z3 −d:pserver:anonymous@cvs.dvd.sourceforge.net:/cvsroot/dvd co xine−dvdnav Puis on l'installe par : cd xine−dvdnav ./cvscompile.sh make su −c "make install" On accède au menu des DVD en cliquant sur [NAV] dans la barre de boutons de Xine (attention, si vous avez cliqué sur [dvd] ou [d4d] avant, vous ne verrez rien changer : il faut vider la liste de lecture (playing−list) de xine en cliquant sur l'icone qui ne ressemble à "rien" (la première icône à droite des icones des plugins comme [dvd]) puis sur l'icone 'poubelle' dans la boîte de dialogue "Playlist editor" qui s'ouvre. Résumé Résumé des étapes pour les utilisateurs avancés... et les autres ;) Prérequis 1. créer le lien /dev/dvd 2. ajouter /usr/local/bin au PATH et /usr/local/lib à ld.so.conf Carte de décompression 1. Si vous avez une telle carte, récupérez et installez (./configure, make et make install) le package suivant : Installer et configurer son matériel 61 Résumé em8300 (http://dxr3.sourceforge.net) 2. Sinon, passez cette étape. Xine 1. récupérez et installez (./configure, make et make install) les packages suivants : 1. xine−lib (http://xine.sourceforge.net) 2. xine−ui (http://xine.sourceforge.net) 3. xine_d4d (http://www.geocities.com/captain_css/) (21/12/2001: lien mort, chezchez le plugin sur google...) 4. xine−dvdnav (http://dvd.sourceforge.net/xine−dvdnav.shtml) 2. Si vous utilisez une carte de décompression 1. Si vous souhaitez afficher la video sur le moniteur 1. lancez /usr/local/bin/autocal pour calibrer votre ordinateur / moniteur pour xine (une seule fois, la première fois que vous utilisez Xine), 2. lancez xine (au moins la première fois) avec "xine −V dxr3 &", 3. lancez dxr3view, 4. lancez la lecture d'un film, 5. minimisez les fenêtres de dxr3view, 6. déplacez un peu la fenêtre de visualisation de Xine 2. Si vous affichez la video sur une télé 1. connectez la télé ;) 2. si vous avez une télé PAL/SECAM, configurez Xine pour qu'il affiche en PAL (modifiez la ligne dxr3.preferred_tvmode:PAL dans ~/.xine/config) 3. lancez la lecture du film ! 3. si vous n'avez pas de carte de décompression, il suffit de lancer "xine" et de jouer le film ! Chasse aux problèmes (ou trouble shooting) Je placerai ici les réponses aux problèmes les plus courants. Envoyez−nous vos questions, et si elles sont pertinentes, elles trouveront leur place ici. Pas de son Si vous n'entendez pas le DVD qui est en train de se jouer, peut−être n'utilisez−vous pas le bon plugin de sortie audio ? Essayez de lancer Xine avec l'option −A, par exemple : xine −A oss xine −A esd xine −A alsa etc. (voir xine −h pour les options disponibles chez vous) Pas d'image Si vous n'avez pas d'image sur votre moniteur avec une carte de décompression em8300, lisez bien le paragraphe "utilisation de l'overlay". 62 Installer et configurer son matérie Installation de Xine pour une Man Installation de Xine pour une Mandrake par David2 Cet article est une installation de Xine dans le cas particulier d'une Mandrake 8.0 ou 8.1. Pour la Mandrake 8.2, utilisez simplement les packages du Penguin Liberation Front, en suivant les instructions de leur page. Il faut de plus créer le lien suivant : ln −s /usr/lib/libdvdcss.so.1 /usr/lib/libdvdcss.so.0 Cet article est un complément de l'article général sur l'installation de Xine. Voici d'abord une adresse où trouver les rpm pour les version 0.9.x http://cambuca.ldhs.cetuc.puc−rio.br/~jcm/skyblade/ Télécharger les rpm libdvdcss−0.0.3.ogle3−1.i686.rpm libdvdread−0.9.2−1.i686.rpm w32codec−0.50−1.i386.rpm xine−dvdnav−0.9.8.beta2−8.i686.rpm xine−lib−0.9.8−0.i686.rpm xine−lib−aa−0.9.8−0.i686.rpm xine−lib−alsa05−0.9.8−0.i686.rpm xine−lib−alsa09−0.9.8−1.i686.rpm xine−lib−arts−0.9.8−0.i686.rpm xine−lib−d4d−0.9.8−0.i686.rpm xine−lib−docs−0.9.8−0.i686.rpm xine−lib−esd−0.9.8−0.i686.rpm xine−lib−oggvorbis−0.9.8−0.i686.rpm xine−lib−oss−0.9.8−0.i686.rpm xine−lib−w32dll−0.9.8−0.i686.rpm xine−lib−xv−0.9.8−0.i686.rpm xine−ui−0.9.8−0.i686.rpm xine−ui−aa−0.9.8−0.i686.rpm Il y en a quelques−un en trop ;−) mais j'essaie de faire simple (ndlr: Les versions peuvent changer, surtout celles de xine, utilisez la dernière version). Installation Il faut ensuite installer les rpm dans cet ordre rpm rpm rpm rpm rpm −Uvh −Uvh −Uvh −Uvh −Uvh libdvdcss−0.0.3.ogle3−1.i686.rpm libdvdread−0.9.2−1.i686.rpm w32codec−0.50−1.i386.rpm xine−lib−0.9.8−0.i686.rpm xine−ui−0.9.8−0.i686.rpm Un et un seul de cela en fonction de ton système de son rpm rpm rpm rpm −Uvh −Uvh −Uvh −Uvh xine−lib−oss−0.9.8−0.i686.rpm xine−lib−alsa09−0.9.8−1.i686.rpm xine−lib−alsa05−0.9.8−0.i686.rpm xine−lib−arts−0.9.8−0.i686.rpm En général, c'est Oss ou Alsa, si vous ne savez vraiment pas, prenez Oss ... Puis rpm rpm rpm rpm rpm rpm rpm rpm −Uvh −Uvh −Uvh −Uvh −Uvh −Uvh −Uvh −Uvh xine−dvdnav−0.9.8.beta2−8.i686.rpm xine−lib−aa−0.9.8−0.i686.rpm xine−lib−d4d−0.9.8−0.i686.rpm xine−lib−docs−0.9.8−0.i686.rpm xine−lib−oggvorbis−0.9.8−0.i686.rpm xine−lib−w32dll−0.9.8−0.i686.rpm xine−lib−xv−0.9.8−0.i686.rpm xine−ui−aa−0.9.8−0.i686.rpm Les very important paquets sont dvdnav, d4d pour les dvd cryptés. Oggvorbis peut ne pas s'installer ce n'est pas grave sauf si vos divx utilisent ogg (ce qui est rare ). Si vous avez une mandrake 8.1 alors pour xine−lib−xv , il faut, en root , taper : Installer et configurer son matériel 63 Utilisation > ld −−whole−archive −shared −o /usr/X11R6/lib/libXv.so.1 /usr/X11R6/lib/libXv.a > rpm −Uvh xine−lib−xv−*.rpm −−nodeps > ldconfig Pour créer un fichier "libXv.a" nécessaire à ce rpm (ce problème sera peut−être corrigé par de futurs versions de ce rpm). Utilisation Pour utiliser Xine, pour un DVD (si la configuration est correcte) appuyez sur le bouton DVD, si il est crypté D4D et si vous voulez les menus NAV. Si votre dvd ne fonctionne pas essayez les trois options. Attention, Xine possède une Playliste, si vous faite le bouton DVD puis D4D, le D4D est deuxième dans la liste! Pour les Divx, utilisez la fonction Playlist pour aller chercher votre fichier. Vous pouvez aussi lancer le Divx en utilisant ce qu'il appelle une MRL (man xine) ou avec directement le nom du fichier : # xine /mnt/windows/Divx/mon_divx.avi Pour les questions, voici la FAQ en français de xine : http://xine.sourceforge.net/xine_frame.php?page=FAQ_fr Pour les dvd, vérifiez votre lien /dev/dvd. Si il n'existe pas vous pouvez faire un lien de votre device DVD vers /dev/dvd avec la commande ln −s /dev/hdx /dev/dvd en remplaçant le x évidement. Bon courage 64 Installer et configurer son matérie Le Plug and play Le Plug and play par Serge parfois appelé le Plug and Pray. Avertissement : On nous demande souvent à quel type de matériel s'applique cette rubrique. Pour faire court, disons que PnP = cartes ISA seulement. Pour faire long, lisez le paragraphe ci dessous ! Les cartes PCI, AGP, etc.. ne posent AUCUN probléme de configuration, elles sont toujours détectées suivant les spécifications des bus où elles se trouvent, et n'ont pas besoin d'utilitaire spécial de configuration quelque soit l'OS. On ne parle donc pas de PnP (ou alors c'est un abus de langage) pour des cartes PCI ou AGP. Le plug and play se fait ici au niveau du matériel qui gère seul l'allocation des ressources (IRQ, etc.). Par contre les carte ISA ont des problèmes de configuration (non automatique pour la détection de conflits, etc...), donc on a inventé un "protocole" de configuration/détection conflit : le PnP. Donc le PnP en tant que tel ne s'appliquent qu'aux cartes ISA (quelque soit l'OS). PS: ll y a une "extension" du PnP pour des périphériques tels que l'écran, les périphs sur port parallèle, etc. mais ce n'est pas du PnP à proprement parler, ca ne permet pas de configurer le périph (de toute facon y'a rien a configurer, c'est le port où se trouve ce périph qu'il faut configurer et non pas le périph lui même) mais juste de le détecter (le périph envoie une séquence lors de l'initialisation du port disant "coucou je suis là, et je m'appelle machin truc"). Voila donc PnP = cartes ISA SEULEMENT. Sous Linux le plug and play n'est pas aussi simple que sous Windows (quoi que des fois....), il arrive assez souvent que nos cartes plug and play refusent de marcher sous Linux. Il existe en fait deux méthodes pour bien configurer son Linux pour faire fonctionner de telles cartes. La première consiste à dévalider dans le BIOS de notre carte mère l'option PNP OS, et de configurer alors Linux comme si toute nos cartes n'étaient pas PNP. C'est la méthode la plus simple mais on perd alors la fonctionnalité du PNP sous linux, ce qui est un peu frustrant. La deuxième méthode consiste à utiliser le PNP sous Linux ; c'est cette méthode que je vais vous expliquer. Tout d'abord il faut valider le PNP dans le bios, donc validez cette fois−ci le PNP OS dans le bios. De plus, le PnP fonctionne avec les modules des cartes : enlevez de votre kernel toute la configuration qui se reporte aux cartes (si par exemple votre carte son est PnP et que dans votre noyau vous avez répondu "yes" pour configurer votre carte son et passé les paramètres de votre carte : irq, etc. vous enlevez tout), mais par contre vous compilez votre noyau avec les modules de vos cartes PnP. Si on reprend l'exemple d'une carte son, au moment du CONFIG SOUND vous répondez M pour module et non pas Y ! En fait je vous explique, le chargement du PnP dans Linux se fait APRES le chargement du noyau, donc si vous configurez vos cartes dans le noyau, celui ci va les initialiser (sans y arriver en plus) et lorsque le PnP va tenter de les initialiser lui aussi, ça ne passera plus. Donc pour toutes les cartes PnP répondez par M dans la config du noyau. Une fois ce travail exécuté, si vous avez une partition Windows 95 ou 98 sur votre machine, bootez dessus et notez la configuration de toutes vos cartes PNP (plage mémoire, irq, dma), puis rebootez sous linux. Il va déjà falloir vérifier que vous avez bien les isapnptools sur votre machine, pour cela lancez la commande pnpdump>/etc/isapnp.conf. Si ça marche, c'est que vous avez bien les isapnptools et que votre noyau supporte le PnP. Autrement il va falloir que vous téléchargiez les isapnptools et valider le PnP dans votre kernel. Si vous avez le message d'erreur "trying port adress ..." puis "no board found" c'est que votre carte mère n'est pas PnP ; il vous faut alors configurer vos cartes à la main comme si elles n'étaient pas PnP. Une fois le programme lancé, celui−ci a créé en fait le fichier /etc/isapnp.conf. Ce fichier créé, éditez le, à l'aide de vi par exemple. La structure d'un tel fichier peut paraître barbare mais en fait elle est très simple. Tout d'abord ajoutez la ligne (VERIFYLD NO) dans le début du fichier : certaines cartes (dont par exemple la Sound Blaster AWE64) n'aiment pas du tout. Regardez alors les lignes. La plupart sont en commentaire (le # devant), et vous allez voir des IRQ, DMA , ADRESS dans ces lignes. Le plus important est de regarder les lignes non commentées (qui ne comportent pas de # au début) et vérifier bien que les paramètres sont bons par rapport à ceux qui étaient dans Windows. Si c'est bon on touche à rien, si c'est pas bon on commente la ligne et on recherche celle qui contient les bons paramètres irq, dma et adresse. Si vous ne la trouvez pas (très rare), remplacez alors dans la ligne qui ne contient pas le # les mauvais paramètres par les bons. Une fois cette vérification faite, regardez à chaque fin de configuration de chaque carte (avant de passer dans un LD différent) que vous avez bien une ligne qui contient : (ACT Y), et qui n'est pas commentée (qui ne contient pas # au début donc). Une fois tout ça réalisé, tapez sous la console : isapnp /etc/isapnp.conf Regardez alors que vous n'avez pas de message d'erreur. Si un message d'erreur IORESCHECK s'affiche, notez par rapport a quel périphérique ce message apparaît, retournez dans le fichier isapnp.conf et effacez pour ce périphérique (IORESCHECK ..), et ça devrait passer sans problèmes (j'ai galêré 3 nuits pour comprendre que ma carte n'était pas en conflit, que c'etait en fait le contrôle de conflits d'adresses qui ne marchait pas tout simplement). Si ça marche, alors vous avez gagné ! Chargez les modules de vos cartes (modprobe module) pour rendre celles−ci opérationnelles. On va un peu automatiser tout ca maintenant, pour cela activez l'autoload des modules dans le kernel, enable loadable module support Y, et Kernel daemon support Y. Après, éditez le fichier /etc/conf.modules (s'il n'existe pas ça va le créer) et ajoutez les lignes pour vos modules de cette façon : alias periph nom_du_module Installer et configurer son matériel 65 Le Plug and play C'est à dire prenons l'exemple pour une carte son Sound Blaster et une carte réseau compatible NE2000, le périphérique son s'apelle sound et la carte réseau s'apelle eth0 (vous n'avez pas le choix), le module Sound Blaster s'apelle sb et le module NE2000 s'apelle ne, ca nous donne alors: alias alias sb eth0 sound ne Un petit récapitulatif des périphériques sous Linux (les plus courants) en sachant que vous pouvez mettre tous les modules (même des périphériques non PnP) pour qu'ils se chargent au démarrage. Attention certains ont besoin d'option(s), je ferai une petite rubrique spéciale pour les modules plus tard : son sound carte réseau 1, 2, etc... eth0, eth1, ... carte scsi scsi_hostadapter port paralléle parport_lowlevel Pour les options, moi par exemple pour ma carte ethernet j'ai du repasser l'adresse et l'irq de ma carte, ceci se fait de cette façon toujours dans le fichier conf.modules : options nom_modules les_options exemple : options ne io=0x240 irq=12 (pour une carte réseau a l'adresse 240 et irq 12) Attention l'adresse est en hexadécimal, donc de type 0xXXX, ne pas oublier le 0x qui n'apparait pas dans Windows. 66 Installer et configurer son matérie Installation d'une carte tune Installation d'une carte tuner TV par Jean−Christophe, MàJ par Serge (son) Où vous allez constater que vous n'aviez encore rien vu à la télé ! Pré requis : • Une carte TV compatible avec video4linux, c'est à dire : ♦ principalement toute carte contenant un chipset Booktree Bt848/Bt848a/Bt849/Bt878/Bt879 (Maxi TV Video PCI 2, Hauppauge Win/TV PCI, Mìro/Pinnacle PCTV (Pro ou non), etc.), ♦ mais aussi Iomega Buz, Quickcam N&B et couleur, Zoran ZR36120, Matrox (en cours), Zoran, etc. (Voir sur la page de video4linux pour la liste complète du matériel supporté). ♦ Des travaux sont en cours pour les cartes ATI : c'est le projet GATOS. ATI semble maintenant coopérer avec eux. Il semble que les tuners TV soient maintenant bien supportés (25/4/2000), notamment pour les cartes ATI All−In−Wonder, All−In−Wonder Pro, ou Rage II/Pro avec la carte tuner ATI−TV. Support limité pour les cartes All−In−Wonder 128 et Rage128 avec le tuner ATI−TV (extrait du README). Un message passé sur Linuxfr dit que pour la carte All−In−Wonder 128, cela fonctionne même mieux que sous Windows... Je n'ai pas de carte ATI, donc je ne peux pas tester ; je vous donne ici des pointeurs afin que vous puissiez vous débrouiller ;) Si quelqu'un veut écrire une rubrique concernant spécifiquement les tuners de ces cartes, il est le bienvenu. • Un système Linux basé sur le noyau 2.2.x (le fonctionnement est possible avec un 2.0.x, mais la procédure est plus compliquée car video4linux n'est pas inclus dans ces noyaux, nous ne l'expliquerons donc pas, toutes les distributions actuelles utilisant un noyau 2.2.x) • Lancer X en 16bpp mini (i.e. 65536 couleurs). Utilisez XF86Setup ou xf86config ou modifiez le fichier /etc/X11/XF86Config à la main. Le document concerne l'installation d'une carte à base de chipset BookTree BT8xx, mais peut−être adapté à d'autres périphériques supportés par video4linux: adaptez simplement les paragraphes concernant les drivers. (Pour les cartes ATI, il ne s'agit pas encore de drivers, mais le travail pour incorporer le code au noyau progresse.) Le son : Suivant votre carte TV : • soit le son n'a pas à être traité spécifiquement : il part directement via un petit câble de sortie audio de la carte TV vers l'entrée (Line in) de la carte son. Si le son est correctement configuré sur votre système Linux, il suffit d'utiliser un mixer et de vérifier que le potentiomètre de 'Line' ou 'Line in' n'est pas à zéro, et vous devriez entendre quelque chose, dès que le tuner est en route. C'est le cas des cartes de base, sans décodeur spécifique pour le son. • soit votre carte possède un décodeur son spécifique, c'est le cas des cartes gérant le son NICAM stéréo, Dolby, etc. En fait si vous configurez votre carte comme décrit ci−dessous et que vous n'entendez rien du tout, allez voir plus bas dans la page, où le probléme du son est traité. Drivers et Devices Drivers Si vous êtes chanceux, votre distribution contient déjà les modules tout prêts (exemple : Mandrake). Vérifiez si le répertoire /lib/modules/2.2.x/misc contient les fichiers bttv.o, i2c.o, tuner.o, videodev.o. Si oui, c'est cool pour vous, vous pouvez sauter le paragraphe concernant l'installation des drivers (mais pas leur configuration) ! Sinon, let's go !!! Devices Si vous êtes encore plus chanceux, vous avez des fichiers /dev/video, /dev/video0 etc. Dans ce cas, vous avez vraiment beaucoup de chance, vous pouvez aussi sauter le paragraphe suivant ! Installation des devices Nous allons nous placer dans le cas le plus simple, celui où vous n'avez qu'une seule carte TV. Pour créer le périphérique /dev/video, tapez : mknod /dev/video0 c 81 0 ln −s /dev/video0 /dev/video C'est tout ! :) Remarque 1 : Si vous avez plusieurs cartes TV (on ne sait jamais !), il suffit de définir d'autres périphériques, avec le major 81 et en incrémentant le minor. [root@taz /]$ ls −l /dev/video* lrwxrwxrwx 1 root sys crw−−−−−−− 1 root sys crw−−−−−−− 1 root sys 81, 81, 6 Aug 0 Aug 1 Aug Installer et configurer son matériel 2 21:37 /dev/video −> video0 2 21:37 /dev/video0 2 21:37 /dev/video1 67 Drivers et Devices crw−−−−−−− crw−−−−−−− crw−−−−−−− 1 root 1 root 1 root sys sys sys 81, 81, 81, 2 Aug 3 Aug 4 Aug 2 21:37 /dev/video2 2 21:37 /dev/video3 2 21:37 /dev/video4 Remarque 2 : dans les sources de video4linux ou de kwintv, vous trouvez un script MAKEDEV. Lancez−le par un ./MAKEDEV et il vous créera tous les périphériques nécessaires (et plus encore !) Installation des drivers (modules) Ah ! Si vous lisez ceci c'est que votre distribution ne contient pas les modules tout prêts ? Pas de chance, mais rassurez−vous ce n'est pas si compliqué. Ne vous sauvez pas si je vous parle de "compilation du noyau" !!! En effet, il faut compiler les modules nécessaires à video4linux. En tant que root, placez vous dans le répertoire /usr/scr/linux−2.2.x (vous devez avoir préalablement installé le package des sources de votre noyau, trouvé sur le CD de votre distribution sous le nom kernel−xxxxx.rpm. Sous X, tapez make xconfig / Sous une console, tapez make menuconfig. Choisir M (module) dans le menu "Video For Linux" et M pour l'option "BT848 Video for Linux". Tapez make modules ; make modules_install. Une fois les modules installés, pour vérifier leur bon chargement, taper : insmod insmod insmod insmod lsmod −f −f −f −f i2c verbose=1 scan=1 i2c_debug=0 tuner debug=0 type=3 videodev bttv radio=1 card=1 vidmem=0xdc0 Configuration des modules Pour charger automatiquement ces modules lorsqu'on en a besoin, ajoutez dans /etc/conf.modules ou /etc/modules.conf (pour les distributions récentes c'est forcément ce fichier là), les lignes suivantes, en adaptant les valeurs à votre configuration : alias char−major−81 bttv pre−install bttv modprobe −k tuner options i2c verbose=1 scan=1 i2c_debug=0 options bttv radio=1 card=1 vidmem=0xdc0 options tuner debug=0 type=3 Description des paramètres des modules : • bttv ♦ radio ♦ vidmem : l'adresse du framebuffer sur votre carte vidéo. Afin de déterminer ce paramètre, lancez /usr/local/bin/v4l−conf (ou juste : v4l−conf). Celui ci va vous répondre : using X11 display :0.0 (dga available) video mode: 1024x768, 16 bit/pixel, 2048 byte/scanline framebuffer at 0xe4000000 ok Pour trouver la valeur de vidmem, regardez après framebuffer. Ici, le paramètre serait 0xe40. Si vous obtenez une image décalée par rapport à la fenêtre de votre application, le problème vient peut−être de là. ♦ card : le type de carte que vous possédez, parmi : ◊ card=0 − générique ◊ card=1 − MIRO PCTV ◊ card=2 − Hauppauge (bt848) ◊ card=3 − STB ◊ card=4 − Intel Create and Share PCI/ Smart Video Recorder III ◊ card=5 − Diamond DTV2000 ◊ card=6 − AVerMedia TVPhone ◊ card=7 − MATRIX−Vision MV−Delta ◊ card=8 − Lifeview FlyVideo II (Bt848) LR26 ◊ card=9 − IMS/IXmicro TurboTV ◊ card=10 − Hauppauge (bt878) ◊ card=11 − MIRO PCTV pro ◊ card=12 − ADS Technologies Channel Surfer TV (bt848) ◊ card=13 − AVerMedia TVCapture 98 ◊ card=14 − Aimslab Video Highway Xtreme (VHX) ◊ card=15 − Zoltrix TV−Max ◊ card=16 − Prolink Pixelview PlayTV (bt878) ◊ card=17 − Leadtek WinView 601 68 Installer et configurer son matérie Drivers et Devices • tuner ◊ card=18 − AVEC Intercapture ◊ card=19 − Lifeview FlyVideo II EZ /FlyKit LR38 Bt848 (capture uniquement) ◊ card=20 − CEI Raffles Card ◊ card=21 − Lifeview FlyVideo 98/ Lucky Star Image World ConferenceTV LR50 ◊ card=22 − Askey CPH050/ Phoebe Tv Master + FM ◊ card=23 − Modular Technology MM205 PCTV, bt878 ◊ card=24 − Askey CPH05X/06X (bt878) [many vendors] ◊ card=25 − Terratec Terra TV+ Version 1.0 (Bt848)/Vobis TV−Boostar ◊ card=26 − nouvelle Hauppauge WinCam (bt878) ◊ card=27 − Lifeview FlyVideo 98/ MAXI TV Video PCI2 LR50 ◊ card=28 − Terratec TerraTV+ ◊ card=29 − Imagenation PXC200 ◊ card=30 − Lifeview FlyVideo 98 LR50 ◊ card=31 − Formac iProTV ◊ card=32 − Intel Create and Share PCI/ Smart Video Recorder III ◊ card=33 − Terratec TerraTValue ◊ card=34 − Leadtek WinFast 2000 ◊ card=35 − Lifeview FlyVideo 98 LR50 / Chronos Video Shuttle II ◊ card=36 − Lifeview FlyVideo 98FM LR50 / Typhoon TView TV/FM Tuner ◊ card=37 − Prolink PixelView PlayTV pro ◊ card=38 − Askey CPH06X TView99 ◊ card=39 − Pinnacle PCTV Studio/Rave ◊ card=40 − STB2 ◊ card=41 − AVerMedia TVPhone 98 ◊ card=42 − ProVideo PV951 ◊ card=43 − Little OnAir TV ◊ card=44 − Sigma TVII−FM ◊ card=45 − MATRIX−Vision MV−Delta 2 ◊ card=46 − Zoltrix Genie TV/FM ◊ card=47 − Terratec TV/Radio+ ◊ card=48 − Askey CPH03x/ Dynalink Magic TView ◊ card=49 − IODATA GV−BCTV3/PCI ◊ card=50 − Prolink PV−BT878P+4E / PixelView PlayTV PAK / Lenco MXTV−9578 CP ◊ card=51 − Eagle Wireless Capricorn2 (bt878A) ◊ card=52 − Pinnacle PCTV Studio Pro ◊ card=53 − Typhoon TView RDS + FM Stereo / KNC1 TV Station RDS ◊ card=54 − Lifeview FlyVideo 2000 /FlyVideo A2/ Lifetec LT 9415 TV [LR90] ◊ card=55 − Askey CPH031/ BESTBUY Easy TV ◊ card=56 − Lifeview FlyVideo 98FM LR50 ◊ card=57 − GrandTec 'Grand Video Capture' (Bt848) ◊ card=58 − Askey CPH060/ Phoebe TV Master Only (No FM) ◊ card=59 − Askey CPH03x TV Capturer ◊ card=60 − Modular Technology MM100PCTV ◊ card=61 − AG Electronics GMV1 ◊ card=62 − Askey CPH061/ BESTBUY Easy TV (bt878) ◊ card=63 − ATI TV−Wonder ◊ card=64 − ATI TV−Wonder VE ◊ card=65 − Lifeview FlyVideo 2000S LR90 ◊ card=66 − Terratec TValueRadio ◊ card=67 − IODATA GV−BCTV4/PCI ◊ card=68 − 3Dfx VoodooTV FM (Euro), VoodooTV 200 (USA) ◊ card=69 − Active Imaging AIMMS ◊ card=70 − Prolink Pixelview PV−BT878P+ (Rev.4C) ◊ card=71 − Lifeview FlyVideo 98EZ (capture only) LR51 ◊ card=72 − Prolink Pixelview PV−BT878P+9B (PlayTV Pro rev.9B FM+NICAM) ◊ card=73 − Sensoray 311 ◊ card=74 − RemoteVision MX (RV605) ◊ card=75 − Powercolor MTV878/ MTV878R/ MTV878F ◊ card=76 − Canopus WinDVR PCI (COMPAQ Presario 3524JP, 5112JP) ◊ card=77 − GrandTec Multi Capture Card (Bt878) ◊ card=78 − Jetway TV/Capture JW−TV878−FBK, Kworld KW−TV878RF ◊ card=79 − DSP Design TCVIDEO ◊ card=80 − Hauppauge WinTV PVR ♦ type : le type de votre tuner, à choisir parmi la liste : ◊ type=0 − Temic PAL (4002 FH5) ◊ type=1 − Philips PAL_I (FI1246 et compatibles) ◊ type=2 − Philips NTSC (FI1236 et compatibles) ◊ type=3 − Philips (SECAM+PAL_BG) (FI1216MF, FM1216MF, FR1216MF) ◊ type=4 − pas de Tuner ◊ type=5 − Philips PAL_BG (FI1216 et compatibles) ◊ type=6 − Temic NTSC (4032 FY5) ◊ type=7 − Temic PAL_I (4062 FY5) ◊ type=8 − Temic NTSC (4036 FY5) Installer et configurer son matériel 69 Problème du son (MàJ par Serge) ◊ type=9 − Alps HSBH1 ◊ type=10 − Alps TSBE1 ◊ type=11 − Alps TSBB5 ◊ type=12 − Alps TSBE5 ◊ type=13 − Alps TSBC5 ◊ type=14 − Temic PAL_BG (4006FH5) ◊ type=15 − Alps TSCH6 ◊ type=16 − Temic PAL_DK (4016 FY5) ◊ type=17 − Philips NTSC_M (MK2) ◊ type=18 − Temic PAL_I (4066 FY5) ◊ type=19 − Temic PAL* auto (4006 FN5) ◊ type=20 − Temic PAL_BG (4009 FR5) ou PAL_I (4069 FR5) ◊ type=21 − Temic NTSC (4039 FR5) ◊ type=22 − Temic PAL/SECAM multi (4046 FM5) ◊ type=23 − Philips PAL_DK (FI1256 et compatibles) ◊ type=24 − Philips PAL/SECAM multi (FQ1216ME) ◊ type=25 − LG PAL_I+FM (TAPC−I001D) ◊ type=26 − LG PAL_I (TAPC−I701D) ◊ type=27 − LG NTSC+FM (TPI8NSR01F) ◊ type=28 − LG PAL_BG+FM (TPI8PSB01D) ◊ type=29 − LG PAL_BG (TPI8PSB11D) ◊ type=30 − Temic PAL* auto + FM (4009 FN5) ◊ type=31 − SHARP NTSC_JP (2U5JF5540) ◊ type=32 − Samsung PAL TCPM9091PD27 ◊ type=33 − MT2032 universal ◊ type=34 − Temic PAL_BG (4106 FH5) ◊ type=35 − Temic PAL_DK/SECAM_L (4012 FY5) ◊ type=36 − Temic NTSC (4136 FY5) ◊ type=37 − LG PAL (nouvelles séries TAPC) ◊ type=38 − Philips PAL/SECAM multi (FM1216ME MK3) ◊ type=39 − LG NTSC (nouvelles séries TAPC) Pour les cartes Miro, le driver arrive normalement à autodétecter le bon tuner. En cas de problème, regardez dans le fichier /var/log/messages afin de voir quel tuner le driver pense avoir trouvé. ♦ debug : fait causer le driver dans /var/log/messages. ATTENTION : Sur certaines cartes BTTV, il y a des blocages au bout d'environ 5 minutes. Une solution qui semble fonctionner, si votre carte n'est pas une triton, est d'essayer l'option : options bttv ... triton1=1 (ajoutez triton1=1 en bout de la ligne correspondante dans /etc/conf.modules). Si vous avez déjà installé les devices, vous pouvez enfin passer à la suite ! Problème du son (MàJ par Serge) Bon si vous avez appliqué tout ce qu'il y a au dessus et que vous n'entendez rien, c'est que votre carte TV comprend un chip spécial pour le son qu'il faut activer. Le problème c'est que suivant votre carte, il va falloir activer le bon module pour gérer ce chipset spécifique. 1er cas: vous avez de la chance Bon si vous avez de la chance, le chip son est un msp3400. C'est le cas le plus simple, il suffit de compiler ce module qui est compris dans les noyaux récent (a partir du 2.2.14 si je ne me trompe pas). Donc, on configure le noyeau (voir la rubrique kernel), on active le support des drivers en développement (Y à la première question), et dans la rub "Lowlevel additional sound support" vous activez en module le msp3400. Puis un make modules ; make modules_install (pas la peine de recompiler tout le kernel à moins que vous n'aviez auparavant pas activé du tout de support son ou que votre support son était en natif et pas en module). Pour tester, modifiez votre /etc/conf.modules avec cette ligne : pre−install bttv modprobe −k tuner; modprobe −k msp3400 2éme cas: Moins de chance Bon si vous avez moins de chance, le module pour activer le son de votre carte TV n'est pas inclus dans le kernel, il va falloir que vous récupériez les sources de bttv et les recompiler pour avoir ces modules sons (make ; make install ; depmod −a). Une fois les modules recompilés, suivez les indications ci−dessus pour la configuration vidéo. Je vous donne quand même ici toutes les options des modules qui complétent la rubrique ci−dessus (il y a quelques changement, surtout des supports ajoutés): option card=n: 0: Auto−Detect 1: Miro 70 Installer et configurer son matérie Télécommande infrarou 2: Hauppauge (old bt848 boards) 3: STB 4: Intel 5: Diamond 6: AVerMedia 7: MATRIX Vision MV−Delta 8: FlyVideo 9: TurboTV 10: Hauppauge (new bt878 boards) 11: MIRO PCTV pro 12: Terratec/Vobis TV−Boostar 13: Newer Hauppauge WinCam (bt878) 14: MAXI TV Video PCI2 15: Terratec TerraTV+ 16: Aimslab VHX 17: PXC200 18: AVermedia98 19: FlyVideo98 (newer FlyVideo cards) 20: Zoltrix TV−Max 21: iProTV 22: ADS Technologies Channel Surfer TV 23: Pixelview PlayTV (bt878) 24: Leadtek WinView 601 25: AVEC Intercapture 26: LifeView FlyKit w/o Tuner 27: Intel Create and Share PCI option tuner type=n 0: Temic PAL tuner 1: Philips PAL_I tuner 2: Philips NTSC tuner 3: Philips SECAM tuner 4: no tuner 5: Philips PAL tuner 6: Temic NTSC tuner 7: Temic PAL tuner 8: Alps TSBH1 NTSC tuner 9: Alps TSBE1 PAL tuner Et voici les modules sons (à charger suivant la carte, regardez si vous avez un chip sur votre carte avec un nom ressemblant a ceux énoncés ici, ou essayez les un après les autres jusqu'à avoir du son) : msp3400 (la plupart des cartes stéréo bttv) tea6300 (STB TV/FM, autres cartes stéréo, très répandu aussi) tda8425 (inclus dans le bttv.c avant, si votre son marchait avant mais plus maitenant, chargez ce module) tda9855 (chipset tda9855 stéréo decoder) dpl3518 (chipset pro logic, pour les cartes dolby pro logic) Voila j'espère que cela vous aidera, beaucoup de personnes m'ont contacté pour des problèmes de son avec les nouvelles cartes tuner TV. Télécommande infrarouge L'auriez−vous cru ? Vous allez pouvoir utiliser une télécommande à infrarouge afin de piloter votre télé ! Original non ? :) LIRC Ce logiciel (Linux Infrared Remote Control) permet d'utiliser les télécommandes à infrarouge du marché (celle de votre télé, etc.), pour peu que vous construisiez un récepteur adapté. Voir le site de LIRC. La télécommande Miromedia Remote (qui se vendait avec la Miro PCTV il y a deux ans) n'est pas supportée ; un de mes projets actuels est de faire un driver afin de pouvoir l'utiliser avec son récepteur qui se branche en gigogne sur la souris série. Une piste est aussi le support des dongles pour IrDA dans le noyau. Contactez−moi pour me dire : 1) si cela existe déjà 2) si vous êtes intéressés ! Rubrique en cours de réalisation Les logiciels Il existe de nombreux logiciels permettant de tirer parti de la carte télé. Nous ne présenterons ici que ceux permettant simplement de regarder la télé, pour ceux qui permettent plus de choses, il y a d'autres adresses intéressantes, mais je ne sais pas où les trouver... Chaque environnement dispose en général de son logiciel ; voici une sélection de logiciels parmi l'existant. Installer et configurer son matériel 71 Réglages fins • le pionnier c'est xawtv. C'est un bon programme de télé ; généralement, lorsqu'il fonctionne c'est que votre config est bonne. Allez voir son site ! • Pour KDE, il y a kwintv. Ce logiciel dispose de nombreuses options, notamment un OSD ; il permet de changer la résolution à la volée (voir plus bas !). C'est peut−être un des meilleurs, en tous les cas mon préféré :) Pour l'installer, récupérez les sources sur le site de kwintv, décompressez−les et tapez simplement ./configure ; make. En tant que root, exécutez make install. Il vous suffira ensuite de lancer kwintv en ligne de commande ou bien depuis le menu K / Multimédia. Vous pouvez peut−être également récupérer un rpm de kwintv. Dans ce cas, installez le par rpm −Uvh kwintv−xxx.rpm. • fbtv (fourni avec xawtv) vous permet d'afficher la télé dans le frame buffer géré par les noyaux récents. Assurez−vous que votre noyau est compilé avec les bonnes options. glidetv quant à lui, affiche la télé dans le framebuffer d'une carte 3Dfx. Pratique pour regarder la télé sur la 3Dfx sur un écran tout en travaillant sur l'autre (bon, ok, là il faut deux écrans :) • bttvgrab est un logiciel qui capture une à une et enregistre sur votre disque les images issues du tuner. Celui−ci peut produire des fichier énormes, qu'on peut ensuite compresser en mpeg avec mpeg2enc. • AleVT est un décodeur teletext/videotext pour le driver bttv. • et bien d'autres encore... Réglages fins Virer l'économiseur d'écran C'est pénible que l'économiseur d'écran se mette en route le samedi soir pendant le film, non ? Pour cela, rien de tel qu'un petit script #!/bin/sh xset s off kwintv #(mettez ici votre logiciel préféré) xset s on qui supprime l'économiseur d'écran le temps où la télé fonctionne. Afficher la télé en plein écran avec la résolution maximale Quelle est la résolution maximale que peut avoir une image télé ? 768x576 ! Vous avez sans doute été confronté au dilemme : soit j'affiche en plein écran, alors je perds en résolution (640x480), soit je me mets en 800x600 et j'ai des bords noirs. Comment profiter de toute la surface de votre moniteur 12 pouces et conserver la meilleure résolution possible de l'image télé ? Facile : en configurant XFree pour qu'il affiche dans la résolution maxi de la télé : 768x576. Et oui, les résolutions standard 640x480, 800x600, 1024x768, etc. ne sont pas les seules que vous pouvez obtenir de votre matériel, et Linux avec XFree86 est suffisamment flexible pour vous permettre de définir vos propre résolutions !!! Assez causé, comment qu'on fait ? Il suffit de bidouiller le fichier /etc/X11/XF86Config, et créer un Mode 768x576 : 1. Dans la section "Monitor", ajouter une ligne comme celle−ci : # 768x576 @ 100 Hz ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616 #100Hz Attention, cette ligne dépend de votre matériel, et ne fonctionnera sûrement pas chez vous. Ne m'envoyez pas de mail après avoir copié cette ligne si vous n'arrivez pas à afficher dans cette résolution ! Allez plutôt voir le Colas XFree Modeline Generator, qui est une page excellente vous permettant de calculer les valeurs de votre ligne Mode. Munissez−vous de la doc. de votre moniteur (fréquences) et de votre carte vidéo ! Si vous ne connaissez pas les fréquences que votre matériel peut gérer, essayez avec des valeurs pas trop élevées (moins de 75Hz). Attention, si vous avez un vieux moniteur à fréquences fixes, vous risquez de le griller s'il n'accepte pas la fréquence que vous lui demandez (les nouveaux moniteurs acceptent toutes les fréquences dans une place, les vieux n'acceptaient que des valeurs discrètes) ! En cas de problème, c'est pas ma faute !!! 2. Dans la section "Screen", ajoutez aussi dans la sous−section "Display", la valeur "768x576" à la liste des modes, comme ci−dessous : Modes "1024x768" "800x600" "768x576" "640x480" Vous allez sûrement devoir tester plusieurs réglages, car le nouveau mode risque d'être rejeté. Pour ce faire, démarrez en runlevel 3 (en root, tapez init 3, ou bien lors du boot, à l'invite LILO, tapez linux 3, ou bien dém*** vous :). Modifiez votre /etc/X11/XF86Config, et lancez "startx >un.txt 2>deux.txt" puis quittez X. Examinez ensuite les deux fichiers un.txt et deux.txt afin de voir si votre mode a été rejeté ou non. S'il a été rejeté, recommencez avec une nouvelle ligne. Si c'est bon, vous pouvez passer dans cette résolution, soit à la main (Ctrl Alt + / Ctrl Alt −), soit automatiquement si votre programme de télé le permet (ex : kwintv). The end Voilà... bonne télé ! Ressources : La page d'E. Michon sur l'installation d'une carte télé sous Linux (lien mort), une bonne vieille référence, 72 Installer et configurer son matérie Réglages fins La page de kwintv, de xawtv, freetv (lien mort ?), à but purement éducatif :−) Installer et configurer son matériel 73 Le son Le son Par Serge Le chant des pingouins! Ce document traite des problèmes de son sous Linux. Il existe deux séries de drivers différents pour Linux : • OSS (intégré directement dans les sources du noyau) et • ALSA (que l'on récupére sur internet et qui devrait être intégré dans les prochaines versions des noyaux). 1. OSS Par défaut le support du son dans le kernel de Linux est OSS. L'installation de celui−ci n'est pas très compliquée. Sous les distributions comme la RedHat ou la Mandrake la détection des cartes est automatique la plupart du temps. Le kernel est correctement configuré et tous les modules de cartes son sont déjà compilés. Il suffit juste alors pour activer la carte de passer par leurs utilitaires de configuration (sndconfig, ou autre), ou d'ajouter les entrées manuellement dans /etc/modules.conf (parfois conf.modules selon l'âge de la distribution).On va passer tout ça en revue, ainsi que les options du kernel ; si un jour vous recompilez votre kernel, ce serait dommage de perdre le son. Tout d'abord si votre carte est Plug'n Play, veuillez lire la rubrique PnP . Je suppose donc que votre carte PnP est configurée. De même je suppose que vous connaissez votre carte ou le chipset de votre carte son. Si elle est PnP la rubrique PnP vous indique comment la faire reconnaître sans problème. Configuration du kernel. Vérifiez que le kernel est compilé avec comme options : loadable module support YES Kernel module support YES config sound M (module) et tous les supports de votre carte en M (par exemple config sounblaster M, config awe M pour les Sound Blaster AWE). On passe le support en module pour ne pas trop charger le kernel, de plus si on s'est trompé de module ou autre, on n'a que les modules à recompiler et pas le kernel en entier qui est beaucoup plus long à compiler et moins souple. Une fois votre kernel compilé (make dep, make clean, make zlilo ou bzImage et config de lilo) ainsi que les modules (make modules, make modules_install en ayant renommé le répertoire /lib/modules/verson_kernel en /lib/modules/version_kernel−old par exemple avant le make modules_install ) (voir rubrique noyau ) on édite le fichier /etc/conf.modules. Configuration /etc/modules.conf (ou conf.modules suivant votre distribution). C'est ce fichier qui vas permettre de charger les modules de votre carte son. La syntaxe est assez simple: alias sound nom_module (par exemple nom_module=sb pour une soundblaster) options sound io=0xADR irq=IRQ DMA0=dma8bits DMA1=dma16bits (avec ADR l'adresse de la carte, 220 par exp. et IRQ l'irq bien sûr, et les des DMA 8 et 16 bits) Comme je ne connais pas les toutes cartes son et les modules par coeur, veuillez vous référer aussi au HOWTO sur le son, et les MINI−HOWTO pour les cartes son spécifiques pour des modules complémentaires (midi, wavetable etc...). Avec ce que je vous donne vous avez déjà le support PCM (son numérique pour lire les WAV, MP3 par exemple). Vous trouverez alors les options que l'on peut passer a chaque module et leur significations. Je vous rapelle que les liens des HOWTO traduits en français sont sur ce site. On va le tester, pour cela on va charger le module à la main: modprobe sound Ça devrait se charger sans problème ; si y'en a un, vérifiez votre /etc/conf.modules, peut−être que vous avez fourni de mauvaises options ou un mauvais module pour votre carte son (attention aux cartes son soi−disant compatibles SB, style à base de chipset crystal, charger le module pour crystal et non pas le SB). Une fois le module chargé, on va tester le son, lancez alors une appli qui joue du son style mpg123 pour les mp3, workbone pour lire les cd ou tout autre appli sous X Attention: n'utilisez pas une appli Gnome (Gnome utilise un mixer de son particulier, ESD ), utilisez plutôt KDE ou tout autre WM pour les tests, vous utiliserez Gnome à la fin). S'il n'y a pas de son qui sort mais que vous n'avez aucune erreur, regardez aussi avec un mixer sous un WM que les volumes sonores ne sont pas à zéro aussi, et que votre lecteur CD est bien relié à la carte son. Si ça passe vous avez gagné ! Votre carte son marche. 74 Installer et configurer son matérie 2. ALSA Mais bon le truc frustrant c'est que vous avez une carte full duplex par exemple et bien OSS par défaut ne prend pas en charge le full duplex ! Quoi ce super OS ne prend pas en charge le full duplex ??? Si, rassurez−vous :) Deux solutions là, soit passez à la version commerciale de OSS, pour 20−30 on a la version qui fait tout. A bon faut payer sous linux ! Heureusement y'a une autre solution: le support ALSA !!! 2. ALSA Qu'est−ce donc? Non je vous entends rire ce n'est pas la préparation pour les flans :) C'est un nouveau support de son pour Linux, full duplex, gratuit, opensource, et qui supporte de plus en plus de cartes son. Le developpement de ce projet est extrêmement actif, on a à peu près une mise à jour toutes les deux semaines avec presque à chaque fois des supports pour de nouvelles cartes son. De plus il a l'excellente idée d'être 100% compatible avec les applications qui utilisent OSS. Bref je vous encourage vivement d'installer les drivers ALSA. Le seul "hic" est que les ditributions ne l'utilisent pas, ou si l'on trouve des fois les drivers ALSA déjà compilés dans une distribution la plupart du temps il n'y a aucun outils pour configurer le tout, aucune explication etc. Bon j'avoue la configuration est de plus pas une chose très très facile à faire pour un débutant. Mais avec ce document j'espère que vous allez vous en sortir. Compilation des drivers ALSA Bon tout d'abord allez sur leur site ( www.alsa−project.org ) et récupérez alsa−drivers, alsa−lib et alsa−utils (tous dans la même version bien sûr, à l'heure où j'écris cette page c'est 0.5.9c mais à la vitesse ou ça va, ça change quasiment toute les deux semaines !). Bon dans un répertoire de votre choix et sous root on dézippe/détarre tout ça : tar zxvf nom_du_tar.bz2 Bon avant de continuer on va enlever toutes les entrées correspondantes au son dans /etc/modules.conf (si vous ne savez pas quelles lignes enlever, envoyez dans la liste de diffusion ou le forum votre /etc/modules.conf et on vous aidera. Une fois cela fait, vous allez dans le répertoire des sources alsa−drivers, puis : ./configure options make make install La plupart du temps un simple ./configure sans option suffit. Mais si vous vous apercevez qu'il vous manque le support midi ou autre, vous pouvez toujours forcer les options avec: −−with−isapnp=yes SI votre carte son est une carte ISA PnP (SBawe64, etc...) −−with−sequencer=yes Activer le support midi (surtout pour les cartes dites "WAVETABLE") −−with−oss=no Désactiver le support OSS (vivement déconseillé, 90% des applications utilisent un support OSS) −−with−debug=full Information de déboguage (si vous avez des bugs et que vous voulez les repporter à l'équipe de développement ALSA ou si vous êtes développeur) −−with−debug=detect Pour activer le déboguage pour la détections des cartes son. Même remarque qu'au dessus si votre carte n'est pas detectée. Une fois les drivers compilés, lancez le script ./snddevices pour créer les entrées nécessaires dans /dev . Puis compilez les libs, puis les utils (dans cet ordre autrement ça ne passera pas, par ./configure, make, make install). Configuration des modules ALSA. Bon on entre dans la partie "mains dans la cambouis" d'ALSA. Bon si vous suivez bien mes instructions vous allez vous en sortir. Tout d'abord il faut absolument que vous sachiez quelle est votre carte son précisément. Une référence "compatible sound blaster" ne suffit pas, il existe plus de 10 chipset "compatibles sound blaster" qui pour ALSA sont 10 cartes différentes avec des modules différents. En fait alsa dispose d'un module par chipset. Donc renseignez vous sur votre carte son (notice, site web du constructeur, etc...). Bon une fois que vous savez qu'elle est votre carte son, trouvez son entrée dans ce tableau et notez le nom du module correspondant : Carte son Module ESS Audiodrive ES−1688, ES−688 snd−card−es1688 ESS Audiodrive ES−18xx snd−card−es18xx Gravis UltraSound Classic snd−card−gusclassic Gravis UltraSound Extreme snd−card−gusextreme Gravis UltraSound MAX snd−card−gusmax Installer et configurer son matériel 75 2. ALSA Gravis UltraSound PnP, Dynasonic 3−D/Pro, STB Sound Rage 32 et toutes cartes son avec le chipset AMD InterWave snd−card−interwave UltraSound 32−Pro et toutes cartes son avec le chipset AMD Interwave AVEC le controle des basses et aigues. snd−card−interwave−stb Véritable sound blaster créative 1.0 , 2.0 et Pro. snd−card−sb8 Véritable SoundBlaster 16 snd−card−sb16 SoundBlaster AWE 32 (PnP), SoundBlaster AWE 64 PnP (Ne pas confondre avec les PCI−64!!) snd−card−sbawe Yamaha OPL3−SA2/SA3 snd−card−opl3sa2 OAK Mozart cards snd−card−mozart Carte son avec chipset OPTi 82c92x ou Analog Devices AD1848 snd−card−opti92x−ad1848 Carte son avec chipset OPTi 82c92x ouCrystal CS4231 snd−card−opti92x−cs4231 Carte son avec chipset OPTi 82c93x snd−card−opti93x S3 SonicVibes PCI snd−card−sonicvibes Ensoniq AudioPCI ES1370 PCI , SoundBlaster PCI 64, SoundBlaster PCI 128 snd−card−ens1370 Ensoniq AudioPCI ES1371, SoundBlaster PCI 64, SoundBlaster PCI 128, SoundBlaster Vibra PCI snd−card−ens1371 Carte son avec chipset AD1848/AD1847/CS4248 snd−card−ad1848 Carte son avec chipset Aztech System AZT2320 snd−card−azt2320 Carte son avec chipset CS4231 snd−card−cs4231 Carte son avec chipset CS4232/CS4232A snd−card−cs4232 Carte son avec chipset CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239 snd−card−cs4236 Carte son PCI avec chipset CS4610/CS4612/CS4614/CS4615/CS4280 snd−card−cs461x Prise en charge du port midi UART16550A snd−card−serial Trident 4DWave DX/NX , Best Union Miss Melody 4DWave PCI ,HIS 4DWave PCI, Warpspeed ONSpeed 4DWave PCI, AzTech PCI 64−Q3D, Addonics SV 750, CHIC True Sound 4Dwave, Shark Predator4D−PCI, Jaton SonicWave 4D snd−card−trident ForteMedia FM801 PCI snd−card−fm801 Carte son PNP avec chipset ESS ES968 snd−card−es968 Carte son avec chipset Avance Logic ALS100/ALS120 snd−card−als100 Carte son avec chipset ESS Solo−1 (ES1938,ES1946) snd−card−es1938 Carte son avec chipset ESS Maestro−1/2/2E (ES1968/ES1978) snd−card−es1968 Carte son avec chipset C−Media CMI8330 snd−card−cmi8330 Sound Blaster Live!, Sound Blaster PCI 512 snd−card−emu10k1 MidiMan M Audio Delta 1010, MidiMan M Audio Delta DiO 2496 ,MidiMan M Audio Delta 66 ,MidiMan M Audio Delta 44 snd−card−ice1712 Carte son avec chipset Analog Devices AD1816A/AD1815 snd−card−ad1816a Carte son intégré sur les cartes méres avec chipset Intel i810/810E, i815, i820, i830, snd−card−intel8x0 i840, MX440 Carte son intégré sur les cartes méres avec chipset VIA 82C686A snd−card−via686a Carte son PCI avec chipset C−Media CMI8338 / 8738 snd−card−cmipci Carte son Yamaha avec chipset YMF72x, YMF74x & YMF75x snd−card−ymfpci Bon maintenant on édite le fichier /etc/modules.conf (ou conf.modules) et on ajoute les entrées suivantes (j'ajoute aussi les explications pour ceux que ça interesse) : alias char−major−116 snd Ceci permet de prendre en charge ALSA par kerneld (charge automatiquement les modules son dès qu'il y a une requête système sur les devices son) : alias char−major−14 soundcore Ajoute le support OSS (pris en charge par kerneld là aussi) alias snd−card−0 nom_module Vous placez ici le module de votre carte son suivant le tableau ci−dessus, à la place de nom_module. alias alias alias alias alias alias sound−slot−0 snd−card−0 sound−service−0−0 snd−mixer−oss sound−service−0−1 snd−seq−oss sound−service−0−3 snd−pcm−oss sound−service−0−8 snd−seq−oss sound−service−0−12 snd−pcm−oss Ajoute l'émulation OSS 76 Installer et configurer son matérie 2. ALSA options snd snd_major=116 snd_cards_limit=1 options nom_module snd_index=0 snd_id="0" Et là on passe les options des drivers ALSA. Pour les options de nom_module si votre carte est une carte ISA il est souvent nécessaire de passer l'adresse mémoire, l'irq, DMA, etc... Pour cela les options se passent par: options nom_module snd_index=0 snd_id="0" snd_port=plage_adresse snd_irq=irq snd_dma1=dma_8bits snd_dma2=dma_16bits Vous remplacez tout ce qui est italique par les bonnes valeurs bien sûr, attention à la plage adresse, bien la mettre au format 0x???. Cas de plusieurs cartes son Si vous avez plusieurs cartes son, il suffit d'ajouter tout d'abord de modifier les options snd en modifiant le card_limit avec le nombre de cartes son que vous avez, par exemple pour 2 cartes son: options snd snd_major=116 snd_cards_limit=2 Puis vous ajoutez les alias snd−card en incrémentant les valeurs de snd−card : alias snd−card−0 nom_module_carte1alias snd−card−1 nom_module_carte2 Vous ajoutez les alias OSS pour chaque carte son: alias sound−slot−0 snd−card−0 alias sound−service−0−0 snd−mixer−oss alias sound−service−0−1 snd−seq−oss alias sound−service−0−3 snd−pcm−oss alias sound−service−0−8 snd−seq−oss alias sound−service−0−12 snd−pcm−oss alias sound−slot−1 snd−card−1 alias sound−service−1−0 snd−mixer−oss alias sound−service−1−1 snd−seq−oss alias sound−service−1−3 snd−pcm−oss alias sound−service−1−8 snd−seq−oss alias sound−service−1−12 snd−pcm−oss Et vous passez les options pour les modules de chaque carte son: options nom_module_carte1 snd_index=0 snd_id="0" snd_port= plage_adresse snd_irq=irq snd_dma1=dma_8bits snd_dma2=dma_16bits options nom_module_carte2 snd_index=1 snd_id="1" snd_port= plage_adresse snd_irq=irq snd_dma1=dma_8bits snd_dma2=dma_16bits 3. un petit mot sur les démons de son Gnome et KDE utilisent chacun un démon de son, malheureusement différent : c'est ESD pour Gnome et ARTS pour KDE. Qu'est−ce que c'est ? C'est est un programme qui s'intercale entre le support son (OSS ou ALSA) et les applications, et qui permet par exemple à plusieurs applis de jouer du son simultanément (on peut ainsi jouer un mp3 et entendre les sons système de son environnement en même temps, tout en recevant les notifications sonores de licq). ESD Pour ceux qui aiment bien Gnome et qui l'utilisent, je vous signale que celui−ci utilise par défaut ESD comme mixer sonore, donc il faut l'activer avant tout ! Cochez la case sous la configuration de Gnome d'activer toujours les sons systèmes, il lancera alors ESD dès son démarrage. Attention : certaines applis ne savent pas utiliser ESD pour le son, donc ne vous étonnez pas de ne plus avoir de son sous certaines applications après avoir lancé ESD, d'autres demandent d'être recompilées pour utiliser ESD, pour d'autres comme XMMS un plugin suffit. ESD est nécessaire aussi pour Enlightenment (c'est dailleurs pour cela qu'il est nécessaire pour Gnome vu que E est souvent le WM de gnome). ESD tourne sans problème à partir du moment où votre carte son marche au départ. Lancez ESD sous un terminal/console et vous entendrez un " tu lu lu " indiquant que ESD est lancé et fonctionne. Il tourne alors en arrière plan comme daemon. ARTS ARTS est le démon de son de KDE. Selon votre distribution, il sera activé par défaut ou non. Pour l'activer ou le désactiver, lancez le panneau de configuration de KDE, dans la rubrique son vous trouverez une case à cocher pour activer arts au démarrage de KDE. En cliquant sur [OK] ou [Appliquer], le démon sera démarré automatiquement. De la même façon que pour esd, il faut généralement un plugin pour utiliser arts, par exemple avec xmms ou xine. Certains programmes (comme licq par exemple) peuvent utiliser un simple script soundwrap qui jouera le son via arts si celui−ci est présent, ou directement via les drivers son sinon. Si votre programme permet de configurer l'utilitaire qui joue les sons, vous pourrez l'utiliser ainsi à travers arts. Enfin, pour certains programmes ne supportant pas arts (ou esd d'ailleurs) il sera nécessaire d'arrêter le démon afin qu'ils puissent faire du bruit ! Installer et configurer son matériel 77 Installer une carte Sound Blaster Audigy avec un kernel 2.4.x Installer une carte Sound Blaster Audigy avec un kernel 2.4.x Sylvain Borde En Attendant l'emu10K2... Ce document a pour but d'expliquer comment installer une carte SoundBlaster Audigy sur un système linux doté d'un kernel 2.4.x. C'est exactement ce que j'ai fait avec un kernel 2.4.4 et cela semble fonctionner parfaitement sur mon système. Il n'existe pas aujourd'hui de driver propre à l'Audigy, l'emu10K2 est en cours de développement, mais des drivers emu10k1 modifiés permettent de bénéficier d'une partie des fonctionnalités de la carte, c'est de ceux−ci dont il est question ici. Ces notes sont destinées à un utilisateur sachant compiler le kernel. Attention : En ce qui concerne l'installation du port de jeu de l'Audigy, je ne suis pas certain que cela fonctionne avec un kernel différent du 2.4.4. 1 − Les sources qu'il vous faut 1.1 − Kernel 2.4.4 Tout d'abord vous devez avoir installé les sources du kernel 2.4.4.Attention : Les sources doivent se trouver dans le répertoire /usr/src/linux/ pour l'installation des drivers de la carte son, si ce n'est pas le cas créez un lien symbolique en tant que super−utilisateur de cette manière : # ln −s /la/ou/se/trouvent/les/sources /usr/src/linux 1.2 − emu10k1 Ensuite procurez vous les sources des derniers drivers emu10k1 pour Audigy sur le site :http://sourceforge.net/projects/emu10k1. A ce jour, j'utilise les sources nommées: "audigy−driver−2002−02−14.tar.gz", que vous pouvez également trouver ici. 2 − Faire fonctionner le port de jeu Pour ceux qui ne veulent faire fonctionner que le son, cette étape ne leur est pas utile.En ce qui concerne l'installation du port de jeu de l'Audigy, je ne suis pas sûr que cela fonctionne avec un kernel différent du 2.4.4, cela reste à tester. De plus, à partir du kernel 2.4.18, le port de jeu de l'Audigy est supporté sans avoir à modifier le module de gestion du port comme nous allons le faire.Le fichier se trouve dans le répertoire /usr/src/linux/drivers/char/joystick/, ouvrez avec votre éditeur favoris le fichier "ns558.c". Vous devez trouver les lignes suivantes :#ifdef CONFIG_PCI static struct pci_device_id ns558_pci_tbl[] __devinitdata = { { 0x1102, 0x7002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB Live! gameport */ { 0x125d, 0x1969, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 }, /* ESS Solo 1 */ { 0x5333, 0xca00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 }, /* S3 SonicVibes */ { 0, } }; Ajouter une ligne pour l'audigy gameport comme cela :#ifdef CONFIG_PCI static struct pci_device_id ns558_pci_tbl[] __devinitdata = { { 0x1102, 0x7002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB Live! gameport */ { 0x1102, 0x7003, PCI_ANY_ID, PCI_ANY_ID }, /* Audigy! Gameport */ { 0x125d, 0x1969, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 }, /* ESS Solo 1 */ { 0x5333, 0xca00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 }, /* S3 SonicVibes */ { 0, } }; Sauvegardez le fichier "ns558.c" ainsi modifié. Vous pouvez maintenant compiler votre kernel. 3 − La compilation du kernel Vous devez compiler votre kernel avec les options suivantes : 3.1 − Pour le son : Dans "Loadable modules support" mettre "y" pour "Enable loadable module support"Dans "Processor type and features" mettre "n" pour "Symmetric multi−processing support"Dans "Sound" mettre "m" à "Sound card support" et à "Creative SbLive! (EMU10K1)" 3.2 − Pour le port de jeu : (seulement si vous avez modifié ns558.c)Dans "Character devices", sous "Joystick", mettre "y" à "joystick support" et "m" à "ns558 gameports"Pensez à votre joystick, si par exemple vous avez un sidewinder, mettez "m" à "Microsoft Sidewinder digital joysticks and gamepads"Maintenant c'est l'heure de la compilation alors je vais vous laisser aux joies du "make bzImage" et autres "make modules" (voir l'article sur le kernel). Avant la compilation, pensez à sauvegarder votre ancien noyau et ses modules, juste au cas où... 78 Installer et configurer son matérie 4 − L'installation des driv 4 − L'installation des drivers Bon, si tout s'est bien passé jusqu'ici, ça y est presque. 4.1 − Installation à partir des sources Décompressez les sources, dans mon cas la commande sera : # tar xvfz audigy−driver−2002−02−14.tar.gz Allez dans le repertoire des sources des drivers Audigy, celui−ci est normalement nommé ./emu10k1−audigy/. Tapez les commandes suivantes : # # # # make make make make −f Makefile install tools install−tools 4.2 − Modification de "modules.conf" Maintenant il ne reste qu'à modifier le fichier "modules.conf", il se trouve généralement dans le répertoire /etc/. 4.2.1 − Si vous voulez uniquement le son éditez "modules.conf" et ajoutez y ces lignes à la fin : alias sound on alias midi on alias char−major−14 emu10k1 4.2.2 − Si vous voulez activer le port de jeu muni un joystick vous ajouterez plutôt : alias sound on alias midi on alias char−major−14 emu10k1 post−install emu10k1 modprobe "−k" char−major−13 alias char−major−13 ns558 pre−install ns558 modprobe "−k" joydev post−install ns558 modprobe "−k" Xjoystick Xjoystick doit−être le nom du module correspondant à votre joystick. Ainsi pour un sidewinder la dernière ligne sera : post−install ns558 modprobe "−k" sidewinder Cette écriture dans "modules.conf " permet d'activer la prise en charge du joystick en même temps que celle du son, ainsi dès que la carte est utilisées le port de jeu est activé. 5 C'est la fin... Voilà, c'est fini maintenant on reboute avec le nouveau noyau et ça devrait fonctionner.Pour plus d'infos sur le contrôle de la carte pensez à lire la documentation fournie avec les drivers téléchargés. Il y a un fichier "README.FRANCAIS" dans le répertoire ./emu10K1−Audigy/docs/. Installer et configurer son matériel 79 Installation d'un scanner SCSI grâce à SANE Installation d'un scanner SCSI grâce à SANE par Fred et Christian Vivet. Comme moi, vous laissiez Win$$$ encombrer votre disque pour pouvoir scanner de belles photos... Et bien ça ne sert à rien, Linux fait aussi bien et cela sans enrichir l'homme le plus riche du monde. Les informations contenues dans cette page ne sont aucunement garanties. Je les ai mises à la disposition du plus grand nombre pour rendre service, pas pour lire des reproches. Néanmoins, j'apprécierai grandement toutes les critiques constructives, en particulier, celles liées à mon orthographe déplorable, à ma syntaxe difficile à suivre et aux erreurs qui se sont certainement glissées subrepticement au sein de ce texte. Si vous voyez quelque chose à ajouter, je vous serais reconnaissant de bien vouloir me mailer les modifications que vous apportez à ce document. En plein accord avec l'esprit de liberté qui préside aux développements de linux, faites ce que vous voulez de ce texte, sauf prétendre que c'est vous qui l'avez écrit. Ce document concerne l'installation d'un scanner et plus spécifiquement d'y−celui que j'ai chez moi : le Snapscan 310 SCSI. En fait, je pense que la procédure est globalement la même quelque soit le scanner, excepté l'application du patch spécifique au Snapscan (évidemment ;−). Ce document est écrit sous la forme d'une seule page, il est, de cette façon, plus facile de le télécharger. Remarque : Les scanners USB commencent à être supportés également par Linux. Voir la rubrique correspondante. Pour installer un scanner SCSI sous Linux vous aurez besoin de : • Un scanner SCSI compatible avec Sane 1.0.5, voir sur le site de SANE. • Une carte SCSI compatible avec Linux (la plupart des cartes SCSI le sont...) • Un PC (compatible Intel, je suppose) • Une distribution basée sur les noyaux 2.x.x (elles le sont toutes...) • Vos mains (pour faire les manipulations) et votre cerveau (pour comprendre ma prose) Note : l'ensemble de la procédure d'installation décrite se déroule avec les droits de root donc faites attention à ce que vous taperez. Certaines parties de la procédure ne nécessitent pas réellement ces droits, mais ce sera plus simple pour moi de décrire l'ensemble de la procédure avec ces droits−ci. Si le coeur vous en dit essayez vous−même de vous passer de ces droits, linux vous préviendra quand vous essayerez de les outrepasser. Récupérer les sources du noyau Pour les novices Votre distribution vous fournit forcément les sources du noyau. Pour les besoins de l'explication j'utiliserai dans ce document l'exemple de la Mandrake 6.0 ou plus (fonctionne sur une Mandrake 8.0). 1. Il faut monter le CD de votre distribution. [root@becane home]# mount /mnt/cdrom Vous pouvez/devez vous passez de cette étape si vous utilisez supermount. 2. Il faut installer les sources du noyau. Avec la Mandrake 6.0 les sources du noyau portent le joli nom de : kernel−source−2.2.9−19mdk.i586.rpm. Pour les installer, tapez : [root@becane home]# rpm −i /mnt/cdrom/Mandrake/RPMS/kernel−source−*.rpm Si vous n'avez pas la Mandrake 6.0, mais une autre distribution basée sur le système de package RPM la procédure est identique. Il faut seulement changer le chemin d'accès aux packages et le nom du package (ce sera toujours quelque chose du type kernel−source*, kernel−src*). Pour les plus expérimentés : Récupérez les derniers sources du noyau sur ftp://ftp.fr.kernel.org/pub/linux/kernel/v2.4. Ainsi, si des problèmes ont été réglés par les développeurs du noyau, vous bénéficierez de ces améliorations. Vous les décompressez dans le répertoire /usr/src : [root@becane root]# cd /usr/src [root@becane src]# tar xzvf /ou/trouver/les/sources/kernel−xxx.tar.gz Récupérer les sources de SANE Je ne décrirai rien de particulier, les sources de SANE sont disponibles sur le site de SANE. La version des librairies SANE que j'ai utilisées est la 1.0.5 ; chez moi elles fonctionnent correctement avec la Mandrake 8.0. Décompressez les sources : [root@becane root]# cd /usr/src [root@becane src]# tar xzvf /ou/trouver/les/sources/sane−backends−1.0.5.tar.gz 80 Installer et configurer son matérie Récupérer les sources du patch pour les [root@becane src]# tar xzvf /ou/trouver/les/sources/sane−frontends−1.0.5.tar.gz Récupérer les sources du patch pour les Snapscan Les sources du patch sont disponibles, sur le site du rédacteur du "backend" du Snapscan Plusieurs conseils : 1. Si vous n'avez pas de Snapscan : Ne télécharger aucun des ces patchs : ces patchs sont d'après le rédacteur en beta. 2. Si vous avez un Snapscan : Télécharger l'un de ces patchs ! Bon maintenant vous avez le patch, décomprimez le : [root@becane root]# cd /usr/src/sane−backends−1.0.5/backend [root@becane backend]# tar xzvf /la/ou/est/snapscan−<version>.tar.gz C'est bon tout est prêt ! On va maintenant configurer votre carte SCSI, passez ce qui suit si votre carte SCSI est correctement configurée avec le support des périphériques génériques (c'est certainement déjà le cas si vous avez un graveur de CD SCSI correctement configuré). Installation du noyau avec support des modules et du SCSI Vérifions que le noyau que vous utilisez ne contient pas déjà tout ce qu'il faut : [root@becane home]# ls /lib/modules/`uname −r`/scsi 53c7,8xx.o aha1542.o ips.o qlogicfc.o NCR53c406a.o atp870u.o pas16.o seagate.o aha152x.o eata_dma.o eata_pio.o initio.o qlogicfas.o sym53c8xx.o AM53C974.o aha1740.o fdomain.o t128.o BusLogic.o aic7xxx.o g_NCR5380.o megaraid.o qlogicisp.o tmscsim.o gdth.o ncr53c8xx.o scsi_debug.o u14−34f.o a100u2w.o dtc.o ide−scsi.o ultrastor.o advansys.o eata.o imm.o ppa.o wd7000.o sg.o in2000.o psi240i.o sym53c416.o Si le module sg.o existe, après avoir trouvé dans /usr/doc/HOWTO/BootPrompt−HOWTO le nom du module que vous devez charger pour votre carte SCSI, vous pouvez passer à la section suivante. Sinon faites ce qui suit : Pensez à lire la rubrique noyau. A partir de maintenant vous devrez tout savoir sur votre carte SCSI : son nom, le numéro de l'interruption (IRQ) ainsi que la plage d'adresse (IO) qu'utilise votre carte SCSI. Toutes ces informations peuvent être obtenues : • soit directement sur la carte • soit sur le mode d'emploi de la carte • soit, si vous utilisez Win$$$, dans les informations système du panneau de configuration si vous avez réussi à la configurer (ce qui devrait être le cas). Pour certaines cartes, l'interruption et l'adresse sont détectées automatiquement ; si vous avez l'une d'entre elles, vous n'avez pas besoin de vous en soucier ; vous pouvez voir si c'est le cas dans /usr/doc/HOWTO/BootPrompt−HOWTO. 1. On va compiler tout ce qui nous intéresse sous forme de modules. Pour cela, on se place dans le répertoire contenant les sources du noyau /usr/src/linux : [root@becane root]# cd /usr/src/linux 2. On configure le noyau : [root@becane linux]# make xconfig A partir de là, nous utilisons un programme de configuration qui est plus "convivial" que la ligne de commande mais peut−être quand même un peu abscons. Je vais donc décrire tout ce qui concerne le SCSI car moi aussi j'ai galéré quand j'ai compilé pour la première fois un noyau Linux, mais pour ce qui concerne le reste de votre configuration je vous renvoie à la rubrique noyau. Si vous avez déjà compilé votre noyau pour une autre raison, vous n'avez qu'à modifier votre configuration que sur ce qui suit. 3. Activez le support des modules dans la rubrique : <Loadable module support>, vous activez (vous cochez les <y>) : ♦ <Enable module support> (pour pourvoir utiliser les modules ;−) ♦ <Set version information on all symbols for modules> (pour que le noyau y retrouve ses petits nous lui demandons de mettre des informations concernant lu numéro de version du noyau utilisé pour la compilation des modules dans les modules) ♦ <Kernel module loader> (pour que le noyau charge tout seul comme un grand les modules) 4. Dans la rubrique SCSI support, vous activez en tant que modules (les <m> doivent être cochés) : ♦ SCSI support (évidemment) ♦ SCSI disk support (seulement si vous avez des disques scsi, un zip, un jazz etc...) ♦ SCSI tape support (si vous avez un lecteur de bande SCSI) ♦ SCSI CD−ROM support (si vous avez un lecteur de cdrom ou un graveur SCSI) ♦ SCSI generic (si vous avez un scanner ;−) ou un graveur SCSI) Installer et configurer son matériel 81 Configuration des modules et des devices 5. Dans la rubrique SCSI low−level driver vous activez le module correspondant à votre carte en cochant le <m> (LISEZ l'aide disponible par le bouton <Help> afin de voir de quel module vous avez besoin), et vous désactivez tous les autres modules en cochant les <n>. Notez le nom du module correspondant à votre carte SCSI (dans la rubrique <Help> en face de chaque module, le nom est indiqué par : The module will be called : XXXXXXXX.o seul le XXXXXXXX nous intéresse, il sera désigné à partir de maintenant par VOTRE−MODULE). ATTENTION : les cartes AVA 1505 XXX sont reconnues par linux comme étant des cartes AHA152x (nom du module aha152x) ! Certaines sont Plug&Play et paradoxalement plus compliquées à paramétrer avec Linux (cf : plug&play). 6. Vous configurez le reste de votre noyau et de vos périphériques (cf : rubrique noyau). 7. Il est conseillé de sauver votre configuration dans un fichier en cliquant avant sur <Store Configuration to File> (un bon endroit est /root/kernel−config). 8. Vous sauvez votre configuration de noyau en cliquant sur <Save And Exit>. 9. Vous compilez et installez le noyau et les modules : Pour faire un peu de ménage : [root@becane linux]# make clean Pour que linux y retrouve ses petits : [root@becane linux]# make dep Pour créer votre noyau : [root@becane linux]# make zImage Pour créer vos modules : [root@becane linux]# make modules Pour installer votre noyau (attention cela modifie votre répertoire /boot et lance lilo): [root@becane linux]# make install Pour installer vos modules dans le répertoires ad hoc : [root@becane linux]# make modules_install 10. A partir de maintenant vos modules sont prêts ! Mais non fonctionnels, il faut rebooter votre nouveau noyau et recenser les modules (c'est automatique) : [root@becane linux]# reboot Bon, effectivement il faut rebooter une fois, mais c'est tout, après ce ne sera plus la peine (sauf si vous ajoutez un nouveau périphérique...). Tout ceci est inutile si vous utilisez la Mandrake ou la RedHat (et certainement la plupart des distributions) car les distributions modernes disposent déjà de tous les modules précompilés. Mais je vous conseille de compiler votre noyau au moins une fois en n'activant que ce que vous utilisez (mais tout ce que vous utilisez : n'oubliez pas les modules ppp − il m'est arrivé de galérer plusieurs heures pour me reconnecter à Internet parce que j'avais oublié ce $*?! de module − , les modules de gestions de l'imprimantes, etc...), de cette façon votre noyau sera adapté à votre configuration et pas à toutes les configurations possibles (ce dont vous devez vous moquez comme de mon premier win$$$). Configuration des modules et des devices Les modules Maintenant, il vous faut configurer les modules ! Donc, éditez le fichier /etc/conf.modules, ce fichier dit au chargeur de modules de quelle manière doivent être chargés ces modules ; pour gérer votre carte SCSI, il doit contenir (au moins) les lignes suivantes : alias scsi_hostadapter VOTRE−MODULE options VOTRE−MODULE VOTRE−MODULE=VOTRE−IO,VOTRE−IRQ ATTENTION : je ne bégaie pas ! VOTRE−MODULE est répété deux fois ! Le premier indique à quel module ce qui suit s'adresse, le second indique quel paramètre passer au noyau lors du chargement de ce module. Le VOTRE−MODULES est le nom du module que vous avec compilé (le XXXXXXXX que je vous ai dit plus haut de noter). Pour ce qui concerne les options, je n'ai indiqué que celles des cartes compatible aha152x (c'est celle que j'utilise...). Pour plus d'information sur les options des modules voir les HOWTO qui leur sont consacrés (par exemple : dans /usr/doc/HOWTO/BootPrompt−HOWTO, cherchez VOTRE−MODULE et lisez bien ce qui est écrit, normalement ce sont des options à passer au noyau quand le driver correspondant n'est pas compilé comme un module, mais il se trouve que ce sont les mêmes que celles à passer à modprobe. Pour certaines cartes il n'y a pas d'option : tant mieux c'est que le driver détecte tout tout seul, dans ce cas, seule la ligne "alias" est nécessaire). Pour ma carte AVA 1505 qui utilise l'interruption 9 et l'adresse 0x340 (ou 340h d'après Win$$$), j'ai inséré les lignes : alias scsi_hostadapter aha152x options aha152x aha152x=0x340,9 Maintenant si tout a bien fonctionné vous devez pouvoir charger le module de votre carte SCSI, allumez votre scanner et tapez : [root@becane linux]# modprobe VOTRE−MODULE 82 Installer et configurer son matérie Configuration des modules et des d Si vous n'avez pas de message d'erreur, c'est que vous êtes sur la bonne voie, une petite vérification supplémentaire, pour voir ce que Linux trouve sur votre chaine SCS, tapez : [root@becane linux] cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 01 Lun: 00 Vendor: RICOH Model: MP6200S Type: CD−ROM Host: scsi0 Channel: 00 Id: 04 Lun: 00 Vendor: AGFA Model: SNAPSCAN 310 Type: Scanner Host: scsi0 Channel: 00 Id: 05 Lun: 00 Vendor: IOMEGA Model: ZIP 100 Type: Direct−Access Rev: 2.20 ANSI SCSI revision: 02 Rev: 1.20 ANSI SCSI revision: 02 Rev: J.02 ANSI SCSI revision: 02 Là, j'ai mis ce que donne le scanne de ma chaine SCSI. La partie intéressante est celle qui indique que Linux a trouvé un scanner. Que d'efforts pour si peu de chose ! Mais maintenant que tout fonctionne, vous n'aurez plus jamais (à voir...) à tapez ce genre de commandes. C'est tout l'intéret de modifier le fichier /etc/conf.modules : il indique au chargeur de modules les paramètres à passer à ceux−ci. Remarque : dans les informations qui sont retournées par cat /proc/scsi/scsi : • Channel : 00, signifie que votre périphérique est branché sur la première carte SCSI (si vous êtes fortunés, cette information peut être intéressante) • Id : 04, signifie que votre périphérique a le numéro 4 dans votre chaine SCSI (normalement le périphérique doit l'indiquer) • Lun : 00, indique surement quelque chose, mais quoi ? Les devices L'accès à votre scanner se fera par l'intermédiaire de périphériques, aussi appelés devices (les "fichiers" spéciaux contenus dans /dev comme par exemple /dev/hda1 qui permet d'acceder à la partition numéro 1 du dique maitre sur la première nape IDE), mais pour cela il faut qu'ils existent ;−). Normalement, ce doit être déjà le cas, mais vérifions que vous disposez bien de ces devices : les fichiers /dev/sg* : [root@becane crw−−−−−−− crw−−−−−−− crw−−−−−−− crw−−−−−−− crw−−−−−−− crw−−−−−−− crw−−−−−−− crw−−−−−−− /dev]# ls /dev/sg* −l 1 root sys 21, 1 fred sys 21, 1 root sys 21, 1 root sys 21, 1 root sys 21, 1 root sys 21, 1 root sys 21, 1 root sys 21, 0 1 2 3 4 5 6 7 May May May May May May May May 5 5 5 5 5 5 5 5 1998 1998 1998 1998 1998 1998 1998 1998 /dev/sga /dev/sgb /dev/sgc /dev/sgd /dev/sge /dev/sgf /dev/sgg /dev/sgh Si ces devices n'exitent pas il faut les créer ! [root@becane [root@becane [root@becane [root@becane [root@becane [root@becane [root@becane [root@becane dev]# dev]# dev]# dev]# dev]# dev]# dev]# dev]# mknod mknod mknod mknod mknod mknod mknod mknod /dev/sga /dev/sgb /dev/sgc /dev/sgd /dev/sge /dev/sgf /dev/sgg /dev/sgh c c c c c c c c 21 21 21 21 21 21 21 21 0 1 2 3 4 5 6 7 Bon , ça devrait suffire. Evidemment, votre distribution devrait déjà avoir créé tous ces périphériques (en cas de problème : changez de distribution, c'est pour ça qu'il y en à plusieurs ! ;−) Remarque : pour ceux que ça intéresse : mknod /dev/sga c 21 0 crée un fichier spécial (un device) appelé sga dans le répertoire /dev (normalement tous les périphériques sont créé dans ce répertoire) dont l'accès se fera en mode caractère (c'est le parmètre c) dont le numéro de majeur (qui indique de quel type de périphérique il s'agit : ici un périphérique scsi dont l'accès par linux ne se fera pas au travers d'un drivers spécifique) est 21 et le numéro de mineur (qui indique de quel périphérique de ce type il s'agit) est 0. Installation des librairies SANE Si vous n'avez jamais compilé un programme sous Linux, ne vous effrayez pas, vous allez voir que dans le monde GNU/autoconf tout est simple : Rendez vous directement dans le répertoire où vous avez mis SANE et ne touchez pas 20.000 francs (pas encore) : [root@becane root]# cd /la/ou/vous/avez/mis/sane−backends−1.0.5/ Compilez et installez SANE dans le répertoire /usr/local (note : si gimp 1.1.x est installé, le programme configure croit qu'il s'agit de gimp 1.0.x et essaie de compiler sane avec le support de gimp : ce qui ne marche pas, le mode de fonctionnement de gimp avec les plugins ayant changé entre ces deux versions, il faut donc, le temps de la compilation, déplacer le répertoire /usr/include/libgimp, merci à Yves Chaufour) : Installer et configurer son matériel 83 Configuration des librairies SANE [root@becane sane−backends−1.0.5]#./configure −−prefix=/usr/local ; make ; make install [root@becane root]# cd /la/ou/vous/avez/mis/sane−frontends−1.0.5/ [root@becane sane−frontends−1.0.5]#./configure −−prefix=/usr/local ; make ; make install Trouvez où est connecté votre scanner : [root@becane sane−backends−1.0.5]# tools/sane−find−scanner find−scanner: found scanner "AGFA SNAPSCAN 310 1.20" at device /dev/XXXXX Pour permettre à SANE de trouver tout de suite votre scanner, créez un lien vers ce périphérique : [root@becane sane−backends−1.0.5]# ln −sf /dev/XXXXX /dev/scanner C'est fait ! Configuration des librairies SANE Normalement, SANE doit maintenant fonctionner sans configuration particulière. Pour le vérifier, il suffit de lui demander d'afficher la liste des scanners qu'il trouve sur votre chaîne SCSI : [root@becane home]# scanimage −L device `snapscan:/dev/scanner' is a AGFA SNAPSCAN 310 flatbed scanner Si SANE trouve plusieurs fois votre scanner sur plusieurs périphériques différents, ce n'est pas que Linux dispose de la faculté de multiplier les scanners comme d'autre multiplient les pains : c'est qu'il existe plusieurs périphériques qui ont le même numéro de mineur et de majeur, ou que plusieurs liens ont été créés vers le même périphérique. De toute façon ça n'empêchera pas SANE de fonctionner correctement. Au pire il vous demandera quel scanner vous voulez utiliser. Remarque : les fichiers de configuration de SANE se trouvent (si vous avez suivi la procédure proposée) en /usr/local/etc/sane.d. Le fichier essentiel est /usr/local/etc/sane.d/dll.conf qui indique à SANE quels sont les scanners à rechercher. Vous pouvez commenter les scanners que vous savez ne pas avoir. Suivant le nom de votre scanner un autre fichier est important : /usr/local/etc/sane.d/VOTRE−SCANNER.conf : il indique à SANE où est potentiellement connecté votre scanner. Il est déconseillé (sauf si vous aimez vous em..d.r) d'enlever l'entrée : /dev/scanner car elle permet de changer rapidement de scanner actif (au cas ou vous en ayez plusieurs) en modifiant seulement le lien /dev/scanner, par contre vous pouvez enlever toutes les autres (si vous avez créé le lien /dev/scanner). Utilisation de SANE L'utilisation de SANE est très simple. La distribution standard de SANE comporte deux programmes permettant d'utiliser votre scanner : scanimage et son homologue sous X : xscanimage. Pour ce qui est de scanimage, je vous renvoie à la man page scanimage (1). Pour utiliser xscanimage tapez : [root@becane root]# xscanimage Une fenêtre apparaît, vous permettant de saisir ou de choisir le fichier de sortie. Le réglage des paramètres est suffisamment simple pour que l'on ne s'y attarde pas. Sachez que les paramètres disponibles dépendent de votre scanner. Vous pouvez choisir la partie de l'image à scanner grace à la fenêtre de prévisualisation. On peut configurer xscanimage en tant que plugin pour Gimp (pour cela il faut que, avant la compilation de SANE, vous ayez installé les fichiers d'include de gimp dans /usr/include (ou tout autre répertoire qui sera accessible par votre compilateur sans directive particuliére, en effet il y a un bug dans le programme de configuration de sane qui lui empêche − sur ma machine − de trouver ces includes s'ils sont ailleurs, avec la vérité par exmple), ce qui n'est pas automatique. Pour rémédier à cela, faites : [root@becane home]# rpm −i gimp−devel.xxx.rpm Puis, il suffit de créer un lien entre xscanimage et le répertoire de plugins de gimp : [root@becane root]# ln −s `which xscanimage` ~/.gimp/plug−ins Et c'est tout, vous relancez gimp et un menu proposant d'acquérir une image apparaît dans Xtns ! En fait ce lien n'est pas celui qu'il faudrait créer si vous voulez que tous les utilisateurs puissent utiliser votre scanner : [root@becane root]# ln −s `which xscanimage` /usr/share/gimp/plug−ins ou quelque chose d'approchant serait mieux venu. Il existe d'autres programmes pouvant utiliser SANE. Je n'en connais que deux : xsane et ksane. J'ai testé xsane. Personnellement, je continue à utiliser xscanimage pour les scannes simples et xsane pour le reste. Mais bon, tout cela reste affaire de goût, donc ne vous privez pas d'essayer les deux. Les plus de xsane : • il peut être utilisé avec la branche de développement de gimp, donc si vous utilisez cette version de gimp : vous n'aurez pas le choix car gimp 1.1.x ne fonctionne pas avec xscanimage. • il permet de faire des photocopies et d'envoyer des fax (si vous avez réussi à configurer mgetty+sendfax) en utilisant un unique programme. 84 Installer et configurer son matérie Configuration en rése • il permet de sauver directement l'image dans divers formats (et pas seulement pnm). Quant à ksane je ne l'ai pas utilisé et je ne sais donc pas ce qu'il vaut. Le développement de ce programme semble être au point mort. Configuration en réseau Nous devons cette partie à : Christian Vivet . Sur le poste serveur nommé : serveur 1. il faut configurer le fichier /usr/local/etc/sane.d/saned.conf et y ajouter le nom du client qui va utiliser le scanner en accès distant exemple de fichier saned.conf : # saned.conf # client1 2. il faut ajouter une ligne dans le fichier /etc/inetd.conf pour démarrer le daemon saned : sane stream tcp nowait root /usr/local/sbin/saned saned 3. il faut ajouter une ligne dans le fichier /etc/services en fin de fichier : sane 6566/tcp # SANE en reseau serveur Sur le poste client nommé : client1 1. il faut configurer le fichier /usr/local/etc/sane.d/net.conf et ajouter le nom de la machine serveur du scanner : serveur. Exemple de fichier net.conf : # net.conf # serveur 2. il faut ajouter une ligne dans le fichier /etc/services du client (client1 dans l'exemple) : sane 6566/tcp # SANE en reseau client Et bien sur installer sane , xsane sur la machine serveur et sur la machine cliente puis les relancer. Voilà, ce n'est pas très compliqué à mettre en oeuvre et cela marche parfaitement. Les mots de la fin : Maintenant, quelques trucs : 1. Utilisation depuis un autre compte que celui de root Si vous voulez scanner depuis un autre compte que root, vous devez autoriser l'accès en lecture/écriture au périphérique /dev/sgXXX correspondant à votre scanner : [root@becane root]# chmod a+rw /dev/sgXXX pour que tout le monde puisse utiliser votre scanner, ou : [root@becane root]# chown monuser:mongroup /dev/sgXXX pour que seul monuser puisse utiliser votre scanner. Enfin, pour ceux d'entre vous qui utilisent PAM (par exemple si vous utilisez la RedHat ou la Mandrake ou d'autres ?) vous pouvez aussi configurer le gestionnaire de sécurité PAM en modifiant le fichier /etc/security/console.perms afin de donner le périphérique /dev/sgXXX à l'utilisateur connecté à la console (vous par exemple). Il suffit pour cela, si votre scanner est connecté au périphérique /dev/sgb de rajouter à /etc/security/console.perms les lignes : <scanner>=/dev/sgb <console> 0600 <scanner> 0600 root Ce qui suit <scanner>= est une expression régulière : vous pouvez mettre /dev/sg[ab] pour autorisé les accès à /dev/sga et /dev/sgb si vous avez plusieurs scanner. Mais faites attention : les /dev/sg* sont aussi les périphériques SCSI dans leur ensemble, donc si vous avez un disque SCSI ou un graveur SCSI l'un des /dev/sg* est celui−ci, vous devez absolument éviter de donner ce périphérique à l'utilisateur qui dispose de la console. Sinon vous aurez a un gros trou dans le sécurité de votre système. (Pour plus de renseignements concernant ceci : voir la manpage console.perms) Ce paragraphe est en version alpha (je ne suis pas absolument sûr que les /dev/sg* soient effectivement tous les périphériques de votre chaîne SCSI, mais dans le doute ne t'abstiens pas ! Surtout que ça ne coute pas cher de faire attention à la sécurité dans ce cas précis. Si quelqu'un en sait plus : qu'il m'écrive, ça m'intéresse.). Installer et configurer son matériel 85 Les mots de la fin : 2. Quand allumer votre scanner ? Lorque vous le souhaitez, pourvu que vous respectiez la règle suivante : le module correspondant à la carte SCSI sur laquelle est branché votre scanner, ne doit pas être chargé à ce moment là. Pour le vérifier, tapez : [root@becane usr]# lsmod | grep VOTRE−MODULE Si cette commande renvoie quelque chose, c'est que votre module est chargé : pour utilisez votre scanner, vous DEVEZ le décharger. Pour cela deux méthodes existent. La méthode Win$$$ : on allume le scanner puis on reboote. La méthode Linux est moins bourrin : vous déchargez juste tous les modules qui utilisent votre carte scsi : sd_mod.o, sg.o et sr_mod.o : [root@becane [root@becane [root@becane [root@becane usr]# usr]# usr]# usr]# rmmod rmmod rmmod rmmod sr_mod sd_mod sg VOTRE−MODULE Si vous obtenez un message d'erreur, c'est que soit ce module n'est pas chargé, soit l'un des modules est utilisé par un processus en cours de fonctionnement. Trouvez lequel, tuez−le, recommencez. Puis vous pouvez lancer xscanimage comme d'habitude. Il devrait trouver votre scanner (les modules nécessaires se chargeront alors automatiquement). 3. Le fichier dll.conf Le fichier /usr/local/etc/sane.d/dll.conf sert à dire à SANE quels sont les scanners dont il doit vérifier la présence dans votre chaîne SCSI. Vous pouvez commenter toutes les lignes qui ne correspondent pas à votre scanner (en les commençant par #). Dans ce fichier, on trouve deux lignes qui ne correspondent pas réellement à des scanners : net et pnm. • Le premier permet de chercher un scanner sur le réseau (ça depasse le cadre ce cet article : une autre possibilité de SANE : il permet de partager un scanner sur un réseau, pour savoir comment faire, la man page de saned est le point départ obligé ! (Si quelqu'un a réussi à le faire fonctionner en réseau, un mail en expliquant le fonctionnement serait le bienvenu, car pour l'instant je n'ai pas eu le temps d'essayer)). • Le second (pnm) est un backend pour SANE d'un genre un peu particulier, vous lui donnez un fichier source au format pnm et SANE fait comme si ce fichier était le résultat d'un scanne. Cela permet de vérifier, lorsque quelque chose ne fonctionne pas, si c'est le scanner ou SANE qu'il faut mettre en cause. Si ce backend fonctionne, c'est que SANE est correctement configuré. Quelques ressources concernant les scanners (mailez−moi pour que je rajoute vos liens) : • Une page concernant l'installation d'un scanner AGFA SnapScan 6xx (idem 3xx). A utiliser si vous ne comprenez rien à ce que j'ai expliqué ;−). Il n'utilise pas le patch, certainement parce que son SnapScan n'est pas un 310, à vous de voir s'il est nécessaire d'appliquer le patch. Je serais content que vous me mailer vos expériences concernant ce patch (en particulier l'utilisation d'une nouvelle version). • La page de SANE. • La page de celui qui a écrit le backend pour le Snapscan. 86 Installer et configurer son matérie Installation d'un scanner U Installation d'un scanner USB par Eric Bénard Si même l'USB est supporté par Linux que reste−t−il aux autres ? Cette page est en grande partie inspirée de celle de Miguel qui m'a aidé a configurer SANE : http://www.rootsistemas.net/agujeroweb/scnrusb.html (en espagnol) Les scanner USB commencent a être supportés par Linux. Un driver existe au sein des noyaux de développement de la série 2.3.x. Plus généralement de nombreux drivers pour divers périphériques USB ont été ajoutés à ce noyau. Il est toutefois possible d'utiliser la majorité de ces drivers grâce à l'adaptation des sources de l'USB du 2.4 vers le 2.2. Il est aussi possible d'utiliser directement un noyau de développement (j'utilise le 2.3.99−pre5 sans trop de pb sur plateforme i386), mais ces noyaux étant en développement, cela peut présenter des risques d'instabilité. Dans un premier temps je vais expliquer comment compiler un noyau avec les nouveaux drivers USB. Puis on parlera de la configuration de SANE pour qu'il supporte le SnapScan. Remarque : Pour les scanners SCSI, voir la rubrique correspondante. Compilation du noyau 2.2.15 avec les drivers USB du 2.3.x Note : à partir du noyau 2.2.19 et 2.4 (i.e. toute distribution récente), cette étape n'est plus nécessaire. Vous pouvez passer directement à la suite. • Récupérer les sources du noyau 2.2.14 ou 2.2.15 (si vous n'êtes pas en France utilisez un mirroir) : linux−2.2.15.tar.gz et mettre le fichier dans /usr/src/ (il faut être root pour faire çà) • Décompresser le tout dans le répertoire /usr/src : # cd /usr/src # rm −f linux # tar xvzf linux−2.2.15.tar.gz # ln −s linux−2.2.15 linux # chown −R root linux # chgrp −R root linux • Récupérer les sources de l'adaptation des drivers USB là : usb−2.3.99−pre6−for−2.2.14.diff.gz (fonctionne pour les noyaux 2.2.14 et 2.2.15) • Les installer : # cd linux # gzip −dc ../usb−2.3.99−pre6−for−2.2.14.diff.gz | patch −p1 • Configurer son noyau : # make menuconfig (ou xconfig si vous êtes sous X) Dans la section USB support, il est important de cocher (soit 'y' qui incluera le driver dans le noyau, soit 'm' qui le mettra en module) les options suivantes : Support for USB (attention si vous utilisez un clavier et une souris USB, il vaut mieux inclure tout ça dans le noyau et non en module) USB verbose debug messages Preliminary USB device filesystems selon le type de carte mère : UHCI, UHCI Alternate ou OHCI (le plus souvent pour des PCs, vous aurez un chipset UHCI, OHCI est utilisé notamment pour les Compaq et les Macintoshes) USB Scanner support n'oubliez pas de cocher les autres options dont vous aurez besoin (voir la rubrique noyau). • Compiler le noyau et l'installer : # make dep bzImage modules modules_instal # cp arch/i386/boot/bzImage /boot/bzusb # cp System.map /boot/sysmapusb • Configurer lilo pour lui faire prendre en compte le nouveau noyau : ajouter la section suivante : image=/boot/bzusb label=linuxusb root=/dev/xxxx −− mettre le même device que pour les autres sections qui chargent linux append="" read−only taper /sbin/lilo pour faire prendre en compte le changement • Redémarrer et taper linuxusb sous lilo afin de charger le nouveau noyau. Installer et configurer son matériel 87 Configuration du device usbscanner Configuration du device usbscanner Cette étape n'est pas nécessaire si vous utilisez devfs (par exemple sur une mandrake 8.2 ou 9.0). Créez le noeud de périphérique correspondant au scanner USB par : # # # # mknod chmod chmod ln −s /dev/usbscanner c 180 48 a+rw /dev/usbscanner 666 /dev/usbscanner /dev/usbscanner /dev/scanner Chargement des drivers valable uniquement si vous les avez compilés en modules Ajouter cette ligne au fichier /etc/conf.modules : "options scanner vendo=0x06bd product=0x2061 (ou 0x0001 selon votre scanner, cette valeur pouvant être déterminée après avoir chargé les modules usbcore et usb−(u/o)hci, en regardant dans le log (commande dmesg) où vous devez trouver quelque chose comme çà : "Manufacturer: AGFA Product: SNAPSCAN 1212U .... Vendor:Product = 06bd:0001 )" # modprobe usbcore # modprobe usb−xxxx (où xxx est uhci ou ohci selon votre carte mère) # modprobe scanner Etape optionnelle : mais utile au diagnostic Il vaut mieux que /proc/bus/usb contiennent les informations sur vos périphériques usb. Pour cela, il faut sur une distribution ancienne (sur les récentes, cela est fait automatiquement au démarrage) : # mount −t usbdevfs /proc/bus/usb /proc/bus/usb Ou pour le monter automatiquement : ajouter "none /proc/bus/usb usbdevfs defaults 0 0" au fichier /etc/fstab. Ainsi, vous pourrez vérifier la présence des drivers et les périhpériques détéctés en faisant : # cat /proc/bus/usb/devices # cat /proc/bus/usb/drivers Configuration et installation de SANE (et de XSANE) Récupérer les sources de SANE et de XSANE là : SANE, XSANE Récupérer le patch pour le SnapScan USB là : sane−1.0.1−usb.diff (évidemment ne récupérez ce fichier que si vous utilisez une snapscan) Décompresser SANE, le patcher et le compiler : # # # # # # tar xvzf sane−1.0.1.tar.gz patch −p0 < sane−1.0.1−usb.diff cd sane−1.0.1 ./configure make make install Décompresser XSANE, et le compiler : # # # # # tar xvzf xsane−0.58.tar.gz cd xsane−0.58 ./configure make make install SANE et XSANE sont maintenant installés dans /usr/local Configuration de SANE : Editer les fichiers suivants dans /usr/local/etc/sane.d afin qu'ils ressemblent à çà : • dll.conf : snapscan • snapscan.conf : usb AGFA /dev/scanner 88 Installer et configurer son matérie Chargement du firmware du sc /dev/usbscanner Remarque : D'autres infos sur SANE dans la rubrique scanner SCSI. Chargement du firmware du scanner Ceci n'est applicable qu'au SnapScan USB, mais une étape similaire doit sans doute être nécessaire aux autres scanner USB : si vous le savez, mailez nous, merci. Récupérer les fichiers suivants : agfafirm (ou ici) et SnapScan−1212U_2.bin (ou ici) Charger le firmware dans le scanner : # chmod 755 agfafirm # ./agfafirm /dev/usbscanner SnapScan−1212U_2.bin Ca y est vous pouvez scanner ! Lancer xscanimage : # xscanimage & Pour utiliser xscanimage en module de gimp : # cd /usr/lib/gimp/1.x/plug−ins (où x depend de la version de gimp installée) # ln −s /usr/local/bin/xscanimage xscanimage xscanimage sera lors accessible dans le menu Xtns>Acquire Image . Liens utiles • Le site de l'USB pour linux : http://www.linux−usb.org • Le FAQ de l'USB sur Linux : http://linuxusbguide.sourceforge.net/USB−guide−1.0.6/book1.html • Le site du créateur du driver pour les scanners usb : http://www.jump.net/~dnelson • Le site du créateur du backend pour SANE : http://hem.fyristorg.com/henrikj/snapscan/ • Le site de Miguel qui m'a aidé à configurer SANE : http://www.rootsistemas.net/agujeroweb/scnrusb.html • Le scanner Epson 610U : http://www.linuxgraphic.org/configurer/articles/epson610u/ Installer et configurer son matériel 89 Installation d'un scanner parallèle grâce à SANE Installation d'un scanner parallèle grâce à SANE par Pierre Fritsch, fpb4 chez libertysurf point fr. Introduction Ce document a pour but de décrire l'installation d'un scanner sur port parallèle au sein d'un système GNU/Linux. Pour cela nous allons utiliser SANE (Scanner Access Now Easy), dernière version à ce jour 1.0.5. Pour cet exemple, il s'agit d'un MUSTEK ScanExpress 6000P. Un scanner déjà ancien mais qui me donne toute satisfaction. D'autant plus que l'on me l'a donné ;−) Pré−requis 1. Un systeme GNU/Linux fonctionnel, 2. Un scanner supporté par SANE, 3. les librairies sane−backends (les pilotes), 4. les programmes sane−frontends (les interfaces). A signaler que sane−frontends n'est pas obligatoire si vous envisagez d'utiliser une autre interface comme xsane (http://www.xsane.org) ou quiteinsane (http://sourceforge.net/projects/quiteinsane), d'un autre côté, ils sont trés léger et permettent de tester rapidement l'installation de SANE. Installation Si vous disposez d'une distribution récente il y a de fortes chances pour que SANE soit disponible sur les cds de votre distribution. Dans ce cas utilisez votre méthode habituelle pour l'installation. Exemple pour un systeme basé sur RPM : rpm −ivh sane−backends−1.0.5.rpm rpm −ivh sane−frontends−1.0.5.rpm Exemple pour une slackware : installpkg sane.tgz Si vous préférez installer à partir des sources copiez celles−ci dans le répertoire de votre choix, /opt par exemple : cp sane−backends−1.0.5.tar.gz /opt/sane−backends−1.0.5.tar.gz cp sane−frontends−1.0.5.tar.gz /opt/sane−frontends−1.0.5.tar.gz passez dans le repertoire /opt cd /opt décompressez−les : tar zxpvf sane−backends−1.0.5.tar.gz tar zxpvf sane−frontends−1.0.5.tar.gz passez dans le répertoire sane−backends−1.0.5 nouvellement créé : cd sane−backends−1.0.5 compilez de la manière habituelle : ./configure ; make ; make install effectuez la même opération pour sane−frontends : cd /opt/sane−frontends−1.0.5 ; ./configure ; make ; make install Configuration Suivant votre distribution, les fichiers de configuration ne se trouvent pas au même endroit. Il s'agit du fichier dll.conf ainsi que du fichier propre a votre scanner : mustek_pp.conf pour notre exemple. Ils se trouvent à l'intérieur du dossier sane.d Pour une Mandrake 8 avec installation des rpm Mandrake : /etc/sane.d Pour une slackware 8 avec installation par installpkg : /etc/sane/sane.d Pour une installation a partir des sources : /usr/local/etc/sane.d A l'intérieur du répertoire sane.d supprimez toutes les entrées ne correspondant pas à votre scanner. Ne laissez que dll.conf et l'entrée liée à votre matériel, mustek_pp.conf dans notre cas. Éditez le fichier dll.conf et commentez (mettez le symbole # devant une ligne, pour qu'elle ne soit pas prise en compte) ou supprimez toutes les entrées ne correspondant pas à votre matériel. Dans mon exemple il a fallu que je décommente la ligne mustek_pp qui correspond à mon scanner. 90 Installer et configurer son matérie Installation d'un scanner parallèle grâce Voici pour l'exemple mon fichier dll.conf : # enable the next line if you want to allow access through the network: #net mustek_pp Éditez le fichier correspondant à votre scanner : mustek_pp.conf dans notre cas. Dans la section DEVICES, précisez sur quel port est connecté votre scanner, soit : • port 0x378 pour un scanner connecté sur lp1 • port 0x278 pour un scanner connecté sur lp2 • port 0x3bc pour un scanner connecté sur lp0 Attention : pour une carte mère avec un seul port parallèle, lp0 correspond à 0x378. Décommentez les entrées correspondant au modèle exact de votre scanner. Commentez toutes les autres sauf : option io−mode alt_lock, option niceload, option buffer 122400 Voici mon fichier mustek_pp.conf : # For documentation see sane−mustek_pp(5) # GLOBAL # # option io−mode [mode] must come before all port< definitions, or it won't # have the effect you'd expect # enable this option, if you think your scanner supports the UNI protocol # note however that this might disable the better EPP protocol #option io−mode try_mode_uni # choose between two different ways to lock to port option io−mode alt_lock # set the maximal height (in lines) of a strip scanned (default: no limit) #option strip−height 0 # wait n msecs for bank to change (default: 700 msecs) # if this value is to low, stripes my appear in the scanned image #option wait−bank 700 # size (in bytes) of scan buffer (default: 1 megabyte) #option buffer 1048576 # try to avoid to heavy load. Note that this reduces scan speed option niceload # Define the time the lamp has to be on before scan starts (default 5 secs) #option wait−lamp 5 # DEVICES # # specify the port your scanner is connected to. Possible are 0x378 (lp1) # 0x278 (lp2) and 0x3bc (lp0) port 0x378 # the following options are local to this scanner # WELL KNOWN OPTIONS # # most scanners only need 200 − 250 msecs to change bank −> try it out Mustek ScanExpress 6000 P name SE−6000P vendor Mustek option wait−lamp 15 # # # # Mustek ScanExpress 600 SEP name SE−600SEP vendor Mustek option wait−lamp 15 # Mustek ScanMagic 4800 P # name SM−4800P # vendor Mustek Installer et configurer son matériel 91 Utilisation # option wait−lamp 15 # # # # # Mustek 600 III EP Plus name 600IIIEPP vendor Mustek option wait−lamp 15 some models only need 5 secs... # # # # # # # # Mustek ScanMagic/Express 1200 ED Plus (this scanner isn't yet supported!!!) name SM−1200EDP name SE−1200EDP vendor Mustek this scanner has an optical resolution of 600 dpi option use600 this scanner *must* use option niceload option niceload # Fidelity Imaging Solutions Inc. Gallery 4800 # name Gallery−4800 # vendor Fidelity−Imaging−Solutions # Viviscan Compact II # name Compact−II # vendor Viviscan # # # # Medion MD9848 (aka Aldi−Scanner) name MD9848 vendor Medion option wait−bank 250 # scan maximal 16 lines for one sane_read() call #option strip−height 16 # we just need 16 lines * 3 (rgb) colors * 300 dpi * 8.5 inch bytes option buffer 122400 # Enable this option, if you want user authentification *and* if it's # enabled at compile time #option auth # use this option to define the maximal black value for lineart scans #option bw 127 Utilisation Apres avoir enregistré vos modifications vous pouvez (si vous avez installé sane−frontend) lancer /usr/local/bin/xscanimage. Si tout s'est bien passé vous devez voir apparaître l'interface de gestion de votre scanner. Vous avez la possibilité de lancer xscanimage comme un plugin de Gimp. Pour cela il suffit de creer un lien symbolique de /usr/local/bin/xscanimage vers le repertoire plug−ins de gimp dans votre repertoire personnel exemple pour l'utilisateur pedro : ln −s /usr/local/bin/xscanimage /home/pedro/.gimp−1.2/plug−ins Remarques : Ce document n'est écrit que dans un but indicatif. Ce qui fonctionne chez moi peut ne pas fonctionner chez vous. Lisez les pages man de sane. Allez sur le site de sane : http://www.mostang.com/sane pour en savoir plus sur le matériel supporté et quel type de backend utiliser pour votre propre matériel. A mon avis xsane (http://www.xsane.org) est plus complet que xscanimage notamment avec le support de la photocopie et la gestion fax. Mais bien sûr cela n'engage que moi. Merci de me faire part de vos commentaires ou suggestions. Additif A la suite de plusieurs courriers reçus depuis la parution de cet article, il apparait que plusieurs problemes se posent encore. 1 . Il faut etre root pour pouvoir utiliser le scanner. Le principe est simple : utiliser la couche réseau de SANE. Solution pour Slackware (via inetd) 92 Installer et configurer son matérie Utilisation Ceci doit être compatible (ou presque) avec toute distribution utilisant inetd comme super−daemon. éditer /usr/local/etc/sane.d/saned.conf et s'assurer que localhost est décommenté éditer /usr/local/etc/sane.d/net.conf et s'assurer de la même chose rajouter dans /etc/services " sane 6566/tcp " rajouter dans /etc/inetd.conf "sane stream tcp nowait root /usr/local/sbin/saned saned " Voilà ! Maintenant en tant que "user" le scanner apparait comme [net:localhost:mustek_pp:SE−6000P] Solution pour Mandrake Pour l'instant je n'en ai pas : Je sais que le principe est le même sauf que la Mandrake utilise xinetd au lieu de inetd mais je n'ai pas encore compris la procedure Avis aux amateurs!!!!!!! (Fred):: Je n'ai pas essayé, mais je pense qu'il faut : créer /etc/xinetd.d/sane tel que : service sane { disable = yes port = 6566 socket_type = stream wait = no only_from = localhost server = /usr/local/sbin/saned # ce qui suit, doit peut−être être changé. user = root log_on_failure += USERID } Voilà ! Maintenant en tant que "user" le scanner doit apparaitre comme [net:localhost:mustek_pp:SE−6000P] 2 . Nico m'a fait part d'un probleme sur sa Debian. Il faut selon lui creer un lien symbolique sur /dev/lp0 (ln −s /dev/lp0 /dev/scanner). A essayer ! Je voudrais remercier tous ceux qui m'ont ecrit pour me faire part de leurs remarques et de leurs encouragements et par la meme occasion m'excuser de parfois avoir ete un peu long a repondre mais n'etant pas informaticien de profession je ne peux y consacrer que mon temps libre. Installer et configurer son matériel 93 Installer une imprimante locale ! Installer une imprimante locale ! par Serge et Fred Les pingouins savent écrire ! et même en réseau ! Introduction Il n'existe, bien évidemment, pas qu'une seule méthode pour installer une imprimante. On peut utiliser les filtres 'apsfilter'. Mais, les plus chanceux d'entre nous utilisent une distribution Mandrake et disposent en standard de l'utilitaire de configuration : 'DrakConf'. Avec apsfilter On va donc voir ici comment installer une imprimante très rapidement et très facilement grâce à un utilitaire qui fait presque tout le travail : apsfilter. Récupérez tout d'abord ce programme (en source) sur le site de freshmeat. Compiler les sources Bon, une fois les sources tarball (c'est à dire tar.gz) récupérées, on fait un : tar zxvf apsfilter−xxxx.tar.gz Les sources vont s'extraire dans un répertoire apsfilter−xxx Allez dans le répertoire et faites un: ./SETUP Vous allez rentrer alors dans un menu en mode texte ou il suffit de remplir tout simplement les sections (elle est pas belle la vie ?) Détails des sections On arrive donc sur un message, validez par [Entrée] jusqu'à arriver a APS FILTER SETUP. Commencez par taper [D] pour voir les imprimantes supportées par défaut par gs (ghostscript), regardez la liste pour voir si votre imprimante y est, notez le nom qui lui est associé (par exemple bjc600). Si votre imprimante n'y est pas, regardez si une compatible existe en revenant au menu général puis tapez cette fois−ci [R]. Revenez à l'ecran principal et tapez [1], puis suivez les menus suivant la marque/modèle de votre imprimante, ou si elle n'apparait pas, choissisez une imprimante compatible. Confirmez votre choix par [y]. Tapez alors [2], choisissez votre type d'imprimante (série ou parallèle) puis le port (/dev/lp0 pour l'équivalent du LPT1 de DOS). Tapez alors [3] : on va choisir une résolution pour le test, choisissez "petit" pour pas attendre trop longtemps, voir si ca marche et ne pas avoir un truc sur 10 feuilles non plus. Si ça marche pas revenez en arrière et choisissez une autre imprimante en 1. 150 DPI est un bon choix. Tapez [4], choisissez monochrome pour une imprimante noir et blanc ou 24bpp pour une couleur assez moderne, en dessous pour les vieilles couleurs jets d'encre (style bjc200). Tapez [5] et choisissez A4 (papier standard d'imprimante en France). Tapez [T] pour tester la config. Si tout se passe bien alors votre imprimante devrait sortir une tête de lion. Autrement revenez à la première étape et reconfigurez le tout. Si au lieu d'une image vous avez des caractères incompréhensibles, c'est à l'étape 1 que vous vous êtes trompé. Autrement si rien n'apparait, vérifiez que vous n'avez pas choisi un mauvais port à l'étape 2. Bon, le test est OK, on passe à l'étape [C]. Si l'on vous demande d'ajouter ou d'écraser la config, si c'est votre seule imprimante, vous écrasez, et si vous configurez une autre imprimante, vous ajoutez. Ca va compiler, créer le /etc/printcap, etc... Puis validez par [Entrée] plusieurs fois. Voilà, votre imprimante est configurée !!! Test sous X Allez sous X, lancez par exemple kedit sous KDE, tapez une phrase puis imprimez (fichier −> imprimer). Ca devrait passer sans aucun problème. Si cela ne fonctionne pas, vérifiez bien qu'un process lpd existe (ps −aux lpd | grep ldp), autrement essayez de le lancer à la main (lpd &). Si lpd ne se trouve pas sur votre machine, installez−le (voir les packages sur le cd de votre distrib, ca doit y être obligatoirement). Voilà, votre imprimante fonctionne !!! Dépendances Pour que tout cela fonctionne, vous devez avoir sur votre système : • ghostscript • lpd • bunzip2 94 Installer et configurer son matérie Avec DrakConf • pnmtops • ppmtopgm • fig2dev • gzip • compress • bunzip2 • libjpeg Avec DrakConf Installation Normalement, l'installation de ce programme a eu lieu en même temps que le reste de votre distribution. Mais, si ce n'est pas le cas, voilà la marche à suivre, il faut installer les rpms suivants : • X11 ;) • perl • glib • gtk • drakxtools • DrakConf ;) Par la ligne de commande suivante : rpm −i /mnt/cdrom/Mandrake/RPMS/package−versionmdk.i386.rpm Tous ces paquetages sont présents sur le CD de votre distribution. Configuration d'une imprimante locale C'est bien évidement le cas de figure le plus simple. Pour cela, vous lancez Drakconf : [root@localhost home]# DrakConf Une jolie (c'est une affaire de goût) fenêtre s'ouvre, vous cliquez sur : Configuration des imprimantes Une nouvelle fenêtre s'ouvre : elle s'appelle 'configuration d'une imprimante locale'. On vous demande le nom de la file : mettez ce que vous souhaitez, mais sachez que si la file s'appelle lp, alors ce sera votre imprimante par défaut. Vous pouvez aussi préciser des alias pour cette file par exemple en mettant : lp|DeskJet|DeskJet Couleur Dans ce cas , vous pourrez imprimer sur la file par défaut : lp, sur la file DeskJet qui lui est équivalente, tout comme "DeskJet Couleur" (notez la présence de " pour entrer un nom composé de plusieurs mots). Ensuite on vous demande lerépertoire de spool : c'est le nom du répertoire dans lequel devrons être stockées les informations concernant cette file, ainsi que les fichiers temporaires générés par la commande lpr quand on lui demandera d'imprimer. vous pouvez changer ce répertoire, mais l'emplacement proposé par défaut est bon. Validez votre choix par OK. Ensuite on vous demande de Choisir le type de connexion de l'imprimante : choisissez Imprimante locale. Normalement DrakConf trouve tout seul le port sur lequel est branché votre imprimante : /dev/lp0. Si ce n'est pas le cas, vous pouvez essayer de choisir vous même (/dev/lp0 pour LPT1: (sous windows), /dev/lp1 pour LPT2:, et /dev/lp2 pour LPT3: (très rare)), mais en général cela indique que votre port d'impression n'est pas reconnu : c'est qu'il n'est pas standard, lisez le Printing−HOWTO. Donc, normalement vous pouvez valider par OK. Maintenant, il faut préciser le nom de votre imprimante : si votre imprimante est présente dans la liste, choisissez là, si elle n'est pas dans la liste, choisissez un modèle compatible (par exemple : la HP LaserJet 1100 n'est pas dans la liste, mais c'est une imprimante qui utilise le langage PCL5, comme la LaserJet 4 qui est dans la liste : c'est celle là qu'il faut choisir). Si votre imprimante est compatible avec plusieurs modèles, je vous conseille d'essayer tous les drivers pour pouvoir choisir le bon driver. Ensuite on vous demande de choisir les options de l'imprimante (par exemple la taille du papier) ; choisissez celui que vous utililisez, nous verrons plus loin comment modifier la taille du papier avant une impression. Validez les options que vous souhaitez utiliser. Enfin on vous demande d'imprimer une page de test (votre imprimante doit être branchée ;). Essayez toutes les pages proposées. Normalemant, ça doit marcher, si ce n'est pas le cas : • soit vous n'avez pas choisi le bon driver, • soit vous n'avez pas précisé les bonnes options. Recommencez les étapes, jusqu'à ce que tout fonctionne. Installer et configurer son matériel 95 Avec DrakConf Configuration d'une imprimante réseau La marche à suivre est exactement la même, sauf que lorsque l'on vous demande de choisir le type de connection, choisissez cette fois : 'imprimante Unix distante'. Ensuite on vous demande le 'nom du serveur', entrez le nom de la machine qui jouera le rôle du serveur d'impression (ou une adresse IP si vous préférez). Dans la case 'nom de la file d'impression', tapez le nom de la file d'impression (dans la majorité des cas lp sera très bien). Le reste est identique. Un conseil toutefois : lorqu'on imprime sur une imprimante distante, il faut en avoir le droit, ce qui n'est en général pas le cas par défaut. Vous devez pour cela ajouter (ou créer si ce fichier n'existe pas) le nom de la machine qui souhaite imprimer (le client) dans le fichier /etc/hosts.lpd de la machine qui gérera vraiment l'impression (le serveur). Trucs et astuces Pour vérifier que le driver fonctinne, essayez d'imprimer une page postscript : lpr [−P <nom de la file>] fichier.ps Vous n'êtes pas obligé de préciser le nom de la file d'impression ("lpr fichier.ps" suffit), mais cela vous permet de tester une file d'impression en particulier. En fait, c'est la méthode à utiliser pour imprimer sur une file particulière un fichier particulier. Les filtres rhs−printfilters reconnaissent un grand nombre de types de fichier : depuis le postscript jusqu'au gif en passant par l'html. La taille du papier est précisée dans le fichier postscript.cfg du répertoire de spool ( c'est à dire : /var/spool/lpd/file). C'est le paramètre PAPERSIZE, vous pouvez préciser (extrait de la manpage de gs) : PAPERSIZE X pouces Y pouces X cm Y cm −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− a0 33.0556 46.7778 83.9611 118.816 a1 23.3889 33.0556 59.4078 83.9611 a2 16.5278 23.3889 41.9806 59.4078 a3 11.6944 16.5278 29.7039 41.9806 a4 8.26389 11.6944 20.9903 29.7039 a5 5.84722 8.26389 14.8519 20.9903 a6 4.125 5.84722 10.4775 14.8519 a7 2.91667 4.125 7.40833 10.4775 a8 2.05556 2.91667 5.22111 7.40833 a9 1.45833 2.05556 3.70417 5.22111 a10 1.02778 1.45833 2.61056 3.70417 b0 39.3889 55.6667 100.048 141.393 b1 27.8333 39.3889 70.6967 100.048 b2 19.6944 27.8333 50.0239 70.6967 b3 13.9167 19.6944 35.3483 50.0239 b4 9.84722 13.9167 25.0119 35.3483 b5 6.95833 9.84722 17.6742 25.0119 archA 9 12 22.86 30.48 archB 12 18 30.48 45.72 archC 18 24 45.72 60.96 archD 24 36 60.96 91.44 archE 36 48 91.44 121.92 flsa 8.5 13 21.59 33.02 flse 8.5 13 21.59 33.02 halfletter 5.5 8.5 13.97 21.59 note 7.5 10 19.05 25.4 letter 8.5 11 21.59 27.94 legal 8.5 14 21.59 35.56 11x17 11 17 27.94 43.18 ledger 17 11 43.18 27.94 Pour changer le format de l'impression il suffit donc de modifier avant l'impression la valeur de cette variable. 96 Installer et configurer son matérie Drivers HPIJS pour Hp des Drivers HPIJS pour Hp deskjet BRARD Emmanuel Installer son imprimante HP Deskjet 6xx/9xx/x Introduction Vous avez une imprimante HP Deskjet de série 8xx, 9xx ou supérieure (série 3xx supportée) ? Alors vous allez pouvoir tirer partie de toutes* les fonctions de cette imprimante, entre autres et surtout de la technologie Photoret {2−3}. Notez toutefois que la Mandrake 8.1 devrait intégrer directement ces drivers. Pré−requis Attention: ce drivers ne marche que pour les imprimantes des séries 6xx,8xx,9xx et supérieures (la série 3xx est supportée). Vous aurez besoin de : • ghostscript−utils−5.5 • ghostscript−fonts−5.5 • ghostscript−5.5 Tout ceci est normalement disponible sur le cd de votre distribution. Je vous conseille aussi d'installer ghostscript−png et jpg pour pouvoir imprimer des images sans soft particulier avec les commandes classiques. Il vous faut maintenant le support HP de Ghostcript que vous pourrez trouver sur http://hpinkjet.sourceforge.net. Téléchargez : • ghostscript−hpijs−5.50−5 (le support ghostscript) • hpijs−0.9*−* (le "driver" et le daemon) Vous devez posséder un installeur de spooler, genre printtool, ou printerdrake (éventuellement voir sur http://freshmeat.net), ainsi que les packages suivants (à cause des problèmes de dépendances) : • mpage−2.5.1−* • rhs−printfilters−* • control−panel−* (nécessaire seulement pour printtool) Normalement tout ceci est disponible sur le cd de votre distribution (peut−être des problèmes avec la Mandrake 8.x ?) Mise au Point • Je ne détaillerai que l'installation en rpm, car la compilation a de grande chance de rater si vous n'utilisez pas une distrib "rpm−like" (i.e. RedHat, Mandrake...) • L'installation marche très bien avec un server lpd (commande lpr), je ne peux malheureusement pas le certifier pour Cups ou autre. Installation Voila avec tout ça, ça devrait marcher ;) Il suffit donc d' installer les packages que vous n' avez pas encore, et d' installer ceux de Hp avec la commande rpm −Uvh xxx.rpm −−force. Normalement aucun problèmes .... nan ils viennent après : Rpm nous prévient (ou pas) que la base printerdb n'a pas pu être mise à jour. Nous allons donc le faire nous−même : Localisez votre fichier printerdb, normalement dans : /usr/lib/rhs/rhs−printfilters/ Ensuite il suffit de copier les entrées qui nous intéressent du fichier : /usr/doc/hpijs−0.97/printerdb_append Copiez dans /usr/lib/rhs/rhs−printfilters/printerdb la ou les entrées de votre ou vos imprimantes. EX: StartEntry: HPDeskJet9xx GSDriver: DJ9xx Description: {HP − developed DeskJet 900C series} About: { \ Installer et configurer son matériel 97 Conclusion This driver was developed by Hewlett−Packard Co. for deskjet \ 930/932C, 950/952C, 970C, photosmart 1000/1100 printers. \ Duplex printing is not supported. \ Different print modes can be specified with the Extra GS option "−dPr intMode=n". \ Where n equals one of the following values: 0=grayscale, 1=normal (de fault), or 2=photo. \ Resolution setting 600x600 is available for photo mode only. \ } Resolution: {300} {300} {} Resolution: {600} {600} {} EndEntry Pour une imprimante de la série 9xx comme ma 930c ;) Ensuite il n'y a plus qu'à ajouter un spooler pour celle−ci avec le programme de votre choix, genre printtool (non testé) ou printerdrake (parfait). Notez que pour une imprimante usb, le port est /dev/usb/lp0 Et voilà, comme ça vous allez pouvoir imprimer avec une bonne qualité directement sous Linux avec le spooler lpd, donc pour imprimer comme d'habitude : lpr (−P imprimante) monfichier.* (ce qui est entre parenthèses étant optionnel.) Conclusion Malheureusement certaines "qualités" de certaines imprimantes de sont pas encore supportées : "Duplex printing is not supported", pour les séries 9xx, mais en allant régulièrement sur http://hpinkjet.sourceforge.net, vous verrez les dernières améliorations. Je rappelle aussi que quelques imprimantes Epson et Canon peuvent elle aussi être optimisées avec les outils xw_tools ; bien qu'ils permettent parfois une impression jusqu'à 1440 dpi rien n'est assuré pour les imprimantes de la gamme HP, c'est pourquoi il vaut mieux utiliser les drivers de HP. Remarque : bien que ceux−ci soient sous une license Open−source, il est vrai qu'ils ne sont pas libres, du moins pas sous les termes de la license GPL/LGP. Liens xw_tools : • http://home.t−online.de/home/jj.sarton.startF.htm • http://www.multimania.com/biloba • http://www.linux−france.org/article/appli/infographie/xw_tools/xw_tools.html Note : la compilation des drivers HP ne marche pas sous RootLinux 1.2 chez moi. (c) 2001 BRARD Emmanuel, emman@aliena.net Ce document est sous license GNU FDL . 98 Installer et configurer son matérie Connecter un lecteur Flash Connecter un lecteur Flash USB par Laurent DUBETTIER−GRENIER et Maston28 Connecter un lecteur flash USB (palmkey, diskonkey...) sous Linux, mais aussi certains appareils photos numériques... Introduction Les lecteurs Flash USB deviennent de plus en plus populaires : facile à utiliser et disposant d'une grande capacité de stockage, il remplaceront avantageusement une pile de disquette... Les lecteurs les plus récents sont conformes à la norme USB 2.0 (jusqu'à 40 fois plus rapide que USB 1.1 pour le taux de transfert) et disposent de capacités de stockage allant jusqu'à 512 Mo, mais les prix sont alors très élevés... Personnellement, j'utilise un Palm Key de 64 Mo en norme USB 1.1, produit par Allwell... Cet article a pour objectif d'expliquer la configuration permettant d'accéder à ce lecteur sous Linux. Je suppose que cela sera aussi utile aux possesseurs de lecteurs Flash USB de marques différentes ainsi qu'aux possesseurs d'appareils photos numériques comme le Sony Cyber−shot DSC P71. Cet article n'est que la traduction incomplète de l'excellent article de Matt Butcher, visible à cette adresse. Dans cet article en anglais, il décrit, en plus de la partie traduite ci−dessous, le moyen de créer un système de fichier crypté sur un lecteur Flash USB. Pour profiter de cet article, vous devez disposer : • d'un lecteur Flash USB (palmkey, diskonkey ou similaire) • d'un système Linux avec un noyau 2.4.x. Procédure simplifiée Dernière minute (Mandrake 9.0) : Avec la dernière distribution de Mandrakesoft, Linux Mandrake 9.0 (noyau 2.4.19−16mdk), c'est extrêmement simple ! Il suffit de connecter le lecteur Flash USB, et de le monter en tapant : $ mount /mnt/removable Pour accéder aux fichiers : $ cd /mnt/removable Avant de le déconnecter, il ne faut pas oublier de le démonter : $ umount /mnt/removable Nota (voir la procédure détaillée ci−dessous pour plus d'information) : Sur cette distribution linux, le fichier /etc/fstab contient la ligne suivante : /dev/sda1 /mnt/removable auto user,iocharset=iso8859−15,kudzu,codepage=850,noauto,umask=0,exec 0 0 Les modules chargés par défaut (visibles en tapant lsmod) sont usbcore et usb−uhci. Il n'y a pas usb−storage, mais cela fonctionne quand même... Si vous n'avez pas Mandrake Linux 9.0 : (ou plus précisement le dernier noyau...) En considérant que le lecteur Flash USB est le premier périphérique de stockage SCSI (je suppose ici que vous n'avez pas d'autres périphériques SCSI ou USB), il suffit de suivre les instructions suivantes : $ mkdir /mnt/pk $ mount −t msdos /dev/sda1 /mnt/pk $ cd /mnt/pk Le lecteur Flash USB, livré avec un système de fichier DOS, est alors lisible et inscriptible. Avant de le déconnecter, ne pas oublier de le démonter : $ umount /mnt/pk Procédure détaillée Ce paragraphe décrit la configuration pas à pas d'un lecteur Flash USB. Cela permet, en cas de problème d'accès à votre lecteur Flash USB, de cerner plus précisement d'où vient le problème. Préparer USB Avant de brancher votre lecteur Flash USB, vous devez vous assurer que votre système possède le module noyau USB. Nous avons besoin de usb−uhci (ou usb−ohci) et du module de stockage usb−storagechargé. Utiliser lsmod pour vérifier qu'ils sont bien présents. Sinon, utiliser Installer et configurer son matériel 99 Procédure détaillée modprobe : $ modprobe usb−uhci usb−storage Nota : le driver usb−uhci est le driver pour un type de pont USB. Si cela ne fonctionne pas, c'est que vous avez un pont OHCI. Dans ce cas, il faut faire "modprobe usb−ohci". En tapant de nouveau lsmod, vous devriez alors voir apparaître le noyau usb, les drivers usb−uhci ou usb−ohci, et usb−storage, entre autres. Préparer le périphérique Dès que les modules sont chargés, vous pouvez connecter le lecteur Flash USB. Attendre quelques secondes et changer de répertoire vers /proc/bus/usb. /proc/bus/usb est le répertoire regroupant les informations sur les périphériques usb. Le répertoire devrait contenir un fichier devices, un fichier drivers, et un répertoire pour le hub USB. Le fichier drivers contient une liste des périphériques USB disponibles. Il devrait contenir une entrée vers usb−storage, le module que nous avons inséré auparavant. Le fichier le plus important est le fichier devices : il liste tous les périphériques usb connectés au système. Nota : On obtient la même information, dans un format plus lisible, en tapant directement l'instruction "usbview" depuis un serveur X (interface graphique). Vous devriez avoir une entrée pour votre Lecteur Flash USB dans une des lignes commençant par "T:". Sur mon système : T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=3 Spd=12 MxCh=0 La plupart des périphériques contiennent des informations en clair (une chaîne de caratère) les décrivant. Elles sont présentes dans les lignes commençant par "S:". Quelques lecteurs Flash USB ne contiennent aucune information (mon palm key est dans ce cas...). L'information relative à la version de vos périphériques est présente après "P:". Pour mon palm key : P: Vendor=0c76 ProdID=0003 Rev=1.0 Dès que vous avez une entrée dans ce fichier pour votre lecteur Flash USB, vous pouvez continuer. Si il n'y a pas d'entrée, contrôler la connection physique de votre périphérique et assurez−vous que les modules nécessaires sont bien chargés dans le noyau. Le driver usb−storage Le travail du driver usb−storage est de lier les périphériques de stockage de masse USB à des périphériques SCSI. Ceci autorise les périphériques USB à être traités comme des périphériques de stockage amovibles. Si tout c'est bien passé, le Lecteur Flash USB doit être assigné à un périphérique SCSI. Dans /proc/scsi, vous devez voir un répertoire nommé usb−storage−0 ou similaire. Le numéro à la fin peut être différent, il dépend du nombre de périphériques de stockage USB présents sur votre système. Le fichier /proc/scsi/scsi contient des détails sur les périphériques sont répertoriés comme périphériques SCSI. Attached devices : Host: scsi0 channel: 00 Id: 00 Lun: 00 Vendor: USB Flash Model: Disk Type: Direct−Access ANSI SCSI revision: 02 Si vous n'avez pas d'autres périphériques SCSI, la seule entrée de ce fichier est votre lecteur Flash USB. Note : en l'absence d'identification du vendeur sur le périphérique lui−même (et aussi dans le fichier /proc/bus/usb/devices), le périphérique est juste déclaré comme générique. La première ligne host informe sur la localisation du périphérique. Si c'est le premier périphérique SCSI, il sera déclaré comme /dev/sda1. Monter le périphérique À ce moment, nous avons identifié quel périphérique SCSI est lié au lecteur Flash USB. Il ne reste plus qu'à le monter : $ mkdir /mnt/pk $ mount −t msdos /dev/sda1 /mnt/pk On peut alors aller sur /mnt/pk et écrire ou lire le lecteur Flash USB. Quand une action d'écriture arrive sur le périphérique, la led rouge doit clignoter. Comme les données sont stockées dans une zone tampon avant d'être écrites, ne paniquez pas si la led ne clignote pas à chaque fois que vous évcrivez sur le lecteur Flash USB. Attention : n'oubliez pas de démonter le système de fichiers avant de débrancher le lecteur Flash USB. Vous pouvez ajouter une entrée dans /etc/fstab pour faciliter le montage et le démontage du périphérique : /dev/sda1 /mnt/pk msdos user,noauto 0 0 Avec l'entrée dans /etc/fstab, monter et démonter le périphérique est alors plus simple. L'indicateur "user" autorise une personne autre que root à monter et démonter le lecteur Flash USB. 100 Installer et configurer son matérie Procédure détaillé $ mount /mnt/pk $ umount /mnt/pk Remplacer le systeme de fichiers DOS Si vous n'êtes pas intéressé par partager vos données avec un système MS−DOS ou Windows, vous pouvez formater votre lecteur Flash USB avec un système de fichiers Linux. ReiserFS est journalisé et doit pouvoir être le système de fichiers de votre lecteur Flash USB. Les lignes suivantes décrivent l'installation d'un système de fichier extended2−fs. Attention : avant d'écrire un nouveau système de fichiers sur votre lecteur Flash USB, vous devez démonter le lecteur. Attention : les données présentes sur le lecteur Flash USB seront perdues. Exemple : $ umount /dev/sda1 $ mke2fs /dev/sda1 Ensuite, il faut changer la ligne de /etc/fstab pour que le système de fichiers soit ext2 au lieu de msdos. Application aux disque−durs externes USB par Maston28 Si vous Possédez un disque dur externe en usb, alors cette partie va vous intéresser ! Vous pouvez en effet utiliser un disque−dur externe sous linux en reprenant ce principe (qui s'applique aussi aux lecteurs ZIP). Sachez tout d'abord que pour un gros disque dur, il vaut mieux avoir compilé son noyau avec l'option USB Mass Storage. Vous devez tout d'abord charger les modules requis : insmod usbcore insmod uhci−usb insmod usb−storage Il faut ensuite monter les périphériques USB dans /proc/bus/usb : mount −t usbdevfs none /proc/bus/usb Nous allons maintenant monter le disque dur: mkdir /mnt/externe &mount −t vfat /dev/sda /mnt/externe Attention :Je suppose ici que votre disque dur est formaté en FAT32 (par défaut à l'achat...) Attention :si le disque dur est partitionné, remplacez sda par sdax Installer et configurer son matériel 101 Configuration des Senseurs de la carte mère. Configuration des Senseurs de la carte mère. par Fred Votre carte mère dispose peut−être de senseurs permettant de savoir, à tout moment, la température des différents éléments de celle−ci, ainsi que diverses informations intéressantes pour la bonne marche de votre PC, en particulier si vous comptez l'overclocker. Ce qu'il nous faut Pour pouvoir connaître l'état des différents senseurs de votre carte mère, il faut que nous installions deux (au moins) paquetages : i2c−2.6.3.tar.gz et lm_sensors−2.6.3.tar.gz que l'on peut trouver sur le site de l'auteur de ces paquetages. Evidemment, lecteur quand tu liras ces lignes, les numéros des paquetages auront peut−être changé : prend la dernière version ! Installation La documentation de ces deux paquetages préconise trois types d'installation (au moment ou j'écris ces lignes), mais je ne vais m'intéresser qu'à une seule méthode : celle qui consiste à patcher (je ne vois de mot français, y a−t−il un académicien dans la salle ?) le noyau de Linux. L'opération se déroule sans douleur (évidemment, si vous n'avez jamais recompilé votre noyau, allez voir la documentation sur ce site). Remarque : chaque commande qui suit est sur une seule ligne, bien sûr ! La première chose à faire est de décompresser ces deux paquetages : [user@localhost user]$ tar xzf i2c−2.6.3.tar.gz [user@localhost user]$ tar xzf lm_sensors−2.6.3.tar.gz Ensuite, il faut créer les patches. Pour que cela fonctionne, il faut, au préalable, avoir installé les sources du noyau dans /usr/src/linux (c'est l'emplacement par défaut de la plupart des distributions ; les paquetages nécessaires sont disponibles sur le CD de votre distribution). Nous créons les patches par : [user@localhost user]$ cd /home/user/i2c−2.6.3 [user@localhost i2c−2.6.3]$ mkpatch/mkpatch.pl . /usr/src/linux > i2c−patch Puis, on patche le noyau : [user@localhost user]$ cd /usr/src/linux [user@localhost linux]$ su Password : ******** [root@localhost linux]# patch −p1 −E < /home/user/i2c−2.6.3/i2c−patch ... ... (Attention: ces commandes sont sur une seule ligne !) Voilà pour le patch i2c. Puis le patch lm_sensors : [user@localhost user]$ cd /home/user/lm_sensors−2.6.3 [user@localhost lm_sensors−2.6.3]$ mkpatch/mkpatch.pl . /usr/src/linux > lm−patch Enfin, il faut patcher le noyau : [root@localhost linux]# patch −p1 −E < /home/user/lm_sensors−2.6.3/lm−patch ... ... Normalement, tout ce passe bien et nos sources du noyau sont bien patchées ! Compilation des modules et du noyau La compilation se déroule de manière standard pour les sources du noyau : on lance un make xconfig pour configurer les sources. En plus des supports habituels pour votre configuration (voir la documentation du site), il faut que vous activiez (en modules c'est mieux...) tout dans : Character Devices/I2C support/ (en fait, seuls I2C support, I2C bit−banging interfaces, I2C PCF 8584 interfaces et Pseudo ISA adapter nous seront utiles). Il faut aussi que vous activiez tout dans : Character Devices/Hardware sensors support/. Puis vous compilez votre noyau comme d'habitude : make dep ; make bzImage ; make modules ; make modules_install Vous l'installez, vous relancer lilo et vous rebootez ! Compilation des librairies et des utilitaires Cette phase est essentielle : elle permet la détection automatique de vos senseurs etc... Pour cela vous devez compilez les librairies libsensors.*. Placez vous dans le répertoire contenant les sources de lm_sensors : 102 Installer et configurer son matérie Détection des senseu $ cd /home/usr/lm_sensors−2.6.3 Et éditez le fichier nommé Makefile (c'est lui qui gére la compilation de lm_sensors), vous devez trouver les lignes noires et les remplacer par les lignes rouges : COMPILE_KERNEL := 1 COMPILE_KERNEL := 0 I2C_HEADERS=/usr/local/include I2C_HEADERS=$(LINUX_HEADERS) PREFIX := /usr/local PREFIX := /où/vous/voulez # attention : les executables seront installés dans $PREFIX/bin etc... En fait, il suffit souvant de commenter la ligne noire (en mettant un # devant) et de décommenter la ligne rouge (en enlevant le # devant). Maintenant on peut compilez le tout par make. Un certain nombre de fichiers ne sont pas trouvé : ce n'est pas grave. On installe le tout par : make install. Un dernière étape avant la détection : la création des périphériques. Celle−ci se fait très simplement par le script : mkdev.sh. Il faut être root pour pouvoir le lancer : $ su Password : ******** # /home/user/lm_sensors−2.6.3/prog/mkdev/mkdev.sh Voilà, il ne reste plus qu'à détecter vos senseurs. Détection des senseurs Là, c'est très simple : il suffit de lancer le script sensors−detect qui se trouve dans /home/user/lm_sensors−2.6.3/prog/detect, lancez−le et validez toutes les questions (les choix par défaut sont tous bons, mais vous pouvez lire ce qu'on vous demande pour affiner votre configuration). A la fin du script vous devez voir apparaître quelque chose comme : WARNING! If you have some things built into your kernel, the below list will contain too many modules. Skip the appropriate ones! To load everything that is needed, add this to some /etc/rc* file: #−−−−cut here−−−− # I2C adapter drivers modprobe i2c−piix4 modprobe i2c−isa # I2C chip drivers modprobe eeprom modprobe w83781d # w83781d est le nom du chip ! #−−−−cut here−−−− To make the sensors modules behave correctly, add these lines to either /etc/modules.conf or /etc/conf.modules: #−−−−cut here−−−− # I2C module options alias char−major−89 i2c−dev #−−−−cut here−−−− La première série de lignes en rouge (entre les cut here) doit être insérée dans votre fichier /etc/rc.d/rc.local : ce sont ces lignes qui vont charger au démarrage les modules permettant la lecture des senseurs (Attention : prenez les lignes correspondant à votre configuration, celles qui sont présentées ici sont les miennes !). La seconde série doit être insérée dans le fichier /etc/conf.modules : elles servent au chargement automatique des modules qui peuvent être chargé automatiquement. Voilà c'est tout. Utilisation L'installation de lm_sensors−2.5.1 crée un petit script de lecture des senseurs : sensors, lorqu'on le lance on obtient : [user@localhost user]# sensors w83781d−i2c−1−2d Adapter: SMBus PIIX4 adapter at 5000 Algorithm: Non−I2C SMBus adapter VCore 1: +1.98 V (min = +1.80 V, max = Installer et configurer son matériel +2.20 V) 103 Détection des senseurs VCore 2: +2.00 V (min = +1.80 V, max = +2.20 V) +3.3V: +3.36 V (min = +2.97 V, max = +3.63 V) +5V: +5.07 V (min = +4.50 V, max = +5.48 V) +12V: +11.86 V (min = +10.79 V, max = +13.11 V) −12V: −12.38 V (min = −10.78 V, max = −13.18 V) −5V: −5.12 V (min = −4.50 V, max = −5.48 V) CPU Fan: 4891 RPM (min = 3000 RPM, div = 2) CPU temp: +39.0 C (limit = +60.0 C, hysteresis = +50.0 C) vid: +2.00 V alarms: Chassis intrusion detection ALARM beep_enable: Sound alarm disabled Ou en tout cas quelque chose d'approchant. Certaines information peuvent vous sembler absurdes (par exemple des températures négatives etc...), elles correspondent en général à des senseurs non branchés ou non existants. Il peut être intéressant de désactiver ces senseurs (du moins leur lecture), cela se fait en éditant le fichier /etc/sensors.conf. Mais avant de pouvoir l'identifier il faut connaitre le nom de la puce qui gère les senseurs : le chip. Pour l'identifier, c'est simple, vous faites : [user@gros home]# cat /proc/sys/dev/sensors/chips 256 w83781d−isa−0290 257 w83781d−i2c−1−2d 258 eeprom−i2c−1−50 Les noms des puces présentes sur ma carte mère sont en gras, en rouge c'est le protocole utilisé pour lire le contenu de ces puces. Dans le fichiers /etc/sensors.conf, vous devez vous placer après une ligne commançant par : chip "lm78−*" "lm78−j−*" "lm79−*" "w83781d−*" "sis5595−*" (Comme vous pouvez le constater, plusieurs puces ont la même configuration : ici lm78, lm79, w83781d, sis5595, mais ce qui doit vous intéresser dans ce fichier c'est votre puce !, le reste vous pouvez l'effacer). Vous avez donc repéré votre puce dans /etc/sensors.conf. Vous devez trouver à la suite de cette ligne (chip quelque chose) : label label label label label label label in0 in1 in2 in3 in4 in5 in6 "VCore 1" "VCore 2" "+3.3V" "+5V" "+12V" "−12V" "−5V" label fan1 "CPU Fan" ignore fan2 ignore fan3 ignore temp1 label temp2 "CPU temp" ignore temp3 Les lignes commençant par label donnent un nom (celui que vous verrez dans la sortie de sensors) à un senseur : mettez ce qui vous plaît. Les lignes commençant par ignore signalent à sensors que ce senseur ne doit pas être lu : les senseurs qui retournent des informations erronées ou qui ne vous intéressent pas peuvent être ignorés avec profit. Voilà, maintenant vous pouvez surveiller votre PC dans les moindres recoins ! 104 Installer et configurer son matérie Installer une WebCam U Installer une WebCam USB par Fred et Dimitri Un certain nombre de WebCams sont maintenant supportées par Linux, voyons comment en faire fonctionner une. Dans ce document, je vais expliquer comment installer une WebCam sous Linux, mais je ne parlerais que de celle ayant un driver en GPL. Il existe plusieurs types de WebCam supportées par Linux avec des pilotes GPL : • celles utilisant le module CPiA (liste), • celles utilisant le modules OV511 (liste). Après avoir consulté les deux listes retenez bien le nom du driver que vous devrez charger. • Les Webcam Philips (Vesta, ToUCam), dont le driver est maintenant en GPL (sauf la partie, optionnelle, gérant la compression qui permet d'améliorer la fluidité). Voir la page de ce driver, et une page sur l'installation de cette webcam sur FRLinux.net. • la Quickcam Express de Logitech, de 2 manières : ♦ une application + module permettant de visionner la video (disponible ici). La compilation des sources produit 2 fichiers : quickcamex.o (le module) et quickcam (le visionneur). Créez le périphérique par "mknode /dev/quick c 180 80", chargez le module : "insmod ./quickcamex.o" ; vous pouvez visionner la webcam avec ./quickcam (et seulement ce logiciel). Pour faire des photos, utilisez un outil de capture d'écran. ♦ un driver "normal", i.e. compatible video4linux, disponible ici. Ce driver est livré en standard avec la Mandrake 8, il se nomme mod_quickcam.o et est chargé automatiquement au démarrage si la webcam est branchée. Si vous ne l'avez pas, récupérez−le tarball (cf lien précédent), décompressez−le ; un simple "make" le compilera, vous pouvez alors le copier dans /lib/modules/2.x.y pour l'installer. Pour le reste, remplacez ov511 par mod_quickcam ci−dessous, car il s'utilise de la même manière. • d'autres ? envoyez−nous vos expériences... Dans la suite, la partie concernant les logiciels est commune à toutes les webcams, mais pour l'installation des drivers, je ne vais parler que des WebCams utilisant ov511 car les deux WebCams que j'ai testées (une Trust Sp@ce cam 300 USB et une Creative Video Blaster Webcam 3 USB) utilisent ce driver. Pierre−Yves me signale que la procedure d'installation est presque identique pour les WebCams utilisant le driver CPiA (lui il a une Mustek Vcam−300 USB) : il suffit de changer (presque partout cela suffit) : ov511 par cpia. Prérequis : Vous devez avoir installé un noyau supportant l'USB (c'est le cas du noyau des Mandrake 7.2, SuSE 7.0, RedHat 7.0 et sans doute de toutes les dernières versions des grandes distributions) : • soit un noyau 2.2.14 et plus avec le patch USB, voir cet article. • soit un noyau 2.4.x, voir cet article. Installation et configuration du noyau Si vous utilisez une distribution récente tout est déjà configuré correctement dans votre noyau, vous pouvez passer à la suite. Sinon nous allons devoir recompiler le noyau. Pour cela, voyez cet article. Le mieux est d'utiliser un noyau 2.4.2 (dernière version à la date de rédaction de cet article) : il contient forcement les dernières versions des drivers mais vous pouvez toujours télécharger celles−ci sur les sites : OV511 : http://alpha.dyndns.org/ov511 ou CPiA : http://webcam.sourceforge.net. Pour compiler les drivers, vous devez, dans la rubrique USB Support activer en tant que modules les options suivantes (au moins) : 1. USB support : ça coule de source. 2. Preliminary USB device filesystem : ça ne coute rien et ça pourra vous servir (à reconnaitre un périphérique, et c.). 3. L'un des drivers suivant : UHCI (Intel PIIX4, VIA, ...) (module : uhci.o) ou UHCI Alternate Driver (JE) (module : uhci.o) ou OHCI (Compaq, iMac, OPTi, SiS, ALi) (module : ohci.o) : suivant votre carte mère (regardez l'aide), c'est le driver des ports USB de votre ordinateur (si vous devez charger un driver uhci, préférez UHCI Alternate Driver (JE) sauf s'il plante votre ordinateur : il est parait−il plus performant). et soit : • vous activez (dans la même catégorie) USB OV511 Camera : si votre WebCam doit utiliser un driver OV511 • dans la catégorie Multimedia devices, sous catégorie Video For Linux : vous activez CPiA Video For Linux et CPiA USB Lowlevel dans le cas ou votre WebCam utilise un driver CPiA. Enfin vous compilez et installez ce nouveau noyau. Un petit reboot et tout ce passera bien. Installation et configuration des drivers Si l'USB, n'est pas pris en charge par votre distribution il faut maintenant charger le driver USB de votre carte mère, c'est soit : ohci soit : uhci. Tapez : modprobe modprobe modprobe modprobe usbcore (sans doute inutile) ohci ou modprobe uhci (inutile si votre ditribution supporte l'USB) videodev (sans doute inutile) ov511 ou modprobe cpia Installer et configurer son matériel 105 W3Cam Pour automatiser ce chargement au démarage de votre machine, il y a deux solutions envisageables : • vous insésez les lignes précédantes dans un script lancé au démarage de votre machine (exemple : à la fin de /etc/rc.d/rc.local) • si vous n'avez qu'un seul périphérique video, vous pouvez ajouter en fin du fichier /etc/modules.conf (parfois aussi nommé /etc/conf.modules) la ligne : alias char−major−81 ov511 ou alias char−major−81 cpia ce qui demande au chargeur de modules de charger ov511 (ou cpia) si l'on accède à un périphérique dont le numéro de majeur est 81 (ie: un /dev/video). A ce stade votre WebCam est prise en charge par le noyau, mais il reste à se procurer de quoi visualiser les videos en provenance de celle−ci. Note(1) : Pour les WebCams OV511, vérifiez que votre WebCam est correctement détectée, tapez : [root@duron]# tail −n 5 /var/log/messages Mar 8 13:55:50 duron kernel: usb.c: registered new driver ov511 Mar 8 13:55:50 duron kernel: ov511.c: USB OV511+ camera found Mar 8 13:55:50 duron kernel: ov511.c: camera: Creative Labs WebCam 3 Mar 8 13:55:50 duron kernel: ov511.c: Sensor is an OV7620 Mar 8 13:55:50 duron kernel: ov511.c: ov511 driver version 1.34 registered Si vous voyez une ligne du type de celle en gras c'est que votre WebCam est reconnue, sinon c'est que quelque chose manque ou que votre WebCam n'est pas supportée par ce module (essayez l'autre, vérifiez dans les listes de matériels supportés). Note(2) : Pour les WebCams OV511, si vous avez plusieurs WebCams OV511, il en faut préciser le nombre sur la ligne de commande, si vous avez 2 WebCams : [root@duron]# modprobe ov511 cams=2 La première WebCam détectée sera /dev/video0 la seconde /dev/video1 et c. Note(3) : Il est possible (non testé) de charger en meme temps un driver ov511, cpia et bttv chacun des périphériques détectés sera accessible via un /dev/videoxx W3Cam W3Cam est un programme qui permet de diffuser à la demande les images sur votre serveur WEB (vous devez avoir installé Apache (par exemple) pour pouvoir l'utiliser). Mais le paquetage W3Cam permet aussi de tester rapidement sa WebCam car il contient le programme (fonctionnant en ligne de commande) : vidcat qui lui ne nécessite pas d'installer Apache. Compilation et installation Comme toujours on peut récupérer un paquetage précompilé pour sa distribution, mais je préfère compiler moi même ce type de programme : je n'expliquerais pas comment faire, mais vous pouvez le faire en allant sur rpmfind.net par exemple. Nous allons récupérer les sources là : http://www.hdk−berlin.de/~rasca/w3cam/ Puis on décompresse le tout et on compile : tar xzf w3cam−0.6.6.tar.gz cd w3cam ./configure make make install Maintenant tout est installé dans /usr/local/bin et /usr/local/cgi−bin, n'oubliez pas d'ajouter /usr/local/bin à votre PATH. Faisons un petit test : vidcat −d /dev/video0 −s 320x240 −f jpeg > ~/essai.jpeg Essayer de regarder le fichier ~/essai.jpeg. S'il est un peut sombre, c'est que les réglages automatiques n'ont pas pu se faire à la première prise de vue, essayez d'en faire d'autre : l'image s'éclaircie petit à petit. Ça y est votre WebCaebc fonctionne sous Linux ! Votre tête sur le Web ! Vous avez acheté une webcam, ce n'est certainement pas pour prendre des photos... Une première solution : mettez votre tête animée sur le Web. Pour cela vous devez avoir installé Apache sur votre machine. Puis copiez le contenu de /usr/local/cgi−bin vers le répertoire des cgi d'apache (sur la Mandrake 7.2 c'est /var/www/cgi−bin, sur la 7.0 c'est /home/httpd/cgi−bin) : 106 Installer et configurer son matérie W3Cam cp −R /usr/local/cgi−bin/* /var/www/cgi−bin Puis, éditez le fichier : /var/www/cgi−bin/w3cam.cgi.scf. Ci−après vous trouverez le mien : # # # # # # # # # SCFF/sh Ce fichier doit se trouver dans le même répertoire que w3cam.cgi Décommentez et renseignez les lignes suivantes si vous souhaitez modifier les couleurs de fond et celles d'avant plan background=#ffffff foreground=#000000 # Ce paramètre existe mais je # ne sait pas à quoi il sert # source_url="http://home.pages.de/~rasca/w3cam/" # Si vous souhaitez utiliser une feuille de style # décomentez la ligne suivantes # stylesheet="/~rasca/w3cam/w3cam.css" # mettre protected à 1 permet d'éviter # de prendre en compte les champs du formulaire protected=0 # mettez ici votre périphérique video device = "/dev/video" # taille d'image en provenance de la WebCam (ou la carte TV) width=320 height=240 # pour avoir de jpeg en couleurs (0 : noir et blanc) color=1 # temps à attendre entre deux images refresh="0.1" # norm, 0=PAL, 1=NTSC, 2=SECAM # utile uniquement avec une carte TV #norm="0" # input, 0=TV, 1=Composite1, 2=Composite2, 3=S−Video input="1" # avec une WebCam (évite les bouton unutiles avec une WebCam) # format, 1=PPM, 2=JPEG, 3=PNG format="2" # qualité des jpeg : 1−100 quality="50" # mode, 0=plain, 1=gui (pour avoir un control sur w3cam) mode="1" # # # # # # # # # # # # # # attendre 0,5 secondes avant de commencer la capture (ie : 500000 microsecondes) usleep="500000" fréquence du tunner en 1/16 MHz uniquement pour les carte TV freq="9076" liste des fréquences freqlist="878;9076;9844;9460" Pour mettre l'heures sur les images de votre WebCam les mots clefs ne sont utilisables que dans ce fichier vous devez renseigner les champ "font" et "timestamp" font = /usr/local/X11/lib/ttfonts/arial.ttf font_size = 12 Installer et configurer son matériel 107 Motion # # # # # # # # # # Pour la chaine de format de l'heure voir la manpage : strftime(3) timestamp = "Berlin, %H:%M %d.%m.%Y" timestamp_border = 2 blend value: 1 .. 100 timestamp_blend = 60 alignment: 0 = upper left corner, 1 = upper right corner, 2 = lower left corner, 3 = lower right corner timestamp_align = 1 Puis lancez votre navigateur web préféré (je crois que cela ne fonctionne pas avec MS IE mais je n'ai pas pu essayer...) et tapez l'url suivante : http://localhost/cgi−bin/w3cam.cgi : ça y est ça bouge ! Pour acceder à votre webcam depuis le net il suffit, dans l'adresse ci−dessus, de remplacer localhost par votre ip (que l'on peut obtenir en faisant ifconfig ppp0 si l'on est connecté via pppd) et c'est tout. Note : Si l'image que vous voyez semble provenir de Canal+ sans décodeur, c'est souvant que vous demandez une capture dans une résolution qui n'est pas supportée soit par le driver soit par la WebCam. Motion partie écrite par : Dimitri CLATOT <dclatot@free.fr>. Vous suspectez des fantômes de venir hanter votre maison en votre absence sans jamais les avoir vus et bien voici ce qu'il vous faut. Motion permet de détecter les mouvements faits devant votre webcam et de les enregistrer. Plus d'infos http://motion.technolust.cx/tech/ Compilation et installation L'auteur propose le rpm compilé ou les sources que l'on peut trouver ici: http://motion.technolust.cx/download/. Voici comment installer les sources : $ tar zxvf motion−2.X.X.tar.gz $ cd motion−2.X.X $ ./configure (ajoutez ici : −−prefix=/usr si vous voulez l'installer dans /usr et pas /usr/local comme c'est le cas par défaut) $ make $ su Password: xxxxxxx # make install Big Brother is watching You motion s'installe par défaut dans /usr/local/bin Pour tester le fonctionnement avec votre webcam, lancer: [dimitri@micro quickcam]$/usr/local/bin/motion Motion crée à partir du répertoire où vous avez lancé l'exécutable (ici quickcam), une arborescence avec l'année, le mois, le jour, l'heure et la minute de l'enregistrement. A l'intérieur du dernier sous−répertoire on trouve les images jpeg datées avec en encadré les changements détectés. Exemples sur le site de Motion. [dimitri@micro quickcam]$ ls −a 2001/05/26/09/57/ ./ ../ 36−00.jpg 36−01.jpg 36−02.jpg Maintenant que vous avez vu que tout fonctionne, vous allez pouvoir le paramétrer plus finement. Pour cela, vous avez 2 possibilités, par la ligne de commande (man motion) ou par un fichier de configuration 'motion.conf' à placer dans le même répertoire à partir duquel vous exécutez motion. Exemple: Exécute motion sous forme de démon avec des images en ppm [dimitri@micro quickcam]$ motion −D −p Vous trouverez un exemple de fichier de configuration dans le répertoire /usr/local/examples/motion−2.X.X . Motion offre beaucoup de possibilités de configuration, comme stocker les évènements dans une base MySQL, vous envoyer des mails ou SMS pour vous prévenir, ou faire une vidéo des images capturées. D'autres programmes Ici, je vais mettre une liste de programmes qui peuvent utiliser votre WebCam. • Xawtv : prévu pour regarder la TV avec Linux, ce programme fonctionne aussi parfois avec les WebCams (par exemple ça marche avec ma Trust Space Cam 300 mais pas avec ma Creative WebCam 3 !). • vic : programme de video conférence sous Linux (existe sur la plupart des plateformes : Windows, Solaris, Mac, et...), sont fonctionnement n'est pas forcément évident mais il donne de bon résulat. 108 Installer et configurer son matérie Motion • ophone : programme de visiophone (non testé : un testeur ?). • camstream : un bon remplacement pour XawTV (fonctionne avec toutes mes WebCams, mais c'est moins fluide). • hasciicam : utiliser votre WebCam dans un terminal en ASCII (ça marche! et on se reconnait!) • FreeWebFone : le nom parle tout seul (Dimitri : "J'ai testé le programme FreeWebFone sous Linux avec un ami qui était lui sous windows. Dans les 2 versions de ce produit, le processeur est pris à 100% lors de son utilisation, néanmoins l'application ne nécessite aucun réglage particulier et ne fonctionne pas trop mal."). • qVix : Pierre−Yves l'a testé mais n'a pas réussi à le faire fonctionner, moi non plus : peut−être faut−il attendre une meilleur version. • Q−SeeMe : programme de video conférence utilisant le protocol CU−See−Me. • GnomeMeeting : un clone de NetMeeting permettant de faire de la vidéo conférence même avec des gens préférants utiliser NetMeeting. Installer et configurer son matériel 109 Installation d'une carte Olitec PCI 128 RNIS Installation d'une carte Olitec PCI 128 RNIS par Didier NOACK, MàJ par Serge (mise en page) Installation pour une mandrake 7.1 (à vous d'adaptez suivant votre distibution). Pré−requis Vérifier que la carte RNIS est bien installée : Lancer la console et tapez cat /proc/pci Vous devez trouver une entrée correspondant a Network controller : PLX Unknown device? Vendor id=10b5. Device id=1187 ....../...... Vérifier ou installer les packages RNIS et le nécessaire pour compiler le noyau : Avec votre utilitaire de gestion de packages RPM, installez : • isdn4k−utils−3.1b1−4mdk.i586.rpm • isdn4net−1.4.1−3mdk.noarch.rpm • isdn−config (dans Applications/System) • kernel−source (dans Developpement/System) • qt−2.1 (dans System Environment/Libraries) Ayant personnellement été confronté à certaines surprises (désagréables) lors de mon installation, je vous joins les fichiers de la Mandrake 7.0 car ceux de la version 7.1 posent apparemment un problème. (isdn4k−utils et isdn4net ) Bien entendu, si vous travaillez déjà avec la Mandrake 7.1, ces fichiers existent. Par conséquent installez les miens par dessus et n'oubliez pas de cocher la case « remplace les fichiers » dans Drakconf. Rien de plus pénible, après recompilation (eh oui, il va falloir y passer) de s'apercevoir qu'à cause de ce genre de « détail » cela ne fonctionne pas et qu'il faut recommencer. Configurer le noyau et compiler le tout La configuration qui suit revient à indiquer au système les drivers qui devront être installé lors de la compilation du noyau. Avant de rentrer dans la configuration du noyau au sens propre, allons modifier le fichier gazel.c qui se trouve dans le répertoire /usr/src/linux/drivers/isdn/hisax : Au début du fichier, vous allez trouver la ligne: #DEFINE GAZEL_R753 0x1152 Remplacez 1152 par 1187, sauvegardez et c'est tout. Dans la console tapez make xconfig (dans /usr/src/linux) Il faut maintenant parcourir les options concernant ISDN et renseigner les points suivants : ISDN Support : m Support synchronous PPP : y Use VJ−compression with synchronous PPP : y Support generic MP (RFC 1717) : y Hisax Siemens chipset driver support : m Hisax support for EURO/DSS1 : y Hisax support for Gazel cards : y Quittez en sauvegardant les modifications. Compiler maintenant le noyau avec les modules , dans la console tapez : make clean make dep make bzImage make modules mv /lib/modules/2.2.15−4mdk /lib/modules/2.2.15−4mdk−old (à remplacer avec votre version) make modules_install cd /boot cp module−info−2.2.15−4mdk module−info−2.2.15−4mdk−old (mettre votre version la aussi, si vous obtenez un message du genre le fichier est introuvable,c'est pas grave) mv System.map−2.2.15−4mdk System.map−2.2.15−4mdk−old cp /usr/src/linux/System.map ./System.map−2.2.15−4mdk mv vmlinuz−2.2.15−4mdk vmlinuz−2.2.15−4mdk−old cp /usr/src/linux/arch/i386/boot/bzImage ./vmlinuz−2.2.15−4mdk 110 Installer et configurer son matérie Paramettrer le démarra Modifier le fichier de démarrage, pour cela editez avec un éditeur graphique ou dans une console le fichier lilo.conf qui se trouve dans le répertoire /etc/.Rajoutez une entrée correspondant à l'ancien noyau (au cas où): image=/boot/vmlinuz−2.2.15−4mdk−old label=linux−old root=/dev/hdax (où x est la partition où se trouve linux) read−only Pour installer ces modifications, tapez lilo dans une console. Vous ne devez pas avoir de message d'erreur sinon, veuillez rééditer le fichier lilo.conf avant de redémarrer. Vous pouvez et devez maintenant redémarrer votre machine. Bientôt la fin : Copiez maintenant le fichier olitec.init.o dans le répertoire /lib/modules/2.2.15−4mdk/misc/ Copiez ensuite le fichier isdn4linux dans le répertoire /etc/rc.d/init.d/ , et enfin copiez le fichier Olitec dans /etc/isdn/profile/card/ Juste un petit truc : modifiez le fichier isdn dans le répertoire /etc/sysconfig/ A la ligne I4L_CARD= »mycard » remplacez mycard par Olitec Paramettrer le démarrage Dans une console tapez : cd /etc chkconfig −−del isdn4linux chkconfig −−add isdn4linux chkconfig −−list isdn4linux Vérifiez la présence du fichier ifcfg−ippp0 dans /etc/sysconfig/network−scripts/ Editez le fichier network dans /etc/sysconfig/ en supprimant les entrées GATEWAY et GATEWAYDEV (si elles existent) Rajoutez à la fin GATEWAYDEV=ippp0 Editez le fichier isdn.conf dans /etc/isdn/ en mettant COUNTRYCODE=33 AREACODE=2 (pour la normandie) (3 pour l'est, etc?) Editez le fichier ippp.default dans /etc/isdn/profile/ en remplaçant selon vos coordonnées (numéro de telephone?) Editez le fichier ippp.map dans /etc/isdn/profile/ Mettre le nom de votre fournisseur d'accès internet sur la ligne Ippp0= ''libertysurf '', vous devrez alors créer le fichier libertysurf dans le répertoire /etc/isdn/profile/link/ en recopiant le fichier myisp sur le fichier libertysurf. Editez maintenant ce fichier : I4LPROFILENAME=''libertysurf'' I4L_USERNAME=''identifiant_internet''(le nom donné par votre FAI) I4L_SYSNAME=''libertysurf'' I4L_LOCALMSN=''0388112233'' (votre numéro) I4L_REMOTE_OUT=''0860445566'' (le numéro du FAI) Editez les fichiers pap−secrets chap−secrets dans le répertoire /etc/ppp/. Il faut mettre la même chose dans l'un et l'autre, insérez votre ligne : Sous client mettre l'identifiant du FAI (le même que I4L_USERNAME ci dessus) Sous server la même chose que I4L_SYSNAME ci−dessus Sous secret mettre le mot de passe du FAI Tapez maintenant dans une console : cd /etc route (Ici vous ne devez pas avoir d'entrée comme 0.0.0.0 ou default. Si vous en avez une, tapez alors route del default Lancez l'interface ISDN en tapant toujours sous la console : /etc/rc.d/init.d/isdn4linux start Par la suite elle sera lancée automatiquement. A partir de maintenant, pour se connecter, 2 possiblités : 1. La plus simple et la plus rationnelle : Vous utilisez le programme « kisdn » que dans un accès de générosité je vous joins (ma bonté me perdra). ATTENTION : Ce programme est une version téléchargée et NON ENREGISTREE, Je suggère vivement à chacun qui l'utilisera de s'enregistrer sur le site www.millenium.de .Cet excellent programme gagne à être connu et permet bien d'autres choses que la simple connection à internet.Par l'activation de la fonction « dial on demand » de kisdn, la connection se fera automatiquement lors du lancement de votre browser ou de votre mail client. 2. La méthode des puristes et des accrocs de la console et ligne de commande : Pour activer ippp0 :dans la console tapez : cd /etc Installer et configurer son matériel 111 Paramettrer le démarrage ifup ippp0 Pour vérifier que l'interface est bien lancée, tapez: ifconfig Ifup ippp0 est à retaper chaque fois après relance du système. Pour la numérotation, utilisez dans une console dans le répertoire /etc : isdnctrl dial ippp0 Et pour raccrocher : isdnctrl hangup ippp0 112 Installer et configurer son matérie Alcatel Speedtouch ADSL USB: installation fa Alcatel Speedtouch ADSL USB: installation façon libre :) Par Serge Tchesmeli, mis à jour par Jice Installation sous Linux du modem ADSL Alcatel Speedtouch USB Introduction: Cet article décrit l'installation des drivers Opensource du modem ADSL Alcatel Speedtouch USB. Dans un autre article ainsi qu'un témoignage présents sur Léa, on décrit comment installer et configurer ce même modem, mais la méthode est assez compliquée (il faut patcher le kernel, le recompiler, compiler plusieurs applications externes sont nécessaires, et configurer le tout est complexe) ; de plus le résultat est médiocre (plantage systématique lors d'un reboot), et surtout cette méthode est basée sur les drivers propriétaires livrés par Alcatel qui ne sont pas libres du tout, pas stables et peu souvent mis à jour. Mais Benoît Papillault a eu la bonne d'idée d'écrire des drivers LIBRES, et qui sont de plus stables et très faciles à installer. Un grand merci à lui ! Si vous utilisez une Mandrake 8.1 ou 8.2, cet article ne vous concerne pas a priori. Cette distribution fournit en effet les drivers de B. Papillault et vous propose de les configurer soit lors de son installation soit après celle−ci. Dans ce dernier cas il vous suffit d'utiliser le Mandrake Control Center (DrakConf), d'aller à Réseau et Internet / Connexion, de clicker sur le bouton Configurer (en bas à droite) puis de suivre les instructions à l'écran ! La seule autre chose que vous ayez à faire est de copier ensuite le fichier mgmt.o dans le répertoire /usr/share/speedtouch (si vous ne savez pas comment récupérer ce fichier, consultez alors cet article). Cependant un bug affecte la MDK 8.2 : l'installation des drivers ne fonctionne pas lors de l'installation de la distribution. Il faut juste s'assurer que les fichiers de config sont bons (voir ci−dessous), et si tel est le cas, tout baigne, même si le message lors du boot dit [FAILED] lors de l'établissement de la connexion. Voici une méthode alternative pour une installation rapide sur une Mandrake 8.x. Pré−requis et détection du modem: Support USB Si vous utilisez d'autres périphériques USB, vous pouvez passer ce paragraphe. Vérifiez juste que le modem est détecté. Dans un premier temps, nous allons configurer notre système pour accepter le modem USB et le faire détecter. Remarque : de nombreuses distributions installent aujourd'hui l'USB en standard (par exemple la Mandrake 8). On suppose que vous avez un noyau récent (en fait à partir du 2.2.18), compilé avec le support USB correspondant au chipset de votre carte mère, gérant l'USB soit en natif, soit en module. Si vous ne savez pas quel chipset vous avez, assurez vous juste que votre noyau est compilé avec ces options : Support for USB (CONFIG_USB) [M] Preliminary USB device filesystem (CONFIG_USB_DEVICEFS) [Y] UHCI (Intel PIIX4, VIA, ...) support (CONFIG_USB_UHCI) [M] UHCI Alternate Driver (JE) support (CONFIG_USB_UHCI_ALT) [M] OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support (CONFIG_USB_OHCI) [M] La plupart du temps, si votre carte mère est récente, c'est le module usb−uhci qu'il faut charger (chipset Intel ou via, les plus répandus). Dans le cas d'une carte USB additionnelle, ou sur un Apple (iMac, iBook...), il se peut que ça soit le module usb−ohci. Vérifiez de toute façon sur la notice de votre carte mère ou de votre carte additionnelle le type de port USB que vous avez ; dans le doute prenez tous les modules UHCI et OHCI. Si le module correspondant à votre type de port USB n'est pas chargé (cela se vérifie avec la commande lsmod), chargez−le. Vérifiez que votre modem est bien détecté. Pour cela faites un: # mount −t usbdevfs none /proc/bus/usb Si ça vous dit que le système de fichier est déjà monté, ça n'est pas grave. Tapez alors : # cat /proc/bus/usb/devices Et vous devriez voir apparaître alors des messages du style : ... S: Manufacturer=ALCATEL S: Product=Speed Touch USB S: SerialNumber=0090D013AAB8 C:* #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA Installer et configurer son matériel 113 Pré−requis et détection du modem: I: If#= 0 Alt= 0 #EPs= 1 E: Ad=81(I) Atr=03(Int.) I: If#= 1 Alt= 0 #EPs= 0 I: If#= 1 Alt= 1 #EPs= 3 E: Ad=06(O) Atr=02(Bulk) E: Ad=07(O) Atr=02(Bulk) E: Ad=87(I) Atr=02(Bulk) ... Cls=ff(vend.) MxPS= 16 Ivl= Cls=ff(vend.) Cls=ff(vend.) MxPS= 64 Ivl= MxPS= 64 Ivl= MxPS= 64 Ivl= Sub=00 Prot=00 Driver=usbdevfs 50ms Sub=00 Prot=00 Driver=usbdevfs Sub=00 Prot=00 Driver=usbdevfs 0ms 0ms 0ms Ok notre modem est bien détecté. En cas de problèmes, débranchez le modem (au niveau USB), puis rebranchez−le. Déjà, si les deux LEDs vertes s'allument, c'est qu'il est normalement détecté. Par contre s'il ne s'allume pas du tout (aucune LED) ou s'il y a juste la LED rouge c'est qu'il y a un problème, vérifiez que le module USB est bien chargé, et que vous avez bien chargé celui correspondant à votre matériel (OHCI ou UHCI). Support PPP Il va vous falloir aussi le support PPP dans votre kernel. La plupart du temps la aussi, dans les distributions récentes, ce support est déjà présent. Sachez que si vous utilisez auparavant une connexion par modem RTC (modem traditionnel sur la ligne téléphonique) c'est que vous avez déjà le support PPP. Dans ce cas, vous pouvez passer ce paragraphe. Pour vérifier quand même au cas où, tapez dans une console : # pppd Si vous voyez des caractères bizarres s'afficher (du style %:/lm....) c'est bon : vous avez le support ppp. Appuyer sur CTRL−C pour stopper pppd. Par contre si vous avez un message du type : pppd: This system lacks kernel support for PPP. This could be because the PPP kernel module could not be loaded, or because PPP was not included in the kernel configuration. c'est que vous n'avez pas le support PPP dans votre kernel. Dans ce cas, compilez votre kernel avec ces options : PPP (point−to−point protocol) support (CONFIG_PPP) [M] PPP support for sync tty ports (CONFIG_PPP_SYNC_TTY) [M] Dernière vérification à faire, vérifiez que votre kernel possède bien le support HDLC (là aussi c'est normalement le cas pour les distributions récentes) en essayant de charger le module : # modprobe n_hdlc Si le support n'est pas présent, recompilez votre kernel avec les options suivantes : Character devices −−−> [*] Non−standard serial port support HDLC line discipline support [*] Unix98 PTY support Enfin, automatisons le chargement des modules, et définissons les alias des modules en ajoutant dans le fichier /etc/modules.conf : alias alias alias alias char−major−108 ppp_generic tty−ldisc−3 ppp_async tty−ldisc−13 n_hdlc tty−ldisc−14 ppp_synctty Et tant qu'on y est, ajoutons aussi les lignes suivantes dans ce fichier (ce sont les protocoles de compression) : alias ppp−compress−21 bsd_comp alias ppp−compress−24 ppp_deflate alias ppp−compress−26 ppp_deflate Voilà, passons maintenant à l'installation des drivers. Installation des drivers Drivers Il va falloir récupérer les drivers, pour cela allez sur : http://benoit.papillault.free.fr/speedtouch/user.php3 Récupérez la dernière version ! Puis détarrez / dézippez−la (tar zxvf speedtouch−VERSION.tar.gz), placez−vous dans le répertoire ainsi obtenu et compilez le tout : 114 Installer et configurer son matérie Installation des drive $ ./configure $ make $ su Password: # make install # exit (En étant root pour pouvoir installer bien sûr). Firmware Il va nous falloir aussi un des fichiers des drivers officiels d'Alcatel (il s'agit en fait du FIRMWARE qui est le programme chargé dans le microprocesseur du modem lui−même), seule partie des drivers que Benoît n'a pas pu écrire, car ils sont le secret d'Alcaltel, et réécrire un firmware ne sert à rien. Pour cela, allez sur cette page, et récupérez les drivers pour Linux. Détarrez / dézippez−le (tar zxvf nom_du_truc.tar.gz), NE L'INSTALLEZ PAS, récupérez juste le fichier mgmt.o et copiez le dans /usr/local/share/speedtouch/ (ce répertoire a été créé par l'installation des drivers). Vous pouvez effacer le reste. Remarque : si vous utilisez Windows, vous pouvez aussi copier le fichier alcaudsl.sys que l'on trouve dans c:\windows ou un sous−répertoire, vers /usr/local/share/speedtouch/mgmt.o Bon maintenant configurons la connexion elle−même. Configuration de la connexion Pour cette partie, vous allez avoir besoin des paramètres de configuration de votre connexion que votre fournisseur d'accès vous a fournis. Allez dans le répertoire /etc/ppp/peers (créez−le s'il n'existe pas), et créez un fichier /etc/ppp/peers/adsl comprenant : noauth noipdefault pty "/usr/local/bin/pppoa2 −vpi VPI −vci VCI" sync noaccomp nopcomp noccp novj holdoff 4 maxfail 25 persist usepeerdns user "votre login" defaultroute debug kdebug 1 Avec comme valeurs : − VPI : 8 − VCI : 35 ATTENTION : Ces valeur VPI / VCI sont valables pour la France, ils se sont sûrement pas bons si vous habitez un pays francophone ou étranger, DOM, TOM, etc... Pour trouver votre VPI / VCI, sous Windows, vous devez avoir une petite icone verte représentant votre modem USB à gauche de l'horloge, double cliquez dessus, puis cliquez sur la flèche verte intitulé MORE (ou plus d'info...), les paramètres de connections apparaissent alors. sur l'onglet "Connexion", notez les valeurs VPI et VCI. Mettez alors ces mêmes valeurs dans le fichiers /etc/ppp/peers/adsl décrit ci dessus. Si vous n'utilisez pas Windows, les valeurs suivantes pourront peut−être vous aider : Hollande : 8.48 France : 8.35 (ou 8.67) Belgique : 8.35 Italie : 8.35 Grande Bretagne : 0.38 Pour la valeur de "votre login" mettez le user COMPLET sans oublier le @FAI souvent obligatoire. Par exemple dans mon cas, une connexion Wanadoo (fti = France Telecom Interactive), mon login est de la forme : user "fti/gf3yud@fti" Créez maintenant un fichier /etc/ppp/chap−secrets (ou ajoutez dans celui existant) avec dedans : # Secrets for authentication using CHAP # client server secret IP addresses "votre_login" "*" "mot_de_passe" "*" ainsi qu'un fichier /etc/ppp/pap−secrets : Installer et configurer son matériel 115 Testez le tout ! # Secrets for authentication using PAP # client server secret IP addresses "votre_login" "*" "mot_de_passe" "*" Là aussi le login doit être complet. Voilà tout est prêt pour tester ! Remarque : Vous devrez peut−être remplacer la ligne pty "/usr/local/bin/pppoa2 −vpi VPI −vci VCI" par pty "/usr/local/sbin/pppoa3 −m 1 −c −vpi VPI −vci VCI", et essayer pppoa3 au lieu de pppoa2. Testez le tout ! Pour cette partie, allez chercher votre gri−gri favori, votre trèfle à 4 feuilles et, très important, déposez 3 gousses d'ail sur le moniteur de votre PC (si y'en a un qui le fait qu'il m'envoie une photo SVP ;). Lancez alors les commandes suivantes : # /usr/local/bin/modem_run −f /usr/local/share/speedtouch/mgmt.o −m Attendez un petit moment, que la LED verte de droite ne clignote plus. S'il vous avez un message d'insulte et que la LED de droite passe a l'orange, retapez la commande (il arrive que le modem ne s'initialise pas bien la première fois). Si la LED de droite est verte et ne clignote plus, lancez alors cette commande : # pppd call adsl Si vous avez un message avec des adresses IPs, c'est bon : ça marche !!! (Note de Jice : chez moi il n'y a aucun message : pppd call adsl rend la main tout de suite, il établit la connexion en arrière plan, et cela fonctionne.) ;) Essayez alors de surfer sur la vague du web ! Pour automatiser la connexion dès le démarrage, vous pouvez placer ces 2 commandes dans un script de démarrage, ou voyez ce que vous pouvez faire avec le script /usr/local/share/speedtouch/adsl.sh Remarque : si vous avez des problèmes de résolution DNS, renommer le fichier /etc/resolv.conf en resolv.conf.backup par exemple, et tapez la commande: # ln −s /etc/ppp/resolv.conf /etc/resolv.conf Essayez de nouveau (mais normalement les DNS sont récupérés automatiquement à la connexion, c'est l'option usepeerdns vue plus haut). Et voilà ! Bon surf à haut débit avec votre manchot favori ! 116 Installer et configurer son matérie Le modem BEWAN ADSL P Le modem BEWAN ADSL PCIst par neosadik Cette page est consacrée uniquement à la configuration de ce modem sous Debian. Si vous possédez une autre distribution je vous conseille de vous rendre à cette adresse ou celle−ci dont je remercie d'ailleurs le webmaster puisque c'est grâce à ses indications que j'ai pu faire cette doc et installer mon modem :) Une version plus récente de cette article. Avertissement Ce document est en cours de conception. Toutes vos remarques sont les bienvenues. Copyright Ce document est distribué sous les contraintes de la FDL (Free Document Licence). Introduction Chers utilisateurs de Debian, tout d'abord bravo pour l'acquisition de ce modem, il est très stable et très performant. Or il faut savoir que le ppp de debian ne supporte pas le pppoatm et c'est malheuresement ce qu'utilise notre modem...Heureusement, notre distribution supporte les plugins et c'est grâce à celui−ci que l'on va faire marcher ce modem. Nous installerons le kernel à la main et non par package. Notre installation va donc se dérouler en 3 étapes: La compilation du noyau, la compilation des modules de la carte et l'installation du plugin. Le kernel Afin que votre modem soit reconnu par votre machine vous devez ajouter quelques modules dans votre kernel. Vous allez donc vous logger en tant que root (par la commande "su") Ensuite taper la commande "cd /usr/src/linux" (qui est le répertoire des sources de votre noyau, commande à modifier si la configuration de votre noyau se trouve autre part). Puis tapez "make menuconfig". Vous êtes maintenant dans la configuration de votre kernel... Entrez d'abord dans le menu "Code maturity level options" puis activez "Prompt for development and/or incomplete code/drivers" grâce à la touche espace. Entrez ensuite dans le menu "Networking Options" puis cherchez la ligne "Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)" et activez la (espace). Retournez ensuite au menu principal et choisissez le menu "Network device support" et activez les modules suivants : PPP (point−to−point protocol) support PPP support for async serial ports PPP support for sync tty ports PPP Deflate compression PPP BSD−Compress compression PPP over ATM (EXPERIMENTAL) Ensuite revenez au menu principal, faites Exit et sauvegardez la configuration du kernel. Après vous devez recompiler votre kernel, ce qui se fait en 6 commandes successives : make dep make clean make bzImage make modules make modules_install make install Si tout s'est correctement déroulé (aucun erreur), redémarrez l'ordinateur par la commande "reboot" Bravo, vous avez franchi la première étape ! Driver périphérique ATM Un certain nombre de drivers de périphériques ATM commencent à être intégrés aux noyaux linux. Dans le cas de la carte BeWAN ADSL PCI ST, trop récente, le driver est fourni par le constructeur sous forme de fichiers sources. Vous allez donc dans un premier temps téléchargez ce fichier source : unicorn−0.2.0.tar.gz Ensuite il va falloir le dézipper par la commande : tar xzvf unicorn−0.2.0.tar.gz Cela va vous créer 2 répertoires "unicorn_atm" et "unicorn_bus". Allez dans chacun des dossiers et tapez "make install" Installer et configurer son matériel 117 Le plugin pppd Le plugin pppd Voilà votre modem "fonctionne" or il faut maintenant le configurer afin qu'il se connecte à votre provider l'ADSL. Tout d'abord vous allez télécharger une version de pppd modifié, avec le plugin ATM : ppp_2.4.0−3_i386.deb (bouton droit et enregister sous...) Ensuite installez le par la commande : dpkg −i ppp_2.4.0−3_i386.deb (commande root) Voilà votre plugin est installé il ne vous manque plus qu'à le configurer.Pour cela il ne vous reste plus qu'à configurer PPPD en adaptant les fichiers : [ /etc/ppp/pap−secrets ] # Secrets for authentication using PAP # client server secret IP addresses "fti/gya8c84@fti" * "e3ga4az" [ /etc/ppp/chap−secrets ] # Secrets for authentication using CHAP # client server secret IP addresses fti/gya8c84@fti" * "e3ga4az" [ /etc/ppp/options ] lock ipparam ppp0 noipdefault noauth default−asyncmap defaultroute hide−password noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp lcp−echo−interval 20 lcp−echo−failure 3 sync maxfail 0 persist plugin /usr/lib/pppd/plugins/pppoatm.so 8.35 à vos besoins (n'hésitez pas à supprimer les autres informations car elles sont complètement inutiles). Dans ce dernier fichier, vous devrez adapter le paramètre [8.35 == VPI.VCI] qui en France, prend la valeur 8.35 pour les offres à base de Netissimo. L'identifiant de connexion "fti/gya8c84@fti" et son mot de passe, présent dans ces fichiers exemples sont fantaisistes et devront être remplacés. Ensuite redemmarrez une dernière fois l'ordinateur. Voila tout est configuré il ne vous reste plus qu'à vous connecter par la commande suivante : pppd user fti/gya8c84@fti Remarques Pour couper la connexion il suffit de tuer PPPD par la commande "killall pppd". Le fonctionnement est donc d'une simplicité étonnante. La reconnection est automatique apres les 24h. Faites un tour dans dselect afin de holder ce ppp sinon il sera effacé au prochain upgrade :( Je suis sous le noyau 2.4.18 et je ne certifie en aucun cas qu'il marche sous les noyaux 2.2.x présents sur les cds Debian. Verifier si de nouvelles version du pppd debian existent sur ce lien 118 Installer et configurer son matérie Modem ECI−ADSL US Modem ECI−ADSL USB (c) 2002 Boris Lesner (talanthyr chez tuxfamily org) Le modem ECI−ADSL USB fonctionne aussi sous Linux ! Le driver dont nous allons parler ici supporte en fait les modems basés sur le chipset Globespan (voir la liste des modems supportés). Vous trouverez sur Léa un script pour faciler la configuration de ce modem, mais la lecture de cet article reste la seule solution de régler tous les problèmes que vous risquez de rencontrez. 1. Le Kernel Cette partie peut être sauté si vous utilisez une distribution récente car dans ce cas, tous les modules nécessaires sont déjà compilé et installé, passez directement là. Il est nécessaire de compiler un certain nombre de modules. Par commodité je ne m'étendrais pas sur la compilation du kernel et des modules car il existe de tres bons guides la dessus et chacun a une technique plus ou moins particulière et différente selons les distributions. Personnellement le compile "a la main" sous Debian et je n'ai aucune idée de la technique a utiliser sous Mandrake par exemple ... 1.1.Le support de PPP Dans la section Network device support activez les modules : • PPP (point−to−point protocol) support • PPP support for sync tty ports 1.2. Le support de l'USB Dans la section USB support activez les modules : • UHCI (Intel PIIX4, VIA, ...) support • UHCI Alternate Driver (JE) support • OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support Nota bene : un seul sera utile mais dans un souci de compatibilité avec les différentes matériels existant je préfère activer tous les modules. Cochez aussi : Preliminary USB device filesystem (non disponible en module). 1.3. Le support du port Dans le section Character devices cochez : • Non−standard serial port support • HDLC line discipline support(en module) Compilez ensuite votre kernel et les modules comme vous en avez l'habitude, rebootez et voila :) 2. Le driver 2.1. Téléchargez le driver Téléchargez le driver sur http://eciadsl.flashtux.org/, page téléchargement. 2.2. Décompressez les sources Décompressez les sources du driver et compilez le : tar xvzf eciadsl−usermode_XXX.tgz cd eciadsl−usermode_XXX make make install 2.3. Ajoutez vos login et pass Ajoutez vos login et pass de votre fournisseur d'accès : echo "* user * pass" >> /etc/ppp/chap−secrets echo "* user * pass" >> /etc/ppp/pap−secrets Remplacez user et pass par les identifiants de connection fournis par votre FAI (par exemple : fti/t3zabdwcy@fti * aemp3sti pour wanadoo) Installer et configurer son matériel 119 3. Lancer sa connection Ici aussi dans un souci de compatibilité avec les différents FAI j'indique les identifiants de connection pour les méthodes pap et chap (si vous ne savez pas quelle methode utilise votre FAI mettez les deux pour plus de tranquilité) Nota Bene : Pour cette opération il est aussi possible d'utiliser l'utilitaire eciconf.sh fourni avec le driver. 3. Lancer sa connection En tant que root lancez la commande : startmodem Normalement vous devriez voir "Connect Modem OK" Si ca n'est pas le cas lisez ce qui suit : 4. Ca ne marche pas : (Pas de panique tout n'est pas perdu :) 4.1. La connection se bloque au bloc 259 C'est un cas fréquent dans certaines régions : la manoeuvre est simple, il faut remplacer eci_wan3.bin par un autre .bin (par exemple eci_wan3.dmt.bin) : cd /etc/eciadsl mv eci_wan3.dmt.bin eci_wan3.bin startmodem Normalement tout devrait rentrer dans l'ordre. Plus d'infos sur ce problème dans ce truc et astuce. 4.2. Innapropriate IOCTL for device Startmodem se déroule correctement mais j'ai des messages d'erreur : "Innapropriate IOCTL for device" En général ca n'arrive pas la première fois : la solution est simple : cd /???/eciadsl−usermode_XXX/ make install Repétez l'étape 4.1 si néceassaire. 4.3. Unable to identificate ourselves to peer Startmodem se déroule correctement mais il me dit : "Unable to identificate ourselves to peer" La non plus pas de panique il arrive parfois que le FAI ne suive pas Tapez tout simplement: pppd call adsl updetach 5. Astuces 5.1. Reconnection automatique : En root tapez : echo "persist" >> /etc/ppp/peers/adsl Relancez la connection en stoppant pppd et en le relancant en suivant la méthode 4.3. 6. Licence Ce guide est totalement libre et redistribuable selon les terme de la FDL consulter www.gnu.org pour tous les détails Pour toutes questions, idées, astuces, conseils et même critiques mailez moi. 120 Installer et configurer son matérie Comment installer un modem cable Comment installer un modem cable en USB par Mathieu Afin d'éviter de chercher des heures vainement sur internet... Intro Pourquoi ? Cette petite doc a pour but de vous aiguiller dans la mise en place d'un modem USB pour le câble, et dans le meilleur des cas de vous permettre de le faire vraiment fonctionner ! Pour qui ? Cette doc s'adresse notamment aux personnes abonnées chez Noos qui ont le modem Motorola SB4100. En effet, celui−ci fonctionne ou en Ethernet, ce qui n'est pas difficile à mettre en place, ou en USB, ce qui est un peu moins évident. Prérequis Je supposerai que vous avez un noyau suffisamment récent, et le paquet contenant dhcp installé sur votre machine, quelle que soit votre distribution. D'autre part, je pars du principe que vous avez un minimum de patience et d'habitude de mettre les mains dans le cambouis, même si la manipulation n'est pas forcément très compliquée. Le module CDCEther.o Ce module est la clé de l'installation du modem en USB. Assurez vous que vous l'avez, le cas échéant recompilez les modules du noyau en cochant 'm' dans la case correspondante à ce module. Vous la trouverez dans le menu de configuration du noyau : USB Support −> USB Communication Class Ethernet device support (en bas de la liste) Oui, je sais, il s'agit d'un module expérimental, mais il fonctionne déjà très bien pour le Motorola tout du moins, et je n'ai jamais eu aucune coupure de connexion ou quoi que ce soit d'autre de désagréable à déplorer. Vous devez donc charger ce module au moyen de la commande suivante (en root) : modprobe CDCEther Connecter au réseau Avant toute chose, il est nécessaire de stopper le service réseau. Pour ce faire, taper la commande suivante : /etc/init.d/networking stop Configurer l'interface Maintenant il faut configurer les interfaces réseau. Il faut savoir que le module CDCEther crée une interface supplémentaire. Si vous aviez déjà une carte réseau en eth0, CDCEther créera eth1, si vous n'en aviez pas eth0, etc. Cette interface fonctionne par la suite exactement comme s'il s'agissait d'une carte réseau classique ISA ou PCI. Selon votre configuration choisissez le chiffre derrière eth qui correspond. Pour configurer votre interface, vous devez éditer (en root) le fichier /etc/network/interfaces Vous devez y trouver au moins l'interface lo (loopback) définie, et eth0 si vous avez déjà une carte réseau. Ajoutez en fin de fichier les lignes suivantes : auto ethX iface ethX inet dhcp (Où 'X' est le chiffre correspondant à l'interface ajoutée par CDCEther). Si vous utilisiez auparavant votre carte réseau avec le modem, la recherche d'IP par DHCP sur cette interface sera à coup sûr infructueuse puisque la carte ne sera plus reliée ! Pour éviter d'attendre pour rien, remplacez 'dhcp' par 'static' et configurez éventuellement votre interface pour un réseau local en écrivant ceci : iface eth0 inet static address 192.168.0.36 network 192.168.0.0 netmask 255.255.255.0 Redémarrer le service Il ne reste plus qu'à tester. Reliez donc votre modem sur une prise USB (et éventuellement débranchez le de la carte réseau par superstition :). Pour le Motorola et pour le réseau Noos, il est INDISPENSABLE de débrancher l'alimentation du modem et de la rebrancher. Me demandez pas pourquoi, la seule chose que je sais c'est que le modem possède 1 adresse MAC pour l'USB. Lorsque le modem est relié à la carte réseau, il utilise l'adresse MAC de la carte réseau, mais quand il est branché par la prise USB il utilise la sienne (et pas la sienne dans les 2 cas). Ce débranchement est aussi valable Installer et configurer son matériel 121 Connecter au réseau si vous changez de carte réseau. Relancez le service réseau en tapant la commande suivante (en root) : /etc/init.d/networking start Normalement si tout va bien vous devez obtenir quelque chose du genre : Setting up IP spoofing protection: rp_filter. Configuring network interfaces... Internet Software Consortium DHCP Client 2.0pl5 Copyright 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium. All rights reserved. Please contribute if you find this software useful. For info, please visit http://www.isc.org/dhcp−contrib.html Listening on LPF/ethX/xx:xx:xx:xx:xx:xx Sending on LPF/ethX/xx:xx:xx:xx:xx:xx Sending on Socket/fallback/fallback−net DHCPREQUEST on ethX to 255.255.255.255 port 67 DHCPACK from xxx.xxx.xxx.xxx bound to xxx.xxx.xxx.xxx −− renewal in 6381 seconds. done. Il ne reste plus qu'à lancer un navigateur et à tester ! Automatiser le chargement du module Si par chance vous avez réussi à faire fonctionner le modem en USB, afin que le module se charge tout seul au démarrage il suffit d'éditer le fichier suivant (en root) : /etc/modules.conf. Ajoutez la ligne suivante : alias ethX CDCEther (Où 'X' est le chiffre correspondant à l'interface ajoutée par CDCEther) Au secours, j'ai des problèmes Je n'ai installé ce modem que sur une Debian, et je ne connais pas par coeur les différences avec les autres distributions. Il est plus que probable que certains fichiers, ne soient pas exactement à l'endroit que j'ai spécifié dans la doc, ou que la commande pour relancer le réseau ne soit pas exactement la même, etc. Je n'ai par exemple pas utilisé linuxconf pour configurer le modem alors que ca devrait être techniquement possible. Cette doc n'a pas pour prétention d'être générique, et peut être modifiée avec les remarques que vous pourrez me faire. Donc n'hésitez pas, mailez moi Remarques J'ai reçu quelques mails d'utilisateurs d'autres distributions notamment Red Hat. Il semblerait pour cette distribution que lorsque le package dhcp est installé, il suffirait d'un : dhcpcd ethX La méthode d'automatisation du chargement du module reste la même. 122 Installer et configurer son matérie Carte radio sous linu Carte radio sous linux BRARD Emmanuel Installer une carte radio Introduction Les cartes radio sont maintenant chose courante, il est donc normal que linux les supporte ;) Ne possédant qu'une carte radio Guillemot FM, je ne pourrai donner les options du module que pour celle−ci. L'installation devrait marcher pour toutes les distributions, mais surtout pour tous les kernels depuis le 2.0.36. Pré−requis Il vous faudra le module "radio−gemtek", qui se trouve dans le répertoire /lib/module/x.x.x/misc pour un kernel 2.2.x et dans /lib/modules/2.4.5−5mdk/kernel/drivers/media/radio/ pour un 2.4. Celui−ci est compressé en gzip, il ne faut surtout pas le décompresser. Mise au Point Ces cartes radio sont basées sur un tuner simple et un convertisseur Gemtek. D'où le nom du module :) Son adresse (sur bus ISA) est pour toutes les cartes la même (gemtek seulement) : io=0x34C, à moins d'avoir des jumpers qui peuvent la changer (pas sur les Guillemot FM xx et 2000). Installation Connectez vous en root (su), puis tout simplement, tapez : modprobe radio−gemtek io=0x34C Remarques : − modprobe ou insmod − remplacez radio−gemtek par le nom du module de votre carte : • miropcm20 • radio−maestro • radio−trust • radio−aimslab • radio−maxiradio • radio−typhoon • radio−aztech • radio−rtrack2 • radio−zoltrix • radio−cadet • radio−sf16fmi • radio−gemtek • radio−terratec Créer un lien /dev/radio vers /dev/radio0 : # ln −s /dev/radio0 /dev/radio Voila, votre carte est installée. Vous pouvez placer cette commande dans /etc/rc.d/rc.local, ou plus simplement ajouter le nom du module et son option dans /etc/modules.conf Toujours pas de son ? Normal, il nous faut une application capable de commander la carte. Allez faire un tour sur Frehmeat.net, et cherchez radiotrack−2.0, et/ou gtuner. Le premier est en console, le second graphique (GTK+) . On va créer le fichier /etc/radio.conf pour le premier : (créez ce fichier en y mettant des stations personnalisées bien sûr) station Funradio 93.40 station NRJ 100.4 stattion forum 89.70 # et toutes les stations que vous voulez port 0x34c # mettez l'option du module sous cette forme Voilà, maintenant avec cette commande "radio" vous pouvez sélectionner la fréquence à écouter : [emman@localhost emman]$ radio on [emman@localhost emman]$ radio Funradio Installer et configurer son matériel 123 Carte radio sous linux [emman@localhost emman]$ radio 93.4 Gtuner est en Gtk+ et super facile à utiliser, toutefois il vous faudra Gnome et les headers du panel. (c) 2001 BRARD Emmanuel, emman chez aliena.net Ce document est sous license GNU FDL. 124 Installer et configurer son matérie Tablette Wacom Graphire U Tablette Wacom Graphire USB par Raymond Ostertag, le 17 décembre 2001 Pour devenir le roi du dessin sous Gimp ;) Préambule Ce document décrit l'installation d'une tablette WACOM Graphire USB sur une distribution Linux Mandrake 8.10. Pour faire fonctionner cette tablette, il faut mettre en place un module pour le noyau et un module pour le serveur graphique XFree. La différence avec les documents déjà existants se situe au niveau des compilations des modules du noyau et de XFree qui ne sont volontairement pas décrites ici dans le souci de simplifier cette installation. Vous allez avoir besoin de télécharger et récupérer des informations sur le web. Allez sur le site de Frédéric Lepied et téléchargez le module wacom_drv.o.gz compilé pour XFree 4.1 qui, à ce jour, est en version alpha 25. Travaillez en tant que root sauf pour la partie configuration de Gimp que vous ferez comme utilisateur lambda. USB En principe Linux Mandrake a détecté et configuré votre USB. Vous devriez pouvoir le vérifier avec le petit programme usbview (fourni avec les cédéroms). Si ça ne fonctionne pas, vérifiez que l'USB est bien activé dans le BIOS. Modules du noyau Commencez par lister les modules installés, dans une console tapez lsmod. Comparez la liste obtenue avec celle−ci : • evdev • mousedev • wacom • hid • input • usb−uhci ou usb−ohci (suivant votre contrôleur USB) • usbcore et pour chaque module manquant tapez modprobe nom_du_module. Vérifiez votre travail avec lsmod. Configuration de XFree D'abord décompressez le module téléchargé par gzip −d wacom_drv.o.gz puis copiez le résultat dans /usr/X11R6/lib/modules/input/. Pour configurer efficacement XFree il faut mieux commencer par repérer son fichier de log. Allez dans /var/log et éditez un fichier du style XFree86.log. Si vous en avez plusieurs, éditez le plus récent celui qui correspond à votre session en cours. Dans ce fichier vous trouverez le nom du fichier de conguration courant, en principe Using config file: "/etc/X11/XF86Config−4". Notez aussi toute erreur (EE) pour ne pas mélanger par la suite les problèmes liés à la tablette aux autres problèmes. Faites une copie de sauvegarde du fichier de configuration puis éditez l'original. Ajoutez les sections suivantes à votre fichier de configuration : −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ... Section "Module" ... Load "wacom" ... EndSection ... −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ... # # Input devices # # Tablette Graphire USB Section "InputDevice" Identifier "stylus" Driver "wacom" Option "Device" "/dev/input/event0" Option "Mode" "Absolute" Option "Type" "stylus" Option "USB" "on" Option "AlwaysCore" "on" EndSection Installer et configurer son matériel 125 Configuration de Gimp Section "InputDevice" Identifier "eraser" Driver "wacom" Option "Device" "/dev/input/event0" Option "Mode" "Absolute" Option "Type" "eraser" Option "USB" "on" Option "AlwaysCore" "on" EndSection Section "InputDevice" Identifier "cursor" Driver "wacom" Option "Device" "/dev/input/event0" Option "Mode" "Absolute" Option "Type" "cursor" Option "USB" "on" Option "AlwaysCore" "on" EndSection ... −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ... Section "ServerLayout" ... # ajouté pour la tablette graphire USB InputDevice "stylus" "" InputDevice "eraser" "" InputDevice "cursor" "Alwayscore" EndSection −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Redémarrez le serveur graphique (déloggez vous et faites Menu >Redémarrer le serveur X ALT−X) puis éditez le fichier de log. S'il y a des erreurs c'est le moment de faire fonctionner votre cervelle et de trouver pourquoi ;−) Nota : Le module wacom_drv.o contient trois pilotes : stylus (stylo), eraser (gomme) et cursor (souris). Avec cette configuration vous pouvez utiliser les trois. L'option alwayscore dans la section ServerLayout est importante car : avec alwayscore vous pouvez utiliser votre outil en permanence et avec un champ vide "" vous ne pourrez l'utiliser qu'avec des applications comme Gimp. C'est votre choix de mettre alwayscore ou non. La configuration de XFree peut être affinée par la suite. Reportez−vous à l'excellent Wacom Tablet HOWTO (en anglais) pour en connaître plus sur les différentes options. Configuration de Gimp Maintenant que votre tablette est fonctionnelle, lancez Gimp et appellez le dialogue Périphériques d'entrée... dans Ficher >Dialogues. Vous devriez voir un menu déroulant avec les champs cursor, stylus et eraser et un autre menu déroulant avec désactiver, fenêtre et écran. Le mode écran correspond à un outil géré par XFree et utilisable sur tout l'écran. Le mode fenêtre correspond à un outil géré par Gimp et utilisable seulement dans les fenêtres Gimp. Malheureusement le mode fenêtre plante lamentablement Gimp chez moi donc utilisez le mode écran. Une autre fenêtre Etat des périphériques... vous permet de contrôler ce que vous faites outil par outil. Nota : j'ai eu un bug après être passé de désactiver à écran et ma souris ne pouvait plus être active dans Gimp. Après reboot le comportement est redevenu normal. Références Wacom XInput driver for XFree86 par Frédéric Lepied http://people.mandrakesoft.com/~flepied/projects/wacom/ Les derniers modules et un forum pour poser toutes les questions que vous souhaitez. Wacom Tablet HOWTO par Stefan Runkel http://www.linuxdoc.org/HOWTO/Wacom−Tablet−HOWTO.html En anglais : tout sur la configuration des tablettes en général. Wacom Graphire USB Mini−HOWTO par Arnaud Claden http://www.linuxdoc.org/HOWTO/mini/Wacom−USB−mini−HOWTO.html En anglais : complément du précédent pour les tablettes USB. Configurer sa tablette graphire de Wacom en version USB sous XFree 4.0.x par Vincent Le Prince http://www.linuxgraphic.org/configurer/articles/graphireusb/index.html La même chose que ce document mais avec les étapes de compilation en plus. Notez les différences de nommage des modules et pilotes entre la version compilée et les sources. Configuring Wacom USB tablets under Linux par Laurent Hofer alias Ayoros http://gug.sunsite.dk/tutorials/ayoros1/ 126 Installer et configurer son matérie Configuration de Gim En anglais : la même chose que ce document mais avec les étapes de compilation en plus. Installer et configurer son matériel 127 Tablette graphique Acecat Flair Tablette graphique Acecat Flair par Serge Carrère , le 3 Octobre 2002 Comment utiliser sa tablette Acecad sous Linux Tout d'abord Je précise que les indications données fonctionnent sur des distributions Mandrake 9.0 et précédentes depuis la version 7.0 et je pense qu'elles doivent donner des résultats identiques sur les autres distributions. Cette tablette graphique se branche à votre ordinateur sur une prise série (/dev/ttySx ou COM sous DOS/Windows) ET sur la prise PS/2 de la souris (il faut ensuite installer la souris sur la tablette). nb : même non déclarée dans Linux, la tablette n'empêche pas l'utilisation de la souris. Une fois branchée, déclarons−la à l'ordinateur, pour cela il faut modifier le fichier : /etc/X11/XF86Config ou /etc/X11/XF86Config −4 Les distributions récentes de XFree86 ont incorporé le driver "acecad" dans leur modules. On trouvera dans : /usr/X11R6/lib/modules le module "xf86AceCad.so " ainsi que le driver "acecad_drv.o" dans : /usr/X11R6/lib/modules/input/ Configuration du serveur X Pour un serveur XFree 3.x dans le fichier "/etc/X11/XF86Config", il faut ajouter dans la section : # ****************** # Pointer section # ****************** Section "Module" xxxxxxx Load "xf86AceCad.so" xxxxxxxxxxxx EndSection pour que le module "acecad" soit chargé. Ensuite en toute fin du fichier aprés la section "Screen Section" il faut créer une section "XInput" comme ceci : # ****************** # XInput Section # ****************** Section "XInput" Subsection "AceCad" Port "/dev/ttyS1" # (ici mettre le bon n° du port série utilisé par la tablette) DeviceName "acecad" Mode Absolute Cursor Stylus Alwayscore EndSubSection EndSection Pour un serveur XFree 4.x la section "XInput" devient obsolète... dans le fichier "/etc/X11/XF86Config−4", il rajouter dans la section "Input devices" les lignes suivantes : # ****************** # Input devices # ****************** # Tablette Acecat Flair Section "InputDevice" Identifier "stylus" Driver "acecad" Option "Device" "/dev/ttyS1" #(ici mettre le bon port série utilisé par votre tablette Acecad) Option "Mode" "Absolute" Option "Type" "stylus" Option "Type" "cursor" Option "Alwayscore" "on" EndSection Dans la −Section "Module" de "Pointer Section" rajouter les lignes suivantes : 128 Installer et configurer son matérie Tablette graphique Acecat # This load the tablet module (ici vous mettez ce que vous voulez) Load "acecad" Et pour utiliser la tablette tout le temps, comme une souris, rajouter en fin de fichier dans la section "ServerLayout" Section "ServerLayout" Identifier "layout1" Screen "screen1" InputDevice "Mouse1" "CorePointer" InputDevice "stylus" "Alwayscore" InputDevice "Keyboard1" "CoreKeyboard" EndSection Voilà, je me suis inspiré pour la fin du fichier XF86Config−4 de l'article de Raymond Ostertag sur la tablette Wacom Graphire . Une fois le serveur X redémarré, la tablette fonctionnera, sans la "subtilité" des pressions du stylet, mais le bouton sur le manche du stylet fonctionne bien comme le "clic−droit" de la souris. Dans Gimp, la tablette sera reconnue dans la section : Fichier −> Dialogues −> Périphériques d'entrée. Dans la fenêtre "Périphérique" elle apparaitra sous le nom donné dans le fichier "XF86Config" (dans mes exemples, soit "acecad" soit "stylus"). Les modes "écran" et fenêtre" marchent tous les deux. La seule "différence" est que dans le mode "fenêtre" le pointeur est décalé par rapport à la pointe du stylet. Dans le mode "écran", le pointeur est réellement à la pointe du stylet. Bon amusement, Serge Carrère. Installer et configurer son matériel 129 Souris Logitech Cordless MouseMan Optical et Cordless Keyboard Souris Logitech Cordless MouseMan Optical et Cordless Keyboard Pierrick Berger Comment configurer une souris à quatre boutons et une roulette : la Logitech Cordless MouseMan Optical ainsi que le clavier sans fil, et sans leds ! Ayant eu pour Noël un pack Logitech clavier et souris optique sans fil (vous savez l'ensemble noir...), j'ai voulu utiliser le quatrième bouton de la souris, le bouton qui se situe vers le pouce. Mais il ne marchait pas ! Je vous propose donc une solution pour faire fonctionner ce quatrième bouton !! Pour le clavier, il n'y a rien de particulier à configurer. Il est reconnu dès l'installation. Malheureusement, chez Logitech on a pensé que les leds étaient superflues !!! Lourde erreur ! Je vous donnerai de quoi voir si CAPS−LOCK est activé ou pas, pareil pour NUM−LOCK et ARRET−DEFIL. Pré−Requis Ce dont vous avez besoin : • Linux, non sans blagues !!! :o) • XFree 4.x (dans un premier temps, on verra plus loin comment faire pour XFree 3.x) • De la dite souris ! (branchée sur le port PS2) • D'un éditeur de texte, comme joe, vim, emacs, xemacs... • Du mot de passe root • D'un WM, tel Gnome, KDE... pour les leds du clavier • Et d'une vingtaine de minutes :o) Configuration de la Souris Voilà, ayant une Mandrake 8.1, et ayant opté pour XFree 4.1.0 pour ma Geforce2 MX, je n'ai pu tester qu'avec XFree 4.1.0. Ce qui veut dire que la partie Configuration pour XFree 3.x est une extrapolation de mes connaissances. Elle demande donc à être testée. Configuration pour XFree 4.x Pour XFree 4.x (méthode testée et fonctionnelle), voilà ce qu'il faut faire : Editer le /etc/X11/XF86Config−4 zt modifier la section "InputDevice" pour avoir quelque chose du style : Section "InputDevice" Identifier "Mouse1" Driver "mouse" Option "Protocol" "MouseManPlusPS/2" Option "Device" "/dev/mouse" Option "Buttons" "6" Option "ZAxisMapping" "5 6" # ChordMiddle is an option for some 3−button Logitech mice # Option "ChordMiddle" EndSection Malheureusement, cette manipulation crée une inversion de boutons ; alors pour retrouver nos 4 boutons et notre roulette au bon endroit, on va créer le fichier suivant : /etc/X11/xinit.d/mouse−correct ayant pour contenu ceci : #!/bin/sh # Logitech MouseMan+ has 4 buttons and a wheel. The following example makes # the wheel movement available as the button 5 and 6. # # Section "InputDevice" # Identifier "MouseMan+" # Driver "mouse" # Option "Protocol" "MouseManPlusPS/2" # Option "Device" "/dev/psaux" # Option "Buttons" "6" # Option "ZAxisMapping" "5 6" # EndSection # # You can change button number assignment using the xmodmap command AFTER you 130 Installer et configurer son matérie Configuration de la Sou # # # # # # # # # # # # start the X server with the above configuration. You may not like to use the wheel as the button 2 and rather want the side button (button 4) act like the button 2. You may also want to map the wheel movement to the button 4 and This can be done by the following command: xmodmap −e "pointer = 1 6 3 2 4 5" Donc en gros, la souris Cordless MouseMan+ Optical à 4 boutons et une roulette que l'on aura configurée comme indiqué dans la Section "InputDevice". Mais le problème est que les boutons n'agissent pas comme on le pensait !! La roulette joue le rôle du bouton 2, le bouton du coté gauche (bouton 4) joue le rôle du bouton 2 ! Ben, comme on ne veut pas çà, on fait : xmodmap −e "pointer = 1 6 3 2 4 5" Vous remarquerez le passage en anglais ! Ce texte est directement tiré de la doc de XFree 4. Il faut aussi donner les droits d'exécution à ce fichier, sinon, il ne va rien se passer !!! Pour celà, faire : chmod +x /etc/X11/xinit.d/mouse−correct Et voilà, c'est fini pour la souris !! Il ne reste plus qu'a redémarrer le serveur X, et à s'amuser avec son nouveau bouton. Ce bouton prendra l'ancienne fonction du "coller" qu'avait le bouton de la roulette. Questions : • Pouquoi créer ce fichier ? => Tout simplement pour "remapper" les boutons. • Pourquoi dans ce répertoire ? => Parce qu'il faut faire ces changements uniquement quand le serveur X est démarré, d'où le répertoire xinit.d qui contient les scripts exécutés après le démarrage de X. Configuration pour XFree 3.x Pour XFree 3.x, je ne peux rien affirmer, mais je pense que l'on peut faire les mêmes modif., en changant juste la syntaxe des modifs pour XF86Config. Fichier à éditer : /etc/X11/XF86Config Section "Pointer" Protocol "MouseManPlusPS/2" Device "/dev/psaux" ZAxisMapping 5 6 Buttons 6 # ChordMiddle is an option for some 3−button Logitech mice # ChordMiddle EndSection Il faudra aussi créer le fichier /etc/X11/xinit.d/mouse−correct (voir ci−dessus). Voilà, reste plus qu'a redémarrer le serveur X... Merci de me faire parvenir vos remarques sur cette partie ! Configuration du clavier Ben, pour la configuration du clavier, rien à faire si ce n'est de le brancher ! En fait il est reconnu dès l'installation, comme tout clavier. Seul hic, comme il n'y a pas de led sur le clavier, on ne sait pas si CAPS−LOCK est activé, ce qui est très embêtant pour les mots de passe par exemple ! Alors, grâce à Antoine Jacoutot qui m'a envoyé un rpm du nom de "keyboard−led_applet−0.9−1.i386.rpm", j'ai pu avoir des icônes quasiment identiques à ceux sous windows avec les pilotes de Logitech, mais sous Gnome, car c'est une applet du panel de Gnome ! Récupération du packetage : ftp://rpmfind.net/linux/contrib/lib c6/i386/keyboard−led_applet−0.9−1.i386.rpm Installation : en étant root : rpm −ivh keyboard−led_applet−0.9−1.i386.rpm Manal m'a aussi donné quelques autres liens : • Kleds : http://www.hansmatzen.de/ Je n'ai pas testé Kleds, car je n'utilise pas KDE Installer et configurer son matériel 131 Configuration de la Souris • E−Leds : http://folk.uio.no/mathiasm/ Le make passe bien, mais lorsque j'essaie de l'installer avec make install, cela ne fonctionne pas ! Peut−être vous aurez plus de chance que moi !!! Sinon, pour la roulette du clavier, elle me fait monter ou descendre le curseur d'une ligne. Par contre j'ai beau chercher, je ne trouve pas où la configurer ! Enfin, comme toujours, les touches multimédias du clavier sont inutilisables avec Linux. Dommage. Je reste ouvert à toutes corrections et suggestions de votre part ! Cet article a été réalisé sur la base d'une distribution Mandrake 8.1 (XFree 4.1.0, kernel−2−4.28mdk, Gnome 1.4) Document réalisé par Pierrick Berger, le 11 Janvier 2002 132 Installer et configurer son matérie Configuration du système X Window X Window est le sous−système graphique de Linux (voir le glossaire). Nous allons voir ici comment l'installer, le configurer, régler les problèmes, etc. La logithèque de Léa présente une liste de gestionnaires d'environnement et de fenêtres pour Linux, avec les liens vers leurs sites web, et des copies d'écran. Le système X Window par Jean−Christophe & Serge L'interface graphique reine sous Linux. Normalement vous avez installé Linux avec la partie graphique, mais si vous voulez reconfigurer tout ça ou si cela n'a pas fonctionné du premier coup, et que vous en avez marre du mode texte, on va vous aider à configurer tout ça ! Remarque valable pour tout l'article : le fichier de configuration de X Window, XF86Config, se situe à divers endroits suivant votre distribution (/etc ou /etc/X11 ou ...). Définitions Qu'est−ce que X (ou X Window ou X Window System) ? C'est le sous−système graphique de Linux. X Window n'est pas seulement un driver pour la carte vidéo, c'est aussi une interface (API) pour les applications, afin qu'elles affichent à l'écran et reçoivent l'entrée du clavier et de la souris. X est aussi un serveur réseau, c'est à dire qu'il peut également offrir ses services à travers un réseau, ce qui permet d'afficher sur un écran une application qui s'exécute sur une autre machine, même si les deux architectures sont complètement différentes. C'est pourquoi on parle de serveur X pour désigner le sous−système graphique. Le système X Window tourne sur quasiment tous les Unix, et a même été porté sous Windows ou OS/2. Quasiment tous les logiciels graphiques sous Linux utilisent X, vous pouvez donc les faire fonctionner à travers un réseau comme décrit ci−dessus. L'utilisateur n'interagit pas directement avec X, mais plutôt avec ce qu'on appelle des clients X (par opposition au serveur X). Vous utilisez sans doute des clients comme un Gestionnaire de fenêtres (window manager), ou un Environnement de bureau (desktop environnment) comme KDE ou Gnome. Pour vous connecter, peut−être utilisez vous aussi un Display manager, comme KDM ou XDM. Au dessus de ces clients se trouvent les applications. Le système X Window (ou X Window system, ou X Window, ou encore X) est une marque déposée du X Consortium. Les serveurs X libres distribués avec Linux proviennent du projet XFree86. Remarque : En comparaison à Windows, Macintosh and so on... Dans Windows, tout est compris dans la même boîte, le sous−système graphique, l'interface graphique et des applications de base. De même pour le Mac, BeOS, etc. On ne fait pas facilement la différence entre les composants. Dans le monde X, ce sont des composants séparés, qui pris ensemble forment l'interface graphique utilisateur. Cela semble peut−être compliqué, mais cela a un grand avantage : vous pouvez choisir chacun des composants selon votre goût et vous construire l'interface graphique qui vous plaît le plus. c'est ce qui vous permet par exemple, de remplacer le gestionnaire de fenêtre Enlightment par WindowMaker dans l'environnement de bureau Gnome. Choisir son serveur X En général, lors de l'installation, votre carte vidéo a du être reconnue automatiquement par le programme d'installation, et le bon serveur X a du être installé et configuré pour répondre à vos besoins. Recommendation 1 : lors de l'installation, dans tous les cas, installez le serveur XF86_SVGA, le VGA16 et aussi celui propre à votre carte (par exemple, XF86_S3 pour une carte à base de chipset S3) s'il existe. Recommendation 2 : si votre carte fonctionne à la fois avec le serveur SVGA et un serveur accéléré spécifique (par exemple les carte S3, les S3 Virge, etc.), sachez que le serveur spécialement adapté à votre carte est généralement plus rapide. Il est cependant des cas ou vous devrez/voudrez installer vous−même votre serveur X à la main. Vous devez alors utiliser le serveur X qui correspond à votre carte graphique. Pour ce faire, vous devez trouver sa marque et son type exact. Regardez dans la documentation livrée avec l'ordinateur, ou contactez la personne qui vous l'a vendu, ou encore si vous le pouvez, ouvrez le boîtier et regardez ce qui est écrit sur la plus grosse puce présente sur la carte vidéo. Lors de l'installation, si la carte n'est pas reconnue automatiquement, il y a de grandes chances pour que vous la trouviez dans la (longue) liste de cartes proposée par l'installation ou les programme de configuration. Sinon, vous pouvez encore visiter les pages du projet XFree86 afin de rechercher votre carte dans la liste du matériel supporté. Si vous ne la trouvez pas, vous pouvez demander de l'aide sur les newsgroups ou les listes de distribution (mailing lists) Linux (la liste du site par exemple !) Lorsque vous avez trouvé ces renseignements, une page du site XFree vous donne le serveur X à utiliser. Commencez par regarder si ce serveur n'est pas sur le CD de votre distribution, ou bien téléchargez−le depuis un des mirroirs du site XFree (vous devez télécharger un seul fichier dans le répertoire servers, environ 1 à 2 Mo). Configuration du système X Window 133 Que faire si votre carte graphique n'est pas supportée ? Que faire si votre carte graphique n'est pas supportée ? Avez−vous bien vérifié que c'était le cas ? (regardez bien sur le site du projet XFree86 pour les compatibilités présentes et à venir, n'hésitez pas à demander de l'aide dans les newsgroups ou les mailing lists...) Avez−vous visité le site du fabricant de la carte ? Certains commencent à offrir des serveurs X pour leurs cartes. Vous pouvez utiliser le mode VGA (640x480 16 couleurs !!!) : pratiquement toutes les cartes supportent ce mode. Si cela ne vous suffit pas (étonnant non ? :) vous pouvez essayer d'utiliser le frame buffer. C'est une nouvelle fonctionnalité du noyau qui permet d'utiliser les capacités du standard VESA 2, implémenté dans la plupart des cartes vidéo assez récentes. Enfin, vous pouvez acheter un serveur X commercial qui supporte votre matériel : leur liste de cartes supportée est plus longue et à jour que celle de XFree. • Metrolink fournit un serveur assez bon marché, • Xi Graphics fournit des serveurs réputés plus rapides, mais plus chers. Installer un serveur X pour Frame buffer Le mode frame buffer de Linux permet de se passer totalement du mode texte, même lors du boot. Le kernel gère alors directement la carte en mode graphique, ce n'est plus le problème du serveur X. L'installation de X pour frame buffer n'est pas de tout repos : il faut recompiler le noyau afin d'activer le support frame buffer, puis installer le serveur X pour Frame buffer. De plus, ce serveur est plus lent que le serveur prévu pour votre carte, car il ne peut pas être optimisé (le frame buffer utilise les spécifications du standard VESA 2). Cependant rassurez−vous, la lenteur n'est que relative et il est encore assez rapide. C'est donc la solution de la dernière chance si votre carte vidéo n'est pas supportée. Activer le support Frame buffer dans le noyau Il suffit (!) de compiler le noyau (voir la rubrique noyau), en y ajoutant les options nécessaires au Frame buffer : Menu Code maturity level options Prompt for development and/or incomplete code/drivers : Y Menu Console drivers Video mode selection support : Y Support for frame buffer devices : Y VESA VGA graphic console : Y N'oubliez pas de bien spécifier les autres options du noyau (voir la rubrique noyau). Installer le nouveau noyau Installez−le suivant les indications de la rubrique noyau, mais avant de lancer LILO, ajoutez "vga=ask" au début du fichier /etc/lilo.conf. Si vous utilisez LOADLIN, ajoutez vga=ask à la ligne de commande du noyau. Bref, passez au noyau le paramètre vga=ask lors du boot. Lorsque plus tard, après avoir testé, vous serez décidé pour un mode, vous pourrez entrer directement vga=0x114 par exemple. Au prochain reboot, lorsque le noyau vous demandera quel mode vous souhaitez, entrez l'un des modes ci−dessous. Table des modes disponibles (extrait de /usr/src/linux/Documentation/fb/vesafb.txt) | 640x480 800x600 1024x768 1280x1024 −−−−+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 256 | 0x101 0x103 0x105 0x107 32k | 0x110 0x113 0x116 0x119 64k | 0x111 0x114 0x117 0x11A 16M | 0x112 0x115 0x118 0x11B Installer le serveur X pour frame buffer Avant d'installer le serveur, vous devez démarrer votre ordinateur en mode texte (passez le paramètre '3' au noyau, par exemple, en tapant 'linux 3' au prompt de LILO). Vous devez installer le package XFree86−Xvfb : [root@taz root]# rpm −i /cdrom/Mandrake/RPMS/XFree86−Xvfb−*.rpm (remplacez le chemin /cdrom/Mandrake/RPMS par celui correspondant à votre distribution). Vérifiez que le lien /etc/X11/X pointe bien vers Xvfb, sinon faites : [root@taz root]# rm −f X ; ln −s /usr/X11R6/bin/Xvfb /etc/X11/X (Sur certaines distributions, ce lien X se trouve dans /usr/X11R6/bin). 134 Configuration du système X Windo Installation et configuration du ser Enfin, modifiez votre fichier /etc/X11/XF86Config ou bien utilisez Xconfigurator, xf86config ou un de ses potes pour configurer votre serveur. Vous pouvez vous inspirer de l'exemple ci−dessous : Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "unix/:−1" EndSection Section "ServerFlags" EndSection Section "Keyboard" Protocol "Standard" XkbRules "xfree86" XkbKeymap "xfree86(fr)" EndSection Section "Pointer" Protocol "PS/2" # remplacez par le bon pour votre souris Device "/dev/mouse" Emulate3Buttons # enlevez−le suivant votre souris EndSection Section "Monitor" Identifier "moniteur" EndSection Section "Device" Identifier "carte" EndSection Section "Screen" Driver "FBDev" Device "carte" Monitor "moniteur" SubSection "Display" Modes "default" EndSubSection EndSection Installation et configuration du serveur X Tout d'abord, vous devez connaître trois choses : • quel serveur X utiliser (voir ci−dessus), • quelles sont les fréquences de rafraîchissement horizontales et verticales supportées par votre moniteur (regardez dans sa doc), ou au moins quel est le mode le plus haut supporté (résolution et fréquence), • quelles résolutions vous décidez d'utiliser. A savoir : le serveur X en lui−même est juste un seul exécutable, d'environ 1 à 2 Mo. Si vous changez de carte vidéo par exemple, vous devez juste changer ce fichier, à partir du rpm, et adapter le fichier de configuration XF86Config. Installation automatique Ensuite, en tant que root, vous devez lancer l'un des programmes de configuration : Xconfigurator ou XF86Setup ou encore xf86config. Ce programme vous demandera de choisir la carte graphique, puis le moniteur. Si vous ne trouvez pas le moniteur dans la liste, pas de problème : il suffit d'en choisir un dont les fréquences ne dépassent pas celles de votre propre moniteur. Vous pouvez aussi créer un moniteur personnalisé et entrer les fréqunces exactes de votre moniteur. Attention : ne choisissez pas les fréquences au hasard, car vous risquez d'endommager votre moniteur (surtout si celui−ci est ancien). Si quelquechose se passe mal, ne dites pas que c'est de ma faute ! Pour les écrans LCD (PC portables ou nouveaux écrans plats), c'est différent car pour eux les fréquences de rafraîchissement n'ont aucun sens . Il suffit de choisir quelquechose comme "Generic LCD 1024x768", avec la résolution que votre écran supporte. Après avoir choisi le moniteur, vous devez sélectionner les modes d'affichage qui seront disponibles (résolution, couleurs). En fonctionnenemt, vous pourrez changer de résolution en tapant Ctrl−Alt + ou Ctrl−Alt −. Lorsque le programme de configuration de X se termine, il crée le fichier de configuration, en général /etc/X11/XF86Config. Vous pouvez l'éditer à la main, mais vérifiez que X se lance toujours par startx avant de redémarrer votre ordinateur s'il démarre directement sous X ! (en général, tapez "init 3" sur une ligne de commande, puis "startx" pour redémarrer X. Si cela fonctionne, quittez X puis tapez "init 5" pour vous remettre en état normal.) Installation à la main L'installation à la main du serveur X consiste soit à : • installer le rpm du serveur, • installer un .tar.gz contenant l'exécutable du serveur. Configuration du système X Window 135 Configuration avec xf86config Dans le premier cas, le serveur X va aller se mettre tout seul au bon endroit après la commande rpm −Uvh votre_serveur.rpm. Dans le second cas, décompressez votre archive .tar.gz (ou quelquesoit son format) dans un répertoire temporaire. Cela va créer quelques fichiers : des readme et un gros fichier exécutable (1 à 2 Mo) nommé XF86_*. Déplacez ce fichier dans /usr/X11R6/bin. Dans les deux cas, vérifiez que le lien /etc/X11/X pointe bien vers le serveur. Si ce n'est pas le cas faites : [root@taz root]# rm −f /etc/X11/X [root@taz root]# ln −s /usr/X11R6/bin/XF86_<votre serveur X> /etc/X11/X Ensuite, vous devez éditer le fichier /etc/X11/XF86Config à la main afin de spécifier les différents modes, les fréquences, le clavier, la souris, etc. Il est bon de partir d'un fichier généré par un programme comme xf86config et de le modifier. Si vous changez juste de carte vidéo, vous pouvez vous inspirer fortement de l'ancien fichier. Enfin, vous devez vérifier que cela fonctionne : en général, tapez "init 3" sur une ligne de commande, puis "startx" pour redémarrer X. Si cela fonctionne, quittez X puis tapez "init 5" pour vous remettre en état normal (dans le cas ou vous démarrez habituellement directement sous X). Configuration avec xf86config (partie écrite par Serge) On va voir un premier outil de configuration en mode texte, xf86config. Connectez−vous en tant que root, et lancez−le : [root@taz root]# xf86config Après un petit message d'information, pressez entrée. Le logiciel va afficher différentes rubriques : − Mouse protocole Choisissez votre souris, le plus souvent : Microsoft compatible : toutes les souris de type série 2 boutons standard série Mousesystems : la plupart des souris 3 boutons séries PS/2 : les souris sur port PS/2, quoi :) Logitech mouse : les anciennes souris série Logitech Microsoft intellimouse (IMPS/2) : pour les souris à molette − Do you want to enable ChordMiddle: Pour activer le bouton du milieu sur les anciennes souris Logitech − Emulate3Buttons Pour "émuler" un 3éme button sur les souris 2 boutons en cliquant simultanément sur les 2 boutons. − Mouse device Mettez ici le périphérique sur lequel la souris est connecté. En général /dev/mouse. Si votre souris n'est pas détectée au démarrage de X, vérifiez que dans /dev, vous avez bien un fichier mouse. S'il n'existe pas, vous n'oublierez pas de le créer après la configuration en créant un lien symbolique sur le périphérique de votre souris : [root@taz root]# ln −s /dev/psaux /dev/mouse En remplaçant /dev/psaux par : Port PS2 : /dev/psaux Port série : /dev/ttySx (ttyS0=COM1 sous DOS, ttyS1=COM2, etc.) − Do you want to use XKB ? Je vous conseille tout simplement de répondre Y, ça vous permet d'activer le support clavier suivant votre pays. Autrement vous allez avoir un clavier qwerty sans accent! Validez le message d'information suivant. − List of preconfigured keymaps Choix du type de votre clavier (pour les claviers francais, choisir "French encoding"). Valider le message d'information suivant. − Horyzontal sync rate Là on commence à rentrer dans les choses techniques. Je vous conseille de tout simplement regarder la notice de votre moniteur pour voir les fréquences qu'il supporte suivant les résolutions. D'une manière générale on a : Moniteur 14 pouces très vieux Ligne 1 (640*480 60Hz) Moniteur 14 pouces assez vieux (plus de 4 ans) Essayer la ligne 2 (800*600 56Hz) voire la ligne 4 (1024*768 87Hz) Moniteur 14 pouces ou 15 pouces récent Ligne 5 (800*600 60Hz), ligne 6 (1024*768 60Hz), ligne 7 (1024*768 70Hz) Moniteur 17 pouces de plus de 4 ans Ligne 3 (1024*768 87hz) Moniteur > ou = à 17 pouces ou plus, récent Ligne 7 ou 8 ou 9 ou 10 136 Configuration du système X Windo Configuration avec xf86co Commencez TOUJOURS par les choix de fréquences les plus basses possibles. Sur les vieux écrans ATTENTION une trop haute fréquence ou une fréquence non supportée peut griller l'écran et je ne pourrai pas être tenu responsable de tel dégats. Les moniteurs récents sont normalement protégés si une trop hautre fréquence leur est demandée. Soyez tout de même prudents ! − Vertical range C'est la même chose, mais pour les fréquences verticales : Moniteur 14 pouces très vieux 50−70 Moniteur 14 pouces assez vieux (plus de 4 ans) 50−70 Moniteur 14 pouces ou 15 pouces récent 50−90 Moniteur 17 pouces de plus de 50−70 ou 50−90 4 ans Moniteur de 17 pouces ou plus, 50−100 ou 50−150 récent Le mieux est encore de voir avec la notice, avec les mêmes remarques qu'au dessus. − Identifier , model, vendor: Mettre le modèle, nom du constructeur, etc. de votre moniteur (Cela n'a pas d'importance, ce sont juste des champs de renseignements). − Do you want to look at the card database ? Repondez Y pour choisir votre carte vidéo dans une liste. Tapez [entrée] jusqu'à trouver votre carte ou le chipset, puis entrez le nombre. Au menu suivant, choisissez 5. Si votre carte n'apparaît pas ou si vous ne connaissez pas son chipset tapez sur Q, et choississez le serveur SVGA. − Do you want me to set the symbolic link ? Répondez par Y et encore par Y au menu d'apres. − Video memory Choisir en fonction de la mémoire présente sur votre carte vidéo − Identifier,vendor... C'est la même chose que pour le moniteur. Vous pourriez tout aussi bien ne rien taper ici. − RAMDAC Si vous le connaissez, choisissez−le. Autrement répondez par Q. − Clokchip De même, si vous savez pas, tapez [entrée]. − Probeonly Répondre par Y si votre moniteur est récent, autrement répondre par non. La plupart du temps le serveur X lors de son exécution détecte tout seul les "clock line" valides. − Mode de résolution couleur Choisir le menu 5, les modes sont généralement corrects, à moins que votre matériel soit très spécifique. − Shall I write it to /etc/X11/XF86Config Répondre par Y afin d'écrire le fichier de configuration. Ok, maintenant on va tester : lancez "startx". Ca marche ? Bingo ! Essayez de changer de résolution en tapant Ctrl Alt + et Ctrl Alt −. Ca ne marche pas? Voir plus le chapitre de résolutions de problèmes... Configuration du système X Window 137 Installation de XFree86 4.0 Installation de XFree86 4.0 par Fred, Serge et Jean−Christophe Installer XFree86 4.0 n'est pas très complexe, lorque l'on s'y prend correctement. Vu le nombre de mails que nous recevons à propos de l'installation de Xfree 4.0, nous avons décidé d'en faire une rubrique. Vu la jeunesse de ce produit et ne le connaissant que peu pour l'instant, les informations données ici peuvent contenir des imprécisions et/ou des erreurs. Merci de nous en faire part. Avertissement : Actuellement toutes les cartes vidéo qui étaient supportées par XFree 3.3.6 ne sont pas supportées par XFree 4.0 (par exemple la Cirrus 5428) ou bien ne sont plus accélérées (par exemple les cartes ATI Rage Pro (mach64) ne sont plus accélérées). Regardez sur www.xfree.org la liste de compatibilité avant de vous lancer dans l'installation de XFree 4.0. Prérequis : ◊ vous avez démarré Linux en mode console (par exemple, au prompt de LILO faire un linux 3 si linux est le mot que vous tapez habituellement, ou bien taper "init 3" en tant que root), ◊ vous êtes logué vous en root. Téléchargement des packages binaires. Vous devez télécharger les packages de XFree86 4.0. Nous décrivons ci−dessous trois cas possibles : fichiers rpms destinés à la Mandrake, fichiers rpms destinés à RawHide (Visiblement, ceux fait par RawHide sont mieux, plus complets), enfin les fichiers tgz de ftp.xfree.org. Vous pouvez télécharger les rpm sur rufus par exemple, les récupérer sur un magasine, etc. Installation de XFree86 4.0. C'est très simple. Enfin presque. Suivant ce que vous avez choisi, passez directement au paragraphe correspondant : RPM Mandrake, RPM Rawhide, TGZ sur ftp.xfree.org. Avec les RPM destinés à la Mandrake Ces rpms ont des problèmes : ils fournissent (et c'est heureux) la librairie libGL.so.* (une implémentation d'OpenGL basé sur MesaGL destiné spécifiquement à XFree86 4.0) mais ils ne fournissent pas les librairies libGLU et libglut !!!! Aussi, voici la marche à suivre. Téléchargez tous les rpms qui correspondent au motif XFree86*mdk*rpm et les librairies Mesa−3.2*rpm. Vous devez télécharger : XFree86−4.0−6mdk.i586.rpm XFree86−libs−4.0−6mdk.i586.rpm XFree86−server−4.0−6mdk.i586.rpm XFree86−75dpi−fonts−4.0−6mdk.i586.rpm Vous pouvez télécharger (en plus) : XFree86−100dpi−fonts−4.0−6mdk.i586.rpm (si vous voulez les polices 100dpi) XFree86−devel−4.0−6mdk.i586.rpm (si vous voulez développer ou compiler des programmes utilisant X) XFree86−xfs−4.0−6mdk.i586.rpm (si vous souhaiter utiliser un serveur de Polices) Passez, si vous n'y êtes pas déjà, en mode console par : [root@becane ~]# init 3 Ensuite, il faut désinstaller XFree86 3.3.x et Mesa (si vous utilisez xdm, vous pouvez souvegarder votre répertoire /etc/X11/xdm par mv /etc/X11/xdm /etc/X11/xdm.sav) en tapant : [root@becane ~]# for do rpm −−nodeps $i ; [root@becane ~]# for do rpm −−nodeps $i ; i in `rpm −qa | grep XFree86` ; \ done i in `rpm −qa | grep Mesa` ; \ done Ensuite il faut installer les librairies Mesa en premier et XFree86 4.0 ensuite en lui demandant d'effacer la version 3.2 de libGL.so. [root@becane ~]# for in in do rpm −i −−nodeps −−force [root@becane ~]# for in in do rpm −i −−nodeps −−force Mesa−3.2*rpm ; \ $i ; done XFree86*mdk*rpm ; \ $i ; done Voilà, c'est tout. 138 Configuration du système X Windo Installation de XFree86 4 Avec les RPM destinés à la RedHat 6.1 créé par RawHide. Ce sont ceux que j'utilise, ils sont plus complets (xterm est dedans, vous pouvez choisir d'installer ou pas twm − antédiluvien wm), et fournissent tout ce qu'il faut pour Mesa (libGLU et libglut), et vous n'etes pas obligé d'installer tous les drivers de carte graphique. Bonus : ils fonctionnent avec la Mandrake sans changement, et fournissent un utilitaire graphique pour la configuration (xf86cfg, qui ne marche pas avec ma souris :(( ). Il vous faut télécharger : XFree86−4.0−0.8.i386.rpm XFree86−75dpi−fonts−4.0−0.8.i386.rpm XFree86−libs−4.0−0.8.i386.rpm Si vous voulez l'outil de configuration graphique : XFree86−xf86cfg−4.0−0.8.i386.rpm Si vous voulez tous les outils habituels de XFree (xclock, xmessage, xmag, xman etc...) : XFree86−tools−4.0−0.8.i386.rpm Si vous utiliser xdm pour vous logguer : XFree86−xdm−4.0−0.8.i386.rpm Vous devez télécharger un driver pour votre carte graphique, par exemple si vous avez une carte NVidia : XFree86−NVidia−4.0−0.8.i386.rpm XFree86−VGA16−4.0−0.8.i386.rpm Pour avoir la documentation technique (pas les man pages qui sont avec chaque paquetage) : XFree86−doc−4.0−0.8.i386.rpm Si vous utilisez un serveur de polices (conseillé) : XFree86−xfs−4.0−0.8.i386.rpm Si vous avez un écran de plus de 15 pouces : XFree86−100dpi−fonts−4.0−0.8.i386.rpm Pour l'installation, c'est trivial, vous désinstallez XFree et Mesa par : [root@becane ~]# for i in `rpm −qa | grep XFree86` ; \ do rpm −e −−nodeps $i ; done [root@becane ~]# for i in `rpm −qa | grep Mesa` ; \ do rpm −e −−nodeps $i ; done [root@becane ~]# for i in `rpm −qa | grep X11R6−contrib` ; \ do rpm −e −−nodeps $i ; done Puis, vous installez les rpms de RawHide par : [root@becane rawhide]# for i in *rpm ; \ do rpm −i −−nodeps −−force $i ; done Et voilà. Avec les TGZ récupérés sur ftp.xfree.org Vous pouvez les récupérer sur ftp.xfree.org, choisissez−les en fonction de votre plate−forme (i.e. votre micro−processeur) et votre version de glibc (glibc2.1 en général pour les distributions récentes). Pour connaître la version de glibc (2.0 ou 2.1), l'installateur de Xfree peut le détecter pour vous, ils sont gentils chez Xfree ! Pour cela récupérez le fichier Xinstall.sh (dans n'importe quel répertoire de binaires sur le serveur, ca n'a pas d'importance) et lancez un : # sh Xinstall.sh −check (ou un ./Xinstall.sh −check, c'est pareil) Cela va vous renvoyez la version glibc de votre système, allez alors dans le répertoire ftp corespondant pour récupérer les bons binaires, par exemple le répertoire /pub/XFree86/4.0/binaries/Linux−ix86−glibc2.1 pour une plateforme Intel avec une glibc2.1 (dans 90% des cas d'ailleurs ca sera ce répertoire). Si votre plate forme n'est pas présente (par exemple les CPU PowerPC, vous devrez soit télécharger et compiler les sources − très long − soit vous tourner vers des rpms). Une fois TOUS les .tgz récupérés, désinstallez les principaux packages de votre ancien XFree, dont principalement : Xbin, Xfs, Xptr, Xlib, Xman, Xdoc, XF86_xxxx (le serveur X propre a votre carte)... Pour cela, suivant votre distribution, localisez les packages avec un gestionnaire rpm (Redhat, Mandrake,...) ou pkgtool (Slackware,...) et désinstallez les. Configuration du système X Window 139 Installation de XFree86 4.0. Rappel : Pour les packages RPMn afin de trouver les packages correspondants à XFree86, faites : # rpm −qa | grep XFree Et pour les désinstaller : # rpm −e −−nodeps −−force le_package (voir la page sur RPM). Bon maintenant on va lancer l'installation des packages, c'est à dire décompresser et copier les fichiers. Pour cela on lance un : # sh Xinstall.sh (ou ./Xinstall.sh) et repondez Y aux questions posées (comme ça on installe tout et on est sûr de ne rien avoir oublié). Voilà, les packages sont installés! Configuration de base. Maintenant, il nous faut créer un fichier /etc/X11/XF86Config compatible avec XFree86 4.0 − c'est à dire que nous allons reconfigurer XFree86, les anciens fichiers de configurations ne sont plus compatibles avec les nouveaux). Pour cela nous allons utiliser l'antédiluvien xf86config : (Pour les non−anglophones je précise à chaque fois ce qui ce passe et en gras ce qu'il faut répondre). [root@becane /home]# xf86config This program will create a basic XF86Config file, based on menu selections you make. The XF86Config file usually resides in /usr/X11R6/etc/X11 or /etc/X11. A sample XF86Config file is supplied with XFree86; it is configured for a standard VGA card and monitor with 640x480 resolution. This program will ask for a pathname when it is ready to write the file. You can either take the sample XF86Config as a base and edit it for your configuration, or let this program produce a base XF86Config file for your configuration and fine−tune it. Before continuing with this program, make sure you know what video card you have, and preferably also the chipset it uses and the amount of video memory on your video card. SuperProbe may be able to help with this. Press enter to continue, or ctrl−c to abort. <Entrée> First specify a mouse protocol type. Choose one from the following list: 1. 2. 3. 4. 5. 6. 7. 8. 9. Microsoft compatible (2−button protocol) Mouse Systems (3−button protocol) Bus Mouse PS/2 Mouse Logitech Mouse (serial, old type, Logitech protocol) Logitech MouseMan (Microsoft compatible) MM Series MM HitTablet Microsoft IntelliMouse If you have a two−button mouse, it is most likely of type 1, and if you have a three−button mouse, it can probably support both protocol 1 and 2. There are two main varieties of the latter type: mice with a switch to select the protocol, and mice that default to 1 and require a button to be held at boot−time to select protocol 2. Some mice can be convinced to do 2 by sending a special sequence to the serial port (see the ClearDTR/ClearRTS options). Enter a protocol number: 4 Spécifiez le type de votre souris (le choix 1 fonctionne avec toutes les souris 2 ou 3 bouttons compatible MS, le choix 2 fonctionne avec la plupart des souris 3 boutons, pour les autres vous savez lire ;) ,avec ma logitech wheel mouse sur port ps/2 j'utilise le choix 4 pour le démarrage). If your mouse has only two buttons, it is recommended that you enable Emulate3Buttons. Please answer the following question with either 'y' or 'n'. Do you want to enable Emulate3Buttons? n Ma souris dispose bien de trois boutons (en fait 5 : les 2 boutons, le clic sur la roulette + les 2 directions de la roulette), donc ce n'est pas la peine d'émuler le troisième, ne mettez y que si vous avez une souris 2 boutons, dans ce cas la pression simultanée des deux boutons simulera la pression d'un troisième bouton. Now give the full device name that the mouse is connected to, for example /dev/tty00. Just pressing enter will use the default, /dev/mouse. Mouse device: /dev/psaux 140 Configuration du système X Windo Installation de XFree86 4 Ma souris est connectée sur le port ps/2 donc je le dis à XFree86 ; si vous avez (défaut de la Mandrake) un lien /dev/mouse qui pointe vers le bon périphérique vous pouvez taper simplement <Entrée>. Remarque : Si au démarrage de X, vous avez une erreur du style "mouse not found", vérifiez dans le répertoire /dev que mouse existe, faites un lien sur le port ou est branchée physiquement votre souris par ln −s /dev/periph /dev/mouse. Please select one of the following keyboard types that is the better description of your keyboard. If nothing really matches, choose 1 (Generic 101−key PC) 1 2 3 4 5 6 7 8 9 10 11 12 Generic 101−key PC Generic 102−key (Intl) PC Generic 104−key PC Generic 105−key (Intl) PC Dell 101−key PC Everex STEPnote Keytronic FlexPro Microsoft Natural Northgate OmniKey 101 Winbook Model XP5 Japanese 106−key PC−98xx Series Enter a number to choose the keyboard. 4 si vous avez un clavier avec des touches "windows", 2sinon Spécifiez ici le clavier que vous utilisez. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 U.S. English U.S. English w/ISO9995−3 Belgian Bulgarian Canadian Czechoslovakian German Swiss German Danish Spanish Finnish French Swiss French United Kingdom Hungarian Italian Japanese Norwegian Enter a number to choose the country. Press enter for the next page 12 (Pour avoir un clavier azerty) Now we want to set the specifications of the monitor. The two critical parameters are the vertical refresh rate, which is the rate at which the the whole screen is refreshed, and most importantly the horizontal sync rate, which is the rate at which scanlines are displayed. The valid range for horizontal sync and vertical sync should be documented in the manual of your monitor. If in doubt, check the monitor database /usr/X11R6/lib/X11/doc/Monitors to see if your monitor is there. Press enter to continue, or ctrl−c to abort. <Entrée> On vous conseille de lire le fichier /usr/X11R6/lib/X11/doc/Monitors afin de voir si votre moniteur est référencé (le mieux étant de connaître votre moniteur : lisez sa doc. − rafraîchissement vertical et horizontal et bande passante maximale et d'aller voir le modeline generator) You must indicate the horizontal sync range of your monitor. You can either select one of the predefined ranges below that correspond to industry−standard monitor types, or give a specific range. It is VERY IMPORTANT that you do not specify a monitor type with a horizontal sync range that is beyond the capabilities of your monitor. If in doubt, choose a conservative setting. Configuration du système X Window 141 Installation de XFree86 4.0. 1 2 3 4 5 6 7 8 9 10 11 hsync in kHz; monitor type with characteristic modes 31.5; Standard VGA, 640x480 @ 60 Hz 31.5 − 35.1; Super VGA, 800x600 @ 56 Hz 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600) 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz 31.5 − 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz 31.5 − 48.5; Non−Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz 31.5 − 57.0; High Frequency SVGA, 1024x768 @ 70 Hz 31.5 − 64.3; Monitor that can do 1280x1024 @ 60 Hz 31.5 − 79.0; Monitor that can do 1280x1024 @ 74 Hz 31.5 − 82.0; Monitor that can do 1280x1024 @ 76 Hz Enter your own horizontal sync range Enter your choice (1−11): 11 Pour spécifier les valeurs exactes de votre moniteur (en cas de doute essayer les valeurs 2, 5 ou 6 qui devraient fonctionner avec la majorité des moniteurs même si vous n'utiliserez dans ce cas pas votre moniteur au mieux de ses possibilités). Bref, allez voir sur la rubrique XFree pour plus de détail ; en général pour un 14 pouces on peut choisir 5, pour un 15 pouces 6, pour un 17 pouces 7 ou 6 si pour les vieux modçles), et pour les 19 et 21 pouces 10, 9 ou 8 (10 pour les plus récents, 8 pour les vieux écrans). Attention : Les valeurs que je donne ci−après ne sont que des exemples (ceux que j'utilise avec mon moniteur ADI Provista E44) ils sont susceptibles d'endommager votre moniteur si ce ne sont pas les bons. Please enter the horizontal sync range of your monitor, in the format used n the table of monitor types above. You can either specify one or more continuous ranges (e.g. 15−25, 30−50), or one or more fixed sync frequencies. Horizontal sync range: 30−69 You must indicate the vertical sync range of your monitor. You can either select one of the predefined ranges below that correspond to industry−standard monitor types, or give a specific range. For interlaced modes, the number that counts is the high one (e.g. 87 Hz rather than 43 Hz). 1 2 3 4 5 50−70 50−90 50−100 40−150 Enter your own vertical sync range Enter your choice: 47.5−125 Si vous ne connaissez pas bien votre moniteur, pour le choix des fréquences verticales, généralement vous pouvez choisir 1 pour les 14 pouces, 2 pour les 17 (ou 1 si il est vieux) , 3 pour les 19 et 21 pouces (2 pour les anciens modèles). You must now enter a few identification/description strings, namely an identifier, a vendor name, and a model name. Just pressing enter will fill in default names. The strings are free−form, spaces are allowed. Enter an identifier for your monitor definition: Mon Beau Moniteur Ici vous pouvez mettre ce que vous voulez, mais une chaine identifiant votre moniteur est la bien venue. Now we must configure video card specific settings. At this point you can choose to make a selection out of a database of video card definitions. Because there can be variation in Ramdacs and clock generators even between cards of the same model, it is not sensible to blindly copy the settings (e.g. a Device section). For this reason, after you make a selection, you will still be asked about the components of the card, with the settings from the chosen database entry presented as a strong hint. The database entries include information about the chipset, what driver to run, the Ramdac and ClockChip, and comments that will be included in the Device section. However, a lot of definitions only hint about what driver to run (based on the chipset the card uses) and are untested. If you can't find your card in the database, there's nothing to worry about. You should only choose a database entry that is exactly the same model as your card; choosing one that looks similar is just a bad idea (e.g. a GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of hardware as can be). Do you want to look at the card database? y Pour regarder dans la base de donnée si votre carte est présente (et pas seulement le processeur) : 142 Configuration du système X Windo Installation de XFree86 4 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 the Max MAXColor S3 Trio64V+ 2−the−Max MAXColor 6000 3DLabs Oxygen GMX 928Movie AGX (generic) ALG−5434(E) ASUS 3Dexplorer ASUS PCI−AV264CT ASUS PCI−V264CT ASUS Video Magic PCI V864 ASUS Video Magic PCI VT64 AT25 AT3D ATI 3D Pro Turbo ATI 3D Pro Turbo PC2TV ATI 3D Xpression ATI 3D Xpression+ ATI 3D Xpression+ PC2TV S3 Trio64V+ ET6000 PERMEDIA 2 S3 928 AGX−014/15/16 CL−GD5434 RIVA128 ATI−Mach64 ATI−Mach64 S3 864 S3 Trio64 Alliance AT3D Alliance AT3D ATI−Mach64 ATI−Mach64 ATI−Mach64 ATI−Mach64 ATI−Mach64 Enter a number to choose the corresponding card definition. Press enter for the next page, q to continue configuration. 110 Choisissez bien votre carte graphique, ou à défaut une carte ayant un processeur compatible (110 correspond à la Creative Graphics Blaster TNT) pour voir les autres cartes disponibles tapez sur <Entrée>. Si vous trouvez pas votre carte ni une carte compatible (comme la 3dfx, voodoo 3 par exemple), prenez alors un modèle au hasard pour le moment on rectifira après. Your selected card definition: Identifier: Creative Graphics Blaster TNT Chipset: RIVATNT Driver: nv Do NOT probe clocks or use any Clocks line. Press enter to continue, or ctrl−c to abort. Si vous ne voyez pas la ligne en gras, ce n'est pas grave. Now you must give information about your video card. This will be used for the "Device" section of your video card in XF86Config. You must indicate how much video memory you have. It is probably a good idea to use the same approximate amount as that detected by the server you intend to use. If you encounter problems that are due to the used server not supporting the amount memory you have (e.g. ATI Mach64 is limited to 1024K with the SVGA server), specify the maximum amount supported by the server. How much video memory do you have on your video card: 1 2 3 4 5 6 256K 512K 1024K 2048K 4096K Other Enter your choice: 6 Amount of video memory in Kbytes: 16384 Ici on vous demande la quantité de ram disponible sur votre carte graphique (lisez le sur l'embalage en sachant que 1Mo = 1024Kbytes, ou allez voir sous windows, dans les propriétés de l'affichage, vous avez la taille mémoire indiquée). You must now enter a few identification/description strings, namely an identifier, a vendor name, and a model name. Just pressing enter will fill in default names (possibly from a card definition). Your card definition is Creative Graphics Blaster TNT. The strings are free−form, spaces are allowed. Enter an identifier for your video card definition: <Entrée> Ici vous pouvez donner un nom à votre carte. Configuration du système X Window 143 Installation de XFree86 4.0. For each depth, a list of modes (resolutions) is defined. The default resolution that the server will start−up with will be the first listed mode that can be supported by the monitor and card. Currently it is set to: "640x480" "800x600" "1024x768" "1280x1024" for 8−bit "640x480" "800x600" "1024x768" "1280x1024" for 16−bit "640x480" "800x600" "1024x768" "1280x1024" for 24−bit Modes that cannot be supported due to monitor or clock constraints will be automatically skipped by the server. 1 2 3 4 Change the modes for 8−bit (256 colors) Change the modes for 16−bit (32K/64K colors) Change the modes for 24−bit (24−bit color) The modes are OK, continue. Enter your choice: 4 Les trois lignes en gras indiquent les résolutions supportées (par le driver et la carte) pour chaque profondeur de couleurs (8−bit = 256 couleurs etc...) Please specify which color depth you want to use by default: 1 2 3 4 5 1 bit (monochrome) 4 bits (16 colors) 8 bits (256 colors) 16 bits (65536 colors) 24 bits (16 million colors) Enter a number to choose the default depth. 5 Indiquez le nombre de couleurs que vous souhaitez utiliser (5 = 16 millions de couleurs ;)) Attention, si vous avez une 3dfx choisissez le mode 16 bits pour pouvoir utiliser l'accélération 3d. I am going to write the XF86Config file now. Make sure you don't accidently overwrite a previously configured one. Shall I write it to /etc/X11/XF86Config? y Si, à la place de la dernière ligne vous voyez : Do you want it written to the current directory as 'XF86Config'? y C'est que vous n'etes pas logué en tant que root et la configuration ne sera pas sauvegardée pour tout le monde (vous ne pourrez pas utiliser xdm, etc. je vous conseille donc de recommencer en tant que root). File has been written. Take a look at it before running 'startx'. Note that the XF86Config file must be in one of the directories searched by the server (e.g. /etc/X11) in order to be used. Within the server press ctrl, alt and '+' simultaneously to cycle video resolutions. Pressing ctrl, alt and backspace simultaneously immediately exits the server (use if the monitor doesn't sync for a particular mode). For further configuration, refer to /usr/X11R6/lib/X11/doc/README.Config. Si vous utilisez les rpms de la Mandrake il faut faut aussi (au moins avec ceux numérotés 0.6mdk) créer un lien : [root@becane home]# ln −s /usr/X11R6/bin/XFree86 /etc/X11/X Note : c'est peut−etre aussi le cas avec ceux de RawHide, mais je ne suis pas sûr, vérifiez qu'il existe. Hourra c'est fini ! Loguez−vous en tant qu'utilisateur et tapez startx afin de vérifier si cela fonctionne. Si ca marche, BINGO ! Il ne reste plus qu'a vérifier les fontes, la roulette, la résolution par défaut, etc. Pour cela voir les rubriques X, trucs et astuces, tout y est expliqué ; regardez aussi plus bas. Mais jettez quand même un coup d'oeil à la suite : vous risquez d'en avoir besoin si vous n'arrivez pas à monter en couleurs, si X est très lent, etc. Ca marche pas, X plante ! Bon on se calme, on va régler tout ça. Tout d'abord, renommez le XF86Config et XF86Config.old : # mv /etc/X11/XF86Config /etc/X11/XF86Config.old Lancez alors un XFree86 −configure. X va se tester / lancer et faire un /etc/X11/XF86Config. Ok, maintenant avec votre éditeur favori, éditez /etc/X11/XF86Config et dans un autre terminal virtuel (que l'on crée grace a un ALT−F2 par exemple) éditez le /etc/X11/XF86Config.old. Grâce à la souris et au copier/coller (bouton droit de la souris) vous copiez la section "module" du XF86Config que vous collez en écrasant la 144 Configuration du système X Windo Installation de XFree86 4 section "module" du XF86Config.old. Pour repérer la section module, rien de plus simple, elle commence par Section "Module" et finit par Endsection Après dans le XF86Config.old recherchez la ligne Driver "machinbidule"que vous remplacez par celle qui est dans XF86Config, et faites de même pour la ligne driver qui se trouve un peu plus bas dans la section "Device" qui comporte Identifier "carte" (ou le nom que vous avez mis dans xf86config quand il vous a demandé un nom pour votre carte). Liste des drivers à utiliser suivant la marque / modèle de votre chipset de carte vidéo : • apm − Alliance ProMotion • ati − ATI • chips − Chips and Technologies • cirrus − Cirrus Logic • cyrix − Cyrix • fbdev − Framebuffer • glint − GLINT/Permedia • i740 − Intel i740 • mga − Matrox • neomagic − NeoMagic • nv − NVIDIA (voir aussi le site http://www.nvidia.com pour des drivers closed source accélérés 3D et gérant la sortie TV−Out et les cartes Twin View) • r128 − ATI Rage 128 • rendition − Rendition • s3virge − S3 ViRGE • sis − SiS • tdfx − 3Dfx • trident − Trident • tseng − Tseng Labs • vga − VGA générique (16 couleurs, 640x480) Une fois ces changement dans XF86Config.old effectués, supprimez le XF86Config, et renommez XF86Config.old en XF86Config. Voilà. Bon après ça je pense que ça devrait fonctionner. Serveur de polices Je vous conseille d'utiliser un serveur de police et donc de configurer xfs (à écrire − voir aussi les rubriques X Windows et X : trouble shooting). Une configuration plus fine. Utilisation des souris à roulette. La chance est avec vous, XFree86 depuis un certains temps gère les souris à roulette, mais comme de bien entendu pas automatiquement : il faut le lui dire. Heureusement ce n'est pas très compliqué puisqu'il suffit de modifier le protocol "PS/2" en "IMPS/2" et d'ajouter : Option "ZAxisMapping" "4 5" dans la section "InputDevice" de /etc/X11/XF86Config. Note : pour les souris Logitech MouseMan Plus les noms des protocoles sont MouseMan (si la souris est branchée sur le port série) et MouseManPS/2 (si la souris est branchée sur le pour PS/2) et IMPS/2 pour les dernières MouseMan optiques. Voir aussi ce truc. Les modelines. Lors de la configuration de XFree86 vous vous êtes aperçu que le mode 1016x762 de votre carte graphique ne vous était pas proposé alors que c'est celui que vous préférez ; vous ne voulez pas utiliser le mode 1024x768 de votre carte graphique car dans cette résolution votre écran semble fondre ; vous voulez que XFree démarre automatiquement en mode 800x600. La solution ? Une savante combinaison de ModeLine et de Modes. Pour savoir quels sont les résolutions supportées par votre moniteur allez voir le modeline generator avec les paramètres de votre écran ; celui−ci génèrera plusieurs dizaines de lignes commançant par ModeLine suivi d'une résolution. Vous serez surpris du nombre incroyable de résolutions proposé en comparaison de ce qui est marqué sur votre mode d'emploi. Une fois que vous serez en possession de tous ces "ModeLine" insérez les dans /etc/X11/XF86Config dans la section Monitor (après avoir effacé ou commenté ceux qui s'y trouvaient). Puis indiquez dans cette même section les paramètres de rafraîchissement vertical et horizontal : HorizSync 30−69 VertRefresh 47.5−125 par exemple si votre écran peut être rafraîchit horizontalement entre 30 et 69 kHz et verticalement entre 47,5 et 125 Hz (ces valeurs sont présentes dans la documentation de votre écran). Enfin modifiez la section "Screen", sous−section "Display" de façon que les lignes commençant par Modes soient suivies de la liste des résolutions (entre "") en commençant par la résolution dans laquelle vous souhaitez que votre serveur X démarre. Configuration du système X Window 145 Installation de XFree86 4.0. Exemple : Modes "800x600" "1016x732" "768x576" 146 Configuration du système X Windo Régler les problèmes avec X W Régler les problèmes avec X Window par Jean−Christophe & Serge La célèbre chasse aux troubles. Ce chapitre recense les problèmes les plus fréquemment rencontrés avec X Window et des pistes de solutions plus ou moins complètes pour chacun. Bonne chance ! Problèmes et questions Reconfiguration de X Si vous avez besoin de reconfigurer X, surtout ne réinstallez pas Linux ! Conseil : sauvegardez dans un coin votre fichier de configuration /etc/X11/XF86Config au cas ou la nouvelle ne fonctionne pas. Lancez juste l'un des programmes de configuration (Xconfigurator ou XF86Setup ou encore xf86config) depuis une console en tant que root. Testez votre configuration avant tout redémarrage : 1. Mettez−vous sur une console libre (CTRL+ALT+Fn ou n est entre 1 et 6) 2. Connectez−vous en root 3. Tapez : init 3 pour passer en mode 'TEXTE' 4. Lancez X Window : startx 5. Si ça fonctionne, repasser en mode démarrage X Window (si c'est votre mode de démarage par défaut) : init 5 . Sinon corriger le problème jusqu'à ce que cela fonctionne. Changer la résolution Il y a de nombreuses façons de changer la résolution d'affichage sous Linux. D'abord, regardez si votre distribution ne dispose pas d'un outil graphique pour le faire. Par exemple, Mandrake à partir de la version 7 permet de régler la résolution via drakconf à la souris. Essayez aussi les programmes comme Xconfigurator ou XF86Setup ou encore xf86config, qui vous permettent de régler le fonctionnement de X. Enfin, vous pouvez le faire à la main, en modifiant le fichier de configuration /etc/X11/XF86Config : Ouvrez ce fichier dans un éditeur de textes. Dans la Section "Monitor", vous trouvez des lignes du genre : # 640x480 @ 60 Hz, 31.5 kHz hsync Modeline "640x480" 25.175 640 664 760 800 480 # 800x600 @ 56 Hz, 35.15 kHz hsync ModeLine "800x600" 36 800 824 896 1024 600 # 1024x768 @ 87 Hz interlaced, 35.5 kHz hsync Modeline "1024x768" 44.9 1024 1048 1208 1264 768 491 493 525 601 603 625 776 784 817 interlace Ces lignes commencant par Modeline définissent trois résolutions possibles pour ton serveur X ; il y en a plein d'autres... La même résolution peut même être définie plusieurs fois : c'est normal. Au lancement X sélectionne la ligne optimale en fonction des paramètres de la carte vidéo et de l'écran (fréquences). Dans la Section "Screen", il y a plusieurs définitions de combinaison entre carte vidéo et écran. Il faut trouver celle qui correspond à votre configuration. Une fois cette section trouvée, dans la sous−section Subsection "Display", il y a une ligne du type : Modes "1024x768" Il suffit de la transformer en : Modes "1280x1024" "1024x768" "800x600" pour avoir 3 modes vidéo possibles, ou en : Modes "800x600" pour changer la résolution. Enregistrez le fichier, relancez le serveur X (par exemple par Ctrl−Alt−BackSpace), afin de disposer du ou des nouveaux modes vidéo possibles que nous venons de définir. Pour passer d'une résolution à l'autre, il faut taper la combinaison de touches : [Ctrl] [Alt] [+] et [Ctrl] [Alt] [−] (avec les touches [+] et [−] du pavé numérique). Configuration du système X Window 147 Problèmes et questions Remarque : La ligne virtual présente éventuellement dans la même sous−section permet de définir un bureau virtuel plus grand que l'écran (dans ce cas l'écran défile lorsque la souris arrive sur l'un des bords). La valeur de virtual doit être au minimum la plus grande résolution ; si vous ne voulez pas d'écran virtuel, supprimez cette ligne. Cependant, si vous spécifiez plusieurs résolutions, vous aurez toujours un écran virtuel égal à la plus grande des résolutions. Réglages manuels dans /etc/X11/XF86Config (partie écrite par Serge) Bon, vous en avez assez de démarrer en mode 640x480 en 16 couleurs, avoir à appuyer sur CTRL ALT + pour changer votre résolution, spécifier le nombre de couleur, etc. ? On va régler deux trois trucs à la main. Editez le fichier /etc/X11/XF86Config. Repérez les lignes ressemblant à : Section "Screen" Driver "svga" Device "Generic VGA" Monitor "My Monitor" Subsection "Display" Depth 8 # cette ligne règle le nombre de couleurs Modes "640x480" "800x600" "1024x768" # et celle−ci les résolutions possibles ViewPort 0 0 Virtual 1024*768 EndSubsection EndSection Si vous n'utilisez qu'un seul mode (1024*768 par exemple), ne laissez que celui−ci dans la ligne Modes. Choisissez aussi le nombre de couleur par défaut que vous voulez utiliser en fixant Depth : Depth 4 16 couleurs Depth 8 256 couleurs Depth 16 65536 couleurs Depth 24 16 millions de couleurs sur 24 bits Depth 32 True color sur 32 bits Certaines cartes (S3 virge 4Mo par exemple) font du 16 millons de couleurs que sur 24 bits et non pas sur 32 bits. Le "Virtual" permet de mettre un résolution plus haute que celle de la carte : grâce a la souris, on peut alors se déplacer sur les bord de l'écran virtuel et faire scroller l'écran. Si vous ne voulez pas d'écran virtuel, fixez sa valeur à celle de la résolution que vous utilisez. Changer de carte vidéo Si vous changez de carte video sur un système ou Linux est déjà installé, vous devrez changer (en général) de serveur X. Afin de ne pas avoir de mauvaise surprise au démarrage, si votre ordinateur démarre habituellement en mode graphique, après le changement de carte et avant d'avoir mis à jour le serveur X, démarrez−le en mode console. Pour ce faire, passez le paramètre "3" au noyau, ce qui indique au noyau en quel mode (runlevel) il doit démarrer. Si vous démarrez avec LILO, tapez "linux 3" au boot, si vous démarrez avec LOADLIN, ajoutez "3" à votre ligne de commande, etc. Enfin, installez et configurez le serveur X. Il suffit en fait de changer l'exécutable du serveur X (voir la partie 'installation à la main') et de le configurer. Gestionnaires de fenêtres et Environnements de Bureau Ou Window Managers et Desktop Environments. Voir le glossaire, entrée Gestionnaire de fenêtres ou Environnement de bureau. Changer de Display Manager (xdm, kdm, gdm...) Ou Bannière de login. Voir le glossaire, entrée Display manager. Le display manager que vous utilisez est défini dans le fichier /etc/inittab. Dans ce fichier, vous devez avoir une ligne ressemblant à la suivante (en gras ci−dessous) : [root@taz ~]# less /etc/inittab [...] # Run xdm in runlevel 5 # xdm is now a separate service x:5:respawn:/etc/X11/prefdm −nodaemon 148 Configuration du système X Windo Problèmes et questio Ici, le système utilise prefdm comme bannière de login. prefdm est un lien symbolique vers le vrai display manager : [root@taz ~]# cd /etc/X11/ [root@taz /etc/X11]# ls −l prefdm lrwxrwxrwx 1 root root 12 nov 18 04:14 prefdm −> /usr/bin/kdm* Afin de changer de display manager, je vous conseille, si vous n'utilisez pas encore prefdm, de le faire, c'est−à−dire de remplacer la ligne de votre /etc/inittab par la ligne "x:5:respawn:/etc/X11/prefdm −nodaemon", puis de faire pointer prefdm vers le display manager voulu (ici, gdm) : [root@taz /etc/X11]# whereis gdm gdm: /usr/bin/gdm [root@taz /etc/X11]# ln −sf /usr/bin/gdm prefdm [root@taz /etc/X11]# ls −l prefdm lrwxrwxrwx 1 root root 12 déc 5 18:51 prefdm −> /usr/bin/gdm* La même méthode s'applique pour XDM ou n'importe quel autre display manager. L'image sur le moniteur est trop petite / trop grande / décalée / tordue, etc. Bon, là c'est (presque) un faux problème : normalement, si vous avez un moniteur pas trop vieux, vous pouvez contrôler l'apparence de l'image (taille & position, géométrie (rotation, pincussion, trapezoid, balanced pincussion, parallélogramme, j'en passe et des meilleures). Si vous n'avez pas de chance, vous avez l'ignoble (et je pèse mes mots) "win−moniteur" Philips qui ne peut être réglé que par un logiciel sous Windows. Enfin, vous pouvez utiliser le programme xvidtune, qui permet de modifier légèrement la position et la taille de l'image sur l'écran. Attention, c'est un outil avancé, qui modifie les 'timings vidéo' et les fréquences. Pour les vieux écrans à fréquence fixée, il peut en outre être dangereux. Par contre, sur les moniteurs pas trop vieux qui acceptent des plages de fréquences, c'est un outil qui peut s'avérer utile. KDE ne fonctionne plus correctement (partie écrite par Fred) • La variable $KDEDIR n'existe plus ou désigne un autre répertoire que celui de l'installation de KDE Pour une raison ou une autre, les fichiers .bashrc et consorts ont été modifiés (voir en particulier les fichiers de /etc/profile.d/) et $KDEDIR n'existe plus ou est fausse. Pour le savoir : [user@becane home]$ echo $KDEDIR /usr Si KDE est installé dans /usr tout va bien, votre problème est ailleurs, si KDE est installé ailleurs ou si aucune valeur est renvoyée, il faut modifier la variable KDEDIR par une commande du type : [user@becane home]$ export KDEDIR=/usr si kde est installé dans /usr/bin (c'est l'option par défaut avec la Mandrake). Si ça règle votre problème, il faut modifier vos fichiers de configuration (par exemple /etc/bashrc, /etc/profile, etc...) de façon que cette variable soit fixée. • Vos fichiers de démarrage de KDE sont corrompus Le problème est de savoir lequel. Une méthode pénible est de déplacer le répertoire ~/.kde vers ~/kde.bak et de redémarrer KDE, puis de refaire la configuration à la main. Vous pouves aussi copier depuis ~/kde.bak vers ~/.kde les fichiers de configuration dont vous êtes sûr qu'ils n'empêchent pas KDE de démarrer correctement. • Vous avez un problème avec les types mime Déplacez le répertoire ~/.kde/share/mimelnk et redémarrez KDE. Puis copiez un par un les mimelnk pour trouver le fautif. • à compléter. Impossible de démarrer X • Je n'ai pas l'écran de connexion, et l'écran clignote. Que faire ? Ce problème arrive fréquemment si vous avez modifié la configuration de X, essayé d'ajouter des fontes ou modifié la configuration du serveur de fontes xfs, ceci sans tester que X démarrait toujours avant de rebouter votre ordinateur. Bon, pour une raison ou une autre, X refuse de démarrer. Et si votre PC démarre habituellement en mode graphique, l'écran est noir et n'arrête pas de clignoter (voire il émet des claquements), et vous ne pouvez rien faire. Nous allons essayer de résoudre le problème. Configuration du système X Window 149 Problèmes et questions D'abord, nous allons devoir redémarrer en mode texte (runlevel 3) afin de pouvoir faire quelquechose. Pour rebouter proprement, pressez Ctrl−Alt−Suppr. Vous allez alors voir la procédure habituelle d'arrêt. Pour démarrer en runlevel 3, il faut passer au noyau le paramètre "3", ce qui indique au noyau en quel mode (runlevel) il doit démarrer. Si vous démarrez avec LILO, tapez "linux 3" au boot, si vous démarrez avec LOADLIN, ajoutez "3" à votre ligne de commande, etc. Ensuite, connectez vous en tant qu'un utilisateur normal (appelons le user), et démarrez X à la main pour voir ce qui ne va pas : [user@taz user]$ startx > startx.log 2>&1 La suite de la ligne de commande après le startx fait que toutes les sorties écran ont été redirigées vers le fichier startx.log. Ce fichier contient tous les messages habituels de démarrage, plus les erreurs. Vous pouvez le consulter avec la commande : [user@taz user]$ more startx.log ([Espace] pour avancer d'une page, [B] pour revenir en arrière, [Q] pour quitter). Les messages présents dans ce fichier devraient vous indiquer la cause du problème, et vous pourrez la résoudre. S'il y a un problème avec le 'font server' ou un problème de 'font path "unix/:−1"', il est probable que vous avez un problème avec votre serveur de fontes. Reportez−vous à la rubrique correspondante. Sinon, vérifiez que vous avez le bon serveur X, essayez de vous rappeler ce que vous avez changé auparavant, et lisez attentivement le fichier généré pour voir ce qui ne va pas. • Un autre problème qui peut arriver : vous avez l'écran de connection, vous tapez votre nom d'utilisateur et votre mot de passe, mais l'écran s'efface, puis vous revenez à l'écran de connexion. Comme expliqué dans le glossaire, lorsque vous lancez votre ordinateur sous Linux, si vous avez choisi le mode de démarrage graphique, vous arrivez sous X sur un écran vous permettant de saisir votre username et votre mot de passe. C'est le display manager, ou DM. Le DM de base s'appelle XDM ou X Display Manager. Il est livré avec le serveur X. KDE ou Gnome proposent leurs propres DM, respectivement KDM et GDM, qui ont le même look que l'environnement d'où ils sont tirés. Lorsque vous vous connectez, le DM "disparaît" (laisse le controle du terminal tty7 à un programme particulier défini dans /etc/X11/xdm/Xsession serait plus précis) pour laisser la place à un gestionnaire de fenêtre (fvwm2, etc.) ou à un environnement de bureau (Gnome, KDE...). Lorsque vous quitterez ce client X, le système redémarrera le DM (le DM reprendra la main, en fait il n'a jamais disparu, puisque on peut se connecter plusieurs fois, via ce DM, à cette machine par le réseau avec par exemple X −indirect <MACHINE>) et vous vous retrouvez à l'écran de connexion. Vous commencez à voir ce qui cloche ? Vraisemblablement, votre gestionnaire de fenêtre ou votre environnement de bureau est mal configuré, et s'arrête tout de suite, sans même afficher une boîte de dialogue. (Cela arrive souvent quand vous avez un installez un window manager dans un répertoire qui n'est pas dans le PATH.) Le display manager redémarre alors tout de suite. Essayez alors de vous connecter en changeant d'environnement. Si vous utilisez KDM choisissez failsafe comme mode de connection, et lancer votre environement habituel à la main : startkde pour KDE, gnome−session pour Gnome, enlightenment pour enlightenment. Observer en particulier si les chemins sont valides. Si vous n'utilisez pas KDM, changez le programme de démarrage de manière que celui−ci soit xterm (c'est ce que fait le mode failsafe de KDM) cela vous permettra de lancer tous les programmes que vous souhaitez pour résoudre le problème. Attention : dans les deux cas vous n'avez, au début, pas de gestionnaire de fenetre, ce qui vous oblige à faire attention aux positions des fenetres à la main, et faites attention à mettre le curseur de la souris dans la fenetre dans laquelle vous souhaitez taper. Si cela ne fonctionne pas, passez sur une console texte (Ctrl−Alt−F2 par exemple), puis connectez vous en tant que simple utilisateur. Lancez ensuite à la main "startx" : l'environnement graphique va se lancer, puis devrait s'arrêter. Vous verrez alors dans votre console texte les messages d'erreur relatifs au problème qui vous occupe. Pour voir l'ensemble des messages affichés par startx, vous pouvez taper : [root@taz root]# startx > startx.log 2>&1 puis consulter le fichier startx.log qui contiendra tout ce qui s'affiche normalement à l'écran. Note: si le DM est chargé, ce qui précéde ne fonctionnera pas tant que vous l'aurez pas déchargé. La méthode la plus simple est de se connecter en tant que superutilisteur sur une console texte et de passer en runlevel 3 par : [root@taz root]# init 3 Vous pouvez aussi essayez de démarrer le display manager en enregistrant les messages qu'il produit : [root@taz root]# /etc/X11/prefdm −nodaemon > prefdm.log 2>&1 Le fichier prefdm.log contient tous les messages, normaux et d'erreur. Essayez ensuite de vous connecter, puis quittez le display manager et regardez le fichier prefdm.log afin de diagnostiquer l'erreur. Quand vous réglez le problème, repassez en runlevel 5 (init 5). 150 Configuration du système X Windo Problèmes et questio Note : prefdm représente votre display manager préféré, prefdm a été introduit avec les distributions RedHat 6.0 / Mandrake 6.0. Dans d'autres distributions, vous pourrez avoir besoin de remplacer /etc/X11/prefdm par votre display manager (xdm, kdm, gdm, etc...), peut−être avec son chemin d'accès (exemple : /usr/X11R6/bin/xdm ou /usr/bin/kdm). • Vous venez d'installer XFree86 4.0 via les rpms XFree86*−4.0−6mdk.i586.rpm (disponibles sur rufus.w3.org) Il y a un petit problème, après avoir lancé xf86config pour configurer le nouvel XFree86 tout neuf, le lien /etc/X11/X ne pointe pas vers /usr/X11R6/bin/XFree86, donc créez le ! Modifier aussi le fichier /etc/X11/XF86Config en décommantant la ligne Load "glx" pour que le support de OpenGL soit correctement pris en compte ! A propos d'OpenGL, les binaires XFree86−4.0 n'inclu pas libGLU.so.* il faut les trouver dans Mesa−3.2 (aussi sur rufus) attention vous aurez un problème avec libGL.so.* qui est présent dans les deux rpm, utilisez −−force −−nodeps pour forcer l'installation de Mesa en premier − pour que le libGL soit celui de XFree86−4.0 !) Problèmes de fontes : le serveur de fontes (xfs) Les distributions actuelles (à partir de RedHat 6.0, Mandrake 6.0) utilisent par défaut un serveur de fontes : xfs. En fait, vous n'êtes pas obligés d'avoir un serveur de fontes : X sait très bien se débrouiller tout seul pour un certain nombre de fontes. Cependant, l'utilisation d'un serveur de fontes améliore un certain nombre de choses, dont la qualité de l'affichage des fontes, et la gestion des fontes True Type. Mais qu'est−ce que le serveur de fontes ? C'est un programme à qui X s'adresse pour calculer l'image des fontes demandée par les clients X (les applications tournant sous X). Le serveur de fontes, comme les programmes sous X, bénéficie d'une interface réseau : sur votre réseau, il suffit de faire tourner un seul serveur de fontes sur un seul ordinateur, les autres pouvant s'en servir comme point central pour récupérer les fontes. Configuration de X pour utiliser le serveur de fontes : Il suffit de modifier le fichier /etc/X11/XF86Config, et d'ajouter une ligne FontPath dans la section Files. Par exemple : Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "unix/:−1" EndSection Note : il peut etre plus judicieux de faire en sorte que le port de communication entre le serveur X et xfs ne soit pas −1 mais plutot 7100 (et suivant) en modifiant le script /etc/rc.d/init.d/xfs de façon que les lignes : xfs −port −1 soient remplacées par xfs −port 7100. Ce qui permet d'utiliser, dans un réseau, un seul serveur de police sur une seule machine (voir plus bas). L'installation par défaut de RedHat ou Mandrake laisse juste une ligne FontPath pointant vers le serveur de fontes, comme ci−dessus. Néanmoins, s'il arrive quelquechose au serveur de fontes (par exemple si à cause d'une mauvaise configuration, il refuse de démarrer au boot), X ne pourra pas démarrer, ce qui pourra conduire à l'impossibilité de se connecter à votre ordinateur (voir ci−dessus). Aussi, il peut être bon d'ajouter un ou deux FontPaths après celui du serveur, afin que X démarre même si xfs est tombé, comme ci−dessous : Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "unix/:−1" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" FontPath "/usr/X11R6/lib/X11/fonts/misc/" EndSection Attention, n'ajoutez pas de FontPath pointant vers un répertoire de fontes True Type : X est incapable de les gérer seul, sans serveur de fontes (voir ci−dessous pourinstaller les fontes True Type). Problèmes de fontes : installer/ajouter des fontes True Type Préliminaire : vous avez le serveur de fontes xfs qui est installé. Les distributions RedHat et Mandrake à partir de leur version 6.0 l'incluent, vérifiez si vous l'avez installé (rpm −qa | grep xfs par exemple). Sinon, installez le package rpm correspondant (rpm −Uvh xfs−*.rpm). Une autre méthode consiste à utiliser un deuxième serveur de fontes, xfstt, à essayer si ce qui suit ne fonctionne pas chez vous (voir plus bas). Regardons d'abord si un endroit est déjà prévu pour les fontes True Type : [root@taz root]# chkfontpath −−list ou encore, regardez le contenu du fichier de configuration du serveur de fontes : [root@taz root]# more /etc/X11/fs/config Vous devriez voir un chemin avec le mot TrueType ou ttf dedans ou... Par exemple /usr/share/fonts/TrueType ou /usr/X11R6/lib/X11/fonts/ttfonts. Configuration du système X Window 151 Problèmes et questions • Créer un répertoire : Bien que vous puissiez ajouter les fontes True Type directement dans l'un des répertoire cités ci−dessus, je vous recommande de créer un autre répertoire pour vos propres fontes. C'est souvent nécessaire parce que quelques fontes du répertoire ttfonts peuvent être cassées et entraîner un fichier font.dir corrompu si utilisé avec 'ttmkfdir' et 'mkfontdir'. Par exemple : [root@taz root]# mkdir /usr/X11R6/lib/X11/fonts/userttfonts [root@taz root]# cd /usr/X11R6/lib/X11/fonts/userttfonts Mettez−lui les mêmes permissions que les autres répertoires de fontes (avec chmod, voir rubrique permissions). • Copier les fontes dans le répertoire : Une fois là, vous pouvez soit copier les fontes dans ce répertoire, soit simplement placer dans ce répertoire des liens symboliques vers des fontes se trouvant ailleurs. Supposons par exemple que vous souhaitiez récupérer les fontes présentes dans votre Windows 95, dont la partition est montée dans /dosc. Pour les copier faites : [root@taz userttfonts]# cp /dosc/windows/fonts/*.ttf . ou bien, faites juste des liens dessus (vous économiserez de la place, mais vous devez vous assurer que la partition /dosc est montée en permanence) : [root@taz userttfonts]# ln −s /dosc/windows/fonts/*.ttf . Remarque : assurez−vous que les noms des fichiers copiés ou des liens soient en minuscules. • Ajouter le répertoire à la liste des répertoires de fontes : soit en éditant le fichier de configuration du serveur de fontes, soit en tapant : [root@taz userttfonts]# chkfontpath −−add /usr/X11R6/lib/X11/fonts/userttfonts • Faire prendre en compte les fontes par le serveur : Il vous reste juste à enregistrer les fontes dans le serveur, c'est à dire de créer le fichier fonts.dir, puis de relancer le serveur de fontes par les commandes (dans /usr/X11R6/lib/X11/fonts/userttfonts) : [root@taz userttfonts]# ttmkfdir > fonts.scale La commande précédente crée le fichier fonts.scale, dont va se servir mkfontdir pour créer le fichier fonts.dir : [root@taz userttfonts]# mkfontdir Remarque : Chez moi, j'utilise parfois un autre programme : mkttfdir qui reconnait parfois plus de fontes, parfois moins, ou d'autres fontes... Bref, vous pouvez l'essayer. mkttfdir provient du package perlftlib (si vous ne l'avez pas sur le CD de votre distrib, cherchez−le par exemple sur rufus.w3.org). Comme je disais, mkttfdir ne reconnaît pas toutes les fontes TrueType. Si c'est votre cas, éditez le fichier fonts.dir dans votre éditeur de texte préféré, et copiez une ligne quelconque en l'adaptant à la fonte que mkttfdir n'a pas vue ; ajoutez aussi 1 au nombre qui se trouve sur la première ligne. Pour utiliser mkttfdir et créer le fichier fonts.dir, remplacez les deux commandes précédentes par : [root@taz userttfonts]# mkttfdir • Afin que les fontes soient disponibles tout de suite (et non après redémarrage), vous devez demander au serveur X de relire la liste des fontes. Pour ce faire, l'utilisateur actuellement connecté sous X doit taper dans une console : [user@taz user]$ xset fp rehash ou bien, redémarrez X (par l'appui simultané de [Ctrl]−[Alt]−[Backspace]). Avant de redémarrer, lisez la note ci−dessous, cela pourra vous épargner bien des problèmes. Attention : pour tourner, X a besoin d'un minimum de fontes. Si votre nouvelle configuration les lui supprime, que vous ayez accidentellement supprimé un répertoire de fontes, ou que le serveur de fontes ne redémarre pas, je vous conseille de modifier le fichier de configuration de X afin de lui permettre d'utiliser certaines fontes, même sans serveur de fontes, et de pendre certaines précautions : • Dans le fichier /etc/X11/XF86Config ajoutez quelques répertoires de fontes après le FontPath du serveur de fontes "unix/:−1" : Section "Files" 152 Configuration du système X Windo Problèmes et questio RgbPath FontPath FontPath FontPath EndSection "/usr/X11R6/lib/X11/rgb" "unix/:−1" "/usr/X11R6/lib/X11/fonts/misc/" "/usr/X11R6/lib/X11/fonts/75dpi/" Attention, n'ajoutez pas de FontPath pointant vers un répertoire de fontes True Type : X est incapable de les gérer seul, sans serveur de fontes. • Dans le fichier de configuration du serveur de fontes (/etc/X11/fs/config), ajoutez après le chemin des fontes True Type, le chemin des fontes "normales", dont /usr/X11R6/lib/X11/fonts/misc/, etc. • Enfin, après avoir redémarré le serveur de fontes, vérifiez que tout s'est bien passé : [root@taz userttfonts]# /etc/rc.d/init.d/xfs restart [root@taz userttfonts]# /etc/rc.d/init.d/xfs status Si xfs ne toune pas, corrigez les erreurs ou bien revenez en arrière, et relancez−le puis vérifiez son statut, jusqu'à ce que celui−ci soit bon. Ces précautions vous épargnerons bien des problèmes par la suite (impossible de démarrer, etc.). Solution alternative : utiliser xfstt xfstt est un autre serveur de fontes, qui reconnaît nativement les fontes true type. Plutôt que de modifier la config de xfs, vous pouvez faire cohabiter les deux serveurs de fontes sans problème, et utiliser xfstt pour les fontes true type. Pour trouver ce serveur, allez par exemple le chercher sur freshmeat ou rufus, puis installez−le. De la même manière que ci−dessus, copiez (ou liez) vos fontes true type dans /usr/share/fontes/truetype (répertoire par défaut de xfstt, qui peut être modifié), puis dans ce répertoire, faire : [root@taz truetype]# xfstt −−sync Enfin, dans /etc/X11/XF86Config (Redhat et compatibles) ou /etc/XF86Config (Slackware), ajoutez un FontPath du type : FontPath "unix/:7101" et dans un script de démarrage (/etc/rc.d/rc.local par exemple) placer la ligne ci−dessous : xfstt & A partir de là, pour faire prendre les fontes en compte, soit vous redémarrez simplement (beurk), soit : 1. dans une console texte, en root, vous lancez "xfstt &", 2. vous redémarrez X par [Ctrl]−[Alt]−[Backspace]. Problèmes de lenteur de X Deux causes principales peuvent rendre X Window très lent : 1. Pas assez de mémoire : le système swappe comme un fou Les applications graphiques sont assez gourmandes en mémoire. Si vous n'avez que peu de mémoire vive (32 Mo est le minimum minimorum conseillé), le système va swapper constamment (le disque dur "gratte") et être très (trop) lent :( La seule solution consiste soit à ajouter de la mémoire, soit à utiliser des applications moins gourmandes en mémoire (KDE est gourmand, sur une petite configuration, vous pouvez le remplacer avec bonheur par Window Maker par exemple). 2. Réseau mal configuré Sous Linux tout est basé sur le réseau, X ne déroge pas à la règle et se sert aussi de la configuration réseau de la machine. Les lenteurs de ce style sont souvent dues à un réseau mal configuré (même si vous n'avez pas de carte réseau, la couche réseau existe et est configurée de façon minimale) : par exemple un gateway (routeur) ou un nameserver (serveur de noms, DNS) inexistants, etc. La solution consiste à vérifier tous les paramètres réseau, notamment ceux donnés lors de l'installation. Regardez le contenu de /etc/resolv.conf, des fichiers de config réseau dans /etc/sysconfig (distribs RedHat ou Mandrake par exemple), ou des scrips de démarrage dans /etc/rc.d à la partie traitant de la mise en route du réseau... Utilisation d'un poste comme terminal X (partie écrite par Fred) Supposons que vous ayez deux (ou plus) postes Linux correctement configurés pour le réseau et pour X et que l'un des postes ne dispose que d'un petit disque dur, de peu de RAM d'un processeur très ancien... bref c'est un sassefépu, et l'autre c'est un poste dernier cri (un Pentium IV − 50 Gigahertz 50 Go de ram, 50 To de disque dur...), il peut être intéressant de ce connecter depuis le "petit" poste vers le "gros" (se seront les noms réseau que je vais utiliser) comme si on était toujours sur le gros ! En effet, le petit poste ne gèrera alors plus que l'affichage, et profitera de la rapidité du gros. La solution : éditer le fichier /etc/inittab du "petit" et transformer la ligne : x:5:respawn:/etc/X11/prefdm −nodaemon en : x:5:respawn:/etc/X11/X −query gros Configuration du système X Window 153 Problèmes et questions puis de redémarrer votre "petit" poste. Attention le "gros" poste doit être disponible, sinon vous allez voir l'écran de votre "petit" poste clignoter et faire des bruits suspects jusqu'a ce que vous vous décidiez à abréger ses tourments. Un problème va rapidement apparaître : sur votre "gros" poste vous avez installé 200 000 polices de caractères et seulement 10 sur le "petit" poste et vous n'en voyez donc que 10 depuis n'importe quelle application utilisée depuis le "petit" poste meme si elle s'exécute sur le "gros" ! C'est pas sympa ! La solution numéro un, est d'installer toutes vos polices sur le "petit", c'est pénible, et si vous avez 200 "petits" postes ce n'est pas une solution envisageable si vous souhaitez pouvoir ajouter des polices régulièrement ! La meilleure solution est fournie par X soi−même : le serveur de polices xfs ! Il faut démarrer le serveur de police sur le "gros" et n'utiliser que ce chemin − gardez quand même les chemins des polices nécessaires au fonctionnement de X − pour vos polices en faisant attention que le port de communication de xfs ne soit pas −1 (ce port ne peut être utilisé qu'en local !) prendre comme port, par exemple, 7100 (et suivants). Et utiliser, pour tous les petits postes le serveur de polices du "gros", (pour information le chemin à utiliser est tcp/gros:7100) Sur une distribution Mandrake, le démarrage du serveur de police est assuré par le script /etc/rc.d/init.d/xfs. Mais le port utilisé est −1 ! Il suffit de le changer en 7100, de modifier /etc/XF86Config (remplacer Fontpath "unix:−1" par Fontpath "tcp/gros:7100" ) pour refléter ce changement et de redémarrer le serveur de polices et X sur le gros. Ne pas oublier, sur les "petits" postes de ne pas démarrer le serveur de police : ça occupe inutilement le CPU des petits postes. Si vous avez plusieurs "gros" postes, la configuration est la même. Mais pour les petits, il est intéressant de pouvoir choisir sur quel "gros" se logguer, la solution : remplacer /etc/X11/X −query gros par /etc/X11/X −indirect gros sur les "petits" /etc/inittab. A noter, lors du choix de la machine sur laquelle se logguer, on peut voir la charge de celle−ci, cela peut aider à faire son choix. 154 Configuration du système X Windo NumLock et X Window : La solution d NumLock et X Window : La solution définitive par Fred Sur ce même site on vous indique un truc pour permettre l'activation de Num Lock au démarrage de X Window, mais cette astuce présente l'inconvénient de désactiver les fonctionnalités de cette touche. Heureusement, au royaume de Linux, il existe une solution. La solution La solution à ce problème est pourtant simple (en théorie), il suffit de forcer X Window à "taper" lui−même virtuellement sur la touche Num Lock. Seulement, si la théorie est simple, la réalisation demande un peu programmation de X, ce qui n'est pas donné à tout le monde. Vous y avez pensé, Lubos Lunak <l.lunak@email.cz> l'a fait. Note : Depuis la version 7.2 de la Mandrake (au moins), un équivalent de numlockx est fourni en standard (dans le package nommé : numlock−xxx.rpm). Le programme à utiliser s'appelle : enable_X11_numlock. Il fonctionne de la même manière que numlockx pour la bonne raison que c'est le programme de Lubos qui est utilisé. Installation du programme Téléchargez le source sur le site de numlockx. Puis décompressez−le : $ tar xzf numlockx−0.2.tar.gz Puis compilez le : $ $ $ $ cd numlockx−0.2 ./configure make su −c "make install" Et voilà c'est tout ! Si la compilation se termine par une erreur, c'est qu'il vous manque certains paquetages de développement (XFree86−devel−*). Installez les et recommencez. Syntaxe de numlockx Pour activer le verrouillage du pavé numérique il suffit de taper : numlockx on ou : numlockx Pour désactiver le verrouillage, vous taperez : numlockx off Et pour changer (off devient on, et on devient off) le verrouillage, vous taperez : numlockx switch C'est tout simple. Activation au démarrage Avec xdm et kdm Pour activer au démarrage de X la touche Num Lock, il suffit Si vous utilisez [x|k]dm pour lancer X, il faut ajouter, au script /etc/X11/xdm/Xsetup_0, les lignes suivantes : if [ −x /usr/X11R6/bin/numlockx ]; then /usr/X11R6/bin/numlockx on fi puis relancer X en appuyant en même temps sur <CTRL>+<ALT>+<BackSpace>. Normalement votre touche Num Lock doit être activée. Sur votre distribution, numlockx peut s'appeler enable_X11_numlock (Mandrake par exemple, avec le package numlock−>version<.i586.rpm). Avec gdm Il faut ajouter les même lignes au script /etc/X11/gdm/Init/Default. Puis relancer X en appuyant en même temps sur <CTRL>+<ALT>+<BackSpace>. Normalement votre touche Num Lock doit être activée. Configuration du système X Window 155 Activation au démarrage Avec startx Vous lancez X en tapant startx, il faut ajouter ces mêmes lignes au script ~/.xinitrc. Pour les curieux Voici ci−dessous le source de la première version de numlockx, qui donne le principe de fonctionnement de ce programme, somme toute simple pour qui connaît un peu la programmation de X Window. numlockx.c −−−−−−−−−−−−−Copier à partir de là−−−−−−−−−−−−−−− #include <X11/extensions/XTest.h> #include <X11/keysym.h> int main() { Display* disp = XOpenDisplay( NULL ); if( disp == NULL ) return 1; XTestFakeKeyEvent( disp, XKeysymToKeycode( disp, XK_Num_Lock ), True, CurrentTime ); XTestFakeKeyEvent( disp, XKeysymToKeycode( disp, XK_Num_Lock ), False, CurrentTime ); XCloseDisplay( disp ); return 0; } −−−−−−−−−−−−−Copier jusque là−−−−−−−−−−−−−−−−−−−− Pour compiler, tapez (sur une seule ligne) : gcc numlockx.c −o numlockx −lX11 −lXtst −I/usr/X11R6/include −L/usr/X11R6/lib Puis vous pouvez lancer par ./numlockx pour activer le pavé numérique. (Cette version simplifiée ne dispose pas des arguments on, off et switch). 156 Configuration du système X Windo Choisir son Gestionnaire de fenêtre à la c Choisir son Gestionnaire de fenêtre à la connection par Fred Lorsque l'on se connecte à Linux en mode graphique on utilise un DM (Display Manager). Celui−ci permet (souvent) de choisir le gestionnaire de fenêtres ou l'environnement à lancer, mais comment cela marche−t−il ? Nous allons donc voir ci−dessous comment configurer le gestionnaire de connexion afin de choisir son environnement préféré sous X (KDE, Gnome, Afterstep, WindowMaker, fvwm,... ou même pourquoi pas olwm, mwm ou twm !). Utilisons KDM Il existe plusieurs DM, mais celui qui me paraît le plus facilement configurable est celui livré avec KDE : kdm (bien que je préfère Gnome à KDE). De plus, ce DM est celui qui est installé par défaut avec ma distribution préférée : La Mandrake. La raison ce choix est que toute la configuration se fait dans une boîte de dialogue à la fois simple et claire. Remarque : le display manager par défaut de XFree se nomme xdm, celui de Gnome, gdm. Pour installer KDM, rien de plus simple, il faut installer les paquetages de base de KDE (qt, kdesupport, kdelibs et kdebase). Si vous utilisez une distribution récente (autre que Debian : ils n'aiment pas la QPL chez Debian !) les paquetages doivent être présent sur le CD de votre distribution, mais si ce n'est pas le cas, ou si vous avez perdu les CD, vous pouvez toujours télécharger les paquetages soit sur le site de KDE, soit sur le site de rufus. Je vous conseille de vérifier que KDE n'est pas déjà installé, pour une distribution utilisant le système de paquetages rpm il faut taper (dans un terminal) : [fred@localhost fred]$ rpm −q kdebase kdebase−1.1.2−30mdk Si vous obtenez ce résultat (ou similaire) passez à la section suivante. Sinon, KDE n'est pas installé, il nous faut l'installer, là c'est très simple, mais il faut être root, procurez vous les paquetages correspondant à votre distribution, et installez−les, par exemple voici ce qu'il faut faire avec les distributions utilisants RPM (SuSE, Mandrake, RedHat ...), les numéros de version pouvant bien sûr différer : [root@localhost [root@localhost [root@localhost [root@localhost home]# home]# home]# home]# rpm rpm rpm rpm −i −i −i −i qt−1.44−15mdk.i586.rpm kdesupport−1.1.2−11mdk.i586.rpm kdelibs−1.1.2−14mdk.i586.rpm kdebase−1.1.2−30mdk.i586.rpm C'est fait, KDE est installé ! Configurons KDM La configuration de KDM est pratiquement triviale. Il suffit de lancer kdmconfig ou d'y accéder via le panneau de configuration de KDE (kcontrol) via Applications−>Gestionnaire de connexions. Les onglets apparence, polices et arrière plan Sur ces pages, vous pouvez mettre ce que bon vous semble, elles ne servent que pour configurer l'apparence de KDM. Un conseil toutefois, le choix de la police peut conduire à quelques problèmes si celle que vous choisissez n'est pas disponible au moment du lancement de KDM, donc prudence. L'onglet utilisateurs Cette page sert à choisir si KDM vous proposera une liste d'utilisateurs ou non. Cela peut éviter d'avoir à taper le nom de l'utilisateur lors de la connection : un clic sur l'utilisateur et le voilà sélectionné. Pour activer cette option, cocher la case <Lister les utilisateurs>. L'onglet sessions C'est la page qui nous intéresse pour choisir le gestionnaire de fenêtres que nous chargerons à la connection. Dans la boite liste intitulé <Types disponibles> vous devez insérer une entrée par gestionnaire de fenètre que vous souhaitez proposer. Par exemple, vous pouvez y ajouter : • WindowMaker • Enlightenment • Blackbox • Sawfish • etc... Le fait d'ajouter ces entrées dans cette liste ne signifie pas que vous pourrez effectivement les utiliser, il signifie seulement que ces Gestionnaires de fenêtre vous seront proposés à la connection. L'orthographe de chacune des entrées est libre, mais sera réutilisée par la suite dans le script qui lance le gestionnaire correspondant (voir ci−dessous). Remarque : Dans les différentes entrées qui existent déjà, l'une d'elle se nomme failsafe cette entrée n'est pas faite pour lancer un gestionnaire de fenêtre, son comportement par défaut est de lancer un terminal sans gestionnaire de fenêtre, vous pouvez essayer, pour voir. Si vous voulez dans ce mode Configuration du système X Window 157 Configurons KDM lancer un gestionnaire de fenêtre, c'est très simple, il suffit de lancer dans ce terminal le gestionnaire de fenêtre (en tapant par exemple : "enlightenment &" ou "kwm &"). Ce mode permet de tester la commande qu'il convient de lancer pour activer tel ou tel gestionnaire de fenêtre. Il permet aussi de démarrer une session quand quelque chose ne fonctionne plus. Maintenant il faut dire à KDM ce qu'il doit faire quand on a choisi tel ou tel gestionnaire de fenêtres. Cela se fait en créant/modifiant le fichier /etc/X11/xdm/Xsession. Le fichier /etc/X11/xdm/Xsession. Voici le mien : #!/bin/bash −login # on est en train de se loguer, donc on le dit à bash ! # on envoie les erreurs dans un des fichiers suivants # (le premier trouvé !) for errfile in "$HOME/.xsession−errors" \ "${TMPDIR−/tmp}/xses−$USER" \ "/tmp/xses−$USER" do if ( cp /dev/null "$errfile" 2> /dev/null ) then chmod 600 "$errfile" exec > "$errfile" 2>&1 break fi done # ici on trouve les fichiers de ressources # par défaut et ceux de l'utilisateur # qui vient de se loguer userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap sysresources=/etc/X11/xinit/Xresources sysmodmap=/etc/X11/xinit/Xmodmap # pour être compatible avec les anciennes # version de X : oldsysresources=/etc/X11/xinit/.Xresources oldsysmodmap=/etc/X11/xinit/.Xmodmap # on active ces différentes ressources : if [ −f $oldsysresources ]; then xrdb −merge $oldsysresources fi if [ −f $sysresources ]; then xrdb −merge $sysresources fi if [ −f $userresources ]; then xrdb −merge $userresources fi # # # # # # on active un autre clavier si c'est précisé dans les variables $sysxkbmap et $userxkbmap : a priori ca sert à rien mais comme ça vient du Xsession initial je l'ai laissé. if [ −f $sysxkbmap ]; then setxkbmap `cat $sysxkbmap` XKB_IN_USE=yes fi if [ −f $userxkbmap ]; then setxkbmap `cat $userxkbmap` XKB_IN_USE=yes fi 158 Configuration du système X Windo Configurons KDM if [ −z $XKB_IN_USE −a ! −L /etc/X11/X ]; then if grep '^exec.*/Xsun' /etc/X11/X > /dev/null 2>&1 \ && [ −f /etc/X11/XF86Config ]; then xkbsymbols= \ `sed −n −e 's/^[ ]*XkbSymbols[ ]*"\(.*\)".*$/\1/p'` if [ −n "$xkbsymbols" ]; then setxkbmap −symbols "$xkbsymbols" XKB_IN_USE=yes fi fi fi # xkb et xmodmap ne sont pas vraiment compatibles if [ −z $XKB_IN_USE ]; then if [ −f $oldsysmodmap ]; then xmodmap $oldsysmodmap fi if [ −f $sysmodmap ]; then xmodmap $sysmodmap fi if [ −f $usermodmap ]; then xmodmap $usermodmap fi fi unset XKB_IN_USE # on lance tous les scripts exécutables de # /etc/X11/xinit/xinitrc.d/ for i in /etc/X11/xinit/xinitrc.d/* ; do if [ −x $i ]; then . $i fi done # # # # # # # # # Voilà la partie qui nous intéresse : lorsque kdm lance ce script, il lui passe en premier paramètre l'une des entrées que vous avez validées dans kdmconfig (respect des majuscules et des minuscules) donc, pour chacune des entrées vous devez ajouter quelque chose comme ce qui est en gras : case $# in 1) # il y a bien au moins un paramètre case $1 in gnome) # ici vous pouvez mettre n'importe # quelle commande exec gnome−session # ce n'est pas comme un case C ! ;; kde) exec startkde ;; *) # par defaut on lance un terminal : exec xterm −geometry 80x24−0−0 ;; esac esac # # # # Si le dm n'est pas kdm, il peut ne pas renvoyer de paramètre dans ce cas on lance le premier des fichiers suivant : Configuration du système X Window 159 Configurons KDM if [ −x "$HOME/.xsession" ]; then exec "$HOME/.xsession" elif [ −x "$HOME/.Xclients" ]; then exec "$HOME/.Xclients" elif [ −x /etc/X11/xinit/Xclients ]; then exec /etc/X11/xinit/Xclients else # normalement on ne devrait # jamais arriver ici, mais # au cas ou ... exec xsm fi Comment ça marche ? Ce n'est pas très complexe, lorsque vous validez votre login et votre mot de passe depuis KDM, celui−ci vérifie que ceux−ci sont bien valides. Lorsque c'est fait, il lance (tôt ou tard) le script /etc/X11/xdm/Xsession (qui doit être éxecutable) en lui passant comme paramètre le nom du gestionnaire de fenêtre choisi par l'utilisateur (c'est la petite liste déroulante en bas à gauche de la fenêtre de KDM). Il suffit donc, dans ce script, de faire un test (ce sont les deux case) et d'exécuter en conséquence les bonnes actions pour lancer le bon gestionnaire de fenêtre. Donc, pour chaque gestionnaire de fenêtre, vous pouvez ajouter un test de plus dans le case ainsi que les commandes qui lancent ce nouveau gestionnaire de fenêtre. Puis, vous redémarrez X par <CTRL>+<ALT>+<BACKSPACE> si vous êtes sous X, ou startx si vous êtes en mode texte. 160 Configuration du système X Windo Installation de polices pour X, GhostScript et Installation de polices pour X, GhostScript et StarOffice par Fred Vous avez plein de polices vectorielles TrueType ou Adobe Type1, mais vous ne savez pas comment faire en sorte que X, Ghostscript et StarOffice les utilisent. Ce document est fait pour vous. Il contient l'état actuel de mes recherches sur la question. Le cas de votre serveur X. La problématique est la suivante : vous disposer de 3 polices vectorielles : police1.pfa (Adobe Type 1 ascii), police2.pfb (Adobe Type 1 binaire) et police3.ttf (TrueType) et vous souhaitez que X puisse afficher ces polices. Nous supposerons dans la suite que les deux polices type1 sont dans /usr/share/fonts/type1 et la police TrueType est dans /usr/share/fonts/ttf. Les fichiers fonts.dir et fonts.scale. Chaque répertoire contenant des polices doit contenir un fichiers fonts.dir qui permet au serveur de polices de faire le lien entre le fichier de polices et le nom xfld (le nom X window). Pour les répertoires contenant des polices Adobe Type 1 il faut aussi un fichier fonts.scale qui est semblable à fonts.dir (son rôle est de donner les différentes tailles de la police). Ces fichiers commencent par un nombre qui est le nombre des polices décrites par ce fichier. Ce nombre est suivi de lignes du type : comic.ttf −microsoft−Comic Sans MS−medium−r−normal−−0−0−0−0−p−0−fcd8859−15 Le premier champ est le nom de fichier contenant la police, le second champ est le nom xfld de cette police sous X. On peut si l'on veut modifier les deux premiers champs du nom xfld pour y mettre ce que l'on veut (vous pouvez par exemple remplacer microsoft par linux si ça vous amuse). A la vue d'une telle ligne on ne peut qu'être effrayé : "Je vais devoir écrire des lignes aussi farfelues ?". Bien sûr que non. Il existe deux utilitaires qui vont faire ce travail pour nous en extrayant les données qui conviennent directement depuis le fichier de police. Pour les polices TrueType l'utilitaire s'appelle : ttmkfdir. L'utilisation est relativement simple, puisqu'il suffit de se placer dans le répertoire contenant les polices et de taper : ttmkfdir > fonts.dir et d'ignorer les messages d'erreurs qui signalent que quelques fonts ne sont peut−être pas reconnues par l'utilitaire. Pour les polices Adobe Type 1 l'utilitaire s'appelle type1inst . Son utilisation n'est pas plus complexe : on se place dans le répertoires contenant les polices et on tape : type1inst et on ignore là aussi les messages d'erreur. Dans les deux cas on a à la fin de l'opération un fichier fonts.dir et dans le cas des polices Adobe Type 1, le fichier fonts.scale est aussi généré. Dans les cas des polices Type1, type1inst génère en plus Fontmap qui contient ce qu'il faut inclure au fichier correspondant de Ghostscript pour que GS (le petit nom de Ghostscript) puisse imprimer ces polices. Nous verrons plus loin que ce fichier ne nous servira pas tel quel : on peut l'effacer sans autre forme de procès. A partir de maintenant nous savons comment configurer nos répertoires contenant des polices vectorielles. Vous utilisez un serveur de polices (XFree 3.3.x). Et vous avez bien raison, cela permet d'utiliser la même configuration pour toutes vos machines. L'objet de ce document n'étant pas de présenter cet aspect des choses, je ne m'attarderai donc pas sur ce point. Il existe plusieurs serveurs de polices qui font l'affaire, je ne parlerais que de xfs le serveur de polices de X auquel on a appliqué les différents patchs nécessaires à la gestion des polices TrueType (c'est le cas de la version de xfs livré avec la Mandrake 6.1 et plus) Dans tous les cas, la procédure serait similaire. Je n'expliquerai pas comment l'installer (il est installé par défaut avec les distributions récentes). Le fichier de configuration de xfs est /etc/X11/fs/config (sur la Mandrake, si ce n'est pas votre cas faites man xfs pour en avoir le coeur net). Il n'est pas nécessaire d'éditer soi−même ce fichier, chkfontpath fait très bien ce travail en vérifiant en plus que les paramètres que l'on lui passe ne sont pas stupides, ce qui nous évite d'avoir un plantage pénible de X parce qu'on a mal écrit un nom de répertoire. Pour permettre à notre serveur de polices d'afficher celles que nous venons fraîchement d'installer, il nous faut dire au serveur de police que de nouveaux répertoires contenant des polices sont présents sur notre système. Pour cela nous tapons : chkfontpath −−add /usr/share/fonts/type1 chkfontpath −−add /usr/share/fonts/ttf /etc/rc.d/init.d/xfs restart La dernière ligne demande au serveur de police de recharger sa configuration. Le deux première ligne sont suffisamment claires. Pour vérifier que nos polices sont effectivement disponibles il suffit de faire : xlsfonts | less et de regarder la sortie à la recherche des polices que nous venons d'installer. Les noms affichés sont ceux reconnus par X et pas ceux que l'on aimerait trouver. Configuration du système X Window 161 Le cas de votre serveur X. Vous n'utilisez pas de serveur de polices. Pourquoi ne pas utiliser un serveur de polices ? Il suffit de récupère le rpm sur rufus.w3.org ! Le cas de ghostscript (5.10). Là, c'est enfantin : il suffit de savoir où est installé le fichier Fontmap de ghostscript (rpm −ql ghostscript | grep Fontmap devrait fournir une réponse exploitable). Supposons que ce fichier soit dans /usr/share/ghostscript/5.10/Fontmap. On édite ce fichier et on ajoute les lignes : /nom−de−police1 (/usr/share/fonts/type1/police1.pfa) ; /nom−de−police2 (/usr/share/fonts/type1/police2.pfb) ; /nom−de−police3 (/usr/share/fonts/ttf/police3.ttf) ; Rien de bien compliqué ! La seule chose importante, c'est que je crois qu'il faut que les nom doivent être sans aucun espace ! Puis dans n'importe quel fichier Postscript il suffira de préciser /nom−de−police1 pour utiliser la police1. évidemment, c'est bien joli, mais qui a déjà écrit un fichier Postscript avec ses petites mains ? Donc, passons à StarOffice qui va générer nos fichiers Postscript. Pour GS, j'ai rencontré des problèmes avec quelques polices : mais elles sont très rares. Le cas de StarOffice (5.1a). Pour ce qui est de l'affichage, toutes les applications de StarOffice (sauf StarWriter) doivent déjà être capable de fonctionner avec nos nouvelles polices. Pour l'impression et StarWriter : c'est une autre paires de manches. La configuration de StarOffice peut être un véritable cauchemar, en effet ni StarDivision, ni Sun n'ont jamais été très clairs concernant ce point particulier. De plus dans les listes de diffusions, je n'ai pas trouvé beaucoup de chose expliquant tout. La configuration de StarOffice passe par plusieurs fichiers de configuration (dont un fichier particulier puisque c'est un répertoire !). Le format de fichiers de StarOffice est propriétaire (ouh les vilains!), mais heureusement pour nous pas le format des fichiers de configuration qui nous intéresse. Réglons d'un coup le cas de StarWriter : quand le problème d'impression aura été réglé il n'en subsistera plus aucun, car StarWriter ne propose que les polices imprimables ! Le fichier SGENPRT.PS. Donc, il nous suffit de faire en sorte que StarOffice (= SO) soit capable d'imprimer nos polices. Je ne décrirai ici que le cas du conducteur de périphérique (driver) Generic Printer en liaison avec Ghostscript. Il est certain que beaucoup de choses s'appliquent au cas des imprimantes Postscript, mais je ne sais pas lesquels : offrez moi une imprimante Postscript et j'essaierai de trouver ;). Pour imprimer, il faut que le conducteur de périphérique soit au fait de nos nouvelles polices. Le fichier conduisant ghostscript est : $SOPATH/xp3/ppds/SGENPRT.PS (ou $SOPATH est le nom du répertoire contenant votre installation de SO, le répertoire principal, pas le répertoire utilisateur). Il suffit d'ajouter à ce fichier, les lignes suivantes : *Font nom−de−police1: Standard "(001.000)" Standard ROM *Font nom−de−police2: Standard "(001.000)" Standard ROM *Font nom−de−police1: Standard "(001.000)" Standard ROM Attention : nom−de−police1 DOIT être exactement le même nom que pour ghostscript ! Je ne sais pas à quoi correspond exactement le 001.000 mais il semblerait vu l'analyse que j'ai faite des fichiers *.afm dont nous verrons plus loin l'intérêt, il semblerait que ce soit une taille de polices standard (à voir...). Bon, maintenant le conducteur d'imprimante de SO sait que l'imprimante sait imprimer ces polices, mais SO ne sait pas quel est le rapport entre ces polices d'imprimante et les polices écran. Le fichier psstd.fonts. Faire le lien entre polices écran et polices d'imprimante c'est le rôle du fichier $SOPATH/xp3/psstd.fonts. Cela ne pose pas de problème particulier, il suffit d'ajouter à ce fichier des lignes du type : EUNormal, −monotype−EU Normal−medium−r−normal−−%d−%d−%d−%d−p−0−iso8859−1 Même si elles paraissent complexe, il n'est pas très compliqué de les deviner, mais c'est pas agréable à faire : il faut, pour chaque police, aller chercher dans le fichier fonts.dir correspondant la ligne décrivant la police X, on note le nom xfld. Puis on ajoute la ligne : nom−de−police1, nom−xfld où nom−xfld est le nom de police X où l'on a remplacé les champs 7, 8, 9 et 10 par %d, pour permettre à SO de choisir la taille des dites polices (quand je dit "pour", je veux dire qu'il est obligatoire que 4 champs du nom xfld soit des %d !). NDJCC : tiens, ils auraient pas programmé SO en C ou C++ ? ;−) Eh bien, on n'est pas sorti de l'auberge, quand il va s'agir d'ajouter 250 polices ! (patience, patience ...) 162 Configuration du système X Windo Le cas de StarOffice (5.1 Le répertoire fontmetrics/afm Normalement, là on croit que l'on a tout pour être heureux ! Eh bien non ! Là, SO ne sait toujours pas afficher correctement ces polices ! Il lui faut un fichier par police décrivant la métrique de la police : un fichier .afm. Pour avoir ces .afm, on a deux possibilités : • soit on les a eu avec la police (c'est souvent le cas des polices Type 1). • soit on les crée grâce à une série de scripts et d'utilitaires que le monde libre nous a fourni (merci le monde libre :). Pour les créer il faut utiliser : • type1afm (du paquetage t1lib sur la mandrake) pour les polices Type 1. • ttf2afm (du paquetage ttfutils) pour les polices TrueType. Il faut se placer dans le répertoire contenant le type de polices concernées et taper : type1afm *.pf[ab] ou : ttf2afm *.ttf Le problème est que ces fichiers ne sont pas compatibles avec SO ! Il faut les convertir ! C'est le rôle du script afm.pl auquel on passe tour à tour chaque fichier .afm. Ce scripte crée, pour chaque police : un fichier .afm.new. On s'empresse alors d'effacer le fichier .afm et de renommer le .afm.new en .afm. : for i in *.afm ; do afm.pl $i ; done rm −f *.afm.new for i in *.afm.new ; do mv $i `echo $i | sed "s/\.new//"` ; done Il faut maintenant que SO sache où trouver ces .afm, et ceux−ci doivent impérativement être dans le répertoire $SOPATH/xp3/fontmetrics/afm, et leur nom doivent être celui de la police ghostscript concernée ! C'est un régal de faire ça à la main ! Maintenant, SO est capable d'afficher la liste des polices, d'afficher les sus−dites polices et même de les imprimer. Comment automatiser tout cela. évidemment, on ne va pas se taper tout cela à la main. C'est pour cela que j'ai écrit deux scripts (pour l'instant leur configuration se fait à la main en éditant chacun des scripts, c'est pénible mais je pense que c'est assez clair...) Ajout de polices Ce script a pour but de gérer l'installation des polices qui lui sont passées par la ligne de commande. Comme je ne voulais pas que le script pose de question (pour autoriser le D&D (drag and drop) depuis KDE ou Gnome), il m'a fallu faire des choix dans la configuration. addfont.pl installe les polices TrueType dans /usr/share/fonts/addfont/ttf et les polices Type 1 dans /usr/share/fonts/addfont/type1. En contrepartie, la syntaxe est des plus simple : addfont.pl −−add path1/font1 ... pathn/fontn addfont.pl −a path1/font1 ... pathn/fontn Attention : la présence d'un répertoire est obligatoire pour chaque polices (c'est un bug. FIXED) Attention : lors de l'installation, le script ne copie pas réellement les polices dans les répertoires précités, il n'y met que des liens, donc, vous ne devez pas supprimer la police après l'avoir installée. On peut (c'est conseillé) utiliser les jokers (* et ?). Parfois le script vous renverra un message d'erreur, c'est signe qu'un fichier .afm n'a pas pu être converti : la police ne contenait pas assez d'information pour effectuer cette conversion. Il y a un bug invisible : quand addfont.pl ne trouve pas un exécutable, ou quand il n'arrive pas à effacer un fichier, il ne retourne aucun message d'erreur, cela peut être très pénible, alors prudence. Suppression de polices Il faut passer exactement les mêmes noms (les jokers sont autorisés) addfont.pl −−rem path1/font1 ... pathn/fontn addfont.pl −r path1/font1 ... pathn/fontn Ces polices seront supprimées des répertoires /usr/share/fonts/* ainsi que des fichiers de configuration de GS et SO. Il subsiste quand même quelques problème, certaine police on des noms (xfld) du type : −Galopagos Design, Inc−Matisse−*−*−*−*−*−*−*−*−*−*−*−* Configuration du système X Window 163 Comment automatiser tout cela. et cela peut perturber StarOffice à cause de l'espace dans le nom, il faudrait éditer le fichier fonts.dir correspondant et modifier cela (encore que je n'ai pas essayé). Un conseil, essayez vos polices et enlevez celles qui ne s'impriment pas. (Sur 300 polices − 150 ttf et 150 pfb − j'en ai une quinzaine qui ne fonctionnent pas correctement, et ce sont à chaque fois des polices très peu utiles) On ne peut jamais être sur que ce n'est pas la police qui est buggée. Où trouver les utilitaires Vous devez vous procurer les utilitaires suivants si vous voulez configurer vos polices : • ttf2pt1, pour convertir des polices TrueType en police Type 1 : la home page, la page de Sergey Babkin qui contient ses derniers patchs expérimentaux. • ttfutils, une série de scripts utilisant les utilitaires précédents (nécessaire pour addfont.pl et remfont.pl) : la home page, la même ailleurs • afm.pl, pour rendre les .afm compatible avec SO (si quelqu'un sait où trouver ce script − écrit par Thomas Bartschies − je lui serais reconnaissant de me contacter pour que je puisse rendre à Thomas ce qui est à lui. • addfont.pl, pour installer des polices. Tous ces utilitaires sont bien sûr libres. Conclusion La gestions des polices de caractères reste un des points faibles de Linux, j'espère avoir contribué à la rendre plus simple, et que tout ceci vous aidera à imprimer tout plein de jolies polices sous Linux. 164 Configuration du système X Windo Multi−Head ou Utiliser plusieurs écrans et/ou carte Multi−Head ou Utiliser plusieurs écrans et/ou cartes graphiques par Fred Installer et configurer plusieurs cartes graphiques (PCI et/ou AGP) et plusieurs écrans et bénéficier de leurs services. Introduction Depuis l'avènement de XFree86 4.0.x, il est possible de profiter pleinement de plusieurs écrans en même temps. Pour cela il existe plusieurs possibilités : • La première : vous avez plusieurs serveurs X en même temps et passez de l'un à l'autre en déplaçant votre souris (ceci fonctionne avec tous les Window Managers). • La seconde, peut−être la plus intéressante : vos multiples écrans se comportent comme un seul écran dont la résolution est la somme des résolutions des écrans que vous juxtaposez. Dans tous les cas, vous aurez besoin d'un gestionnaire de fenêtres capable de gérer correctement les deux écrans : c'est le Xinerama. Le seul que je connaisse est Enlightenment. Ni Kwm, ni Sawfish n'étant à l'heure où j'écris ce document capables de fonctionner correctement avec deux écrans (c'est à dire qu'ils fonctionnent mais ne permettent pas de bénéficier réellement des possibilités offertes par cette option). Donc, dans un premier temps, je vous conseille d'installer et de configurer Enlightenment (un rpm −i enlightenment−xxx.rpm devrait suffire sur une Mandrake / RedHat / SuSE). Je n'expliquerai pas ici comment procéder, et je me placerai dans le cadre de l'utilisation de ce WM à l'exclusion des autres (sauf mention contraire). Je supposerai aussi que vous avez réussi à faire fonctionner individuellement chacune des cartes graphiques que vous souhaitez installer en même temps (et que vous ne comptez pas utiliser 2 cartes AGP en même temps ;−) et que vous avez installé XFree86 4.0.x (la version que j'utilise pour rédiger cet article est la 4.0.1). Bon, passons aux choses sérieuses. Configuration du serveur X C'est relativement simple. Comme vous le savez certainement (voir rubrique X Window), la configuration du serveur X passe par l'écriture (toujours laborieuse) d'un fichier /etc/X11/XF86Config (ou /etc/X11/XF86Config−4). Ce fichier est divisé en multiples sections, chaque section commençant par Section "NomDeLaSection" et se finissant par EndSection. Nous partirons d'un fichier /etc/X11/XF86Config qui fonctionne pour l'une de vos cartes graphiques (n'importe laquelle) : dans la suite nous allons le modifier, prenez le temps d'en faire un copie (juste au cas où...). Si vous avez édité les version 3.3.x et 4.0.x de ces fichier vous avez remarqué qu'ils ont légèrement changé, les plus grandes modifications (en plus de la syntaxe) sont certainement l'ajout de sections concernant la gestion du multihead. Celles qui nous intéressent sont les sections "Monitor", "Device", "Screen" et "ServerLayout". Les sections "Monitor" Jusqu'à maintenant, dans votre /etc/X11/XF86Config, il n'y avait besoin que d'une seule section "Monitor". Maintenant il vous en faut une par écran de type différent que vous comptez installer (c'est à dire : si tous vous écrans sont identiques, nous n'avez pas besoin d'en écrire plusieurs, par contre si vos écrans sont différents il vous faut une section par type). Moi j'ai deux écrans : un 17 pouces IIYAMA Vision Master Pro 411 et un 15 pouces de chez ADI Corp. sans référence particulières, les deux sont Plug and Play sous X (je n'ai pas à m'occuper des lignes ModeLine). Mes sections "Monitor" sont : Section "Monitor" Identifier "IIYAMA" VendorName "IIYAMA" ModelName "Vision Master Pro 411" # # # # # HorizSync is in kHz unless units are specified. HorizSync may be a comma separated list of discrete values, or a comma separated list of ranges of values. NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S USER MANUAL FOR THE CORRECT NUMBERS. HorizSync 30−86 # # # # # VertRefresh is in Hz unless units are specified. VertRefresh may be a comma separated list of discrete values, or a comma separated list of ranges of values. NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S USER MANUAL FOR THE CORRECT NUMBERS. VertRefresh 50−180 EndSection Pour mon IIYAMA et : Section "Monitor" Identifier "ADI" VendorName "ADI Corp." Configuration du système X Window 165 Configuration du serveur X ModelName "15pouces" # # # # # HorizSync is in kHz unless units are specified. HorizSync may be a comma separated list of discrete values, or a comma separated list of ranges of values. NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S USER MANUAL FOR THE CORRECT NUMBERS. HorizSync 30−60 # # # # # VertRefresh is in Hz unless units are specified. VertRefresh may be a comma separated list of discrete values, or a comma separated list of ranges of values. NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S USER MANUAL FOR THE CORRECT NUMBERS. VertRefresh 50−100 EndSection pour mon ADI ; tout cela étant bien entendu dans le même fichier XF86Config. Il est possible de mettre n'importe quoi pour les variables Identifier, VendorName et ModelName, du moment que chaque moniteur a une variable Identifier différente. Par contre les valeurs à mettre pour HorizSync (synchronisation horizontale) et VertRefresh (rafraîchissement vertical) doivent être celles de vos moniteurs (si vous ne les connaissez pas, pour HorizSync commencez par 30−40 et pour VertRefresh commencez par 50−60 puis augmentez petit à petit les valeurs extrêmes, mais ceci à vos risques et périls : le mieux est quand même de lire la documentation de votre moniteur). Paramétrons ensuite : Les sections "Device" Comme pour les moniteurs il vous faut une section par carte graphique, mais à la différence des moniteurs, si vous avez deux cartes identiques (par exemple 2 TNT PCI) il faut faudra quand même deux sections "Device" : une pour chaque carte. Le problème va être de trouver quelle valeur mettre pour la variable "BusID" de ces sections. Mais ce n'est pas très complexe, tapez (en mode console, et en tant que root) : # X −scanpci Et vous devriez voir quelque chose comme : Probing for PCI devices (Bus:Device:Function) (0:0:0) unknown chip (DeviceId 0x0305) from VIA (0:1:0) unknown chip (DeviceId 0x8305) from VIA (0:3:0) Realtek unknown card (0x8029) using a Realtek 8029 (0:4:0) S3 ViRGE (0:20:0) VIA card using a VIA VT 82C686 MVP4 ISA Bridge (0:20:1) VIA card using a VIA VT 82C586 MVP3 IDE Bridge (0:20:2) unknown card (0x0925/0x1234) using a VIA VT 82C586 MVP3 USB Controller (0:20:3) unknown card (0x0925/0x1234) using a VIA VT 82C586 MVP3 USB Controller (0:20:4) VIA card using a VIA VT 8501 MVP4 ACPI Bridge (0:20:5) VIA card using a VIA VT 8501 MVP4 MultiMedia (1:0:0) unknown card (0x1569/0x002d) using a NVidia Riva Ultra 64 C'est la liste de tous vos périphériques PCI/AGP. Mes carte graphiques sont une S3 Virge dont le paramètre BusID sera donc (cf. paramètre en rouge) : "0:4:0" et une TNT2 dont le paramètre BusID sera (cf. paramètre en vert) : "1:0:0". Mes sections "device" sont donc : Section "Device" Identifier "RIVA TNT2" VendorName "Unknown" BoardName "Unknown" BusID "1:0:0" Driver "nvidia" # Uncomment following option if you see a big white block # instead of the cursor! # Option "sw_cursor" Option EndSection "DPMS" pour ma TNT2 et : Section "Device" Identifier "S3 Virge" 166 Configuration du système X Windo Configuration du serveu VendorName BoardName BusID Driver "Unknown" "Unknown" "0:4:0" "s3virge" # Uncomment following option if you see a big white block # instead of the cursor! # Option "sw_cursor" Option EndSection "DPMS" pour ma S3 Virge. Comme pour les moniteurs, les variables Identifier doivent être différentes pour chacune des cartes graphiques. Note : Si votre carte graphique est une GeForce2MX, vous pouvez utiliser les fonctionnalités TwinView (deux écrans sur la même carte graphique), voici un exemple de lignes à ajouter dans la section "Device" de cette carte : Option Option Option Option Option Option "TwinView" "SecondMonitorHorizSync" "30−38" "SecondMonitorVertRefresh" "50−100" "TwinViewOrientation" "Below" "MetaModes" "1152x864, 800x600; 1152x864, NULL" "ConnectedMonitor" "crt, crt" Configurons maintenant : Les sections "Screen" A la différence des sections "Monitor", il vous faut une section "Screen" par écran (et pas par type d'écran). Ce qui me donne les sections suivantes : Section "Screen" Identifier "Principal" Device "RIVA TNT2" Monitor "IIYAMA" DefaultColorDepth 24 Subsection "Display" Depth 8 Modes "1088x816" ViewPort 0 0 EndSubsection Subsection "Display" Depth 16 Modes "1088x816" ViewPort 0 0 EndSubsection Subsection "Display" Depth 24 Modes "1088x816" ViewPort 0 0 EndSubsection Subsection "Display" Depth 32 Modes "1088x816" ViewPort 0 0 EndSubsection EndSection "1024x768" "800x600" "640x400" "1024x768" "800x600" "640x400" "1024x768" "800x600" "640x400" "1024x768" "800x600" "640x400" pour mon écran IIYAMA que j'ai relié à ma TNT2 et : Section "Screen" Identifier "Secondaire" Device "S3 Virge" Monitor "ADI" DefaultColorDepth 24 Subsection "Display" Depth 8 Modes "1024x768" "800x600" "640x400" ViewPort 0 0 EndSubsection Subsection "Display" Depth 16 Modes "1024x768" "800x600" "640x480" ViewPort 0 0 Configuration du système X Window 167 Configuration du serveur X EndSubsection Subsection "Display" Depth 24 Modes "1024x768" "800x600" "640x480" ViewPort 0 0 EndSubsection Subsection "Display" Depth 32 Modes "1024x768" "800x600" "640x480" ViewPort 0 0 EndSubsection EndSection pour mon ADI Corp. que j'ai relié à ma S3 Virge. Pour chaque écran, les variables "Device" et "Monitor" doivent correspondre à un Identifier des sections "Device" et "Monitor" (voir les lignes en gras dans les sections précités). Une nouvelle fois les variables Identifier doivent être différentes pour les deux (ou plus) sections "Screen". Il ne nous reste plus qu'à dire au serveur X comment sont disposés nos écrans, et pour cela à configurer : La section "ServerLayout" J'ai mis mon écran "Secondaire" à droite de (RightOf) mon écran "Principal" donc ma section ServerLayout est : Section "ServerLayout" Identifier "layout1" Screen "Principal" Screen "Secondaire" RightOf "Principal" InputDevice "Mouse1" "CorePointer" InputDevice "Keyboard1" "CoreKeyboard" EndSection A la place de "RightOf" vous pouvez mettre : • LeftOf : à gauche, • Above : au−dessus, • Below : en−dessous, • Relative : pour placer un écran relativement à un autre (exemple : "Secondaire" Relative "Principal" 1088 216), • Absolute : pour dire que les coordonnées du coin supérieur gauche de cet écran sont (x,y) (exemple : Absolute 800 600). Premier essai Voilà, notre fichier /etc/X11/XF86Config est correctement écrit, vous avez vérifié trois fois chaque paramètre et c. Lançons nous et tapons (en mode console) : X Normalement le serveur X doit démarrer et vos deux écrans doivent s'allumer, vous devez pouvoir passer la souris d'un écran sur l'autre, comme s'ils ne formaient qu'une seule surface. Ca marche ? Passons à la suite. Ca ne marche pas ? Relisez tout ce qui précède... Maintenant vous pouvez travailler avec vos deux écrans. Le Xinerama La manière la plus simple de travailler avec deux écrans est d'activer le mode Xinerama de votre serveur X (disponible depuis XFree86 4.0.x). Le mode Xinerama est un mode de fonctionnement dans lequel les multiples écrans connectés à votre ordinateur ne semblent plus n'en faire qu'un : leurs résolutions s'additionnent. Pour configurer ce mode de fonctionnement, c'est vraiment très simple : il suffit de passer "+xinerama" au serveur X. Mais, en fait on n'appelle jamais soi−même le serveur X, on passe soit par le script startx, dans ce cas il faut taper : startx −− +xinerama soit on utilise un "Display Manager" (kdm, gdm, xdm, et c.). Dans le cas de kdm ou xdm il faut éditer le fichier /etc/X11/xdm/Xserver pour que la ligne d'appel du serveur X devienne : :0 local /usr/X11R6/bin/X +xinerama Dans le cas de gdm il faut éditer le fichier /etc/X11/gdm/gdm.conf pour que la ligne d'appel du serveur X devienne : 0=/usr/bin/X11/X +xinerama (dans la section : servers). Puis vous redémarrez votre "Display Manager" : init 3 168 Configuration du système X Windo Sans Xinerama Attendez 5 secondes, puis : init 5 Et voilà, votre "Display Manager" s'étale sur vos multiples écrans. Si vous vous loguez, vous devez voir le changement. Pour que votre écran MultiHead soit le plus facilement utilisable je vous conseille d'utiliser Enlightenment qui permet, entre autre, la maximisation limitée à une seul écran (ce que vous voudrez sans doute faire). Il parait que Sawfish en est aussi capable, mais je n'ai pas pu le voir fonctionner... Sans Xinerama Ce qui suit est obsolète, tous les gestionnaires de fenêtres modernes gérent sans probléme ce type de fonctionnement. Pour utiliser le multihead sans Xinerama je vous conseille d'utiliser (une nouvelle fois) Enlightenment, car lorsque vous n'êtes pas en mode xinerama vous avez deux displays : :0.0 et :0.1 et il faut lancer un window manager sur chacun des deux displays. Mais par défaut seul premier des deux displays se voit pourvu, vous pouvez alors lancer le window manager de votre choix sur le second display par : DISPLAY=:0.1 sawfish pour lancer sawfish sur le second display (quelque soit le window manager lancé sur le premier display, sauf Enlightenment). L'avantage de Enlightenment : vous n'avez pas à taper cette commande, Enlightenment détectant automatiquement votre second display et se lançant alors sur celui−ci. Il faut savoir que dans ce mode de fonctionnement, les deux serveurs X sont (presque) indépendants (exemple : l'accélération 3D via Mesa fonctionnera !), mais vous ne pourrez pas passez une fenêtre d'un écran sur l'autre, à vous de choisir ce qui vous intéresse le plus. Conclusion A vous les murs d'écrans LCD pour voir Matrix sur un écran 200 pouces... ;−) Postface Configurations testées : 1. 2 Matrox G200 (une AGP + une PCI) : Lilian Parmentier me signale qu'il a eu des problèmes avec WindowMaker. 2. 1 Riva TNT2 (32 Mo) + 1 S3 Virge (2 Mo) : aucun problème particulier. 3. 1 GeForce2MX en mode TwinView : Waba n'a eu aucun problème pour faire fonctionner cette configuration en utilisant la documentation du site de nvidia. 4. 1 (ou 2) Matrox G400 : Matthieu Foillard me signale qu'il n'a pas réussi a faire fonctionner ces cartes en mode DRI. Mis à part ce détail, il n'a eu aucun problème. 5. 1 GeForce 2 GTS 32MB (AGP) + 1 Banshee 16MB (PCI) : utopiah@utopiah.com utilise les drivers NVidia et TDFX_DFI sans aucun problème (je cite : "ça marche nickel!" ;) Configuration du système X Window 169 Maîtriser le démarrage de X Maîtriser le démarrage de X par Martial Daumas Comment démarrer X facilement à partir de la console, et comment configurer les fichiers relatifs. Introduction Si vous débutez sous linux, le système pour lancer une simple session X peut vous paraître obscur. En fait, en général, tout va bien jusqu'au jour ou vous vous mettez en tête de personnaliser un petit peu les méthodes. Cela vient du fait que certaines distributions personnalisent les fichiers, ce qui n'est pas une mauvaise chose en soit, car cela permet d'utiliser linux directement après une première installation, sans avoir à toucher au moindre fichier de configuration (ce qui peut être délicat à faire sous Linux quand on découvre); cela dit, parfois les méthodes misent en oeuvres rendent des modifications personnelles (et c'est quand même là que se situe un des avantage de Linux) assez difficiles. Nous allons donc voir des méthodes simples pour s'en sortir, en nous basant tout simplement sur les très bons fichiers de configurations fournis avec X quand il est installé à partir des sources. Avertissement étant donné la très grande diversité des approches et organisation des fichiers (note de Jice : vivement la généralisation du FHS − Filesystem Hierarchy Standard !) selon les distributions, il plus que que recommandé, si vous n'êtes pas certain à 100% de ce que vous faites, de faire une copie préalable de ce qui sera modifié, afin de pouvoir revenir à l'état précédent, ou revenir à la méthode livrée avec votre distribution si vous changez d'avis après coup. Tout ce qui est dit ici concerne Xfree86 dans sa version 4.1.0, tenez en compte si votre version diffère. Théorie Les fichiers et répertoires en jeu Avant de personnaliser, essayons de voir en gros comment est organisé X. Voici tout d'abord le contenu du répertoire /etc/X11 : app−defaults On trouve ici les configurations par défaut pour les applications X comme xterm, xedit, xclock... fs Font server. Le fichier config détermine la taille du cache du serveur de fontes, l'emplacement des fichiers de log, etc. lbxproxy Pas abordé ici. proxymngr Pas abordé ici. rstart Pas abordé ici. twm twm est le gestionnaire de fenêtres par défaut de X. Il est minimaliste mais très configurable. xdm xinit X display manager. Gestionnaire de login (sessions X) par défaut. kdm et gdm (gestionnaires de login de KDE et Gnome respectivement) se servent de aussi de ce fichier. Programme pour initialiser une session X à partir de la console. Peut être lancé via la commande startx. xkb Concerne le clavier. xserver Permet de configurer la sécurité de serveur. xsm X session manager. C'est ce qui permet d'avoir plusieurs profils (à travers xdm par exemple). XF86Config Le fichier de configuration du/des serveurs graphiques. XftConfig Configuration du serveur de fontes. Nous partons du principe que votre carte graphique est déjà bien configurée. On voit déjà qu'il y aurait plus d'une méthode pour arriver à nos fins, mais nous allons simplement utiliser xinit, qui convient parfaitement à une utilisation simple. Le répertoire xinit contient par défaut uniquement le fichier xinitrc que voici (commenté) : # définition fichiers système / utilisateur à chercher userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap sysresources=/usr/X11R6/lib/X11/xinit/.Xresources sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap 170 Configuration du système X Windo Maîtriser le démarrage d # merge in defaults and keymaps # teste l'existence des fichiers prédéfinis, et les # prend en compte si besoin. if [ −f $sysresources ]; then xrdb −merge $sysresources fi if [ −f $sysmodmap ]; then xmodmap $sysmodmap fi if [ −f $userresources ]; then xrdb −merge $userresources fi if [ −f $usermodmap ]; then xmodmap $usermodmap fi # start some nice programs # l'environnement X par défaut. Si vous lancez X par un # simple startx, c'est ce qui est lancé. twm & xclock −geometry 50x50−1+1 & xterm −geometry 80x50+494+51 & xterm −geometry 80x20+494−0 & exec xterm −geometry 80x66+0+0 −name login Nous voyons donc pourquoi l'appel à startx lance par défaut twm avec des xterm et l'horloge. En fait, startx est un simple script Bash qui se charge d'appeler xinit à votre place, en lui passant éventuellement un certain nombre de paramètres. Voici un fichier /usr/X11R6/startx par défaut : #!/bin/sh userclientrc=$HOME/.xinitrc userserverrc=$HOME/.xserverrc sysclientrc=/usr/X11R6/lib/X11/xinit/xinitrc sysserverrc=/usr/X11R6/lib/X11/xinit/xserverrc defaultclientargs="" defaultserverargs="" clientargs="" serverargs="" if [ −f $userclientrc ]; then defaultclientargs=$userclientrc else if [ −f $sysclientrc ]; then defaultclientargs=$sysclientrc fi fi if [ −f $userserverrc ]; then defaultserverargs=$userserverrc else if [ −f $sysserverrc ]; then defaultserverargs=$sysserverrc fi fi display=:0 whoseargs="client" while [ "x$1" != "x" ]; do case "$1" in −−) whoseargs="server" ;; *) if [ "$whoseargs" = "client" ]; then clientargs="$clientargs $1" else serverargs="$serverargs $1" case "$1" in :[0−9]*) display="$1" ;; esac fi ;; esac shift done if [ x"$clientargs" = x ]; then clientargs="$defaultclientargs" fi if [ x"$serverargs" = x ]; then serverargs="$defaultserverargs" fi Configuration du système X Window 171 Pratique if [ X"$XAUTHORITY" = X ]; then export XAUTHORITY=$HOME/.Xauthority fi removelist= # set up default Xauth info for this machine mcookie=`mcookie` for displayname in $display `hostname −f`$display; do if ! xauth list "$displayname" | grep "$displayname " >/dev/null 2>&1; then xauth add $displayname . $mcookie removelist="$displayname $removelist" fi done xinit $clientargs −− $serverargs if [ x"$removelist" != x ]; then xauth remove $removelist fi if command −v deallocvt > /dev/null 2>&1; then deallocvt fi Pas besoin de commenter ce script assez simple, retenons simplement cette ligne: xinit $clientargs −− $serverargs Et nous comprenons que pour l'instant, il n'y qu'un environnement accessible à la ligne de commande. Les paramètres $clientargs −− $serverargs permettant de jouer sur le serveur graphique (quel serveur, résolution etc....) mais pas de choisir un window manager, qui est pourtant souvent notre souhait. Nous allons maintenant voir plusieurs cas qui peuvent vous intéresser. Pratique Les deux premiers cas concernent les logins dits "texte", lorsque votre ordinateur ne démarre pas en mode graphique par défaut. login texte, un seul WM. C'est le cas le plus simple : il suffit de choisir un window manager par défaut pour tous les utilisateurs et de modifier en conséquence les fichiers. Modifiez la fin de xinitrc pour qu'il ressemble à ça : # start some nice programs # l'environnement X par défaut. Si vous lancez X par un # simple startx, c'est ce qui est lancé. # lançons un window manager (ça peut être ce qu'on veut: xfce, # sawfish, gnome−session etc...) exec wmaker # si vous voulez que soit lancez des programmes décommentez # cela ou rajoutez des commandes (ça peut être utile dans # certains cas) #xclock −geometry 50x50−1+1 & #xterm −geometry 80x50+494+51 & #xterm −geometry 80x20+494−0 & #exec xterm −geometry 80x66+0+0 −name login Pour lancer le window manager choisi, vous n'avez plus qu'à taper startx ou xinit. Pour que chaque utilisateur ait son propre profil, il suffit de créer un fichier .xinitrc dans son répertoire $HOME (répertoire /home/utilisateur), il remplacera alors le fichier général /etc/X11/xinit/xinitrc. A noter : si vous voulez passer un paramètre au serveur, utilisez plutôt startx. login texte, multi WM Vous voulez lancer des sessions X, mais pas toujours avec le même window manager ? C'est très simple, il y a plein de manières de le faire. Voici la méthode la plus simple : Créez un fichier $HOME/.xinitrc en remplaçant les dernières lignes des exemples précédents par : exec $1 172 Configuration du système X Windo Pratique Vous pourrez ainsi appeler xinit en lui passant comme paramètre le window manager à lancer ($1). Par exemple, pour lancer KDE, tapez: xinit startkde et pour lancer windowmaker, tapez: xinit wmaker Si vous trouvez cela pénible à taper à chaque fois, créez des raccourcis dans un fichier de configuration de votre shell. Pour bash, créez ou modifier un fichier $HOME/.bashrc et ajoutez y ces lignes: alias alias alias ...et KDE='xinit startkde' WM='xinit wmaker' GNO='xinit gnome−session' ainsi de suite..... Comme cela, la simple saisie de KDE vous lancera kde. On peut difficilement faire plus simple ;o) On pourrait même faire un petit menu qui présente les différentes possibilités, ou ne faire apparaître ce menu que sur une console donnée. Autologin Si vous voulez qu'un environnement prédéfini démarre dès que vous avez donné votre login / password, il suffit de rajouter ceci dans votre .bashrc (plutôt à la fin) : WM_DEFAUT=wmaker xinit $WM_DEFAUT IL faut donc que les alias apparaissent avant cette commande dans le fichier. Tel quel, c'est inutilisable, car ça va faire une erreur à chaque ouverture de console texte ou de xterm supplémentaire, une session X étant déjà en cours. Nous allons juste rajouter un test qui ne déclenchera X que si on se logue sur une console donnée. étant donné que la console qui vous est présentée par défaut au démarrage est tty1, tenez en compte pour choisir sur quelle console faire le test. Pour un utilisation occasionnelle de X, utilisez plutôt tty2 (jusqu'à 12). Ainsi, CTRL+ALT+F2 vous passera sur tty2, login / password et X. if [ `tty` == /dev/tty1 ]; then WM_DEFAUT=wmaker xinit $WM_DEFAUT fi Si vous voulez que la console réservé au lancement de X reste accessible une fois X lancé, remplacez: xinit $WM_DEFAUT par : xinit $WM_DEFAUT & Login graphique : possibilités Touchons juste un mot des gestionnaires de login (ou gestionnaire d'écran, an anglais display manager) graphiques. Le plus fréquent est kdm, qui fait partie de KDE. Pas grand chose à dire sinon que c'est sans doute le plus convivial, mais il prend beaucoup de ressources et est donc à éviter sur de petites machines (KDE aussi d'ailleurs). Il y a aussi gdm, le login qui vient avec Gnome, plus léger, assez simple a configurer. Reste enfin le standard qu'est xdm : bien que kdm et gdm soit des frontends a xdm, il est différent, car il a une notion de sessions X qui est très éloignée de celle vues avec KDE ou GNOME. Il est plutôt à réserver à des situations de connections par réseau et conjointement à divers logiciels ou applications spécialisées. Il existe d'autres solutions moins connues, pas toutes stables. Je ne mentionnerai ici qu'un seul cas : selectwm, c'est celui dont je me sers car il est très léger, super simple, convivial et rapide. Pour une utilisation normale, je trouve qu'il surpasse de loin tout les autres. Je le recommande vivement, essayez−le au moins une fois, il pourrait bien vous convaincre. Il faut glib et gtk+ (librairies livrées avec Gnome) pour compiler ou installer ce soft. Avec ce que nous avons vu, vous n'aurez aucun mal personnaliser selectwm, et à l'installer comme bon vous semble. Pour remplacer définitivement kdm, il vous faudra sans doute créer un script de remplacement à celui qui gère kdm dans /etc/init.d/ ou /etc/rc.d/init.d/ (en tant que service), mais c'est tout simple à faire. Notes Pour que tous ces exemples marchent, il est impératif que les programmes appelés soit dans votre path (le chemin de recherche des exécutables, qui se matérialise sous la forme de la variable d'environnement $PATH). Il faut donc que /etc/X11R6/bin fasse partie de votre path pour que les programmes soient trouvés sans le chemin complet. Cela vaut aussi pour les différents window managers. Pour savoir si un exécutable fait partie de votre $PATH, taper : $ type −p commande et pour modifier le path dans un fichier de configuration du bash (ex : .bashrc) : export PATH=$PATH:/nouveau/chemin/bin Configuration du système X Window 173 La capture d'écran sous LINUX La capture d'écran sous LINUX par Jean−Marc LICHTLE Les trucs utiles pour faire des captures d'écran sous LINUX... La capture d'écran sous LINUX Jean−Marc LICHTLE Table des matières • 1 Introduction • 2 La famille xwd ♦ 2.1 La capture avec xwd ♦ 2.2 L'exploitation des fichiers de capture ♦ 2.3 Syntaxe • 3 ksnapshot • 4 ImageMagick 1 Introduction Sous un autre système d'exploitation assez connu la capture d'écran s'obtient simplement au moyen d'une frappe sur la touche ImpEc. Cette touche reste sans effet avec notre système d'exploitation préféré. Or si la capture d'écran ne constitue pas une fonction essentielle, elle peut rendre des services. Pour ma part j'ai indentifié au moins deux cas d'emploi qui rendent la capture d'écran souhaitable: • Lorsque vous voulez rédiger une notice sur l'utilisation d'un logiciel. • Lorsque vous voulez récupérer des images générées par certains logiciels qui ne prévoient pas d'impression du résultat obtenu. C'est par exemple le cas de Varicad en version démo qui traite bien le 3D mais n'imprime (et n'exporte dans des formats étrangers) que les versions 2D. Il s'en suit que la connaissance de quelques trucs qui permettent de récupérer des captures d'écrans est souhaitable. 2 La famille xwd J'emploie à dessein le terme famille dans le titre, il s'agit en effet, comme nous le verrons bientôt, d'une suite de logiciels : • xwd est le logiciel de capture proprement dit qui va créer un fichier dans un format spécifique. • xwdtopnm va effectuer la conversion du format natif de xwd vers un format pnm plus usité et qui pourra être lu par ex. par GIMP. • pnmtops ainsi que son alter−ego pnmtopng, transposent le format .pnm en postscript ou en .png, deux formats très courants et qui sont très A pratiques pour la constitution de documents L TEX mais aussi de tout autre document informatique utilisant des éléments graphiques. 2.1 La capture avec xwd La capture avec xwd consiste simplement à taper $ xwd −out test.xwd dans un terminal rxvt, xterm ou autre, $ étant l'invite de Linux. Le lancement de xwd sera confirmé par le changement d'aspect du curseur qui prend une forme de croix. Faites alors passer le curseur sur la fenêtre que vous voulez capturer puis cliquez du bouton droit. Le début de la capture est confirmé par un premier bip. Après un court instant un second bip vous confirmera que le fichier test.xwd vient d'être enregistré. Faites attention de ne pas cliquer sur une fenêtre en partie masquée, la capture serait masquée de la même façon. En effet, une fois xwd lancé, vous n'avez plus la possibilité de redimensionner la fenêtre ciblée, de la remettre au premier plan etc. Au moindre clic xwd va effectuer sa capture. Distinguez donc bien la fenêtre à capturer de celle qui vous permet de lancer xwd. Autres possibilités de lancer xwd (si vous utilisez KDE): • Utiliser le raccourci clavier Alt−F2 pour ouvrir une fenêtre ``Exécuter une commande'' • Utiliser le menu K − Exécuter une commande qui permet d'aboutir à la même fenêtre. • Vous avez également à tout moment la possibilité de passer de l'un des terminaux graphiques au suivant (merveilleuse possibilité que les utilisateurs du système d'exloitation de Daniel Portes n'imaginent même pas) en utilisant les icônes de bureaux sous KDE ou ALT−1, Alt−2 sous Window Maker. Cette commutation vous permet par exemple de faire des captures sur des fenêtres ouvertes en plein écran. 2.2 L'exploitation des fichiers de capture A Le format propre à xwd ne permet pas une exploitation directe par les moyens classiques, insertion dans un document L TEX dans un document html ou autre. Par contre ce format peut être lu directement par Gimp, le logiciel graphique de base sous LINUX. Gimp permettra toujours de faire la conversion, toutefois cette solution me semble bien lourde. Une conversion du format xwd vers un format plus usité au moyen d'utilitaires plus légers brièvement cités plus haut est donc souhaitable. Le point d'entrée est un utilitaire nommé xwdtopnm qui va convertir l'image au format pnm lisible par certains logiciels de traitement de texte, KWord en particulier. Malheureusement le format pnm n'est toujours pas l'un des formats classiques. Qu'à cela ne tienne, il nous reste toute la batterie des conversions pnmto−− qui vont aboutir à la création des formats d'images les plus divers, notamment : A 1. .ps : Le format postscript bien connu dans le monde Linux, essentiel pour ceux qui veulent compiler des documents au moyen de L TEX. Utilisez pour celà la commande pnmtops. 174 Configuration du système X Windo 2 La famille xwd 2. .png : Abréviation de Portable Network Graphic, un format très compact et que j'emploie personnellement beaucoup pour la création de A documents L TEX compilés avec pdflatex (génération directe de document au format pdf avec liens hypertexte). Utilisez pnmtopng. 3. .jpeg ou .tiff : autres formats plus usités dans un monde utilisant un système d'exploitation commercial bien connu... L'exposé de la liste complète de ces formats pourrait faire partie intégrante de la présente. Je préfère toutefois insister sur les possibilités offertes par LINUX de retrouver rapidement les commandes utiles. Tapez simplement <<pnmto>> puis la touche Tab. Vous verrez s'afficher la liste de toutes les commandes de convesrion du format pnm vers (to) un autre format. La distribution Mandrake 8.2 met ainsi à la disposition de l'utilisateur pas moins de 15 conversions possibles. Une autre distribution plus modeste, DemoLinux 1.0, en offre toute de même une demi−douzaine ! 2.3 Syntaxe Toutes les commandes de conversion sont des commandes typiques LINUX qui renvoient le résultat de la conversion vers la sortie standard, l'écran par défaut. Il convient donc de rediriger par > la sortie standard vers un fichier ce qui donne une syntaxe (exemple) : $ pnmtops test.pnm > test.ps exemple de conversion du format .pnm vers le format postscript. 3 ksnapshot Le logiciel ksnapshot est, à priori, beaucoup plus simple à utiliser que xwd, car il dispose d'une interface graphique. Revers de la médaille, il n'est pas certain qu'il soit installé sur votre machine. En effet, si vous avez fait l'impasse sur KDE vous risquez fort de ne pas avoir ksnapshot. Si vous utilisez KDE, vous trouverez ce logiciel dans le menu K sous son propre nom, ou sous le nom "capture d'écran", tout simplement. La gamme des formats disponibles est également plus restreinte. Alors que d'anciennes version de ksnapshot permettaient des enregistrements dans quelques formats classiques, la version distribuée avec Mandrake 8.2, ksnapshot 0.4.1, n'enregistre plus qu'en format .png. Sans être réellement génante cette limitation est toutefois assez curieuse. La version 0.2.7 par exemple livrée avec DémoLinux 1.0 offre le choix entre les formats JPEG, GIF, PS, BMP et XBM. Pourquoi cette réduction des choix ? Pour le savoir il conviendrait d'interroger les développeurs de ce logiciel, lesquels, comme de bien entendu ne parlent certainement qu'une langue assez peu usitée dans le Berry. (Note de Léa (Jice) : le GIF a été supprimé car il est protégé par un brevet et il faudrait payer pour l'utiliser ; abandonnez le gif pour vos sites web par exemple !) Au final qu'importe, les convertisseurs de formats évoqués plus haut sont à votre disposition, vous pourrez toujours convertir le .png en .pnm puis dans les autres formats comme évoqué ci−dessus. Dans son utilisation, ksnaphot présente un tout petit avantage sur xwd : si la fenêtre de ksnapshot masque en partie la fenêtre cible, pas de problème, le logiciel saura faire la part des choses entre la cible et sa propre fenêtre. Attention, ceci n'est pas vrai si une autre fenêtre vient recouvrir. Dans ce cas elle constituera effectivement une gène pour l'acquisition, exactement comme dans le cas de xwd. 4 ImageMagick La suite de logiciels ImageMagick permet également la copie d'écran, via sa commande : $ import Afin de copier tout l'écran dans un fichier graphique, tapez simplement : $ import −window root image.ext Afin de copier une zone de l'écran : $ import image.ext puis sélectionnez à la souris la zone voulue. Note : image.ext est le fichier dans lequel vous souhaitez enregistrer votre image. import reconnaît automatiquement l'extension du fichier, et crée un fichier dans le bon format. Par exemple, si vous utilisez image.jpg, le fichier sera bien un jpg, etc. Les formats supportés sont les formats courants (png, jpg, eps, bmp, etc.) Pour plus d'infos sur ce logiciel : man import et man ImageMagick. 5 The Gimp The Gimp est lui aussi capable de faire des copie d'écran. Il suffit d'aller dans le menu : Fichiers −> Acquisition −> Capture d'écran.Cela ouvre une fenêtre avec deux options "Fenêtre seule (avec ou sans décoration)" ou "Ecran entier". Choisissez celle que vous souhaitez. Il est possible de mettre une temporisation pour pouvoir choisir la fenêtre et, par exemple, ouvrir un menu après la sélection. Cliquez alors sur Valider. Choisissez le fenêtre que vous souhaitez ou cliquez n'importe où. Voilà, c'est tout. Configuration du système X Window 175 2 La famille xwd 176 Configuration du système X Windo Installer et utiliser un logiciel Dans cette section, vous trouverez des articles sur l'installation, la configuration et l'utilisation de logiciels sous Linux. Si vous cherchez : • une liste de logiciels pour Linux, allez voir la logithèque de Léa. • des infos sur les packages nécessaires pour compiler une appli, allez voir cette rubrique. Installation de StarOffice 5.1a par Fred Les diverses méthodes pour installer StarOffice 5.1a. (peut aussi fonctionner pour les version supérieures !) Les différentes méthodes. On peut installer StarOffice de différentes méthodes : • La première méthode permet à un utilisateur d'installer tout StarOffice dans son répertoire personnel, mais dans ce cas, lui seul pourra s'en servir. • La seconde permet d'installer StarOffice pour le rendre utilisable à l'ensemble des utilisateurs d'une machine. Toute la procédure d'installation se déroule dans une fenêtre terminal (exemple xterm). Décompresser StarOffice. La méthode la plus simple pour obtenir StarOffice est de l'obtenir sur un CD. Le fichier à trouver s'appelle : so51_*. Pour le trouver sur votre CDROM faites : [user@localhost home]# mount /mnt/cdrom [user@localhost home]# find /mnt/cdrom −name 'so51_*' /mnt/cdrom/logiciels/so51_33lnx.tar.gz (le nom du fichier peut être différent sur votre machine : ici le résultat du 'find' est en gras : c'est le nom du fichier, notez bien celui de votre CD). Nous allons 'détarrer' (i.e. décompresser) ce fichier : Deux cas différents peuvent arriver : • soit votre nom de fichier se termine par .tar : [user@localhost home]# tar xfv /mnt/cdrom/logiciels/so51_33lnx.tar staroffice/................. ............... ............... • soit votre nom de fichier se termine par .tar.gz : [user@localhost home]# tar xzfv /mnt/cdrom/logiciels/so51_33lnx.tar staroffice/................. ............... ............... Passez dans le répertoire dans lequel StarOffice c'est 'détarré' (ici staroffice ; c'est ce qui commence chaque ligne retournée par la commande précédente) : [user@localhost home]# cd staroffice [user@localhost staroffice]# _ Trouvez le programme d'installation : [user@localhost staroffice]# find −name setup install/setup Le programme d'installation s'appelle : install/setup. Passez dans le répertoire contenant le programme d'installation (setup) : [user@localhost staroffice]# cd install [user@localhost install]# _ Restez−y pour la suite. Installer et utiliser un logiciel 177 Installation mono−utilisateur. Installation mono−utilisateur. Vous utiliserez ce type d'installation si vous n'avez pas les droits de root sur votre système (i.e. vous n'êtes pas sur votre propre ordinateur), ou bien si vous êtes le seul utilisateur de votre système et que vous ne projetez pas d'en ajouter plus tard. Sinon, lisez la section suivante. L'installation doit se dérouler sans douleur. Vous devez être dans le répertoire contenant le programme setup. Il suffit de lancer ce programme : [user@localhost install]$ ./setup Une fenêtre classique (pour les utilisateurs de Win$$$) de programme d'installation s'ouvre. Répondez aux questions comme vous le souhaitez (laissez le répertoire par défaut pour l'installation, sauf si vous avez une raison pour choisir autre chose). A la fin de la procédure d'installation vous pouvez lancer StarOffice par la commande : [user@localhost home]$ /home/user/Office51/bin/soffice ou bien par les icônes crées dans les menus de KDE (cherchez bien !) lors de l'installation. Installation multi−utilisateurs. Pour ce type d'installation, vous devez être root : [user@localhost install]$ su Password: xxxxxxxx (mot de passe du root) [root@localhost install]# _ Puis lancez la commande d'installation : [root@localhost install]# ./setup /net Le programme d'installation en mode graphique se lance. Choisissez les options que vous souhaitez. Notez bien le répertoire dans lequel StarOffice s'installe, chez moi c'est : /opt/Office51/ VOILÀ l'installation multi−utilisateur est faite. Mais il faut encore que chaque utilisateur installe les fichiers de configuration et de travail de StarOffice. Cela se fait sur le compte de chaque utilisateur, par la commande (dans un nouveau terminal, lancé en tant que simple utilisateur) : [user@localhost home]$ /opt/Office51/bin/setup Et maintenant user peut lancer StarOffice par la commande : [user@localhost home]$ /home/user/Office51/bin/soffice ou bien par les icônes crées dans les menus de KDE (cherchez bien !) lors de l'installation. Et c'est tout (heureusement!) 178 Installer et utiliser un logiciel Installation de OpenOff Installation de OpenOffice par Anne Installer OpenOffice et le correcteur orthographique Avant de démarrer l'installation Tout comme pour StarOffice, il est possible d'installer OpenOffice de trois manières : • Première méthode : installation par un utilisateur de OpenOffice dans son répertoire personnel.Dans ce cas de figure, il sera le seul à pouvoir l'utiliser (pas très pratique !) • Seconde méthode : installation en mode dit multi−utilisateurs. Elle permet à tous les utilisateurs déclaré sur la machine (ou en réseau) d'utiliser OpenOffice (après tout, Linux est multiutilisateurs, pourquoi s'en priver ? :) ). • Sur Mandrake (à partir de 8.2) : urpmi ooffice (et c'est tout ; il s'agit en fait d'une installation multi−utilisateurs (ou réseau)). Passez directement à l'installation du dictionnaire français. • Pour les utilisateurs de Debian : ajouter cette ligne à votre fichier /etc/apt/sources.list : deb http://ftp.freenet.de/pub/ftp.vpn−junkies.de/openoffice/ woody main contrib puis mettez apt à jour : root@pingu # apt−get update Ceci fait vous n'avez maintenant plus aucun fichier à modifier, tout se fera automatiquement. Nous travaillerons avec la version 1.0.1 de OpenOffice, toute l'installation se fait en mode graphique. Installation en mode mono−utilisateur Vous utiliserez ce type d'installation si vous n'avez pas les droits de root sur votre système (i.e. vous n'êtes pas sur votre propre machine), ou bien si vous êtes le seul utilisateur de votre système et que vous ne projetez pas d'en ajouter plus tard. Sinon, lisez la section suivante. Vous devez avoir récupéré une archive compressée OOo_1.0.1_LinuxIntel_install_fr.tar.gz (version 1.0.1 en français de OpenOffice. La première étape consiste alors à décompresser et détarer cette archive dans votre répertoire personnel : anne@pingu$ tar xvzf OOo_1.0.1_LinuxIntel_install_fr.tar.gz Il suffit alors de vous déplacer dans le répertoire créé puis de lancer le programme d'install : anne@pingu$ cd install anne@pingu$ ./setup Vous devez vous retrouver dans un environnement graphique où vont défiler un certain nombre de boîtes de dialogue. Répondez aux questions, c'est très simple ! Remarque : java ne vous sera utile que si vous utilisez les bases de données d'OpenOffice. Pour lancer OpenOffice : anne@pingu$ /home/anne/OpenOffice/soffice Pour désinstaller OpenOffice : anne@pingu$ /home/anne/OpenOffice/setup puis choisir suppression Installation en mode multi−utilisateurs Installation des fichiers communs Pour démarrer ce type d'installation, il faut impérativement avoir l'identité root : anne@pingu$ su − Password:xxxxxx root@pingu# Puis on va lancer lancer le programme d'installation avec une option particulère : root@pingu# /home/anne/install/setup −net Là encore l'installation se fait en mode graphique. Choisissez les options souhaitées et notez le répertoire d'install. J'utiliserai /opt/OpenOffice. Installation des fichiers propres à chaque utilisateur Une fois l'installation des fichiers communs terminés, il reste à installer les fichiers de configuration de chaque utilisateur qui voudra accéder à OpenOffice. Cette fois−ci, l'opération est à exécuter sous l'identité de l'utilisateur pour lequel vous voulez mettre à disposition OpenOffice. Exécutez les opérations suivantes : Installer et utiliser un logiciel 179 Installation du correcteur orthographique anne@pingu$ cd /opt/OpenOffice anne@pingu$ ./setup Là encore vous vous retrouvez en interface graphique, vous répondez aux questions et le tour est joué ! Note: cette étape est en fait facultative puisque, de toutes façons, c'est le programme qui sera lancé par la première utilisation d'OpenOffice. Mais, il peut être astucieux de la faire pour un utilisateur que l'informatique embarrasse : par exemple votre mère ;−) Pour les opérations de lancement et désinstallation, on procédera de la même façon que pour l'install de type mono utilisateur, les exécutables étant situés cette fois−ci dans le répertoire personnel de l'utilisateur (exemple : /home/anne/OpenOffice.org1.0.1 Remarque : Pour faciliter le lancement de OpenOffice, n'oubliez pas de modifier la variable PATH du dit utilisateur Exemple : pour l'utilisateur anne, je modifierai le PATH de la manière suivante : anne@pingu$ cat .bashrc ... PATH=$PATH:/home/anne/OpenOffice.org1.0.1 Petite astuce pour modifier le PATH de tous les utilisateurs de OpenOffice, sans avoir à modifier le .bashrc de chacun : il suffit de modifier /etc/bashrc de la manière suivante root@pingu# cat /etc/bashrc ... PATH=$PATH:~/OpenOffice.org1.0.1 Installation du correcteur orthographique Le dictionnaire français du correcteur orthographique n'étant pas fourni dans le package d'installation de base d'openoffice. Vous pouvez également ajouter le dictionnaire des césures. Il suffit ensuite de suivre les étapes ci−dessous : 1. ♦ Pour Mandrake, installer le paquet myspell−fr : # urpmi myspell−fr puis faites les liens symboliques suivants : $ ln −s /usr/lib/myspell/fr_FR.aff /home/utilisateur/.openoffice/user/wordbook/ $ ln −s /usr/lib/myspell/fr_FR.dic /home/utilisateur/.openoffice/user/wordbook/ Enfin, décompresser le fichier des césures : $ unzip hyph_fr.zip −d /home/utilisateur/.openoffice/user/wordbook/ ♦ Pour les autres distributions : il nous faut d'abord récupérer le dictionnaire français. Dézipper les fichiers récupérés ci−dessus dans le répertoire share/dict/ooo de votre installation root@pingu# unzip /home/anne/fr_FR.zip −d /opt/OpenOffice/share/dict/ooo root@pingu# unzip /home/anne/hyph_fr.zip −d /opt/OpenOffice/share/dict/ooo 2. Modifier le fichier dictionary.lst en ajoutant les lignes suivantes : root@pingu# cat /opt/OpenOffice/share/dict/ooo/dictionary.lst ... DICT fr FR fr_FR HYPH fr FR hyph_fr (sur Mandrake, dictionary.lst est dans /home/utilisateur/.openoffice/user/wordbook/) 3. Lancer OpenOffice 4. Aller dans le menu Outils >> Options >> Paramètres linguistiques. Vous trouverez 2 sous−menus à mettre à jour : ♦ Langues : dans Environnement Linguistique sélectionner dans le menu déroulant Français(France) ♦ Linguistique : sélectionner OpenOffice MySpell Spellchecker et AT Linux LibHnj Hyphenator puis cliquer sur Éditer. Dans le menu suivant, cocher OpenOffice MySpell Spellchecker dans la rubrique Orthographe, AT Linux LibHnj Hyphenator dans la rubrique coupure des mots puis sélectionner Français dans le menu déroulant Et voilà c'est terminé :). Installation avancée Suite aux indications de Marc et Domi, je rajoute ici des infos pour un mode d'installation alternatif de OpenOffice. Il ne s'agit pas là d'une install standard mais qui peut convenir à des utilisateurs plus avancés Nous n'installerons pas à partir du script setup mais install situé également à la racine du répertoire d'installation. Ci−dessous les principales options : • −−prefix=PREFIX : installe OpenOffice dans le répertoire PREFIX (par défaut, dans /usr/local. • −−single : installe OpenOffice en mode mono−utilisateur (par défaut, en mode multi−utilisateurs). 180 Installer et utiliser un logiciel Accélérer le chargement de Open • −−interactive : installe OpenOffice en mode interactif Exemple : Je souhaite installer OpenOffice en mode mono−utilisateur dans le répertoire /home/anne anne@pingu$ /opt/install −−prefix /home/anne −−single Accélérer le chargement de OpenOffice Comme proposé par Philippe, j'insère ici un Truc&Astuce qu'il avait écrit pour permettre d'accélérer le chargement de OpenOffice, somme toutes assez long. Le principe est de charger une partie de OpenOffice (qui sera donc résident en mémoire) afin d'accélérer le chargement des applications. Un peu de temps gagné si vous utiliseez fréquemment OpenOffice, mais aussi un peu de mémoire occupée ;−) Chargement en mémoire (à mettre dans le dossier de démarrage de Kde, Gnome, ou ~/GNUstep/Library/WindowMaker/autostart si vous êtes sous WindowMaker) : /chemin_vers_OO/OpenOffice.org1.0.1/soffice −plugin −quickstart Puis, pour charger une application OpenOffice: • swriter : /chemin_vers_OO/OpenOffice.org1.0.1/soffice private:factory/swriter • scalc : /chemin_vers_OO/OpenOffice.org1.0.1/soffice private:factory/scalc • simpress : /chemin_vers_OO/OpenOffice.org1.0.1/soffice private:factory/simpress • sdraw : /chemin_vers_OO/OpenOffice.org1.0.1/soffice private:factory/sdraw Note: si vous êtes sous WindowMaker, utilisez plutot le dockapp Woo. Il me semble important de rappeler que OpenOffice existe également pour Windows. A installer d'urgence pour faire progresser la place des Logiciels Libres ;)). Installer et utiliser un logiciel 181 L'Éditeur vi L'Éditeur vi par Jean−Christophe L'éditeur des vrais hommes ;) vi (prononcez vie−aïe ou [vi:ai]) est l'éditeur de texte de base sous Linux, vous risquez bien d'avoir à vous en servir au plus mauvais moment, c'est à dire lorsque plus rien d'autre ne fonctionne. Alors lisez ce qui suit avant d'être en pleine panique, vous serez content lorsque le moment sera venu de savoir modifier ce p*** de fichier de configuration qui empêche X de démarrer ! Que ceux qui se plaignent de vi essaient 'ex', ils ne seront pas décus :) Et se rendront compte des éditeurs qu'utilisaient leurs ancêtres ! Ce document vise uniquement à vous donner une référence rapide afin d'utiliser facilement vi. Lancer VI Pour lancer vi, c'est simple : [root@taz X11]# vi XF86Config Là, vi s'ouvre avec le fichier XF86Config dedans. Se déplacer dans le texte Vous pouvez utiliser les quatres flèches, mais aussi les touches [h], [j], [k] & [l] (pratique le jour où vous vous retrouvez connecté en telnet via un terminal ne disposant pas des touches fléchées !). Les modes de VI vi possède deux modes : le mode "Insert" et le mode normal. En mode normal vous en pouvez pas insérer de texte dans le fichier, mais les touches du clavier sont autant de touches de commandes. En mode Insert, les touches de commandes (notamment les lettres !) se transforment en vraies lettres que vous pouvez insérer dans le fichier. Insérer du texte Lorsque vi s'ouvre, il est en mode normal. Pour passer en mode Insert : • tapez [i] ou [Insert] pour insérer du texte à l'endroit où se trouve le curseur, • tapez [A] pour ajouter du texte à la fin d'une ligne. En mode Insert, vous pouvez taper du texte, effacer avec la touche [Suppr] ou [Bkspace]. Pour quitter le mode Insert, tapez [Esc]. Remarque : à la suite de votre fichier, vous voyez des lignes vides commençant par le caractère '~'. C'est normal : cela signifie juste que ces lignes sont vides, et les caractères '~' ne seront bien sûr pas enregistrés dans votre fichier. Les commandes Après avoir quitté le mode Insert, ou avant d'y être entré, les touches du clavier correspondent à des commandes. Voici ci−dessous les commandes de base qui vous permettront de vous y retrouver : • :q! [Entrée] pour quitter sans sauver, • :w [Entrée] pour enregistrer, • :wq [Entrée] pour enregistrer et quitter, • x efface le caractère qui se trouve sous le curseur, • dd efface la ligne sur laquelle se trouve le curseur, • :u[Entrée] permet d'annuler (ou :undo). Plus... BooK m'a offert un super mug, "the vi reference mug", toujours posé à côté de mon écran et qui me sert plus qu'à boire du café. Voici donc les principales commandes de VI, avec lesquelles vous devriez pouvoir vous débrouiller : • dans les commandes suivantes, n représente un nombre à taper ; lorsque n=1, vous pouvez l'omettre. Par exemple, "1dd" est synonyme de "dd", • de même, lorsque j'écris x,y pour indiquer une plage de lignes : ♦ c'est optionnel, ♦ x est optionnel (ex : ",10"), ♦ y est optionnel (ex : "1,"), (dans ces deux cas, cela signifie : ligne courante (ex : ",$" signifie : "de la ligne courante jusqu'à la fin du fichier), ♦ y peut être remplacé par $ qui signifie "fin de fichier", ♦ 1,$ est équivalent à % (i.e. tout le fichier). • les touches à taper sont entre crochets lorsqu'elles n'apparaissent pas à l'écran, et en gras lorsqu'elles apparaissent dans la ligne de 182 Installer et utiliser un logiciel Plus... commande (en bas de l'écran). Demander de l'aide tapez [:]help pour en savoir plus sur vi, [:]help howto pour débuter... Insérer et remplacer du texte Ces commandes vous placent toutes en mode "insertion". Pour en sortir, tapez la touche [Esc]. [A] Ajouter du texte à la fin de la ligne [a] Ajouter du texte après le curseur [i] Insérer du texte avant le curseur Créer une ligne vierge sous ou au dessus du curseur [o] ou [O] [R] Remplacer le texte à partir du curseur n[s] Supprime n caractères et passe en mode insertion Autres commandes : n[<][<] ou n[>][>] Indente n lignes vers la gauche ou vers la droite Utiliser a comme une abbréviation pour b [:]ab a b Remplacer le caractère sous le curseur par c [r]c Effacer du texte Efface n lignes à partir de la ligne courante ([d][d] efface la ligne courante) n[d][d] Efface n caractères à partir du caractère courant ([x] efface juste le caractère courant) n[x] n[d][w] ou n[d][b] Efface les n mots suivants ou précédents, à partir du mot suivant Efface tout depuis le curseur jusqu'à la première occurence de str [d][/]str Commandes sur les fichiers Ouvre le fichier fichier [:]nfichier Quitter vi sans enregistrer les modifications [:]q! [Z][Z] ou [:]wq ou [:]x Enregistrer et quitter Lance un shell ; lorsque vous tapez exit dans ce shell, vous revenez à vi [:]sh Change le nom du fichier courant, équivalent à "enregistrer sous" lorsque vous enregistrerez. [:]filenom [:]x,yw fichier Enregistre les lignes x à y dans le fichier fichier [:]x,yw>>fichier Ajoute les lignes x à y à la fin du fichier fichier Mouvements du curseur [h], [l], [k], [j] ou [<−], [−>], [ ], [ ] [$] [0] (zéro) n[b] ou n[w] n[G] [Ctrl][B], [Ctrl][F] ou [Page up], [Page down] n[|] [z][Entrée] [m][m] Déplace le curseur d'un caractère vers la gauche, la droite, le haut, le bas Déplace le curseur en fin de ligne. Déplace le curseur en début de ligne. Déplace le curseur de n mots vers la gauche ou vers la droite. Aller à la ligne n Ecran précédent, suivant Aller à la colonne n Positionner la ligne courante en haut de l'écran Déposer la marque nommée 'm' à l'endroit du curseur. Les marques sont nommées de a à z dans le fichier courant. ([m][x] dépose la marque x). Chercher, remplacer et copier [/]str[Entrée] Recherche str [/]^str[Entrée] Cherche la prochaine ligne qui commence avec str n[y][y] ou n[Y] Copie n lignes ([y][y] copie la ligne courante) dans le buffer [n] Installer et utiliser un logiciel Renouvelle la recherche précédente 183 Plus... [y][/]str [y]n[w] Copie depuis le caractère courant, jusqu'avant str, dans le buffer Copie n mots à partir du mot courant, dans le buffer ([y][w] copie le mot courant) [p] ou [P] Colle le contenu du buffer après ou avant le curseur (ou avant ou après la ligne courant si des lignes ont été copiées) [:]x,ys/s1/s2/opt Exemples : [:]%s/toto/titi/g Remplace tous les 'toto' par 'titi' [:]1,$s/t[o,i]to/tata/ Remplace 'toto' ou 'tito' par 'tata' Recherche entre les lignes x et y (optionnel) la chaîne s1 et la remplace par la chaîne s2 (pour remplacer chaque occurence, utiliser l'option g). Remarque : s1 et s2 sont en fait des regexp (expressions régulières), permettant d'écrire un masque générique, mais c'est un autre sujet... Je vous conseille de taper :help :s et :help regexp dans votre vi favori... [:]x,yg/str/cmd Recherche entre les lignes x et y (optionnel) la chaîne str et exécuter la commande vicmd sur chaque occurence Cool et inusité [~] [.] (point) [x][p] n[J] Répéte la dernière commande Echange le caractère courant avec le suivant Supprime n retours à la ligne depuis la ligne courante [d][']['] Efface tout de la ligne d'où on est parti par [G] jusqu'à la ligne courante [d]['][m] Efface tout de la ligne de la marque (posée par [m][m]) jusqu'à la ligne courante [y][']['] Copie tout de la ligne d'où on est parti par [G] jusqu'à la ligne courante [y]['][m] Copie tout de la ligne de la marque (posée par [m][m]) jusqu'à la ligne courante [:]%!sort Trie le fichier en cours d'édition [:]%s/[Ctrl][Q] [Ctrl][M][Entrée] [:]syntax on [:]set number 184 Transforme les minuscules en majuscules et vice−versa Remplace les CRLF par des LF, plutôt supprime les CR (très utile). Explication : : fait passer en mode ligne, % indique que la commande porte sur toutes les lignes du fichier, s commande de substitution, / début de la chaîne à remplacer, Ctrl−Q indique que le caractère qui suit doit être pris tel quel, même s'il s'agit d'un caractère de contrôle, Ctrl−M c'est toute la différence entre un CRLF pour Windows et un LF pour Unix, Entrée signale qu'on a terminé de taper la commande, et notamment que la chaîne de remplacement est vide. Active la coloration syntaxique (dans vim) Affiche le numéro de ligne devant chaque ligne Installer et utiliser un logiciel Utilisation d'emac Utilisation d'emacs par Fred Emacs est un éditeur qui peut tout faire (mettre en couleur vos sources, gérer vos mails, browser internet, lancer des commandes) et même l'édition de fichier texte ;). NDJCC : Où vous comprendrez bientôt pourquoi on surnomme cet éditeur Escape−Meta−Alt−Control−Shift ;) Introduction L'objectif de ce document n'est pas de faire de vous un pro d'emacs, mais plutôt de vous montrer que le monstre qu'est emacs n'est finalement pas si complexe que cela d'utilisation pour peu que l'on connaisse quelques fonctions élémentaires. Cette présentation sera donc fort sommaire. Évidement il faut fournir un petit effort de mémorisation. Mais, vous allez me dire : "Pourquoi utilisez emacs, alors que mes autres éditeurs sont plus simples ?" D'abord parce qu'emacs est présent sur presque toutes les plates−formes (MS DOS, Win$$$, Unix, Linux et même d'autres). Ensuite parce qu'il fonctionne aussi bien en mode texte qu'en mode graphique. Enfin parce que vous êtes allergique à la puissance brutale de vi ! (emacs se prononce émax ...) L'écran d'emacs L'écran d'emacs (que ce soit un terminal ou une fenêtre) se divise en (au moins) quatre parties : • la première ligne de l'écran qui constitue un menu. Celui n'est utile que sous X. (vous pouvez quand même l'appeler en mode terminal par F10, mais son fonctionnement est loin d'être intuitif). • la dernière ligne de l'écran appelée mini−buffer dans laquelle on tape des commandes • le reste de l'écran qui présente le texte en train d'être édité. Cette zone peut elle−même être divisée en plusieurs zones. Chacune des zones est suivie d'une ligne présentant les caractéristique de ce qui est présent dans cette zone. Les commandes Quand, vous utiliserez emacs, il vous arrivera de faire des erreurs dans l'entrée d'une commande, pour abandonner celle−ci tapez deux fois la touche <Echap>. Dans presque toutes les combinaisons de touches, vous pouvez remplacer l'appui sur Alt par une pression de Echap. Avec emacs, la plupart des commandes sont entrées avec les modificateurs Ctrl ou/et Alt. Le nombre de commandes disponibles dans emacs étant bien plus important que deux fois le nombre de touche du clavier (même s'il n'est heureusement pas nécessaire de les connaître toutes pour utiliser emacs confortablement), il faut utiliser ces modificateurs d'une façon légèrement différente de celle d'autres logiciels. Pour les commandes simples, c'est « simple » : vous tapez le modificateur avant la touche de « fonction » et en la maintenant appuyée vous appuyez sur la touche de « fonction ». Exemple : pour utiliser la commande d'effacement de ligne (qui est : Ctrl+k) vous appuyez sur Ctrl, et en maintenant Ctrl appuyée vous appuyez sur k, puis vous lâchez les deux touches. Pour les commandes complexes, un exemple vaut mieux qu'un long discourt : Pour annuler une série de changement dans une région, la commande est : Ctrl+u Ctrl+x u, cela signifie que vous devez tapez : Ctrl+u, lâchez les touches (au moins le 'u'), puis : Ctrl+x, lâchez les touches, puis : u Le curseur Pour déplacer dans emacs, c'est simple : on utilise les touches fléchées (haut pour aller en haut, etc. ;). Les combinaisons de touches peuvent aussi être utilisées. Notez que les combinaisons précédées de Alt ont une portée plus grande (généralement sur des mots) que celles précédées par Ctrl. Vous disposez également des combinaisons suivantes : Combinaison de touche Effet Ctrl+a Début de ligne Combinaison de touche Effet Ctrl+e Fin de ligne Ctrl+f Un caractère à droite (Forward) Alt+f Un mot à droite Ctrl+b Un caractère à gauche (Backward) Alt+b Un mot à gauche Ctrl+n Une ligne en bas (Next) Ctrl+p Une ligne en haut (Previous) Ctrl+< Début de ligne Ctrl+> Fin de ligne (nécessite shift) Installer et utiliser un logiciel 185 Effacer du texte Effacer du texte Combinaison de touche Effet Combinaison de touche Effet <DEL> Efface le caractère avant le curseur Alt+<DEL> Efface jusqu'au début du mot précédant le curseur Ctrl+d Efface le caractère après le curseur Alt+d Efface jusqu'à la fin du mot suivant le curseur Ctrl+k Efface la ligne sous le curseur (Kill) Alt+k Efface jusqu'à la fin du texte Ctrl+x u Annule le dernier changement Alt+z <CHAR> Efface jusqu'à la prochaine occurrence du caractère <CHAR> Ctrl+_ (souligné) Annule le dernier changement Ctrl+u Ctrl+x u Annule une série de changement dans cette région Ctrl+x Ctrl+o Efface les lignes blanches suivant le curseur Gestion des fichiers Combinaison de touche Effet Combinaison de touche Effet Ctrl+x Ctrl+f <NOM> Ouvre (ou crée s'il n'existe pas) le fichier <NOM> Ctrl+x Ctrl+r <NOM> Ouvre un fichier en interdisant les changements Ctrl+x 4 f <NOM> Ouvre (ou crée s'il n'existe pas) le fichier <NOM> dans une autre fenêtre (partage l'écran) Ctrl+x 5 f <NOM> Ouvre (ou crée) le fichier <NOM> dans un autre cadre (ne partage pas l'écran) Ctrl+x Ctrl+s Sauve le fichier sous son nom (Save) Ctrl+x s Permet de sauvegarder tous les fichiers ouverts (après confirmation de l'utilisateur) Ctrl+x Ctrl+w Attention : Sauve le fichier sous un autre nom (Write) Pour créer un nouveau fichier ne lancez pas emacs sans paramètre. Lancez le en précisant un nom de fichier inexistant ; il sera créé par emacs. Ou lancez emacs sans paramètre, puis ouvrez un fichier inexistant. Répétition de commande Vous pouvez préciser à emacs de répéter une commande plusieurs fois. Pour cela vous devez la précéder d'un des préfixes suivants : Combinaison de touche Effet Ctrl+u <NOMBRE> <COMMANDE> Répète <COMMANDE> <NOMBRE> fois Ctrl+u <COMMANDE> Répète <COMMANDE> quatre fois Vous pouvez également dire à emacs de répéter la dernière commande en tapant : Ctrl+x z à la suite de la dite commande. Exemple : Ctrl+u 20 Ctrl+d (efface 20 caractères) Ctrl+x z z (efface encore 20 (premier z) + 20 (second z) caractères supplémentaires). Les régions Création des régions Dans d'autres éditeurs, on peut sélectionner du texte avec le curseur (par exemple en maintenant la touche <shift> enfoncée). On peut évidement sélectionner du texte avec emacs, mais il ne fonctionne pas exactement comme peut s'y attendre l'utilisateur d'autres éditeurs. Dans emacs la zone sélectionnée est toujours définie entre une marque déposée par l'utilisateur et la position précédant le curseur (plus précisément entre la position du curseur et la position précédant celle−ci). Ainsi, pour définir une région, vous déposez une marque (voir ci−dessous) à une extrémité de la région, puis vous déplacez le curseur à l'autre extrémité. Alors comment déposer cette marque ? Ctrl+<espace> ou Ctrl+@ Attention : la marque est invisible ! Pour voir où elle se trouve, utilisez : 186 Installer et utiliser un logiciel Les régions Ctrl+x Ctrl+x qui échange la position du curseur avec la position de la marque. Utilisez−la une seconde fois pour revenir à la position précédente. Attention : c'est un échange effectif : la marque devient la position du curseur ! Attention : à partir du moment ou vous avez posez la marque, il existe toujours une région ! Copier/Couper/Coller Combinaison de touche Effet Combinaison de touche Effet Ctrl+w Efface la région et la dépose dans le buffer (idem couper) Alt+w Copie la région dans le buffer Ctrl+y Colle (Yank) le texte précédemment coupé Alt+y Colle tous les textes précédemment coupés Ctrl+Alt+w Modification des régions Ajoute la région à la région déjà présente dans le buffer Combinaison de touche Effet Combinaison de touche Effet Ctrl+x Ctrl+u Met la région en majuscule (Uppercase) Ctrl+x Ctrl+l Met la région en minuscule (Lowercase) Indente la région Ctrl+x <TAB> Régions rectangulaires Combinaison de touche Effet Ctrl+x r k Coupe la région rectangulaire Ctrl+x r d Efface la région rectangulaire (pas dans le buffer) Ctrl+x r y Colle la région rectangulaire précédemment coupée Ctrl+x r t <RET> chaîne <RET> Ajoute « chaîne » au début de toute les ligne de la région rectangulaire Les fenêtres d'emacs Les fenêtres au sens d'emacs, ne sont pas celles que l'on a l'habitude de voir : elles ne peuvent pas se recouvrir ! Si vous voulez utilisez emacs avec des fenêtres qui se recouvrent, il faut voir du côté des cadres (frame) que je ne décrirais pas ici. Les fenêtres d'emacs sont des zones rectangulaires qui divise la fenêtre (au sens X Window) d'emacs verticalement ou horizontalement. Pour diviser l'écran d'emacs en deux fenêtres et les manipuler, il faut utiliser : Combinaison de touche Effet Ctrl+x 2 pour couper horizontalement en 2 la fenêtre où se trouve le curseur Ctrl+x 3 pour couper verticalement en 2 la fenêtre où se trouve le curseur Ctrl+x o (other) Ctrl+x 1 pour changer de fenêtre active pour ne garder que la fenêtre du curseur Ctrl+x 4 Ctrl+f <NOM> pour ouvrir un fichier dans une autre fenêtre Ctrl+x 4 d <NOM> pour afficher le contenu d'un répertoire dans une autre fenêtre Installer et utiliser un logiciel 187 Lire ses courrier avec Gnus Lire ses courrier avec Gnus par Mathieu Roy Emacs is not built by hate of vi. vi is irrelevant. It is no more then a strange punishment that the unbelievers submit themselves to −− Accessoirement, on ne peut lire ses courriels avec un gnus sous vi. Pourquoi gnus ? Gnus est un lecteur de newsgroups (quel anglicisme horrible !) qui est fournit avec GNU Emacs. Il peut aussi servir de lecteur de courriel. Les avantages que j'y trouve sont les suivants : • même comportement du lecteur de courriel en mode graphique et mode texte • extensible... Prérequis Evidemment, il est de bon goût d'avoir Emacs installé sur son ordinateur. Il est aussi préférable d'être un peu familier avec Emacs. Nous allons aussi faire usage de procmail et fetchmail, matériel qui devrait être présent sur tout GNU/Linux décent. L'épreuve demande un peu de tenacité. Mais ça doit être jouable. Restez loggué et faites toutes les manips avec votre utilisateur normal (sauf précision contraire). Télécharger les courriers Vous êtes en train de le comprendre : Emacs ne va pas télécharger vos courriers, nous allons faire appel à fetchmail (télécharge) et procmail (distribue). Autant laisser faire chaque outil ce qu'il fait parfaitement. Cela vous permettra d'utiliser votre conf fetchmail et procmail avec d'autres lecteurs de courriel, si une folle envie vous en prennait. Le .forward Ce fichier définit qui doit gérer la redistribution de courrier arrivé en local pour l'utilisateur. Tapez ce qui suit, cela suffira : echo "|/usr/bin/procmail" > ~/.forward Le .procmailrc Premièrement, il faut créer un dossier où procmail stockera les courriers arrivés, dans différents fichiers selon la configuration. Ici, il s'agit de ~/.mail−gnus mkdir ~/.mail−gnus Ensuite, il faut créer un fichier ~/.procmailrc de configuration comme celui−ci : PATH=/usr/bin:/bin:/usr/local/bin:. MAILDIR=$HOME/.mail−gnus # You'd better make sure it exists DEFAULT=$MAILDIR/inbox LOGFILE=$HOME/.from_procmail LOCKFILE=$HOME/.lockmail # Tout les courriers venant ou allant vers une adresse chez gnu.org # sont posés dans une boîte appellée gnu−devel. :0 * ^[From|To|Cc].*@gnu.org gnu−devel # Tout les autres courriers iront dans $DEFAULT, # c'est−à−dire inbox. Le .fetchmailrc Après avoir configuré la redistribution de courrier en local, nous allons maintenant configurer le téléchargement de courrier. Voici un exemple pour un compte pop3. Il faut bien entendu substituer moa par l'utilisateur local destinataire, yeupou par le login free.fr et nibelungen par le nom de la machine hôte (hostname quoi). # Général set syslog set bouncemail set no spambounce set properties "" # Chaque compte sur chaque serveur poll pop.free.fr with proto POP3 user 'yeupou' there with password 'xxx' is 'moa@nibelungen' here 188 Installer et utiliser un logiciel Adapter son .emac Ensuite, il faudrait que fetchmail tourne en démon. La commande suivante devrait faire l'affaire : fetchmail −d60 −−fetchmailrc /home/moa/.fetchmailrc −−norewrite L'idéal est d'avoir ce démon au démarrage de la machine (ajoutez cette ligne dans /etc/rc.local) ou lors de votre login (ajoutez cette ligne dans le fichier qui gère votre session − par exemple ~/.Xclients ou ~/.xinitrc). Si fetchmail tourne et que vous avez reçu du courrier, alors il devrait se trouver dans un (ou des) fichier(s) dans le dossier ~/.mails−gnus Adapter son .emacs Nous allons maintenant signaler à Emacs l'existence de gnus. Il suffit de copier−coller ce qui suit dans votre ~/.emacs. ;; Definit Gnus comme lecteur courriel (custom−set−variables '(read−mail−command (quote gnus)) '(message−directory "~/.Mail/")) ;; Definit Galeon comme brouteur web, pour suivre les liens (setq browse−url−browser−function 'browse−url−generic browse−url−generic−program "galeon") Créer son .gnus Et nous sommes maintenant dans le vif du sujet, la configuration de gnus. Tout ce qui suit doit être ajouté dans le fichier ~/.gnus Identité Corrigez nom et adresse courriel. ;;**** BASIC IDENTITY (setq user−full−name "Votre Nom" user−mail−address "votre@courriel.org" mail−user−agent (quote message−user−agent)) ;; Def charset (setq gnus−default−charset (quote iso−8859−15) gnus−default−posting−charset (quote iso−8859−15)) (message "gnus.el: BASIC IDENTITY initialized") Arrivée du courrier Rien à changer si vous avez suivi ce qui précède. ;;******************* ;;***** GETTING MAILS ;; In mail−source, procmail store files that ;; We store mails here − this is also defined in my .emacs, ;; it's the only way I found to avoid apparition of ~/Mail/. (setq gnus−directory "~/.News/") (setq message−directory "~/.Mail/") ;; fetchmail previously downloaded. (setq mail−sources (list '(directory :path "~/.mail−gnus/" :suffix "" )) ) ;; We choose nnml: everybody says it's the fastest backend on earth. (setq gnus−select−method '(nnml "")) ;; We trash duplicates mails. (setq nnmail−treat−duplicates 'delete) ;; We just read mail, no newsgroups. (setq gnus−check−new−newsgroups nil) (message "gnus.el: GETTING MAILS initialized") Mime Types Rien à changer si vous avez suivi ce qui précède. Je ne pourrais pas vous donner de détails à ce propos, que je n'ai fait que copier−coller à partir d'un autre .emacs (mais ça marche bien). ;;************************ ;; MIME Settings for PGnus Installer et utiliser un logiciel 189 Créer son .gnus (require 'mm−util) (defun mm−read−charset (prompt) "Return a charset." 'iso−8859−15) (setq gnus−default−posting−charset (quote iso−8859−15)) (setq gnus−article−decode−mime−words t) (setq gnus−article−decode−charset 1) (setq gnus−mime−view−all−parts t) ; View all the MIME parts in current article (setq gnus−ignored−mime−types '("text/x−vcard")) (setq gnus−unbuttonized−mime−types nil) ; MIME type −> no buttons when rendered (setq ;; Add buttons gnus−treat−buttonize t ;; Add buttons to the head gnus−treat−buttonize−head 'head ;; Emphasize text gnus−treat−emphasize t ;; Fill the article gnus−treat−fill−article nil ;; Remove carriage returns gnus−treat−strip−cr 'last ;; Hide headers gnus−treat−hide−headers 'head ;; Hide boring headers gnus−treat−hide−boring−headers 'head ;; Hide the signature gnus−treat−hide−signature nil ;; Hide cited text gnus−treat−hide−citation nil ;; Strip PGP signatures gnus−treat−strip−pgp 'last ;; Strip PEM signatures gnus−treat−strip−pem 'last ;; Highlight the headers gnus−treat−highlight−headers 'head ;; Highlight cited text gnus−treat−highlight−citation 'last ;; Highlight the signature gnus−treat−highlight−signature 'last ;; Display the Date in UT (GMT) gnus−treat−date−ut nil ;; Display the Date in the local timezone gnus−treat−date−local nil ;; Display the date in the original timezone gnus−treat−date−original nil ;; Strip trailing blank lines gnus−treat−strip−trailing−blank−lines 'last ;; Strip leading blank lines gnus−treat−strip−leading−blank−lines 'last ;; Strip multiple blank lines gnus−treat−strip−multiple−blank−lines 'last ;; Strip all blank lines ;; gnus−treat−strip−blank−lines nil ;; Treat overstrike highlighting gnus−treat−overstrike 'last ) ;;* show the text/plain part before the text/html part in multpart/alternative (require 'mm−decode) ;;;−− no way do compile with this ;;;−−(push "text/plain" mm−alternative−precedence) ;;;−−(setq mm−alternative−precedence "text/plain") (message "gnus.el: MIME initialized") Archives Rien à changer si vous avez suivi ce qui précède. Je ne pourrais pas vous donner de détails à ce propos, que je n'ai fait que copier−coller à partir d'un autre .emacs (mais ça marche bien). ;;*********************** ;; ARCHIVES: one file per month (setq gnus−message−archive−group '((if (message−news−p) "misc−news" (concat "mail." (format−time−string "%Y−%m" (current−time))))) ) (message "gnus.el: ARCHIVES initialized") Interface Rien à changer si vous avez suivi ce qui précède. Logiquement ça marche, lisez les commentaires pour personnaliser. 190 Installer et utiliser un logiciel Créer son .gnus ;;*********************** ;;************* INTERFACE ;; Here I define how to display subject lines etc... ;; I wanna see thoses groups everytime (setq gnus−permanently−visible−groups "^nnml\\|^nnfolder\\|^inbox\\|^gnu−devel\\|^savannah−hackers\\|^trash") ;; I like it verbose (setq gnus−verbose 2000) ;; I wanna be able to access my previous post (setq gnus−fetch−old−headers t) ;; I wanna keep track of the last time I rode a group (add−hook 'gnus−select−group−hook 'gnus−group−set−timestamp) ;; *Group* buffer: how to format each group entry. (setq gnus−group−line−format "%M%m %4N/%4t non−lus: %(%−20,20g%) depuis le %2,2~(cut 6)\ d/%2,2~(cut 4)d à %2,2~(cut 9)dh%2,2~(cut 11)d\n" ;; ;; %var details C−h i ;;`M' An asterisk if the group only has marked articles. ;;'N' Number of unread articles. ;;`t' Estimated total number of articles. ;;`G' Group name. ;;`D' Newsgroup description. ;;`m' `%' (`gnus−new−mail−mark') if there has arrived new mail to the ;; group lately. ;;`D' Last time the group as been accessed. ;; ;; For the record, a default group line format ;;(setq gnus−group−line−format "%M\%S\%p\%P\%5y: %(%−40,40g%) %6,6~(cut 2)d\n") ) ;; *Summary*: how to format each mail entry. (setq gnus−summary−line−format "%−1R %−1U %−15,15n | %2,2~(cut 6)o/%2,2~(cut 4)o %2,2~(cut 9)oh%2,2~(cut 11)\ o | %I%(%0,40s%)\n" gnus−summary−same−subject ">>>" gnus−summary−mode−line−format "%V: %%b" ;; %var details C−h i ;; `s' Subject if the article is the root of the thread or the previous ;; article had a different subject, `gnus−summary−same−subject' ;; otherwise. (`gnus−summary−same−subject' defaults to `""'.) ;; `n' The name (from the `From' header). ;; `L' Number of lines in the article. ;; `I' Indentation based on thread level (*note Customizing Threading::). ;; `>' One space for each thread level. ;; ` Réponses Corrigez nom et adresse courriel. ; Hey, please remove my address from To: and Ccc: while I do a ;; wide reply. ;; seen at http://www.gnusfr.org/gen.php3/2002/04/02/36,0,1,0.html (setq message−dont−reply−to−names "utilisateur@\\(gnu\\|free\\).\\(org\\|fr\\)") ;; I want my replies to begin with something like "<user> writes:" (defun message−insert−citation−line () "La fonction qui insere une ligne aux reponses" (when message−reply−headers ;; In savannah−hackers group, we talk english (if (string−equal gnus−newsgroup−name "savannah−hackers") (insert (mail−header−from message−reply−headers) " said:\n\n") (insert (mail−header−from message−reply−headers) " a tapoté :\n\n") ))) (message "gnus.el: REPLY initialized") Plusieurs Identités Pour utiliser ceci, vous devez mettre la main sur gnus−pers.el dispo http://www.comsecmilnavpac.net/elisp/ en théorie. Vous devez modifier ce contenu en lien avec votre utilisation. Dans la première partie, on associe des identités à des groupes. (custom−set−variables ;; This is the hash "group name => identity" '(gnus−personality−electric−headers (quote ( (any ".*u−strasbg.*" "formel") (any ".*gnu.*" "gnu") ))) Installer et utiliser un logiciel 191 Utiliser gnus ;; There are my identities '(gnus−personalities (quote ( ; usual ("default" "mathieu <yeupou@coleumes.org>" "" "~/.signature" ) ; GNU voluteering ("gnu" "Mathieu Roy <yeupou@gnu.org>" "" "~/.signature_gnu" ) ; Formal, neutral ("formel" "Mathieu Roy <mathieu.roy@coleumes.org>" "" "~/.signature_formel" ) ))) '(gnus−pers−cc−fix nil) ) (require 'gnus−pers) (gnus−personality−init) (message "gnus.el: IDENTITIES initialized") Utiliser gnus Et voilà, le stade de la configuration est passé. Il suffit de lancer emacs, et d'y lancer gnus, en tapant M−x gnus (M = Meta, donc alt). Envoyer un courriel Une fois gnus lancé, tapez m. Remplissez les champs qui vont bien. Par exemple, envoyez vous un courrier, pour tester le tout. Vous pouvez changer votre identité en tapant C−cC−l. Pour finir, tapez C−c C−c pour envoyer le courrier. Consulter les courriels reçus Il faut maintenant dire quels groupes (en fait, fichiers crées par procmail, selon le .procmailrc) vous desirez lire. Vous regardez dans le menu "Groups" −> "Subscribe" −> "Subscribe to a group". Il vous est demandé de taper le nom du groupe. Tapez tabulation. Si un courriel à bien été reçu, au moins un groupe doit être disponible. Sélectionnez le... Rentrez dans le groupe en tapant entrée... Utilisez les menus et apprennez les raccourcis claviers :) FDL Ce document est libre, selon les termes de la licence GNU FDL 192 Installer et utiliser un logiciel Lire ses courrier avec Gn 0 Lire ses courrier avec Gnus par Mathieu Roy Emacs is not built by hate of vi. vi is irrelevant. It is no more then a strange punishment that the unbelievers submit themselves to −− Accessoirement, on ne peut lire ses courriels avec un gnus sous vi. Pourquoi gnus ? Gnus est un lecteur de newsgroups (quel anglicisme horrible !) qui est fournit avec GNU Emacs. Il peut aussi servir de lecteur de courriel. Les avantages que j'y trouve sont les suivants : • même comportement du lecteur de courriel en mode graphique et mode texte • extensible... Prérequis Evidemment, il est de bon goût d'avoir Emacs installé sur son ordinateur. Il est aussi préférable d'être un peu familier avec Emacs. Nous allons aussi faire usage de procmail et fetchmail, matériel qui devrait être présent sur tout GNU/Linux décent. L'épreuve demande un peu de tenacité. Mais ça doit être jouable. Restez loggué et faites toutes les manips avec votre utilisateur normal (sauf précision contraire). Télécharger les courriers Vous êtes en train de le comprendre : Emacs ne va pas télécharger vos courriers, nous allons faire appel à fetchmail (télécharge) et procmail (distribue). Autant laisser faire chaque outil ce qu'il fait parfaitement. Cela vous permettra d'utiliser votre conf fetchmail et procmail avec d'autres lecteurs de courriel, si une folle envie vous en prennait. Le .forward Ce fichier définit qui doit gérer la redistribution de courrier arrivé en local pour l'utilisateur. Tapez ce qui suit, cela suffira : echo "|/usr/bin/procmail" > ~/.forward Le .procmailrc Premièrement, il faut créer un dossier où procmail stockera les courriers arrivés, dans différents fichiers selon la configuration. Ici, il s'agit de ~/.mail−gnus mkdir ~/.mail−gnus Ensuite, il faut créer un fichier ~/.procmailrc de configuration comme celui−ci : PATH=/usr/bin:/bin:/usr/local/bin:. MAILDIR=$HOME/.mail−gnus # You'd better make sure it exists DEFAULT=$MAILDIR/inbox LOGFILE=$HOME/.from_procmail LOCKFILE=$HOME/.lockmail # Tout les courriers venant ou allant vers une adresse chez gnu.org # sont posés dans une boîte appellée gnu−devel. :0 * ^[From|To|Cc].*@gnu.org gnu−devel # Tout les autres courriers iront dans $DEFAULT, # c'est−à−dire inbox. Le .fetchmailrc Après avoir configuré la redistribution de courrier en local, nous allons maintenant configurer le téléchargement de courrier. Voici un exemple pour un compte pop3. Il faut bien entendu substituer moa par l'utilisateur local destinataire, yeupou par le login free.fr et nibelungen par le nom de la machine hôte (hostname quoi). # Général set syslog set bouncemail set no spambounce set properties "" # Chaque compte sur chaque serveur Installer et utiliser un logiciel 193 Adapter son .emacs poll pop.free.fr with proto POP3 user 'yeupou' there with password 'xxx' is 'moa@nibelungen' here Ensuite, il faudrait que fetchmail tourne en démon. La commande suivante devrait faire l'affaire : fetchmail −d60 −−fetchmailrc /home/moa/.fetchmailrc −−norewrite L'idéal est d'avoir ce démon au démarrage de la machine (ajoutez cette ligne dans /etc/rc.local) ou lors de votre login (ajoutez cette ligne dans le fichier qui gère votre session − par exemple ~/.Xclients ou ~/.xinitrc). Si fetchmail tourne et que vous avez reçu du courrier, alors il devrait se trouver dans un (ou des) fichier(s) dans le dossier ~/.mails−gnus Adapter son .emacs Nous allons maintenant signaler à Emacs l'existence de gnus. Il suffit de copier−coller ce qui suit dans votre ~/.emacs. ;; Definit Gnus comme lecteur courriel (custom−set−variables '(read−mail−command (quote gnus)) '(message−directory "~/.Mail/")) ;; Definit Galeon comme brouteur web, pour suivre les liens (setq browse−url−browser−function 'browse−url−generic browse−url−generic−program "galeon") Créer son .gnus Et nous sommes maintenant dans le vif du sujet, la configuration de gnus. Tout ce qui suit doit être ajouté dans le fichier ~/.gnus Identité Corrigez nom et adresse courriel. ;;**** BASIC IDENTITY (setq user−full−name "Votre Nom" user−mail−address "votre@courriel.org" mail−user−agent (quote message−user−agent)) ;; Def charset (setq gnus−default−charset (quote iso−8859−15) gnus−default−posting−charset (quote iso−8859−15)) (message "gnus.el: BASIC IDENTITY initialized") Arrivée du courrier Rien à changer si vous avez suivi ce qui précède. ;;******************* ;;***** GETTING MAILS ;; In mail−source, procmail store files that ;; We store mails here − this is also defined in my .emacs, ;; it's the only way I found to avoid apparition of ~/Mail/. (setq gnus−directory "~/.News/") (setq message−directory "~/.Mail/") ;; fetchmail previously downloaded. (setq mail−sources (list '(directory :path "~/.mail−gnus/" :suffix "" )) ) ;; We choose nnml: everybody says it's the fastest backend on earth. (setq gnus−select−method '(nnml "")) ;; We trash duplicates mails. (setq nnmail−treat−duplicates 'delete) ;; We just read mail, no newsgroups. (setq gnus−check−new−newsgroups nil) (message "gnus.el: GETTING MAILS initialized") Mime Types Rien à changer si vous avez suivi ce qui précède. Je ne pourrais pas vous donner de détails à ce propos, que je n'ai fait que copier−coller à partir d'un autre .emacs (mais ça marche bien). 194 Installer et utiliser un logiciel Créer son .gnus ;;************************ ;; MIME Settings for PGnus (require 'mm−util) (defun mm−read−charset (prompt) "Return a charset." 'iso−8859−15) (setq gnus−default−posting−charset (quote iso−8859−15)) (setq gnus−article−decode−mime−words t) (setq gnus−article−decode−charset 1) (setq gnus−mime−view−all−parts t) ; View all the MIME parts in current article (setq gnus−ignored−mime−types '("text/x−vcard")) (setq gnus−unbuttonized−mime−types nil) ; MIME type −> no buttons when rendered (setq ;; Add buttons gnus−treat−buttonize t ;; Add buttons to the head gnus−treat−buttonize−head 'head ;; Emphasize text gnus−treat−emphasize t ;; Fill the article gnus−treat−fill−article nil ;; Remove carriage returns gnus−treat−strip−cr 'last ;; Hide headers gnus−treat−hide−headers 'head ;; Hide boring headers gnus−treat−hide−boring−headers 'head ;; Hide the signature gnus−treat−hide−signature nil ;; Hide cited text gnus−treat−hide−citation nil ;; Strip PGP signatures gnus−treat−strip−pgp 'last ;; Strip PEM signatures gnus−treat−strip−pem 'last ;; Highlight the headers gnus−treat−highlight−headers 'head ;; Highlight cited text gnus−treat−highlight−citation 'last ;; Highlight the signature gnus−treat−highlight−signature 'last ;; Display the Date in UT (GMT) gnus−treat−date−ut nil ;; Display the Date in the local timezone gnus−treat−date−local nil ;; Display the date in the original timezone gnus−treat−date−original nil ;; Strip trailing blank lines gnus−treat−strip−trailing−blank−lines 'last ;; Strip leading blank lines gnus−treat−strip−leading−blank−lines 'last ;; Strip multiple blank lines gnus−treat−strip−multiple−blank−lines 'last ;; Strip all blank lines ;; gnus−treat−strip−blank−lines nil ;; Treat overstrike highlighting gnus−treat−overstrike 'last ) ;;* show the text/plain part before the text/html part in multpart/alternative (require 'mm−decode) ;;;−− no way do compile with this ;;;−−(push "text/plain" mm−alternative−precedence) ;;;−−(setq mm−alternative−precedence "text/plain") (message "gnus.el: MIME initialized") Archives Rien à changer si vous avez suivi ce qui précède. Je ne pourrais pas vous donner de détails à ce propos, que je n'ai fait que copier−coller à partir d'un autre .emacs (mais ça marche bien). ;;*********************** ;; ARCHIVES: one file per month (setq gnus−message−archive−group '((if (message−news−p) "misc−news" (concat "mail." (format−time−string "%Y−%m" (current−time))))) ) (message "gnus.el: ARCHIVES initialized") Installer et utiliser un logiciel 195 Créer son .gnus Interface Rien à changer si vous avez suivi ce qui précède. Logiquement ça marche, lisez les commentaires pour personnaliser. ;;*********************** ;;************* INTERFACE ;; Here I define how to display subject lines etc... ;; I wanna see thoses groups everytime (setq gnus−permanently−visible−groups "^nnml\\|^nnfolder\\|^inbox\\|^gnu−devel\\|^savannah−hackers\\|^trash") ;; I like it verbose (setq gnus−verbose 2000) ;; I wanna be able to access my previous post (setq gnus−fetch−old−headers t) ;; I wanna keep track of the last time I rode a group (add−hook 'gnus−select−group−hook 'gnus−group−set−timestamp) ;; *Group* buffer: how to format each group entry. (setq gnus−group−line−format "%M%m %4N/%4t non−lus: %(%−20,20g%) depuis le %2,2~(cut 6)\ d/%2,2~(cut 4)d à %2,2~(cut 9)dh%2,2~(cut 11)d\n" ;; ;; %var details C−h i ;;`M' An asterisk if the group only has marked articles. ;;'N' Number of unread articles. ;;`t' Estimated total number of articles. ;;`G' Group name. ;;`D' Newsgroup description. ;;`m' `%' (`gnus−new−mail−mark') if there has arrived new mail to the ;; group lately. ;;`D' Last time the group as been accessed. ;; ;; For the record, a default group line format ;;(setq gnus−group−line−format "%M\%S\%p\%P\%5y: %(%−40,40g%) %6,6~(cut 2)d\n") ) ;; *Summary*: how to format each mail entry. (setq gnus−summary−line−format "%−1R %−1U %−15,15n | %2,2~(cut 6)o/%2,2~(cut 4)o %2,2~(cut 9)oh%2,2~(cut 11)\ o | %I%(%0,40s%)\n" gnus−summary−same−subject ">>>" gnus−summary−mode−line−format "%V: %%b" ;; %var details C−h i ;; `s' Subject if the article is the root of the thread or the previous ;; article had a different subject, `gnus−summary−same−subject' ;; otherwise. (`gnus−summary−same−subject' defaults to `""'.) ;; `n' The name (from the `From' header). ;; `L' Number of lines in the article. ;; `I' Indentation based on thread level (*note Customizing Threading::). ;; `>' One space for each thread level. ;; ` Réponses Corrigez nom et adresse courriel. ; Hey, please remove my address from To: and Ccc: while I do a ;; wide reply. ;; seen at http://www.gnusfr.org/gen.php3/2002/04/02/36,0,1,0.html (setq message−dont−reply−to−names "utilisateur@\\(gnu\\|free\\).\\(org\\|fr\\)") ;; I want my replies to begin with something like "<user> writes:" (defun message−insert−citation−line () "La fonction qui insere une ligne aux reponses" (when message−reply−headers ;; In savannah−hackers group, we talk english (if (string−equal gnus−newsgroup−name "savannah−hackers") (insert (mail−header−from message−reply−headers) " said:\n\n") (insert (mail−header−from message−reply−headers) " a tapoté :\n\n") ))) (message "gnus.el: REPLY initialized") Plusieurs Identités Pour utiliser ceci, vous devez mettre la main sur gnus−pers.el dispo http://www.comsecmilnavpac.net/elisp/ en théorie. Vous devez modifier ce contenu en lien avec votre utilisation. Dans la première partie, on associe des identités à des groupes. (custom−set−variables ;; This is the hash "group name => identity" 196 Installer et utiliser un logiciel Utiliser gnus '(gnus−personality−electric−headers (quote ( (any ".*u−strasbg.*" "formel") (any ".*gnu.*" "gnu") ))) ;; There are my identities '(gnus−personalities (quote ( ; usual ("default" "mathieu <yeupou@coleumes.org>" "" "~/.signature" ) ; GNU voluteering ("gnu" "Mathieu Roy <yeupou@gnu.org>" "" "~/.signature_gnu" ) ; Formal, neutral ("formel" "Mathieu Roy <mathieu.roy@coleumes.org>" "" "~/.signature_formel" ) ))) '(gnus−pers−cc−fix nil) ) (require 'gnus−pers) (gnus−personality−init) (message "gnus.el: IDENTITIES initialized") Utiliser gnus Et voilà, le stade de la configuration est passé. Il suffit de lancer emacs, et d'y lancer gnus, en tapant M−x gnus (M = Meta, donc alt). Envoyer un courriel Une fois gnus lancé, tapez m. Remplissez les champs qui vont bien. Par exemple, envoyez vous un courrier, pour tester le tout. Vous pouvez changer votre identité en tapant C−cC−l. Pour finir, tapez C−c C−c pour envoyer le courrier. Consulter les courriels reçus Il faut maintenant dire quels groupes (en fait, fichiers crées par procmail, selon le .procmailrc) vous desirez lire. Vous regardez dans le menu "Groups" −> "Subscribe" −> "Subscribe to a group". Il vous est demandé de taper le nom du groupe. Tapez tabulation. Si un courriel à bien été reçu, au moins un groupe doit être disponible. Sélectionnez le... Rentrez dans le groupe en tapant entrée... Utilisez les menus et apprennez les raccourcis claviers :) FDL Ce document est libre, selon les termes de la licence GNU FDL Installer et utiliser un logiciel 197 Signer et crypter avec GnuPG 0 Signer et crypter avec GnuPG par Fred ou comment préserver votre identité sur internet. Introduction à GPG GPG signifie : GNU Privacy Guard. C'est un outil qui permet deux choses, à priori, distinctes : • signer un message/document et permettre de vérifier que la signature provient de la personne qui l'affirme • crypter un message/document de façon que seul le destinataire puisse le décrypter Il fonctionne suivant le principe suivant, chaque personne utilisant GPG dispose de deux clés : • une clé privée connue d'elle seule (cette clé sert à signer et à décrypter) • une clé publique connue de tout le monde, cette clé doit correspondre à la clé secrète (cette clé sert à vérifier les signatures et à crypter) L'envoi d'un mail signé se passe de la manière suivante, j'écris mon message comme d'habitude, je le passe à GPG avec le nom de la clé que je souhaite utiliser pour signer ce message, il me demande la pass phrase (les clés secrètes sont 'protégées' par une pass−phrase −− mot de passe), il me génère un fichier de signature (ou équivalent : un fichier signé, suivant les options) que j'envoie avec mon message (en pièce attachée par exemple). Le destinataire reçoit mon message, il faut qu'il dispose de ma clé publique (ce qui est simple puisque tout le monde peut la consulter, par exemple sur Léa). Il passe mon message et la signature à GPG qui vérifie alors la signature. Pour crypter un message, c'est similaire. Je dois connaître la clé publique du destinataire. Je passe à GPG le message à crypter et l'identité du destinataire (ou la clé, c'est pareil pour GPG puisque qu'il maintient une base de données des clés dont vous disposez). GPG me renvoie un message crypté (que même moi, je ne peux décrypter). Je l'envoie au destinaire qui le décrypte en utilisant sa clé secrète. Ce document est très axé 'ligne de commande' mais même ceux qui préfèrent utiliser des outils graphiques peuvent le lire avec profit. Générer les clés Avant toutes choses, il nous faut GPG. Vous le trouverez sur le CD de votre distribution ou, à défaut sur : http://www.gnupg.org. Puis, il nous faut nos deux clés. Nous allons demander à GPG de les générer. 1. On initialise gpg : [LFS gpg: gpg: gpg: gpg: raoul@gandalf raoul]$ gpg −−list−keys gpg: WARNING: using insecure memory! voir http://www.gnupg.org/fr/faq.html pour plus d'informations /home/raoul/.gnupg: répertoire créé new configuration file `/home/raoul/.gnupg/gpg.conf' created keyblock resource `/home/raoul/.gnupg/pubring.gpg': erreur d'ouverture de fichier Le message d'erreur est normal : nous n'avons encore aucune clé. 2. On génère les deux clés (GPG va nous poser de multiples questions, les réponses seront notées en gras) : [LFS raoul@gandalf raoul]$ gpg −−gen−key gpg (GnuPG) 1.2.0; Copyright (C) 2002 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. gpg: WARNING: using insecure memory! gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations gpg: le porte−clés `/home/raoul/.gnupg/secring.gpg` a été créé Sélectionnez le type de clé désiré: (1) DSA et ElGamal (par défaut) (2) DSA (signature seule) (5) RSA (signature seule) Votre choix ? 1 Ici, choississez l'option par défaut, c'est celle qui est la plus sûre. La paire de clés DSA fera 1024 bits. Préparation à la génération d'une nouvelle paire de clés ELG−E. la taille minimale est 768 bits la taille par défaut est 1024 bits 198 Installer et utiliser un logiciel Exporter sa clé publiqu la taille maximale conseillée est 2048 bits Quelle taille de clé désirez−vous ? (1024) 2048 Ici, choississez 2048 car les clés de 1024 bits ne sont plus vraiment sûres. La taille demandée est 2048 bits Spécifiez combien de temps cette clé devrait être valide. 0 = la clé n'expire pas <n> = la clé expire dans n jours <n>w = la clé expire dans n semaines <n>m = la clé expire dans n mois <n>y = la clé expire dans n années La clé est valide pour ? (0) 0 Ici, choississez ce que vous voulez, mais à priori votre clé n'a pas de raison particulière d'expirer. Key n'expire pas du tout Est−ce correct (o/n) ? o Répondez "o" si vous ne vous êtes pas trompé, "n" sinon ;−) Vous avez besoin d'un nom d'utilisateur pour identifier votre clé; le programme le construit à partir du nom réel, d'un commentaire et d'une adresse e−mail de cette manière: « Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de> » Nom réel: Raoul Machin Adresse e−mail: raoul.machin@mon−fai.org Commentaire: riton Entrez ici votre identité (faites attention à votre email, ce sera souvent lui qui servira à identifier avec quelle signature faire quelle chose (signer, crypter, vérifier, décrypter). Pour le commentaire, l'habitude est de mettre un surnom ou un titre. Vous avez sélectionné ce nom d'utilisateur: "Raoul Machin (riton) <raoul.machin@mon−fai.org>" Changer le (N)om, le (C)ommentaire, l'(E)−mail ou (O)K/(Q)uitter ? O Validez ! Vous avez besoin d'un mot de passe pour protéger votre clé secrète. Entrez le mot de passe: xxxxxx Répétez le mot de passe: xxxxxx Le mot de passe est l'ultime protection de votre clé privée, choisissez−le avec précaution : il ne doit pas être trop long à taper car vous le taperez souvent, mais il doit être suffisamment complexe pour ne pas être cracké trop vite. Sachez quand même que si quelqu'un met la main sur votre clé secrète, vous pouvez la considérer comme corrompue : ce n'est qu'une affaire de temps. Un grand nombre d'octets aléatoires doit être généré. Vous devriez faire autre−chose (taper au clavier, déplacer la souris, utiliser les disques) pendant la génération de nombres premiers; cela donne au générateur de nombres aléatoires une meilleure chance d'avoir assez d'entropie. ++++++++++..++++++++++++++++++++.++++++++++.+++++... ... gpg: /home/raoul/.gnupg/trustdb.gpg: base de confiance créée les clés publique et secrète ont été créées et signées. clé marquée comme ayant une confiance ultime. pub 1024D/A39DDDD2 2002−10−18 Raoul Machin (riton) <raoul.machin@mon−fai.org> Empreinte de la clé = 3930 6F14 BD9D CB85 D027 40CB 9574 8EF6 A39D DDD2 sub 2048g/0A66DCBD 2002−10−18 Ça y est, vos clés sont générées. Vous pouvez remarquer que chaque clé a un numéro (celle marquée pub est la clé publique, celle marquée sub est la clé secrète), mais ce que vous voyez, ce ne sont pas les clés : seulement leur numéro (tout le monde peut les voir). Enfin, vous remarquez aussi que la clé publique possède une empreinte. Cette empreinte sert à "valider" l'identité de quelqu'un. Nous y reviendrons plus tard. Vous pouvez recommencer cela plusieurs fois si vous souhaitez signer vos messages suivant plusieurs identités (riton <coiffeur>, riton <musicien>, etc...) Exporter sa clé publique. Si personne ne connait votre clé publique, personne ne pourra vérifier l'authenticité de vos messages, ni vous envoyer des messages cryptés : alors à quoi ça sert que GPG, il se décarcasse ? ;−) D'abord, exportons−la dans un fichier texte : Installer et utiliser un logiciel 199 Importer une clé publique. [LFS raoul@gandalf raoul]$ gpg −−export −−armor riton > ~/riton.asc gpg: WARNING: using insecure memory! gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations Voila, votre clé publique est maintenant sauvée dans le fichier ~/riton.asc. Vous pouvez coller votre clé publique sur tous vos messages. Mais c'est pénible : pour vous, mais aussi pour vos destinataires. Vous pouvez, si vous disposez d'un espace sur le WEB (en http, ou ftp), la mettre sur votre espace et dans chaque message signaler où on peut trouver la clé avec une fin de message du style : clé gpg: http://perso.mon−fai.org/~riton/gpg−sigs/riton.asc Enfin, la méthode des pros de gpg : le serveur de clés. Rendez vous là : http://www.keyserver.net/en. Cliquez sur "ADD A KEY". Dans la zone texte "Paste your key here" : coller le contenu de votre "~/riton.asc" (en entier, sans rien ajouter, absolument rien, même pas un retour chariot). Puis cliquez sur "Submit this key to the keyserver". Votre clé est alors envoyée à plusieurs keyservers mondiaux et maintenant vous pouvez envoyer un message à n'importe qui, il pourra vérifier votre signature en consultant votre clé publique sur le serveur de clés. Importer une clé publique. Si votre correspondant ne vous a pas donné un moyen de télécharger le fichier contenant sa clé publique (Fred.asc) c'est que la clé doit se trouver sur un serveur de clé. Rendez vous sur http://www.keyserver.net/en et cliquez sur "SEARCH A KEY", tapez l'addresse de votre correspondant ou le numéro de sa clé. Et obtenez la clé. Sauvez la dans : Fred.asc (par exemple). Nous disposons, donc, maintenant du fichier Fred.asc contenant la clé de Fred (la mienne !). Il nous faut l'ajouter à notre liste de clés (le trousseau : keyring in english) : [LFS raoul@gandalf raoul]$ gpg −−import Fred.asc gpg: WARNING: using insecure memory! gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations gpg: key E64019B5: public key "Frédéric Bonnaud (Fred) <frederic.bonnaud chez laposte.net>" imported gpg: Quantité totale traitée: 1 gpg: importée: 1 On peut vérifier de suite que tout est normal (même si le message précédant l'indique clairement) : [LFS raoul@gandalf raoul]$ gpg −−list−keys gpg: WARNING: using insecure memory! gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations /home/raoul/.gnupg/pubring.gpg −−−−−−−−−−−−−−−−−−−−−−−−−−−−−− pub 1024D/B60335AE 2002−10−18 Raoul Machin (riton) <raoul.machin@mon−fai.org> sub 768g/8AE42FB0 2002−10−18 pub 1024D/E64019B5 2001−09−13 Frédéric Bonnaud (Fred) <frederic.bonnaud chez laposte.net> sub 1024g/422AA63E 2001−09−13 Signer un message/document. Je supposerais que le message que nous souhaitons signer est : ~/message.txt. Il y a plusieurs méthodes : 1. La signature simple, binaire : [LFS raoul@gandalf raoul]$ gpg −−default−key riton −−detach−sign message.txt gpg: WARNING: using insecure memory! gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour l'utilisateur: "Raoul Machin (riton) <raoul.machin@mon−fai.org>" clé de 1024 bits DSA, ID B60335AE, créée le 2002−10−18 Entrez le mot de passe: xxxxxxx Cela crée un fichier binaire contenant la signature : ~/message.txt.sig. Il faut l'envoyer avec le message lui−même, par exemple en pièce attachée. 2. La signature simple, ascii : [LFS raoul@gandalf raoul]$ gpg −−default−key riton −−armor −−detach−sign message.txt gpg: WARNING: using insecure memory! gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour l'utilisateur: "Raoul Machin (riton) <raoul.machin@mon−fai.org>" clé de 1024 bits DSA, ID B60335AE, 200 Installer et utiliser un logiciel Vérifier un message sig créée le 2002−10−18 Entrez le mot de passe: xxxxxxx Cela crée un fichier ascii (lisible, enfin presque) contenant la signature : ~/message.txt.asc. Il faut l'envoyer avec le message lui−même, si vous l'envoyez par email cela doit être une meilleure solution que la signature binaire. La signature ressemble à cela : −−−−−BEGIN PGP MESSAGE−−−−− Version: GnuPG v1.2.0 (GNU/Linux) owGbwMvMwCRYcZa5Yhuz6TrGNapJ3LmpxcWJ6al6JRUltuv/KiWnJmcqpBaXKJTm KUCluDrsmVkZQJIwjYJMy0MZ5kd3789++nx9qrrM3amnDRcsXOw5PZRhQcudquMS jmU2xzytOPVOPA4TTJbOAQA= =AAQr −−−−−END PGP MESSAGE−−−−− 3. La signature dans le message en ascii : [LFS raoul@gandalf raoul]$ gpg −−default−key riton −−clearsign message.txt gpg: WARNING: using insecure memory! gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour l'utilisateur: "Raoul Machin (riton) <raoul.machin@mon−fai.org>" clé de 1024 bits DSA, ID B60335AE, créée le 2002−10−18 Entrez le mot de passe: xxxxxxx Cela crée un fichier ascii (lisible, enfin presque) contenant la signature et le message : ~/message.txt.asc ressemblant : −−−−−BEGIN PGP SIGNED MESSAGE−−−−− Hash: SHA1 ceci est un message −−−−−BEGIN PGP SIGNATURE−−−−− Version: GnuPG v1.2.0 (GNU/Linux) iD8DBQE9r/90eM0DeLYDNa4RAiHfAJ0YzqtxI9P3P8k4qBO5oqux3ePo6wCgnqYr u0Fp+PQc3mayA6znuWg2fT4= =gy4J −−−−−END PGP SIGNATURE−−−−− Là, vous n'avez que ce fichier à envoyer. Normalement votre client mail doit savoir faire cela tout seul sans que vous vous en occupiez. Vérifier un message signé. Comme il y a plusieurs façons de signer, il y a plusieurs façon de vérifier la signature. 1. Si le message vous arrive avec une signature séparée (message.txt + message.txt.sig ou message.txt.asc), alors, il suffit de faire : [LFS gpg: gpg: gpg: gpg: raoul@gandalf raoul]$ gpg −−verify message.txt.asc message.txt WARNING: using insecure memory! voir http://www.gnupg.org/fr/faq.html pour plus d'informations Signature faite ven 18 oct 2002 14:45:58 CEST avec une clé DSA ID B60335AE Bonne signature de "Raoul Machin (riton) <raoul.machin@mon−fai.org>" A ce moment vous pouvez avoir un message vous signalant que la validité de la clé ne peut être vérifiée : c'est normal, nous n'avons pas signé la clé de riton ni indiqué à quel point nous lui faisons confiance. 2. Si le message vous arrive avec la signature (un seul fichier : message.txt.asc) : c'est encore plus simple : [LFS gpg: gpg: gpg: gpg: raoul@gandalf raoul]$ gpg −−verify message.txt.asc WARNING: using insecure memory! voir http://www.gnupg.org/fr/faq.html pour plus d'informations Signature faite ven 18 oct 2002 14:45:58 CEST avec une clé DSA ID B60335AE Bonne signature de "Raoul Machin (riton) <raoul.machin@mon−fai.org>" (Même remarque que précédemment) Si, au lieu de vous renvoyer "Bonne signature", gpg vous renvoie : gpg: Erreur de CRC; 43558e − fbd2e9 gpg: packet(2) too short c'est que la signature n'est pas une signature gpg valable : la signature est corrompue (pas la clé). Installer et utiliser un logiciel 201 Crypter un message/document. S'il renvoie : gpg: Signature faite ven 18 oct 2002 14:44:46 CEST avec une clé DSA ID B60335AE gpg: MAUVAISE signature de "Raoul Machin (riton) <raoul.machin@mon−fai.org>" je crois que c'est clair ;−) : le message a été modifié : il ne provient pas de "riton". Pour Kmail, allez voir ce truc &astuce. Crypter un message/document. Pour crypter un message, le principe est le même que pour signer, sauf qu'il ne faut pas indiquer la "default−key" mais le "recipient" (ie : le destinataire du message/document). 1. Crypter (binaire, à éviter, sauf problème de taille de message) : [LFS raoul@gandalf raoul]$ gpg −−recipient riton −−encrypt message.txt gpg: WARNING: using insecure memory! gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations Ceci crée message.txt.gpg, un fichier illisible. 2. Crypter (ascii, à préférer) [LFS raoul@gandalf raoul]$ gpg −−recipient riton −−armor −−encrypt message.txt gpg: WARNING: using insecure memory! gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations Ceci crée message.txt.asc, un fichier lisible (ou presque) utilisable directement par votre client mail. Décrypter un message/document. Vous avez reçu le message crypté : message.txt.gpg (ou message.txt.asc si l'option −−armor a été utilisée). Pour le décrypter, quel que soit le format, il suffit de faire : [LFS raoul@gandalf raoul]$ gpg −−decrypt message.txt.gpg gpg: WARNING: using insecure memory! gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour l'utilisateur: "Raoul Machin (riton) <raoul.machin@mon−fai.org>" clé de 768 bits ELG−E, ID 8AE42FB0, créée le 2002−10−18 (ID clé principale B60335AE) Entrez le mot de passe: xxxxxxx gpg: chiffré avec une clé de 768 bits ELG−E, ID 8AE42FB0, créée le 2002−10−18 "Raoul Machin (riton) <raoul.machin@mon−fai.org>" ceci est un message Cela décrypte le message sur la sortie standard (stdout). Pour sauver le message dans un fichier, il suffit d'utiliser une redirection : [LFS raoul@gandalf raoul]$ gpg −−decrypt message.txt.gpg > message.txt gpg: WARNING: using insecure memory! gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour l'utilisateur: "Raoul Machin (riton) <raoul.machin@mon−fai.org>" clé de 768 bits ELG−E, ID 8AE42FB0, créée le 2002−10−18 (ID clé principale B60335AE) Entrez le mot de passe: xxxxxxx gpg: chiffré avec une clé de 768 bits ELG−E, ID 8AE42FB0, créée le 2002−10−18 "Raoul Machin (riton) <raoul.machin@mon−fai.org>" Lisons le message : [LFS raoul@gandalf raoul]$ cat message.txt ceci est un message Note: le mot de passe qui vous est demandé est bien entendu celui de votre clé privée (de celle correspondant à la clé publique utilisée pour le cryptage, au cas où vous en ayez plusieurs). Edition des clés. À quoi peut bien servir d'éditer les clés ? À indiquer à gpg a quel point vous leur faites confiance et/ou êtes sur de l'identité de la personne détentrice de la clé. Cela permet aussi d'ajouter une nouvelle identité pour la même clé (par exemple si vous avec plusieurs emails). 202 Installer et utiliser un logiciel Crypter un message/docum Je ne sais pas si des outils graphiques savent faire cela, mais c'est assez facile en ligne de commande. Pour modifier la clé de Fred, il suffit de taper : gpg −−edit−key Fred Vous vous retrouvez alors sous le shell (ligne de commande) de gpg : gpg (GnuPG) 1.2.0; Copyright (C) 2002 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. gpg: WARNING: using insecure memory! gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations pub 1024D/E64019B5 créée: 2001−09−13 expire: never confiance: −/− sub 1024g/422AA63E créée: 2001−09−13 expire: never (1). Frédéric Bonnaud (Fred) <frederic.bonnaud@laposte.net> Commande> Pour signifier à gpg que vous savez que la personne qui prétend posséder cette clé est la bonne, il faut suffit de la signer : Commande> sign pub 1024D/E64019B5 créée: 2001−09−13 expire: never confiance: −/− Primary key fingerprint: 633F 57F8 E64D 844F 961C 5A1C 6C5B 2BA9 E640 19B5 Frédéric Bonnaud (Fred) <frederic.bonnaud@laposte.net> Avec quel soin avez−vous vérifié que la clé que vous allez signer ? Appartient−elle réellement à la personne sus−nommée ? Si vous ne savez quoi répondre, entrez "0". (0) (1) (2) (3) Je ne répondrai pas. (default) Je n'ai pas vérifié du tout. J'ai un peu vérifié. J'ai vérifié très soigneusement. Votre choix ? 2 Etes−vous vraiment sûr(e) que vous voulez signer cette clé avec la vôtre: "Raoul Machin (riton) <raoul.machin@mon−fai.org>" J'ai un peu vérifié cette clé. Signer réellement ? oui Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour l'utilisateur: "Raoul Machin (riton) <raoul.machin@mon−fai.org>" clé de 1024 bits DSA, ID B60335AE, créée le 2002−10−18 Entrez le mot de passe: xxxxxxx Pour savoir comment vérifier l'identité d'un signataire (attendez un peu, ça vient ;−). Ensuite vous devez indiquer à gpg à quel point vous faites confiance à la personne possédant cette clé : Commande> trust pub 1024D/E64019B5 créée: 2001−09−13 expire: never confiance: −/− sub 1024g/422AA63E créée: 2001−09−13 expire: never (1). Frédéric Bonnaud (Fred) <frederic.bonnaud@laposte.net> À quel point avez−vous confiance en cet utilisateur pour la vérification des clés des autres utilisateurs (vous pouvez vérifier son passeport, vérifier les empreintes de diverses sources...) ? 1 = ne sais pas 2 = je ne fais PAS confiance 3 = je crois marginalement 4 = je fais entièrement confiance 5 = je donne une confiance ultime m = retour au menu principal Votre décision ? 3 pub 1024D/E64019B5 créée: 2001−09−13 expire: never confiance: m/− sub 1024g/422AA63E créée: 2001−09−13 expire: never Installer et utiliser un logiciel 203 Vérification de la validité des clés. (1). Frédéric Bonnaud (Fred) <frederic.bonnaud@laposte.net> Please note that the shown key validity is not necessarily correct unless you restart the program. Commande> Ne faites pas trop confiance aux gens que vous n'avez jamais rencontré (dans ce cas confiance marginale est un bon choix), vous pouvez sans doute faire une confiance ultime uniquement à vos amis. Ne faites pas confiance à quelqu'un (même un ami) dont vous savez qu'il signe toutes les clés n'importe commment. Cela affaiblit la chaine de validité des clés et diminue de beaucoup l'intérêt d'utiliser gpg. Enfin sauvez les modifications : Commande> save Voilà, ce n'est pas la mer à boire. Vérification de la validité des clés. La sécurité des clés gpg réside dans la faculté de vérifier ou non l'identité des gens avec qui vous correspondez. Il existe un moyen de vérifier qu'une clé gpg appartient bien a quelqu'un : le fingerprint qu'on obtient en tapant : [LFS raoul@ganfalf raoul]$ gpg −−fingerprint Fred gpg: WARNING: using insecure memory! gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations pub 1024D/E64019B5 2001−09−13 Frédéric Bonnaud (Fred) <frederic.bonnaud@laposte.net> Empreinte de la clé = 633F 57F8 E64D 844F 961C 5A1C 6C5B 2BA9 E640 19B5 sub 1024g/422AA63E 2001−09−13 L'empreinte clé est une somme de contrôles (un calcul assez complexe permettant d'identifier de manière à peu près sûre une clé. SI vous rencontrez (physiquement uniquement) une personne, qu'elle peut vous montrer son passport (ou que vous la connaissez personnellement, ça suffit, on n'est pas parano quand même, les chinois du FBI sont pas partout ;−) ET que l'empreinte de clé correspond à celle que vous donne la commande précédante ALORS vous pouvez être sûr que la clé dont elle prétend disposer est bien la sienne. Vous pouvez alors signer cette clé en affirmant que vous avez vérifié très soigneusement l'identité de la clé. Conclusion. Voilà, avec cela vous devez pouvoir vous en tirer avec GPG (ou PGP). Il est possible de signer et crypter les messages (essayez !). Normalement il faut aussi générer un certificat de révocation pour votre clé privée (au cas ou elle serait corrompue). Bref, ce n'est pas un article complet. Amusez−vous à tout tester : gpg est vraiment un bel outil complet. Le plus simple pour utiliser GPG est d'utiliser un client mail qui sait s'en servir automatiquement (kmail, sylpheed−claws, gnus, mutt...) : ça évite de taper les commandes de cryptage/décryptage, signature/vérification. Il existe aussi quelques outils graphiques pour gérer les "portes clés" de gpg, comme gpgkeys. Note de Jice : Savez−vous que tout le trafic mail passe en clair sur tous les serveurs ? Cela signifie que n'importe qui peut intercepter un mail au niveau d'un serveur et le lire (votre entreprise, votre fournisseur d'accès, etc.), par exemple à partir de certains mots clefs. De plus, les états cherchent des moyens d'espionner la correspondance électronique (système Echelon et équivalent Français). Crypter vos mails avec gpg, même les plus insignifiants, vous permet 1) de dormir sur vos deux oreilles et 2) de vous opposer à cette intrusion dans votre vie privée. C'est à mon avis extrêmement important. 204 Installer et utiliser un logiciel Correction Orthographiq Correction Orthographique par Fred Utiliser ASpell pour faire la correction orthographique de vos textes. Introduction La correction orthographique sous Linux est, contrairement aux idées reçues une chose assez bien développé. En effet, contrairement à Windows, un seul programme devrait pourvoir faire la correction orthographique de tous vos documents (pages HTML, texte TeX, email etc...). En fait, certains locigiels n'utilisent pas les programmes standards (StarOffice, Netscape, et c.). Pour ceux là : il n'y a rien à faire. Pour les autres, nous allons voir ce qu'il convient de faire pour corriger l'orthographe française. Télécharger les programmes. Pour corriger nos textes, je vous propose d'utiliser ASpell (http://aspell.sourceforge.net/). Ce programme repose sur la librairie : Portable Spell Checker Library (http://pspell.sourceforge.net/). Il nous faudra aussi un dictionnaire français (http://dept−info.labri.u−bordeaux.fr/~vanicat/aspell/). Et une interface graphique sera très utile (gaspell disponible sur le site d'aspell). Je vous conseille d'utiliser les sources (ce sera la solution que je vais expliquer ici) mais vous pouvez bien sur utiliser les paquetages créés pour votre distribution. Compilation et installation des programmes. Vous avez donc téléchargé les paquetages .tar.gz sur les différents sites précités. La librairie pspell. La procédure est classique : [user@becane user]$ tar xzf pspell−version.tar.gz [user@becane user]$ cd pspell−version [user@becane pspell−version]$ ./configure −−prefix=/la/ou/vous/voulez/installer ... [user@becane pspell−version]$ make ... [user@becane pspell−version]$ su −c"make install" Password: ######## ... Prenez soin d'ajouter /la/ou/vous/voulez/installer/bin à votre path : export PATH=$PATH:/la/ou/vous/voulez/installer/bin Vous devez aussi ajouter cette commande à votre /etc/bashrc ou ~/.bashrc. Ajouter aussi la ligne : /la/ou/vous/voulez/installer/lib au fichier /etc/ld.so.conf pour que la librairie soit prise en compte par votre système. Validez les changements en tapant : su −c"/sbin/ldconfig" Le programme aspell. La procédure est la même : [user@becane user]$ tar xzf aspell−version.tar.gz [user@becane user]$ cd aspell−version [user@becane aspell−version]$ ./configure −−prefix=/la/ou/vous/voulez/installer ... [user@becane aspell−version]$ make ... [user@becane aspell−version]$ su −c"make install" Password: ######## ... Maintenant que aspell est installé, vous pouvez faire un test de celui ci par exemple par la commande : [user@becane user]$ aspell check /ou/c/est/UN−TEXTE−ANGLAIS Si le texte contient des fautes, vous pourrez constater que aspell vous propose de les corriger. Installer et utiliser un logiciel 205 Compilation et installation des programmes. Le dictionnaire français. La procédure est semblable : [user@becane user]$ tar xzf aspell−dict−francais−version.tar.gz [user@becane user]$ cd francais [user@becane francais]$ make ... [user@becane francais]$ su −c"make install" Password: ####### ... Voilà, le dictionnaire français est installé. Un petit test : [user@becane user]$ aspell −−lang=francais check /ou/c/est/UN−TEXTE−FRANCAIS Ça marche ? Parfait ! Ça ne marche pas ? Peut−être avez−vous taper français à la place de francais ! L'interface graphique. La procédure est la même (mais les librairies de gnome doivent être installées, même si vous n'utilisez pas gnome) : [user@becane user]$ tar xzf gaspell−version.tar.gz [user@becane user]$ cd gaspell−version [user@becane gaspell−version]$ ./configure −−prefix=/la/ou/vous/voulez/installer ... [user@becane gaspell−version]$ make ... [user@becane gaspell−version]$ su −c"make install" Password: ######## ... Un petit test : [user@becane user]$ gaspell −−lang=francais check /ou/c/est/UN−TEXTE−FRANCAIS Configuration Le fichier : /etc/aspell.conf. Configurer aspell ne veut pas dire grand chose : vous avez pu remarquer que tout fonctionne déjà ! Mais on peut améliorer le fonctionnement de aspell/gaspell en lui faisant savoir que la langue par défaut est le français. C'est très simple, il suffit de créer un fichier /etc/aspell.conf (il faut être root pour créer un tel fichier) contenant la ligne : lang francais Et c'est tout, maintenant pour utiliser gaspell vous pouvez taper : gaspell /ou/c/est/UN−TEXTE−FRANCAIS Voilà. Utiliser aspell à la place de ispell. Beaucoup de programmes sont conçus pour être utiliser avec le correcteur orthographique ispell. Les concepteurs d'aspell ont pensé à ce problème et on écrit un programme nommé : run−with−aspell qui permet de lancer un programme conçu pour ispell de façon que celui−ci utilise aspell à la place. Pour l'utiliser il faut taper : run−with−aspell <programme> <paramètres de programme> Simplissime ! Mais dans la mesure du possible essayez de remplacer les appels à ispell par : aspell check. Conclusion Comme vous pouvez le constater utiliser un correcteur orthographique avec Linux n'est pas forcément très complexe. N'hésitez pas à utiliser gaspell pour vérifier vos fichier TeX : il les détecte. Idem pour les fichiers HTML. Une limitation toute fois : les accents pour les fichiers HTML et TeX sont remplacés par des combinaisons de caractères incompréhensibles pour aspell (pour l'instant, gageons que la prochaine version réglera ce problème). 206 Installer et utiliser un logiciel Introduction à LaTe Introduction à LaTeX par Jean−Marc Lichtlé Utiliser LaTeX est très simple, à condition de disposer des informations de base qui permettent de se lancer... Vous vous êtes peut−être déjà cassé les dents sur des premiers essais infructueux. Ne soyez pas déçu, d'autres, avant vous, ont buté sur des difficulés. LaTeX est simplement un système de création de documents totalement à l'écart des sentiers battus, des cliquaudrômes et autres interfaces graphiques stérilisantes. Son abord nécessite un investissement initial, un peu comme un ticket d'entrée. L'objectif de cette synthèse est précisément de vous fournir ce ticket d'entrée, de vous permettre de créer les premiers documents, de vous convaincre de la validité du concept. LaTeX n'est pas un ``traitement de texte'' au sens habituel de ce terme. Vous ne rédigerez jamais un document avec LaTeX. LaTeX est un compilateur qui traite un texte source et le transforme en un document exploitable par des logiciels de visualisation ou d'impression. LaTeX a donc, dans la chaîne de création du document final, un rôle à la fois fondamental, puisque c'est lui qui effectue toute la mise en page du document, et peu spectaculaire puisqu'il n'intervient ni lors de la création du texte source, ni lors de la visualisation. Table des matières 1. Introduction 1. Version décrite 2. Compatibilité d'autres système de création de documents 2. Présentation 1. LaTeX et vos habitudes de travail 2. Le travail avec LaTeX 3. Structure d'un document 3. Installation de LaTeX 4. Structure d'un document LaTeX 1. Les balises, syntaxe générale 2. Le préambule 1. Le type de document 2. La langue du document 3. Les caractères accentués 3. Les environnements 4. Le plan d'un document 5. Mise en page 1. Format de la page 2. Entête et pied de page 6. Etoffer votre texte 1. Résumé de document 2. Sauts de ligne 3. Les aménagements de police de caractère 1. La forme des caractères 2. La tailles des caractères 4. Les environnements de liste 5. Inclure des éléments graphiques 6. Utiliser les références internes 7. Les tableaux 8. Les barres de révision 9. Les notes en marges et notes en pied de page 10. Les tabulations et l'environnement tabbing 7. LaTeX et les mathématiques 8. Définir une commande LaTeX personnelle 9. Création de documents au format .pdf 1. Format de page 2. Police de caractères 10. Compilation avec pdflatex 1. Modification élémentaire du cource en vue de sa compilation avec pdflatex 2. Source compilable pat LaTeX et pdflatex 11. Synthèse 12. Faire du courrier 1. La classe lettre de L'Observatoire de Genève 2. Récupérer les fichiers strictement nécessaires 3. Une documentation complète 4. Installation 5. Paramétrage du fichier default.ins 6. Premier essai 7. Les champs disponibles pour la zone entête de lettre 8. Les champs disponibles pour la zone pied de lettre 13. Utilisation de la classe lettre pour la rédaction de téléfax 1. Premier essai 2. Les champs disponibles pour la zone entête de telefax Installer et utiliser un logiciel 207 Document 3. Les champs disponibles pour la zone pied de telefax 14. Utilisation avancée 15. Remerciements 16. L'auteur 17. Copie Document Pour une fois les habitudes du site sont contournées. Le document n'est pas disponible au format classique .html, mais au format postscript en cliquant ici ou au format .pdf en cliquant là. Une exportation au format .html aurait été possible mais elle aurait modifié suffisamment la mise en page pour faire perdre en partie en grande partie l'intérêt de cette exportation. Cette exportation aurait, en tout état de cause, fait perdre l'intérêt didactique de cette présentation, les finesses de présentaton n'étant pas reproduites à l'identique lors de l'exportation. Par ailleurs certaines notions n'existent pas en .html, entête, bas de page et plus généralement le notion même de page. Or, précisément, l'une des principales caractéristiques techniques d'un document écrit est la mise en page. Je vous souhaite une bonne lecture. Vous pouvez adresser vos commentaires, suggestions critiques à cette adresse. 208 Installer et utiliser un logiciel GnuPlot, LYX et LATE GnuPlot, LYX et LATE X Jean−Marc LICHTLE, 10 février 2002 Utilisation de GnuPlot, LATEX et LYX Liste des figures • Premier essai • Variante améliorée • Exploitation données de laboratoire • Axe X personnalisé 1 Préambule. Le présent document s'applique aux versions suivantes des logiciels : • gnuplot 3.7.1 • LYX 1.1.6 • latex 1.0.7 tels que contenus dans la distribution LINUX Mandrake 8.0. Ce document a été rédigé avec LYX puis exporté dans les différents formats d'utilisation possible, en particulier le format LATEX qui a lui−même donné naissance à la version −.html. 2 Introduction. 2.1 LATE X L'ingénieur ou le scientifique a à sa disposition un grand nombre d'outils qui lui permettent d'exploiter et de présenter ses chiffres et ses données, qu'il s'agisse de résultats de laboratoires, de paramètres de production ou plus prosaïquement de données comptables. Dans un monde ou les éditeurs de logiciels s'ingénient à donner au document en cours de création le même rendu à l'écran que dans sa forme finale papier le concept L A TEX est assurément dérangeant. En effet L A TEX ne se propose pas de mettre à la disposition de l'utilisateur une superbe interface WYSIWYG (What You See Is What You Get). Bien au contraire. L ATEX est essentiellement un compilateur de document qui s'alimente d'un code source que l'auteur doit rédiger au moyen de son éditeur de texte préféré, Emacs, VI ou autre. L ATEX restitue le fruit de sa compilation sous forme d'un fichier −.dvi (device independant) lequel doit à son tour être adressé à l'écran par xdvi ou à l'imprimante via dvips. On est donc bien loin de l'apparente facilité d'utilisation de certains produits bien connus (et, évidemment, commerciaux!). La syntaxe du code source présente une certaine analogie avec la syntaxe html en ceci qu'il s'agit dans les deux cas d'un langage à balises. Le rôle de ces balises est de décrire la présentation souhaitée, la structure du document. Le concept décrit ici s'oppose évidemment au WYSIWYG qui demande à l'auteur de définir les éléments de sa mise en page et lui montre imédiatement le résultat de ses réglages. Dans un environnement WYSIWYG l'auteur devient typographe et utilise cette typographie pour donner de la structure de son document. Dans un environnement LATEX l'auteur décide de la structure de son document, de l'articulation de celui−ci et laisse au compilateur, le soin de construire la décoration, de numéroter les chapitres, de mettre en place les polices de caractères des titres etc.. Il s'agit donc là d'une opposition totale des concepts. Il ne saurait être question dans cette courte présentation de rédiger un manuel LATE X. Un tel manuel peut d'ailleurs être trouvé assez facilement sur Internet ou chez votre libraire habituel. La distribution Mandrake contient un certain nombre de fichiers d'aide. Voyez le contenu de /usr/share/texmf/doc . Mon propos est simplement de donner un premier éclairage sur le sujet pour mettre le pied à l'étrier au lecteur qui serait intéressé par le sujet. J'insisterai plus particulièrement dans la suite sur l'utilisation de Gnuplot et l'intégration des fruits de ce grapheur dans des documents LATEX. L'ojectif final est d'aboutir à une méthode de travail qui permette de créer un document papier, un document destiné à la vidéo−projection, ou un document destiné à être mis en place sur un Intranet ou même Internet. 2.2 LYX LYX (ou KLYX qui est la variante KDE de LY X) est présent dans toute distribution LINUX qui se respecte. Il s'agit, à mon avis, d'un point d'entrée intéressant pour créer des documents LATE X. L YX est en effet un éditeur de texte vaguement wysiwyg et qui enregistre ses fichiers dans un format propre (−.lyx) extrèmement proche du format L ATEX sur lequel il est totalement basé. L'avantage essentiel pour le débutant est que l'environnement LYX lui permet de faire du LATEX sans le savoir un peu comme M. JOURDAIN faisait de la prose. LYX sait par ailleurs parfaitement enregistrer ses fichiers au format LA TE X ce qui donne au débutant que la curiosité pousse à éditer le fichier −.tex ainsi créé un formidable moyen d'apprentissage de la syntaxe propre à L AT E X sans l'obliger à "avaler" de suite la syntaxe assez complexe de ce produit. LYX présente par ailleurs l'avantage d'offrir un environnement intégré qui se charge de la "cuisine", la visualisation, l'impression etc. Alors, me direz−vous, pourquoi donc s'ingénier à apprendre la syntaxe de LATEX alors que LYX offre une interface sympa, semblable par bien des aspects à nombre de clicaudromes bien connus ? Les raisons sont multiples, la plus évidente est que vous allez buter très rapidement sur les limitations de LYX et qu'à ce moment là, la meilleure solution sera d'insérer une ou plusieurs commandes LATEX pour s'affranchir de ses limitations. Car c'est bien là que le système devient grandiose, L YX Installer et utiliser un logiciel 209 2 Introduction. permet en effet d'insérer, à tout moment dans le texte, du code LATEX qui sera ensuite compilé avant d'être rendu utilisable, soit pour un affichage écran, soit pour une impression. Exemple de limitation : je cherche toujours comment augmenter la largeur du texte renvoyé par la visualisation dvi de LY X ou la restitution imprimée du document. J'ai solutionné le problème en incluant systématiquement un \hsize=15cm sur la première ligne du fichier. C'est une des solutions, il y en a bien d'autres. Nota : cette balise ne doit pas être entrée comme un texte banal, elle doit être tapée alors que LY X est en mode LA TEX. Ce mode peut être obtenu par [Ctrl]−[L] qui fonctionne en bistable, passe du mode texte au mode LATEX ou inversement. Une autre solution consiste à taper au km puis à surligner le passage qui doit passer en mode LATEX et à cliquer sur l'icône T EX qui trône dans la barre de menu de LYX. Les balises LATEX introduites dans le texte apparaissent en rouge, ce qui facilite leur identification. 2.3 Gnuplot Et Gnuplot dans tout celà ? Gnuplot est déjà un logiciel très ancien et qui n'évolue plus que lentement, arrivé en quelque sorte à une maturité qui satisfait à la fois ses auteurs et ses utilisateurs. Il permet de tracer des graphiques très bien finis et largement personnalisables, en utilisant des listes de données chiffrées (résultats d'une expérience par ex.), des formules mathématiques, ou encore une combinaison des deux. Gnuplot produit dans sa configuration de lancement une sortie écran. Il peut bien sûr aussi produire d'autres sorties, les plus courantes étant certainement les fichiers postscript destinés à être imprimés. L'une des variantes est la sortie qui génère un fichier au format LATEX. Je déconseille toutefois l'utilisation de cette possibilité. Elle est en effet nettement moins performante que la variante de sortie qui génère un fichier postscript. Les différences sont essentiellement les suivantes : • Postscript permet l'utilisation de la couleur, à ma connaissance le format LATEX généré par Gnuplot ne le permet pas ou du moins pas dans une utilisation élémentaire. • Les caractères accentués sont mieux supportés. Il s'agit là d'un problème récurrent avec les logiciels d'origine anglo−saxone et qui pose bien des soucis aux utilisateurs de langues latines. • Pour une visualisation avec xdvi ou gv, les deux méthodes donnent des résultats assez voisins, avec un léger avantage pour postscript pour la couleur. Idem pour les restitutions sur papier. Pour une exportation éventuelle au format html la méthode postscript donne un résultat nettement plus propre que la précédente, le rendu restant toutefois assez variable selon le navigateur. • La taille des fichiers −.eps générés est généralement plus faible que leur équivalent en −.tex. 3 Schéma de la création d'un document au moyen de ces logiciels Les différentes phases de la création d'un document L ATEX contenant des graphiques Gnuplot peuvent se résumer comme suit : • Création des tables de données (si le diagramme utilise un tableau de chiffres), • Création interactive du diagramme, la sortie étant faite à l'écran, • Lorsque le graphique est au point, sortie sous forme de fichier .eps (ou −.tex si on préfère le format L A TEX), • Création soit avec LYX soit directement avec L A TEX du texte du rapport, • Mise en place de la balise LATE X liant le fichier graphique .eps créé plus haut, • Le document peut alors être imprimé, converti en −.html , etc. selon les besoins de l'auteur. Il s'agit là d'un schéma, vous pourrez imaginer des variantes comme la créaton du source avec Emacs, la compilation en ligne de commande, etc. 4 Utilisation de Gnuplot Gnuplot est un programme en mode texte. Tapez gnuplot à l'invite $ de Linux dans une fenêtre xterm, rxvt ou autre. Gnuplot se trouve dès lors en mode ligne de commande. Vous voyez appaître à l'écran la bannière d'accueil qui se termine par : Terminal set to 'x11' gnuplot> Le curseur est rangé après le signe > qui est l'invite de gnuplot. Attention, vous pouvez utiliser gnuplot depuis un écran texte Linux (Ctrl−Alt−F1 à F6). Toutefois dans ce cas vous ne disposez pas du terminal x11, vous devrez donc travailler "en aveugle" ce qui présente assez peu d'intérêt. Pour quitter Gnuplot tapez simplement quit, exit ou Ctrl−Z. 4.1 Aide en ligne de Gnuplot L'aide en ligne, en anglais, est accessible à tout moment en tapant > help. Vous pouvez quitter l'aide à tout moment au moyen de la combinaison Ctrl−C. Cette aide en ligne est très bien construite, n'hésitez pas à faire l'effort d'y faire appel régulièrement. Elle est organisée de façon arborescente, feuilletez la page d'aide jusqu'à la fin, vous verrez s'afficher la liste des branches accessibles (Subtopics available for..) et serez invité à faire un choix (Subtopic of..). Gnuplot utilise la complétion de ligne. En clair il est inutile de taper le texte en entier, si les premiers caractères tapés permettent à Gnuplot de faire une sélection univoque alors il saura s'en contenter. 4.2 Premier graphique. Mais passons aux choses sérieuses... Figure 1: Premier essai 210 Installer et utiliser un logiciel 4 Utilisation de Gnup Le premier graphique est obtenu en tapant simplement > plot sin(x) à l'invite de Gnuplot. Ce premier résultat appelle les commentaires suivants: • L'échelle des abscisses est graduée de −10 à −10. Il s'agit là du domaine de définition standard de Gnuplot. Ce domaine de définition peut être modifié en tapant > set xrange [0:1] Les valeurs de x sont interprétées par défaut comme étant des radians. Ce réglage peut être modifié par > set angles degree. • L'échelle des ordonnées a été ajustée automatiquement par Gnuplot. Là aussi vous avez la possibilité de la fixer par le biais de la commande > set yrange, par exemple > set yrange [0;2]. • Gnuplot dessine automatiquement une légende sin(x) −− dans le coin supérieur droit du graphique. Cette légende peut être supprimée par > set nokey. • Le diagramme est exempt de titre général et de titres d'axe (pour l'instant). 4.3 Mise en forme Vous êtes professeur de mathématiques et préparez un cours sur le fonction sinus. Vous aimeriez améliorer un peu la présentation de votre graphique. Les lignes qui précèdent devraient vous permettre de comprendre sans mal les saisies suivantes: > set xrange [0:2*acos(−1)] > set yrange [−1.2:1.2] > set nokey > set title "Fonction SINUS" > set xlabel "domaine 0 − 2*pi" > plot sin(x), 0, 1, −1 Figure: Variante améliorée Installer et utiliser un logiciel 211 4 Utilisation de Gnuplot Le résultat de ce nouveau tracé commence à devenir plus expressif. Vous aurez deviné sans effort le rôle des lignes set title et set xlabel. La fonction plot a été utilisée pour tracer la fonction sinus, mais aussi des fonctions constantes 0, 1 et −1. Plot accepte donc de faire des tracés multiples, les différents arguments doivent être séparés par une virgule. Essayez > plot sin(x), cos(x), tan(x) par exemple. 4.4 Les caractères accentués Il ne faut jamais perdre de vue que Gnuplot est un logiciel anglophone. Il s'en suit que vous vous préparez un sérieux mal de tête avec les accents puisque, bien entendu nos amis les roosbeef n'utilisent pas ces accessoires ! Faites simplement l'essai de mettre un libellé contenant un accent, >set title "échantillon" par exemple. L'affichage dans la fenêtre x11 sera correct, par contre les exportations, tant au format −.eps qu'au format −.tex vont faire apparaitre des caractères curieux assez disgracieux et de nature à faire douter de la qualité de votre travail. L'une des premières précautions à prendre consiste à prévenir Gnuplot d'utiliser un codage iso_8859_1 (également appelé latin−1) pour les caractères. Il suffit pour celà de taper > set encoding iso_8859_1. L'affichage dans la fenêtre x11 est inchangé, par contre les exportations aux formats −.tex et −.eps fonctionnent maintenant assez correctement. Note de Jicé : la page de codes ISO 8859−15 est la même que ISO 8859−1, avec le symbole Euro '€' en plus... 4.5 Utilisation du clavier sous Gnuplot Vous allez commencer à avoir besoin de retaper des commandes déjà utilisées lors de la même session. Les flèches haut et bas vous offrent le possibilité de feuilleter l'historique de frappe, exactement comme dans un terminal Linux. Les déplacements du curseur s'effectuent au moyen des flèches droite et gauche. Par contre pour sauter au premier ou au dernier caractère les touches fin et début ne donnent pas l'effet escompté. Il faudra employer les combinaisons Ctrl−E et Ctrl−A chères aux utilisateurs d'Emacs. La touche effacement arrière (backspace) de notre clavier français fonctionne, par contre del est à éviter soigneusement faute de quoi vous allez voir appaître des sequences 3 ! 4.6 Accès au système d'exploitation Il peut se produire que que vous ayez besoin d'accéder au système d'exploitation, pour vérifier la présence d'un fichier, supprimer celui−ci ou toute autre opération. Le symbole ! permet d'introduire une commande système. Par exemple >!ls lira la liste des fichiers présents sur le répertoire par défaut, >!rm graphique2.tex −f effacera graphique2.tex. L'option −f est nécessaire dans ce cas pour forcer la commande et éviter que le système ne demande la confirmation classique, question que Gnuplot ne saurait pas gérer. 4.7 Utilisation avancée, sauvegarde des réglages Vous avez passé un certain temps à mettre au point un graphique qui corresponde à votre besoin. Vous en êtes assez fier et bien sûr vous aimeriez pouvoir conserver votre travail. Gnuplot offre cette possibilité au moyen de la commande save. La commande > save "essai.plot" par exemple 212 Installer et utiliser un logiciel 4 Utilisation de Gnup sauvegarde dans un fichier essai.plot tous les réglages actuels. Vous pourrez éditer ce fichier pour changer les valeurs de réglages. Ceux−ci sont assez faciles à identifiés puisque leur syntaxe est très précisément celle que vous avez utilisé pour la mise en point de votre graphique. La commande save accepte des options qui permettent de ne sauvegarder qu'une partie des réglages, faites > help save pour plus de détails. Le pendant de la commande save est la commande load qui permet de recharger la définition précédemment sauvegardée. Essayez > load "essai.plot" par exemple pour recharger les réglages sauvegardés précédemment. La définition est à nouveau chargée et le graphique vous saute à la figure! En effet au chargement Gnuplot fait immédiatement un replot et affiche donc de suite le résultat de cette opération. Notez que Gnuplot ne restitue pas dans ce cas le réglage de la sortie si vous aviez configuré une sortie au format −.eps par exemple, mais affiche simplement dans une fenêtre x11. En fait les réglages ne sont pas perdus. Vous pourrez vérifier en éditant le fichier −.plot créé précédemment que les réglages de sortie ont bien été sauvegardés mais que les deux lignes qui les concernent (et qui sont rangés juste à la fin de l'entête) sont affectées d'un "#" et donc marquées comme commentaires. Si vous souhaitez que le fichier graphique soit regénéré immédiatement, y compris le réglage de la sortie il suffit de décommenter ces lignes au moyen d'Emacs, VI ou tout autre éditeur de texte. 4.8 Tracé basé sur un tableau de valeurs 4.8.1 Tracé utilisant une seule série de valeurs L'introduction faisait état de la possibilité de restituer des tableaux de chiffres sous forme de graphique. Imaginons un laboratoire effectuant un test de tamisage d'échantillons de sable. Les résulats seront tout d'abord consignés dans un fichier texte que vous pourrez créer avec Emacs ou l'éditeur de votre choix. L'essentiel est de créer un fichier texte pur. Ce fichier pourrait avoir par exemple le contenu suivant : # Echantillons sable de Loire, laboratoire Untel, laborantin M. DUPONT le 12/01/2002 # Tamis Echantillon1 Echantillon2 0.63 100 100 1.00 99 97 1.25 98 90 1.40 95 82 1.60 88 65 2.00 72 45 2.50 45 22 3.15 15 8 4.00 2 1 5.0 0 0 Sauvegardez ce fichier par exemple sous "tamisage.dat". La forme de ce fichier est très simple, les lignes qui commencent par # sont des commentaires ignorés par Gnuplot. Les autres sont simplement des lignes de valeurs séparées par des espaces ou des tabulations. Les colonnes sont numérotées 1, 2, etc. Figure: Exploitation données de laboratoire Installer et utiliser un logiciel 213 4 Utilisation de Gnuplot Ce troisième graphique a été obtenu par la combinaison des commandes suivantes: > set title "Echantillons sable de Loire" > set xlabel "tamis" > set ylabel "refus" > plot "tamisage.dat" using 1:2 with lines, "tamisage.dat" using 1:3 with lines La syntaxe des trois premières commandes n'appelle pas de commentaires particuliers. La commande plot est plus intéressante. La virgule sépare deux tracés qui se basent sur le fichier tamisage.dat, le premier exploitant les colonnes 1 et 2, le deuxième les colonnes 1 et 3. Les tracés sont réalisés au moyen de lignes. Chouette non ? Mwouais, pas tout à fait à mon avis. En effet la taille des tamis ne se retrouve pas sur l'axe des abscisses. Celui−ci est gradué bêtement de 0.5 à 5 par 1/2 mm. On aurait aimé retrouver les tailles des tamis utilisés. Figure: Axe X personnalisé 214 Installer et utiliser un logiciel 4 Utilisation de Gnup Voilà qui est fait sur cette version laquelle diffère de la précédente par: > set grid > set xtics ("0.63" 0.63, "1.00" 1, "1.25" 1.25, etc.) La commande > set grid provoque l'affichage de la grille, > set xtics crée une nouvelle définition de la graduation de l'axe des abscisses. Cette définition est basée sur une série de couple libellé valeur. Chaque couple est séparé du précédent par une virgule, les libellés et les valeurs sont séparés par des espaces. J'ai laissé les "key" (légendes) de telle sorte à rappeller l'origine des données. En fait, si vous partez du réglage précédent dans lequel les légendes avaient été supprimées il faut les rétablir avec > set key. 4.8.2 Utilisation de plusieurs séries de données dans le même fichier Il est possible de mettre plusieurs jeux d'enregistrement dans un fichier, la séparation s'obtient simplement en laissant deux lignes blanches entre les séries de données. Faites l'essai en recopiant le tableau précédent à la suite de lui même après avoir passé deux lignes blanches. Faites une modification violente des chiffres de la troisième colonne (par exemple) de telle sorte à reconnaître sans ambigüité quel est le jeu de données affichées. La commande > plot "tamisage.dat" using 1:3 affiche maintenant les deux jeux de données superposées. Les valeurs des deux colonnes 1 étant identiques la superposition dans le même domaine de définition de x était donc prévisible. Si vous souhaitez isoler le premier ou le deuxième jeu d'enregistrement il convient d'ajouter l'option index à la commande plot selon la syntaxe > plot "tamisage.dat" index 0 using1:3 with lines. Attention, alors que les colonnes sont numérotées à partir de 1, les jeux d'enregistrement le sont à partir de 0 ! Il suffit de le savoir, sinon bonjour la perplexité ! 5 Importation des graphiques Gnuplot dans LATEX. 5.1 Génération de graphiques au format −.eps Le format −.ps (postscript) a été créé à l'origine pour contrôler les imprimantes laser. Il est depuis devenu l'un des formats graphiques standards. Il peut être interprété par bon nombre de logiciels graphiques, Gimp par exemple. La variante −.eps, encapsuled postscript, est une extrapolation du format précédent qui contient des commentaires postscript supplémentaires. Le format −.eps suppose qu'il n'y a qu'un seul graphique par fichier. Les deux formats sont utilisables avec LATEX. Nous utiliserons toutefois le deuxième qui présente quelques avantages pour un utilisateur débutant : • Les graphiques sortent directement dans l'orientation de la page L ATEX avec une taille correcte (5x3.5 pouces) alors que le format −.ps aboutit à un graphique 10x7 pouces orienté à 90° , donc en format paysage, ce qui est gênant dans notre cas. • L'exportation au format −.html est plus simple. Je vais être honnête, je me suis battu des heures avec le format −.ps pour trouver la combine qui existe obligatoirement, sans résultat ! Avec l'−.eps tout rentre dans l'ordre sans la moindre difficulté. Installer et utiliser un logiciel 215 5 Importation des graphiques Gnuplot dans LATEX. La création d'un graphique au format postscript avec Gnuplot est très simple. Tapez > set terminal postscript eps color et > set output "fichier.eps". La commande plot (ou replot) va créer un fichier −.eps qui pourrait, si vous le souhaitez, être adressé directement à l'imprimante par lp fichier.eps tapé dans un terminal . La taille du fichier −.eps est légèrement plus faible que le fichier −.tex correspondant pour la définition de base de Gnuplot. Dans l'ensemble le format −.eps est donc plus intéressant. L'intérêt ne réside d'ailleurs pas que dans la taille des fichiers, la présence de couleurs est un autre élément qui milite en faveur de ce format. 5.2 Importation d'un graphique au format −.eps L'insertion d'un graphique −.tex (pour ceux qui souhaitent utiliser ce format) dans un document LATEX se fait en insérant simplement une balise \insert{graphique.tex} dans le texte du rapport. Le graphique est en effet un texte au format LATEX. Il s'en suit que son importation se fait comme toute importation de document LATEX au moyen de \input. Dans le cas d'une insertion −.eps l'affaire est très légèrement plus complexe. Il faut tout d'abord demander à LA T EX d'utiliser un pakage permettant l'interprétation des fichiers −.eps. La balise \usepackage{graphicx} doit donc trouver sa place dans le préambule du fichier LA TE X . Ce préambule est accessible sous LYX par Format − Préambule de Latex... Ajouter simplement \usepackage{graphicx} dans la fenêtre qui s'ouvre alors. En LA TE X pur il suffit d'ajouter cette ligne dans le préambule. Attention, il existe deux pakages aux noms voisins et aux fonctions similaires, graphics et graphicx. Le deuxième permet l'orientation et le redimensionnement des documents −.eps importés, le premier non. La balise d'insertion devient \includegraphics{}, la syntaxe \includegraphics{graphique.eps} permet d'insérer le fichier graphique.eps. Le même travail peut être réalisé directement avec le menu de LYX . Il suffit d'utiliser Insérer − Figure pour déboucher sur une fenêtre "Insérer figure" puis une suivante "Figure" L'utilisation de ce menu est certes plus conviviale mais moins didactique. 5.3 Titre de graphique Vous aurez certainement remarqué dans ce document la présence de légendes de graphiques qui n'ont pas été générés par Gnuplot. Il s'agit là d'éléments LA TEX. J'ai expliqué plus haut la syntaxe minimale d'insertion d'un graphique \includegraphics{}. En fait j'ai utilisé une syntaxe plus complexe et qui met en place des balises \begin{figure}, \caption{} et \end{figure}, par exemple pour l'insertion du graphique3: \begin{figure} \caption{graphique3.eps} \includegraphics{graphique3.eps} \end{figure} La compréhension de ces quelques lignes ne devrait pas poser de problème. La balise \caption sert à donner un titre au graphique ou à l'image importée en général car il peut s'agir de n'importe quel document au format postscript. La position de \caption n'est pas indiférente. Placer \caption avant l'instruction d'inclusion conduit à un titre en haut du graphique. Si \caption suit l'inclusion le titre sera sous la graphique. L'un des intérêts de donner un titre aux graphiques est de permettre la création d'une table des graphiques, au même titre que la création d'une structure de document permet la création d'une table des matières. Cette table des graphiques s'obtient simplement dans le menu de LYX avec l'onglet de menu Insérer− Liste et Tdm − Liste des figures. Ne seront répertoriées dans cette liste que les figures qui auront un titre affecté par \caption{ }. Cette manipulation insère une balise \listoffigures{} dans le code LATEX de votre document. 5.4 Format flottant Les graphiques (et plus généralement toutes les images) −.eps sont des objets "flottants" que la compilation va placer en haut ou en bas de page, mais pas obligatoirement à l'endroit que vous souhaitiez. Si vous voulez forcer la position du graphique il faut simplement le préciser dans la syntaxe de \begin{} par exemple en l'orthographiant \begin{graphique1.ps}[h] . Le suffixe [h] fixe l'importation à l'emplacement de la balise. Il existe d'autres suffixes possibles, t pour haut, b pour bas, etc. Attention : en pas oublier de refermer l'environnement ouvert par \begin{} avec un \end{} ! Arrivés à ce stade de l'explication nous savons créer un document LATEX contenant des graphiques 5.5 Exportation au format −.html Le format −.html est indiscutablement l'un des formats dominants actuellement. Il présente l'avantage par rapport aux formats spécifiques −.doc, −.tex ou autres de pouvoir être interprété sur n'importe quelle plateforme. Une multitude de logiciels savent en effet interpréter ou éditer le format −.html. De plus ce format règne en maître sur Internet et, partant, sur tout ce qui peut ressembler à un Intranet. Il serait donc dommage de ne pas examiner la possibilité de créer des documents −.html avec les logiciels décrits ici. La création d'un document au format −.html va passer par une phase d'exportation du format d'origine vers ce nouveau format. Deux options s'offrent à vous: • L'exportaion directe sous LYX , menu Fichier − Exporter − HTML 216 Installer et utiliser un logiciel 5 Importation des graphiques Gnuplot dan • L'utilisation de LATEX . L'exportation directe sous LYX correspond en fait à une ligne de commande latex2html fichier.tex −no_subdir −split 0 −show_section_number . En clair cette ligne de commande signifie que LYX va "sous−traiter" l'exportation à LATEX en lui demandant de créer le fichier −.html dans le répertoire courant (−no−subdir), de le créer sous forme d'un fichier −.html unique (−split 0) et de conserver la numérotation des paragraphes (−show_section_number). Vous obtiendrez donc un fichier de même nom que le fichier d'origine mais avec l'extension −.html et dont l'aspect à l'écran sera assez semblable à celui que vous voyez avec LYX. L'exportation a créé quelques fichiers supplémentaires auxquels il est fait référence dans le fichier −.html . En particulier les graphiques qui étaient inclus dans le document d'origine sont maintenant convertis au format −.png avec des noms abscons img1.png , img2.png, etc. Le transport de votre exportation vers une autre destination, autre sous−répertoire, serveur de votre FAI, etc. risque donc de poser le problème de l'intégrité des informations, raison pour laquelle je préfère réaliser l'exportation directement en mode ligne de commande avec la commande latex2html fichier.tex. Cette syntaxe très simple va créer un sous répertoire du même nom que le fichier d'origine et qui contiendra l'ensemble des informations nécessaires à l'affichage correct du fichier −.html. Celui−ci se retrouve d'ailleurs présent dans deux fichiers identiques, un fichier portant le nom d'origine suivi de l'extension −.html, l'autre nommé index.html. La numérotation des paragraphes disparaît avec cette syntaxe élémentaire mais cet aspect n'est pas obligatoirement gênant dans la mesure ou le format −.html ouvre la possibilité d'utiliser les liens hypertextes. Cette syntaxe de base va transformer chaque paragraphe, sous−paragraphe etc.. en un fichier dont le nom commencera par "node" suivi d'un numéro. L'affichage se fera donc section par section. Pour une utilisation simple à l'écran cette structure est parfaite. Elle est également, mais c'est mon avis, idéale pour une utilisation en vidéo−projection. L'exportation créera sur chacune des pages les boutons de navigation qui permettent de passer à la page suivante, à la précédente, au sommaire etc.. Pour une utilisation mixte écran / document papier il me semble toutefois préférable de ne pas éclater les paragraphes en fichiers séparés et de conserver une structure monobloc au fichier. Pour celà utilisez la syntaxe latex2html fichier.tex −split 0, l'ajout de −split 0 conserve la structure monobloc du fichier (format d'exportation standard de LYX). Une autre option intéressante est −info. L'ajout de celle−ci à la ligne de commande supprime le paragraphe "About this document..." qui apparait systématiquement à la fin du fichier −.html . Ce paragraphe, rédigé dans la langue de John LENNON n'apporte finalement pas grand chose et ne sert qu'à donner quelques informations telle que la syntaxe de la ligne de commande. Une variante consiste à conserver ce paragraphe mais à fixer soi−même son contenu, par exemple −info "Une réalisation JML Software". Cette phrase apparaîtra donc en remplacement du contenu de ce paragraphe. 5.6 Graphiques au format −.tex Si vous utilisez ce format, vos premiers essais d'exportation vont aboutir à un résultat assez mitigé. La courbe de sin(x) par exemple sera affichée en pointillé, principalement dans les extrémums. L'ensemble aura donc un aspect décevant. Ce phénomème de pointillé vient du fait que Gnuplot utilise en standard une définition 100x100 qui n'a pas posé de problème jusque là (affichage écran ou affichage par dvips mais est insuffisante pour l'application envisagée. Pour remédier à ce problème il suffit simplement d'augmenter la définition de Gnuplot en tapant par exemple set sample 500. Attention aux excès, ne forcez pas sur la définition, celle−ci va augmenter la taille du fichier −.tex . Dans notre cas le tracé de sin(x) dans les conditions définies ici va faire passer la taille du fichier de 16 ko à 64 ko lorsque la définition passe de 100x100 à 500x500. La commande replot va également vous poser quelques soucis. Alors qu'à l'écran (set terminal x11) l'affichage est rafraichi correctement vous allez découvrir rapidement qu'en mode latex (set terminal latex, set output "graphique.tex") Gnuplot va simplement ajouter le tracé au fichier existant, d'ou une belle pagaille en perspective. Le remède, là aussi simple, consiste à faire un !rm graphique.tex −f qui va simplement donner l'ordre, via le système d'exploitation, d'effacer le fichier graphique.tex . Curieusement replot ne créera pas le fichier comme imaginé. Pour une obscure raison (obscure parce que je ne sais pas l'expliquer à l'instant ou j'écris ces lignes) il faut rappeler la ligne qui défini le nom du fichier de sortie. Jouez donc de la flèche haut jusqu'à retrouver cette ligne puis validez par entrée et tout rentre dans l'ordre. Cette fois replot créera bien un nouveau fichier −.tex. 6 L'auteur JML dit Jean−marc LICHTLE, Ingénieur Arts et Métiers promotion CH73. Quand je pense au chemin parcouru.... A l'époque le stockage des informations se faisait encore sur des rubans perforés! Le bon informaticien se devait de savoir scotcher un ruban déchiré et refaire des bits endommagé à la perforatrice ! T'as pas connu ça gamin hein ! jml 2002−02−10 Installer et utiliser un logiciel 217 Installation et utilisation de Wine. Installation et utilisation de Wine. par Fred Faites fonctionner des programmes Windows sous Linux en utilisant Wine. Qu'est ce que Wine ? Wine c'est deux choses : • Wine : Wine Is Not an Emulator (Wine n'est pas un émulateur), Wine est une librairie qui peut aider à recompiler un programme destiné à Windows pour qu'il fonctionne sous Linux (et maintenant BeOS, * BSD). • Wine : Windows Emulator (Emulateur de Windows), Wine est un programme qui émule Windows (c'est à dire qu'il simule son fonctionnement), pour permettre d'utiliser des programmes que l'on ne peut pas recompiler sous Linux en transformant les appels aux fonctions de Windows par des appels aux fonctions de X ou de Linux. Avertissement : • Wine ne fonctionne que sur des machines à processeur X86 (Intel, AMD, CyRIX, et c.) car Wine émule Windows, pas le processeur : ce qui explique qu'un programme qui fonctionne (il y en a) fonctionne souvant aussi vite sous Wine et sous Windows (même s'il le premier est plus long à charger que le second). • Wine est encore un projet en développement et par conséquent il est possible qu'il plante, voir qu'il plante votre PC, vous voilà prévenu. Téléchargez les paquetages. Votre distribution contient très certainement une vieille version de Wine. Comme Wine est un projet en plein développement, il vaut mieux avoir la dernière version si on espère pouvoir faire tourner un quelconque programme. Le site le mieux adapté pour télécharger ces paquetages est : http://www.winehq.com. Cliquez sur la rubrique "Download" et choisissez une location en fonction de votre distribution. Choisissez une version 'stripped' si vous ne comptez pas renvoyez de compte rendu de bug à l'équipe de Wine (pas cool, mais cette version est beaucoup plus petite et légèrement plus rapide que la version 'unstripped'). Installez les paquetages. L'installation des paquetages dépend de votre distribution, pour une distribution basée sur RPM (Red Hat, Mandrake, SuSE, et c.) la procédure est la suivante : [user@becane user]$ su password: xxxxxxxxx [root@becane user]# rpm −i wine−cvs−stripped−20000831.i586.rpm Et c'est tout ? Et bien en générale non ! Si vous ne changez rien, wine ne fonctionnera pas car il ne saura pas où trouver les différents composant de Windows dont vous disposez. Le fichier /etc/wine/wine.conf. Syntaxe Le fichier de configuration de Wine s'appelle : /etc/wine/wine.conf. Il est divisé en plusieurs sections. Chaque section commence par : [Nom de la Section] Dans chaque section, on peut définir différentes variables. La définition d'une variable se fait de la manière suivante : Variable=Valeur Les sections à modifier Il y a beaucoup de sections dans le fichier wine.conf, mais heureusement, il faut en modifié que quelques unes : en effet, le fichier wine.conf par défaut est très bien, mais il n'est pas adapté à vos différents disques. Nous partirons donc du fichier fourni avec votre installation de Wine. Pour commencer, vous pouvez éditer ce fichier et supprimer d'icelui toutes les sections nommées [Drive X] ou X est une lettre entre A et Z ;−), mais laissez les autres elles sont très bien. Pour les besoins de l'exemple nous supposerons que vous avez deux disques dédiés à Windows qui sont montés sur /mnt/win_c et /mnt/win_d, un lecteur de disquette (/dev/fd0) monté sur /mnt/disquette et un lecteur de cdrom (/dev/hdc) monté sur /mnt/cdrom. Le principe restera le même si vous avez une autre configuration. Pour chacun des disques dont vous disposez il faut ajouter une section nommée [Drive X] dans le fichier wine.conf où X est le nom du disque sous Windows. Exemple, pour votre lecteur de disquette la section s'appellera [Drive A]. Pour chaque section vous pouvez définir les variables suivantes : 218 Installer et utiliser un logiciel Le fichier /etc/wine/wine.c • 'Path' : le répertoire dans lequel est monté le lecteur en question (cette variable est obligatoire). • 'Type' : le type de lecteur en question. Elle peut prendre les valeurs suivantes : 'floppy' pour un lecteur de disquette, 'hd' pour un disque dur, 'cdrom' pour un lecteur de cdrom, et 'network' pour tous les autres cas. (cette variable est obligatoire) • 'Label' : le nom de ce lecteur sous Windows (cette variable est facultative) • 'Serial' : le numéro de série de ce lecteur sous Winodws (cette variable est facultative) • 'Filesystem' : le type de système de fichier de ce lecteur. Les valeurs possibles sont : 'msdos' ou 'fat' pour un disque en FAT16, 'win95' ou 'vfat' pour les autres type de disque. Il existe une valeur 'unix' mais elle est déconseillée. (cette variable facultative) • 'Device' : le nom de périphérique sous Linux. Vous ne devez renseigner cette variable que si vous voulez que Wine accède directement au périphérique sans passer par les routines de gestion de fichier de Linux. Ce n'est conseillé que pour les lecteurs de disquettes et de cdrom. Voyons, dans l'exemple précité quelles vont être les sections qu'il nous faut ajouter : [Drive A] Path=/mnt/floppy Type=floppy Label=Floppy Serial=87654321 Device=/dev/fd0 [Drive C] Path=/mnt/win_c Type=hd Label=win−c Filesystem=win95 [Drive D] Path=/mnt/win_d Type=hd Label=win−d Filesystem=win95 [Drive E] Path=/mnt/cdrom Type=cdrom Label=CD−Rom Filesystem=win95 Device=/dev/hdc Attention : l'utilisateur devra avoir le droit d'écrire sur les disques pour lesquels la variable 'Device' est renseignée. En général, il est astucieux d'ajouter deux autres lecteurs (qui n'existe pas pour Windows) : un disque pour les fichiers temporaires (le même que le répertoire /tmp de Linux) et le disque qui correspondra au répertoire maison de l'utilisateur : [Drive F] Path=/tmp Type=hd Label=Tmp Drive Filesystem=win95 [Drive G] Path=${HOME} Type=network Label=Home Filesystem=win95 Voilà, il ne reste plus qu'a modifier la section [wine] de façon que le disque temporaire soit pris en compte correctement : [wine] Windows=c:\windows System=c:\windows\system Temp=f:\ Path=c:\windows;c:\windows\system # Profile=c:\windows\Profiles\Administrator GraphicsDriver=x11drv S i vous utilisez des profiles sous Windows vous pouvez décommenter la ligne profile en la modifiant pour qu'elle corresponde à votre installation. Maintenant wine doit pouvoir fonctionner. Si vous n'avez pas Windows Wine permet même de faire fonctionner quelques programmes sans Windows. Mais, il faut toujours un répertoire C:\WINDOWS ainsi qu'un répertoire C:\WINDOWS\SYSTEM donc, tout ce que vous avec à changer c'est de créer ces répertoire, par exemple par : Installer et utiliser un logiciel 219 Utilisation # mkdir /mnt/win_c # mkdir /mnt/win_c/windows # mkdir /mnt/win_c/windows/system Et cela comblera Wine. Utilisation Pour utiliser Wine, c'est relativement simple. Wine comprend les noms de fichiers Windows et Linux. Donc, pour un premier test vous pouvez taper : $ wine winhelp Pour lancer WinHelp (qui ce trouve dans le PATH de Windows). Vous allez voir un certain nombre de message s'afficher avant que WinHelp ne s'ouvre : c'est normal, Wine est un programme en développement. Vous pouvez aussi taper : $ wine "C:\\Program Files\\WinZip\\winzip32.exe" Pour lancer winzip. Attention les doubles \\ sont obligatoire car ils ont une signification particulière pour le shell. On peut aussi taper : $ wine /mnt/cdrom/autorun.exe Pour lancer le programme autorun sur le lecteur de CDROM. Normalement, un certain nombre de programme que vous allez essayer va fonctionner, mais la plus grande part ne fonctionnera pas : il faut essayer. Vous pouvez allez voir sur le site de wine pour avoir une idée des programmes qui vont fonctionner, ainsi que quelques conseils de configuration de Wine pour les faire fonctionner. Trucs & Astuces Je ne suis pas un spécialiste de Wine, mais voilà ce que j'ai remarqué : 1. Si vous utilisez un jeu qui fonctionne habituellement en 640x480x256 couleurs il vaut mieux que X fonctionne dans cette résolution et cette profondeur de couleur. 2. si vous utilisez un jeu qui utilise DirectX il vaut mieux appeler le programme par : 'wine −−winver nt40 <programme>'. 3. dans la section [x11drv] vous pouvez mettre la variable Managed à Y : Managed = Y, pour permettre à votre gestionnaire de fenêtres de gérer les fenêtres Wine. 4. si vous avez des problèmes avec des jeux utilisant DirectX, il peut être astucieux de mettre dans cette même section la variable DXGrab à Y (expérimentez !). Quand un programme ne fonctionne pas : essayez de télécharger la dernière version de Wine. 220 Installer et utiliser un logiciel Le minitel sous Linux : XT Le minitel sous Linux : XTEL. par Fred Utiliser le programme XTEL pour vous connecter à vos serveurs minitel préférés. 13/6/2002: xtel 3.3 est sorti. Cette nouvelle version supporte nativement xinetd, ce qui lui permet de fonctionner facilement avec les distributions récentes comme Mandrake 8.x ou RedHat 7.x, voir http://www.emulateur−xtel.org. Télécharger et installer XTEL. Le plus simple est d'aller voir sur http://rpmfind.net/linux/rpm2html/search.php?query=xtel. Le paquetage s'appelle : xtel−{version}.i586.rpm ou xtel−{version}.{arch}.rpm. L'installation est simplissime : rpm −i xtel−{version}.{arch}.rpm Il faut bien sur être root pour pouvoir installer ce paquetage. Maintenant XTEL est installé mais pas configuré. Configuration Pour configurer XTEL il faut modifier les fichiers xtel.lignes et xtel.services. Il faut d'abord savoir où ils se trouvent, pour cela nous allons taper ce qui est en gras : [root@localhost]# rpm −ql xtel | grep −E "(xtel\.services|xtel\.lignes)" /etc/xtel/xtel.services /etc/xtel/xtel.lignes Donc, chez moi, ces deux fichiers sont dans : /etc/xtel. Gardez bien en mémoire le répertoire dans lequel ces fichiers se trouvent. Le fichier xtel.lignes par défaut est le suivant : # # Fichier xtel.lignes # # Config V.23, modem HAYES generique modem0,/dev/modem,1200,7,E,\dat\r OK atm1b2\r OK atdt\T\r CONNECT,30 # Config TVR, Djinn−Flash 9600 #le_tvr,/dev/modem,9600,8,N,\dat&fm1e0&k3+xm3\r OK atdt\T\r CONNECT,30 # Ce meme Djinn−Flash en mode V.23 #modem0,/dev/modem,38400,7,E,\dat&fm1e0&k3f3\r OK atdt\T\r CONNECT,30 # Modems USR 28800/33600 (a choisir) #modem0,/dev/modem,1200,7,E,\dat\r OK #modem0,/dev/modem,1200,7,E,\dat\r OK #modem0,/dev/modem,1200,7,E,\dat\r OK #modem0,/dev/modem,1200,7,E,\dat\r OK ATM1S34=8&N2\r OK atdt\T\r CONNECT,30 ATM1S34=14&N2\r OK atdt\T\r CONNECT,3 ATM1S27.4=1&N2\r OK atdt\T\r CONNECT,3 ATM1S27=16&N2S40=1S9=100&N2\r OK atdt\T\r CONNECT,30 # Modem USR Sporter 56K il manque "\r" (sans les ") là −−−−−−v #modem0,/dev/modem,1200,7,E,\dat\r OK AT&F1M1S27=16S34=8S40=6&N2S9=100&B2 OK atd t\T\r CONNECT,30 # Minitel 1 #modem0,/dev/modem,1200,7,E,minitel1,30 Par défaut ce fichier est rédigé pour les modem HAYES génériques. Si XTEL ne fonctionne pas tout de suite, ou si vous reconnaisser votre modem dans la liste suivante : • Djinn−Flash • US−Robotic 28800/33600 • US−Robotic Sportster (et pas Sporter ! ;−) • Minitel 1 (si vous vous connectez avec un minitel ;−) Vous devez alors commenter la ligne en gras (en ajoutant un # devant) et décommenter la ligne correspondant à votre modem (en supprimant le # qui se trouve au début de celle−ci). Par exemple si votre modem est un USR−Sportster 56K vous devez décommenter la ligne en italique. Note : j'utilise un modem ELSA Microlink 56k Internet qui me donne entière satisfaction (vu son prix ;−), mais sa configuration avec XTEL m'a donné du fil à retordre : en effet il ne nécessite pas de chaîne d'initialisation du tout ! Il faut donc commenter la ligne en gras et ajouter la ligne : modem0,/dev/modem,1200,7,R,\dat\r OK atdt\T\r CONNECT,3 Si vous avez plusieurs modems il faut décommenter (ou ajouter) une ligne par modem et remplacer 'modem0' par 'modem1', 'modem2', etc. Installer et utiliser un logiciel 221 Configuration Ensuite, il faut configurer xtel.services. Normalement il n'y a rien à faire, mais si vous avez plusieurs modems, ou si vous vous connectez toujours aux mêmes services qui ne sont pas prévus, il faut modifier ce fichier. Le fichier xtel.services par défaut est le suivant : # # Fichier xtel.services # # Les grands classiques modem0,Annuaire électronique,3611 modem0,Télétel 1 (3613),3613 modem0,Télétel 2 (3614),3614 modem0,Télétel 3 (3615),3615 #le_tvr,Télétel TVR (3623),3623 # Acces serveur local #@pipe,Serveur local,/usr/local/bin/le_serveur # Acces TCP #@tcp,Intelmatique,minitel.fr:513 # Acces direct modem0,Direct,0 La syntaxe est, pour le moins, claire. Si vous voulez, en plus de ce qui est prévu, utiliser votre deuxième modem pour vous connecter à Télétel 2, il faut ajouter la ligne : modem1,Télétel 2 (modem2),3614 Si vous voulez vous connecter aux services Machin auquel vous accéder par le 0303030303 il suffit d'ajouter : modem0,Machin ,0303030303 Si vous voulez que le seul service soit l'annuaire il suffit de commenter les autres services (et de ne pas oublier de mettre ce fichier en lecture seule ;−) et surtout direct de cette façon personne ne pourra utiliser xtel pour autre chose que ce que vous souhaitez (par exemple utiliser votre ligne téléphonique pour mater des images X ;−) Comme je vous le disais, c'est simple. Configuration avec xinetd ce paragraphe a été rédigé grace à : Jean−Paul Vernière. Avec les distributions récentes, le super daemon n'est plus inetd mais xinetd. Ça ne change pas grand chose, sauf que pour que xteld fonctionne correctement, il doit être lancé automatiquement par le super daemon. Malheureusement, la plupart des packages installant xtel supposent que le super daemon est inetd. Pour régler le problème, il suffit : • d'ajouter (si ce n'est déja fait) la ligne : xtel 1311/tcp au fichier /etc/services • d'ajouter dans le répertoire /etc/xinetd.d le fichier xteld suivant : # default: on # description: serveur pour les connections Minitel # V0.0: Cree le 23 novembre 2001 par JPV service xtel { socket_type = stream wait = no user = root server = /usr/X11R6/bin/xteld log_on_success += DURATION USERID log_on_failure += USERID nice = 10 } • forcer xinet à relire son fichier de configuration : killall −USR2 xinetd et normalement, à partir de ce moment xtel fonctionne. Utilisation Par défaut L'utilisation de XTEL est très simple : vous tapez xtel et le programme se lance ; son utilisation est simplissime : pour vous connecter cliquer dans le menu Services sur le service auxquel vous souhaitez vous connecter et XTEL fera le reste. Il faut quand même savoir qu'XTEL souffre de quelques problèmes (à mon sens) : • BACKSPACE ne corrige pas (il faut cliquer sur 'CORRECTION') • ENTRÉE n'est pas toujours équivalent à 'ENVOI' 222 Installer et utiliser un logiciel Utilisation • aucune des touches du minitel (ENVOI, etc...) ne correspond à une touche du clavier... Mais sinon, l'émulation fonctionne parfaitement : vous allez enfin pouvoir refourguer ce vieux minitel qui encombrait votre bureau ;−) Amélioration Il est possible de faire en sorte que la pression d'une touche particulière émule l'appui sur une touche de fonction du minitel. La table de correspondance est la suivante : minitel emission−commande ENVOI A RETOUR B REPETITION C GUIDE D ANNULATION E SOMMAIRE F CORRECTION G SUITE H CONNEXION_FIN I Comment ça marche ? Par exemple, pour activer la tabulation et la touche retour arrière et faciliter l'usage du minitel. Il faut copier à la fin de $HOME/.Xdefaults les 4 lignes suivantes : ! Minitel xtel*ecran_minitel.translations: #override \n\ <Key>Tab: emission−commande(H) \n\ <Key>BackSpace: emission−commande(G) Si l'on veut que tous les futurs utilisateurs en bénéficient, il faut les copier dans /etc/skel/.Xdefaults Ces informations sont disponibles sur le site de Pierre Ficheux : http://pficheux.free.fr/xtel dans la rubrique FAQ. Installer et utiliser un logiciel 223 RPM (RedHat Package Manager), URPM (User RPM) et apt−get (User RPM) RPM (RedHat Package Manager), URPM (User RPM) et apt−get (User RPM) par Jean−Christophe 'Jice' Cardot révision par Jean−Marc Lichtle, puis Jice et Anne Installer des programmes sous Linux est très simple quand on utilise les bons outils... Ce document ne vise pas à remplacer la page de man de RPM, mais plutôt de donner une courte référence des commandes les plus utiles pour gérer vos paquetages à ce format. Introduction Le format RPM (RedHat Package Manager), a été, comme son nom l'indique, créé à l'origine pour la distribution RedHat. Depuis, de nombreuses distributions l'ont utilisé, on peut citer par exemple Mandrake ou SuSe. D'autres formats de packages dans le monde Linux sont DEB (pour Debian) et TGZ (pour Slackware). Qu'est−ce qu'un package ? C'est un fichier (une archive, un peu comme un fichier .tar ou .zip) qui contient tous les fichiers appartenant à une application, une bibliothèque, etc. ainsi que des scripts de contrôle qui sont exécutés lors de l'installation ou de la désinstallation de l'application. Ce fichier contient également toutes les dépendances à d'autres applications, bibliothèques, etc. Note : on parle indifféremment de package, paquetage ou même paquet pour désigner le fichier qui contient l'ensemble des fichiers d'un programme (le fichier rpm lui−même) Il existe de nombreux utilitaires graphiques tels que Kpackage, GnoRPM, Midnight Commander, etc. qui permettent d'installer et de gérer les packages RPM. L'installation depuis la ligne de commande reste toutefois la solution la plus rapide et la plus efficace pour ce travail. La plus grande partie des commandes décrites peuvent être exécutée par un utilisateur lambda. Toutefois les commandes qui intallent, mettent à jour ou suppriment des paquetages nécessitent des droits d'administrateur (root). Nous allons voir ici deux méthodes pour gérer les paquets RPM : • le programme rpm, • les programmes urpm* de Mandrake. Les noms de paquetages sont très longs et donc très pénibles à orthographier correctement. Linux offre toutefois des aides à la frappe : • lorsque vous installez un RPM, ou travaillez sur un RPM non encore installé, utilisez la complétion de ligne de commande en tapant les premières lettres du nom du fichier RPM puis la touche TAB. Si la correspondance reste équivoque, Linux vous donnera les possibilités trouvées, retapera votre ligne et vous laissera ajouter quelques lettres pour lever l'indétermination. • lorsque vous travaillez sur un RPM qui est déjà installé, la commande rpm s'adresse à la base de données des paquetages installés, qui consigne les noms courts en plus des noms de fichiers complets. L'indication du numéro de version n'est donc en général pas nécessaire (sauf si le même package est installé 2 fois avec 2 versions différentes). Les commandes rpm usuelles Pour installer un nouveau paquetage : [jice@taz jice]$ rpm −ivh toto.rpm Attention, si vous installez un paquetage par cette méthode et qu'il existe déjà sur votre système dans une version inférieure, vous risquez d'avoir des problèmes pour le désinstaller (voir plus bas). Par contre, pour installer une bibliothèque simultanément en deux version différentes, utilisez cette syntaxe. Les options h et v ne sont pas obligatoires, −i est suffisant pour faire une installation. L'option h provoque l'affichage d'une barre de progression (ça fait très pro sur l'écran !) et v rend l'installation bavarde, ce qui fournit des messages plus explicites en cas d'erreur. L'option −vh peut être appliquée sur toutes les commandes rpm ci−après afin de rendre rpm plus bavard. Pour mettre à jour un paquetage : [jice@taz jice]$ rpm −Uvh toto.rpm Avec un "U" comme "Upgrade" (mise à jour en anglais). Attention, ceci ne s'applique pas pour upgrader un noyau, voir la rubrique noyau à ce sujet. Enfin, pour remplacer un paquetage par un paquetage plus ancien ("downgrader"), la commande à utiliser est : [jice@taz jice]$ rpm −Uvh −−oldpackage toto.rpm Pour supprimer un paquetage : [jice@taz jice]$ rpm −e toto [jice@taz jice]$ rpm −e toto−version 224 Installer et utiliser un logiciel RPM (RedHat Package Manager), URPM (User RPM) et apt Le "e" correspond à "erase" (effacer en anglais). La syntaxe complète (avec numéro de version) permet de distinguer deux versions d'un même paquetage qui auraient été installées ensemble. Pour faire des requêtes sur les paquetages : Afficher la liste de tous les paquetages déjà installés J'imagine que "a" doit signifier "all" ;−) : [jice@taz jice]$ rpm −qa et [jice@taz jice]$ rpm −qa | less Pour afficher la liste page par page... Trouve un paquetage identifié par son nom (toto) : [jice@taz jice]$ rpm −qa | grep toto La recherche peut s'appliquer à une partie seulement du nom, par exemple rpm −qa | grep 'util' vous donne la liste de tous les RPM installés tels que util−linux, nautilus, bind_utils etc.. Attention la syntaxe est sensible à la distinction majuscules / minuscules ! Pour trier par date d'installation : [jice@taz jice]$ rpm −qa −−last Pour trier par taille : [jice@taz jice]$ rpm −qa −−queryformat '%{name} %{size}\n' | sort −n +1 | column −t Jolie ligne de commande n'est−ce pas ? ;−) Obtenir la liste des fichiers contenus dans un paquetage toto qui est déjà installé : [jice@taz jice]$ rpm −ql toto On dira que "l" est l'initiale de "list". Dans la foulée de la syntaxe précédente, celle−ci donne les informations relatives à ce paquetage, une brève description de ce que fait le paquetage, des dépendances qui doivent être satisfaites, etc. : [jice@taz jice]$ rpm −qi toto On parie que "i" est mis pour "information" ? La même chose sur un paquetage pas encore installé : [jice@taz jice]$ rpm −qip toto.rpm Avec un "p" comme "package". Nota : • L'option p s'applique aussi à d'autres syntaxes, par exemple rpm −qlp toto.rpm pour avoir la liste des fichiers d'un paquetage non encore installé. • Les options de requêtes peuvent se cumuler. Par exemple rpm −qlip toto.rpm donnera à la fois les infos et la liste des fichiers du paquetage toto.rpm. Retrouver le paquetage d'origine d'un fichier : [jice@taz jice]$ rpm −qf /usr/lib/toto.txt Il peut se produire que vous vous trouviez en face d'un fichier dont vous vous demandez quel est le paquetage qui a bien pu installer ce fichier. Pas de panique ! Là aussi la commande RPM peut vous être d'une aide précieuse. Ici le 'f' signifie fichier (file en anglais). Cette commande fonctionne sur les packages installés. Oui, mais si on veut trouver un fichier parmi les paquetages non installés ? Si vous utilisez Mandrake (voir la partie sur urpm plus bas ), la commande suivante fera l'affaire : $ urpmf le_fichier Sinon, placez−vous dans le répertoire contenant les .rpm et faites : $ for i in *.rpm ; do rpm −qpli $i | grep file && echo $i ; done Tester l'installation d'une paquetage : [jice@taz jice]$ rpm −i −−test toto Installer et utiliser un logiciel 225 Quelques précisions concernant rpm Effectue simplement une vérification sans installer le paquetage toto. Permet essentiellement de vérifier si l'installation pourrait se dérouler sans encombre ou alors si des dépendances non satisfaites risquent de faire avorter l'installation. Si rpm ne veut pas désinstaller le paquetage toto, faire : [jice@taz jice]$ rpm −qa | grep toto Affiche la liste des paquetages donc le nom contient toto, par exemple : toto−1.1 toto−1.2 [jice@taz jice]$ rpm −e toto−1.1 Désinstalle le paquetage désigné par son nom et son numéro de version. Extraire des fichiers d'un RPM : Certains outils comme Midnight Commander (mc, ou gmc) permettent d'ouvrir des fichiers rpm, de se déplacer dedans et de copier des fichiers vers d'autres répertoires. Vous pouvez aussi convertir le rpm en archive cpio (l'ancêtre de tar), par la commande rpm2cpio, et ensuite utiliser la commande cpio pour extraire le ou les fichiers. Installer un RPM dans un autre système Linux que celui qui tourne : Vous avez plusieurs systèmes Linux sur votre machine, ou bien vous avez bouté avec le CD ou une disquette de sauvegarde. Vous souhaitez installer un rpm dans un autre système dont la partition racine est monté dans /mnt/racine. La commande à taper est : $ rpm −i −−root=/mnt/racine /chemin/package.rpm Vous pouvez utiliser l'option −−root=/mnt/racine dans toutes les commandes rpm, pour faire des recherches, etc. avec rpm sur l'autre système Linux. ET TOUJOURS : [jice@taz jice]$ man rpm L'accès à la page du manuel, le réflexe qu'on devrait toujours avoir... Quelques précisions concernant rpm Quelle est la différence entre SRPM et RPM ? Les paquetages SRPM (Source RPM) contiennent les sources d'un logiciel prêtes à être recompilées et transformées en paquetage rpm. Afin de reconstruire un paquetage rpm à partir d'un srpm (fichier .src.rpm), il faut utiliser la commande : # rpmbuild −−rebuild paquetage.src.rpm Le paquetage rpm résultant se trouvera dans /usr/src/RPM/RPMS/<arch> où <arch> est i386, i586, ppc, etc. suivant votre architecture. Pour simplement installer le paquetage, sans reconstruire le fichier .rpm, faire : # rpmbuild −−recompile paquetage.src.rpm Cela peut être très utile pour installer un programme qui a été compilé avec des versions de librairies différentes des votres et qui refuse donc de s'installer, tout en conservant l'intégrité de votre base de données des rpm (tout programme installé devrait être dans la base, mais si vous installez à partir des sources .tar.gz par ./configure && make install, cela ne sera pas le cas.) Par exemple, vous pouvez récupérer un srpm de Mandrake Cooker (la version de développement) et essayer de le reconstruire sur une Mandrake 8.2. Note : ce processus nécessite que les paquetages −devel nécessaires aient été installés, ainsi que les compilateurs utilisés, etc. Voir l'article sur la compilation . Que sont les fichiers *.rpmsave et *.rpmnew ? Lorsque rpm installe un paquetage, il peut soit conserver les anciens fichiers de configuration ; les nouveaux seront alors renommés en *.rpmnew. Si rpm remplace les anciens fichiers de configuration par des nouveaux, alors ce sont les anciens qui seront renommés en *.rpmsave. Quelle est la différence entre "installer" et "mettre à jour" ? La mise à jour (upgrade en anglais) remplace l'ancien paquetage par le nouveau, tandis que l'installation conserve si possible l'ancienne version du programme et installe la nouvelle en parallèle. 226 Installer et utiliser un logiciel Quelques précisions concernan Cela peut être fort utile pour les bibliothèques : lorsque vous essayez de mettre à jour une bibliothèque, vous pouvez rompre des dépendances avec les programmes déjà installés (s'il y a un gros saut de version). Afin de ne pas avoir de problèmes, au lieu de mettre à jour la nouvelle version, installez−la ; ainsi l'ancienne version restera présente et les anciens programmes tourneront sans problème. Cela ne pose aucun problème d'avoir plusieurs versions d'un bibliothèque installée sur un système. Que sont les paquetages −devel ? Vous avez sans doute remarqué que souvent, pour un package toto.rpm, vous aviez un deuxième package toto−devel.rpm. toto.rpm contient le logiciel, bibliothèque, etc. lui−même, c'est à dire la version que vous allez utiliser tous les jours. toto−devel.rpm contient des fichiers (les "entêtes", etc.) qui permettent de compiler des programmes qui utilisent toto. Ainsi, toutes les bibliothèques ont leur paquetage −devel. Vous avez besoin d'installer les paquetages −devel uniquement si vous désirez compiler des logiciels, que ce soit d'après l'archive tar.gz ou le paquetage src.rpm. Les commandes urpm* de Mandrake Le programme rpm de RedHat souffre de nombreuses limitations que Mandrake a dépassées, en créant les outils urpm* (User RPM − à partir de Mandrake 7.0) : • résolution automatique et installation/désistallation automatique des paquetages dépendants (rpm indique seulement le nom de paquetages manquants) • urpm connaît l'ensemble des paquetages installables depuis différentes sources (les CD, serveurs ftp de mise à jour, Penguin Liberation Front ...) • urpm permet d'installer des paquetages depuis internet lorsque ceux−ci sont plus récents que sur les CD (depuis Mandrake 8.0) • urpm permet d'installer des paquetages en donnant seulement un nom incomplet (exemple : urpmi koffice pour chercher et installer Koffice, urpmi mplayer, etc.) • etc. Sur chacune des commandes dont on va parler ci−dessous, je vous conseille de lire la page de man (man urpmi, man urpmf, etc.) afin d'en apprendre plus. Toutes les actions décrites ici peuvent également être réalisées de manière graphique, avec le Gestionnaire de Programmes (Software Manager), qui est une façade ou frontend aux programmes urpm*. Je vous conseille de tester les deux manières de faire, car contrairement aux apparences, la ligne de commande peut être plus simple et/ou rapide. Configurer urpm Ajouter / mettre à jour une source de paquetages Après avoir installé votre distribution, les CD ont été créés dans la base de données de urpm en tant que source de paquetages. Cependant, vous pouvez ajouter autant de sources que vous le désirez. Supposons par exemple que vous ayez un répertoire "incoming/rpms" dans lequel vous placez tous les rpm que vous récupérez sur internet. Vous pouvez l'ajouter à votre base de données urpm par la commande : # urpmi.addmedia mes_rpm file://home/jice/incoming/rpms Où mes_rpm est le nom (arbitraire) que vous donnez à votre source de paquetages. Par la suite, vous pourrez mettre à jour cette source par : # urpmi.update mes_rpm De même, pour ajouter une source ftp de paquetages, on donne l'URL du fichier hdlist.cz sur le serveur. Exemple pour le Penguin Liberation Front et une Mandrake 9.0 : # urpmi.addmedia plf ftp://ftp.easynet.fr/plf/9.0 with hdlist.cz Et de la même façon, pour mettre à jour la source de temps en temps : # urpmi.update plf Note : le fichier de configuration de urpm est /etc/urpmi/urpmi.cfg et les bases de données dans /var/lib/urpmi. Supprimer une source de paquetages Pour supprimer la source mes_rpm, taper : # urpmi.removemedia mes_rpm Installer et utiliser un logiciel 227 Les commandes urpm* de Mandrake Installer avec urpmi Installer depuis les sources urpm Pour installer un logiciel avec urpm, rien de pkus simple. Vous tapez simplement la commande urpmi suivie d'une partie du nom du logiciel. Exemple : # urpmi mplayer urpmi va alors chercher la version la plus récente du package correspondant, regarder s'il doit installer des packages dépendants (et vous en demander confirmation), et installer l'ensemble des packages. Dans le cas ou l'argument donné à urpmi est ambigü, urpmi renvoie le nom des packages correspondants ; il ne vous reste plus qu'à choisir dans la liste et relancer urpmi avec le bon nom de package. Si vous voulez installer le package qui fournit une librairie (par exemple), utilisez le modifieur −p : # urpmi −p libe2p.so.2 urpmi va alors rechercher quel paquetage fournit libe2p.so.2 et l'installer (ici libext2fs2). Installer directement un ou plusieurs fichiers rpm Dans ce cas, il suffit de passer le nom du fichier en argument à urpmi : # urpmi mon_paquetage−version.i586.rpm et le package sera mis à jour de la même manière que rpm −U l'aurait fait. urpmi peut installer plusieurs paquetages d'un coup : par exemple, pour installer la dernière version de KDE que j'ai téléchargée, je me mets dans le répertoire où j'ai mis les rpm, et je tape : # urpmi *.rpm Pour installer (et non mettre à jour un package, par exemple pour ajouter un nouveau noyau en parallèle de l'ancien, ou bien une nouvelle librairie qui doit coexister avec l'ancienne), il faut utiliser l'option −i : urpmi −i Désinstaller avec urpme Pour désinstaller un paquetage, il faut utiliser urpme: # urpme mplayer désinstallera mplayer. S'il y a des paquetages qui en dépendent, urpme demandera s'il doit les désinstaller également. À utiliser avec précaution ;−) Rechercher avec urpmf (et urpmq) L'outil de choix pour faire de recherches dans les packages rpm et urpmf. Cela permet de rechercher non seulement dans les paquetages installés comme avec rpm −q, mais aussi des paquetages installables ! $ urpmf toto renverra la liste de tous les paquetages qui contiennent le fichier toto. urpmf dispose de nombreuses options pour faire des requêtes sur les différentes informations de la base de données des paquetages. Par exemple : Liste des paquetages du groupe "Games" $ urpmf −−group Games Taille du paquetage "pingus" $ urpmf −−size pingus pingus:size:1102629 Résumé du paquetage "pingus" $ urpmf −−summary pingus pingus:summary:Pingus − A free Lemmings clone Voir man urpmf pour de plus amples informations. La commande urpmq vous permet d'autres types de requêtes : Liste des paquetages dont le nom contient la chaîne "toto" : $ urpmq toto Sur quelle source se trouve le paquetage toto : $ urpmq −−archive toto 228 Installer et utiliser un logiciel Les commandes urpm* de Man Quels paquetages dépendent du paquetage toto : $ urpmq −d toto Nom complet du fichier rpm du paquetage toto : $ urpmq −r toto Voir aussi man urpmq. Mettre à jour le système urpm vous permet de mettre à jour votre système avec les derniers correctifs de sécurité et les corrections de bugs que Mandrake publie régulièrement. Pour ce faire, il faut avoir paramétré un miroir ftp de mises à jour de sécurité dans urpm (voir configuration), ou avec le Gestionnaire de Programmes (qui est bien pratique pour cette opération). Si la source de mise à jour s'appelle maj_secu, il faut lancer la commandes suivante pour la mettre à jour : # urpmi.update maj_secu puis : # urpmi −−auto−select urpm va alors lister les paquetages mis à jour et vous demander si vous souhaitez les installer (pour qu'il installe tout sans demander, pratique pour mettre la commande dans un cron, ajouter l'option −−auto). Si vous souhaitez que urpm ne mette pas à jour automatiquement certains paquetages, il suffit d'ajouter leur nom dans le fichier /etc/urpmi/skip.list . Par exemple, pour empêcher urpm de mettre à jour automatiquement le kernel et la glibc, ajouter dans ce fichier : kernel glibc Conclusion sur urpm Les commandes urpm sont encore trop peu connues, et la maintenance de votre Mandrake sera bien plus aisée avec leur utilisation. apt−get sur Redhat Redhat dispose également d'outils pour faciliter la gestion des packages et la mise à jour du système. J'ai testé rpm−get que je n'ai pas trouvé satisfaisant. Par−contre le portage de apt−get sur redhat est véritablement une réussite. C'est donc cet utilitaire dont je parlerai concernant Redhat (pour l'article je travaille sur une Redhat 7.3) Cette version de apt−get pour RPM, même si elle est critiquée parce qu'elle utilise RPM (contre dpkg pour Debian), est extrêmement efficace Les principaux apports de apt−get: • Prise en charge des dépendances pour l'installation et la désinstallation de packages • Mise à jour complète de la distribution avec les dernières versions des packages existantes • Comme pour urpm, installation des paquetages en donnant seulement un nom incomplet Installation de apt−get Les packages à installer : Vous devez installer au moins le package apt−get . Il contient les binaires que nous allons utiliser par la suite. Pour ceux qui préfèreraient utiliser une interface graphique, il en existe une, extrêmement conviviale, synaptic. Installer et utiliser un logiciel 229 apt−get sur Redhat La configuration : Elle est très simple. Une fois les packages installés il vous suffit de taper apt−get update. Ceci va synchroniser votre base de données locale avec celle du serveur ftp. Cette commande sera à relancer régulièrement pour remettre à jour cette base de données (à insérer dans une crontab par exemple). • /etc/apt/sources.list : contient la liste des dépôts pour la récupération des packages. Ces dépôts peuvent être des CD−ROM, un emplacement sur votre disque dur, des URL. • /etc/apt/apt.conf : fichier de configuration de apt−get • /var/cache/apt/archives : contient les packages qui ont été downloadés pour être installés. Commande supplémentaire : La commande apt−cdrom vous permet de rajouter directement au fichier sources.list des dépôts sur CD−ROM. La syntaxe de la commande : apt−cdrom −−cdrom <point−de−montage> add Exemple : root@pingu# apt−cdrom −−cdrom /mnt/cdrom add Il vous reste alors à insérer successivement tous les CD en votre possession qui contiennent les packages Redhat. Installer / Désinstaller / Mettre à jour des packages Installer / Mettre à jour un ou plusieurs packages • Pour installer un ou plusieurs packages, on utilisera la commande apt−get avec l'argument install. Syntaxe : apt−get install package1 [package2...] Exemple : apt−get install mplayer installera mplayer et les packages éventuellement nécessaires pour régler les dépendances. • Vous pouvez également choisir d'installer des sources. Pour ce faire, il suffit d'utiliser l'argument source. Exemple : apt−get source galeon vous permet de récupérer le RPM source de galeon. • Pour mettre à jour un ou plusieurs packages, on utilisera la commande apt−get avec l'argument upgrade. Il est plus sûr au préalable d'exécuter la commande apt−get update pour mettre à jour la base de données locale et s'assurer que la mise à jour est réalisée avec la dernière version du dit package disponible. Syntaxe : apt−get upgrade package1 [package2...] Exemple : apt−get upgrade mplayer mettra à jour mplayer et les packages éventuellement nécessaires pour régler les dépendances. Désinstaller avec apt−get Désinstaller un ou plusieurs packages est aussi simple. Il suffit d'utiliser la commande apt−get suivie de l'argument remove. Syntaxe : apt−get remove package1 [package2...] Exemple : apt−get remove mplayer supprimera mplayer et les packages qui étaient dépendants de mplayer mais non utilisés par une autre application. 230 Installer et utiliser un logiciel apt−get sur Redha Mettre à jour le système Enfin apt−get peut vous permettre également de mettre à jour la totalité de votre distribution. Au préalable, on exécutera là encore un apt−get update pou s'assurer de disposer des derniers packages. Puis il suffit de lancer la commande apt−get dist−upgrade. Et le tour est joué ;) Vous disposez également de la commande apt−get check. Elle vous permet de vérifier que vous n'avez pas de dépendances non résolues sur votre système. Rechercher des informations sur un package installé Enfin la commande apt−cache vous permet d'obtenir un certain nombre d'informations sur les packages installés : • Pour vérifier qu'un package est bien installé, il suffit d'utiliser l'argument search. Syntaxe : apt−cache search chaine_de_caractères (la chaîne de caractères peut contenir des expressions régulières). Exemple : vous voulez vérifier que mplayer est bien installé : root@pingu# apt−cache search mplayer mplayer − MPlayer, the Movie Player for Linux. mplayer−skins − A collection of skins for MPlayer. transcode − A Linux video stream processing utility. • Pour vérifier les dépendances d'un package, on utilisera l'argument depends. Syntaxe : apt−cache depends chaine_de_caractères Exemple : vous voulez connaitre les dépendances de mplayer : root@pingu# apt−cache depends mplayer mplayer Depends: libdvdread Depends: libdvdcss libdvdcss2 Depends: gtk+ Depends: SDL Depends: divx4linux Depends: lame Depends: libvorbis Depends: lirc Depends: libdv Depends: aalib Depends: arts Installer et utiliser un logiciel 231 Compiler une application Compiler une application par Jean−Christophe Transformer le source d'un programme pour le rendre éxécutable par votre machine. Prérequis : vérifiez que vous avez les packages nécessaires à la compilation. Pourquoi compiler une application ? Plusieurs raisons à cela : • vous avez envie d'optimiser une application pour votre CPU par exemple, • vous voulez utiliser un matériel spécifique avec votre application (exemple des cartes 3Dfx qui nécessitent la recompilation de Mesa, ou des scanners avec SANE...), • vous ne disposez pas de l'application dans sa version précompilée, • ça vous fait plaisir :−), • etc. Récupérer les sources Tout d'abord vous devez récupérer les sources de l'application, sous forme d'un fichier .tar.gz ou .tgz ou .tar.bz2, ou .src.rpm, etc. 1. Vérifiez d'abord si vous avez les sources sur le CD de sources de votre distribution (quand vous avez ce CD). 2. Sinon, vous devrez le récupérer autrement (CD d'une revue, internet (Freshmeat ou Tucows par exemple), etc.). Bref, tous les moyens sont bons. Essayez d'avoir la dernière version, tant qu'à faire, puis passez à la suite. Compiler les sources La procédure diffère suivant le format des sources. Sources au format .src.rpm ou .srpm La compilation se fait en une seule ligne de commande généralement, elle génère un package .i?86.rpm (ou .alpha.rpm suivant votre architecture) : [root@taz src]# rpm −−rebuild le_package−version.src.rpm Cela va créer un package au format RPM : le_package−version.i?86.rpm dans le répertoire /usr/src/RPM/RPMS/i?86. Ce répertoire peut différer légèrement suivant la distribution. Il faut ensuite installer ce package par la commande RPM habituelle : [root@taz i586]# rpm −ivh le_package−version.i586.rpm Sources au format .tar.* C'est le format le plus souvent employé pour les sources. Le nom du package est en général le nom du fichier suivi de la version. Par exemple : xtel−3.2.1.tar.gz. "tgz" est une contraction de "tar.gz". Décompresser les sources Il faut d'abord décompresser le package dans le répertoire de votre choix. /usr/src me semble un bon choix, mais vous êtes libres. [root@taz root]# cd /usr/src [root@taz root]# tar zxvf /ou/se/trouve/le_package.tar.gz ou bien : [root@taz root]# tar yxvf /ou/se/trouve/le_package.tar.bz2 ou bien : [root@taz root]# tar jxvf /ou/se/trouve/le_package.tar.bz2 Si votre version de tar ne comprend pas la dernière commande, essayez : [root@taz root]# tar −−use−compress−program bzip2 \ −xvf /ou/se/trouve/le_package.tar.bz2 Remarque : avant de décompresser pour de bon l'archive, il peut être bon de la tester, notamment pour vérifier qu'elle va bien se décompresser dans son propre répertoire, en remplaçant la commande x (comme extrait) de tar (ci−dessus) par un t (comme teste) : [root@taz root]# tar ztvf /ou/se/trouve/le_package.tgz 232 Installer et utiliser un logiciel Compiler les source Toutes les lignes (la liste des fichiers présents dans l'archive) doivent commencer par "le_package/..." ce qui assure que l'archive se décompressera dans le répertoire du même nom. Dans le cas contraire, créez un répertoire à la main (mkdir) allez−y (cd) puis exécutez la commande tar voulue. Compiler les sources La compilation peut différer selon chaque package, car l'auteur est libre de procéder comme bon lui semble. Cependant des standards de fait existent et sont généralement bien suivis : la présence de fichiers README et INSTALL dans l'archive. C'est pourquoi il est fortement recommendé de lire ces fichiers avant de commencer, car ils vont vous expliquer comment compiler. L'un des deux a en général une section "installation" ou "compilation" qui donne les étapes à suivre. Vous pourrez aussi y lire les prérequis (de quelles librairies le logiciel a besoin), les configurations à faire sur votre système pour que l'appli fonctionne, etc. De plus en plus souvent, les archives contiennent un fichier exécutable nommé "configure". Dans ce cas, la compilation est assez simple, car le programme "configure" détecte les spécificités de votre machine automatiquement. Il suffit généralement de faire : [root@taz appli]# ./configure [root@taz appli]# make [root@taz appli]# make install Et c'est tout ! Cependant lisez toujours le fichier README, car il faut parfois passer des commandes à configure. Dans les cas ou il n'y a pas de script "configure" : Si vous avez un fichier Imakefile, vous pouvez essayer : [root@taz appli]# xmkmf [root@taz appli]# make Enfin s'il n'y a qu'un fichier Makefile ou makefile, essayez juste : [root@taz appli]# make Bref, il y a plein de façons de faire, mais dans tous les cas lisez les fichiers README et autres LISEZMOI. Parfois, même en suivant bien les recommendations, cela va coincer. C'est souvent dû au fait que les distributions ne placent pas toutes les mêmes choses au même endroit, et que le développeur de l'appli n'a pas la même distribution que vous. Dans ce cas, regardez le fichier qui "coince", et s'il vous dit qu'il ne trouve pas tel ou tel fichier, recherchez−le sur votre disque dur (utilisez le couple updatedb / locate, très pratique), et n'hésitez pas à modifier le fichier source (avec votre éditeur de texte préféré) afin de faire pointer le fichier vers le bon endroit. Vérifiez aussi le Makefile. Trucs & actuces pour les sources utilisant autoconf Merci à Fred pour ce pararaphe. Indiquer où installer les sources Souvent, pour tester un programme récent, vous souhaiterez installez celui−ci ailleurs que la destination par défaut prévue par l'auteur du programme. Si celui−ci utilise les paquetages autoconf, la solution est simple, puisque prévue par le paquetage : il suffit de le dire au script configure. Placez vous dans le résertoire contenant les sources du logiciel, et tapez : $ ./configure −−prefix=/opt/ma−destination Il faut noter que cette méthode indique au script configure quelle est la racine de l'installation, en général l'installation proprement dite créera une arboressence : +ma−destination +−−> bin +−−> share +−−> etc +−−> include +−−> lib `−−> doc dans laquelle seront effectivement copiés les fichiers nécessaires à la compilation de programme utilisant cette librairie, et les programmes eux−mêmes. Mais, vous pouvez vouloir préciser beaucoup plus finement le type de l'installation. Par exemple, vous souhaitez que tous vos fichiers de configuration soient stockés dans /etc (c'est le FHS − File Hierarchy Standard). Alors il faut taper : $ ./configure −−prefix=/opt/ma−destination −−sysconfdir=/etc Pour en savoir plus sur les diverses options de ./configure, faites : $ ./configure −−help | less Installer et utiliser un logiciel 233 Compiler les sources Le script ./configure se plaint de l'absence d'une librairie Mais, vous, vous savez que vous l'avez installée dant /opt/devlib en utilisant une ligne : [user@becane src]$ ./configure −−prefix=/opt/devlib Si ./configure se plaint, c'est qu'il n'est pas capable de trouver la dite librairie ! (Le script a sans doute "oublié" de tester la présence d'un autre script : malib−config ... ). Note aux développeurs de programmes utilisant gtk et imlib : les deux ne sont pas liées directement, on peut les installer dans deux répertoires différents, donc s'il vous plaît utilisez gtk−config et imlib−config pour savoir où sont installées ces deux librairies). Il faut savoir que ./configure utilise les variables shell standard CC, CFLAGS, CXX, CXXFLAGS, LDFLAGS pour savoir comment utiliser le compilateur. Donc l'astuce, puisque ./configure ne trouve pas la librairie, est de passer par ces variables en précisant par exemple : [user@becane src]$ export CFLAGS="−I/opt/devlib/include" pour indiquer au compilateur C que les includes sont dans /opt/devlib/include [user@becane src]$ export CXXFLAGS="−I/opt/devlib/include" pour indiquer au compilateur C++ que les includes sont dans /opt/devlib/include [user@becane src]$ export LDFLAGS="−L/opt/devlib/lib" pour indiquer au linker que les librairies sont dans /opt/devlib/lib Puis de relancer ./configure avec les options idoines. Ceci règle quelques problèmes seulement, mais il est bon de les connaître avant de râler que les programmes libres c'est bien qu'est−ce que c'est pénible à installer. Utilisez les variables CC et CXX pour indiquer à ./configure d'utiliser CC comme compilateur C et CXX comme compilateur C++. Optimiser pour votre processeur la compilation d'un programme Là c'est simple, il suffit de faire (cf plus paragraphe précédant) : $ export CFLAGS="−mcpu=i686 −O6" $ export CXXFLAGS="−mcpu=i686 −O6" avant de lancer ./configure, pour dire aux compilateurs C et C++ de compiler pour l'architecture i686 (pentium pro et pentium II, on peut utiliser i586 pour les pentiums, i486, i386, et sans doute d'autres options), avec le niveau (6) d'optimisation (pour la vitesse d'exécution) maximum (attention O6 est un peu risqué − paraît−il, mais je n'ai jamais eu de problème − donc si votre programme a des difficultés à fonctionner avec ce niveau d'optimisation, avant de vous plaindre au développeur, essayez −O1 comme niveau ;). Quelques fois, le script ./configure prévoit des optimisations, par exemple il faut taper : $ ./configure −−optimization=yes (Utilisez ./configure −−help pour le savoir!) On peut d'après les créateurs du compilateur egcs (renommé gcc 1.1.2 alias 2.92.2) obtenir jusqu'a 30% de performance en plus pour certains (très rares) programmes et au moins 5% de performance en plus... ce peut etre la différence entre une animation fluide et saccadée... Enfin, il n'est pas recommandé de compiler des programmes vitaux pour la sécurité avec des options non standard, par exemple ne compilez pas votre serveur Apache avec ces options si elles ne sont pas supportées par l'équipe de développement d'Apache ! Sinon, en cas de trou de sécurité dans votre configuration, vous risquez de ne pas être entendu. Autres formats Un volontaire pour me décrire la compilation des sources avec d'autres format de packages ? (Je pense aux packages Debian par exemple.) Installer le logiciel Je ne vais décrire ici que l'installation d'un logiciel provenant d'une archive .tar.*, car l'installation d'un rpm a déjà été vue. En fait, là encore, il faut lire les fichiers README et/ou INSTALL. Cependant, on peut dire que de manière générale, il suffit de faire : [root@taz appli]# make install pour copier les fichiers binaires, les librairies générées, le fontes, etc. au bon endroit. Mais chaque appli a ses spécificités qu'il faut prendre en compte pour qu'elle tourne bien (par exemple, modification de certains fichiers de config, etc.). 234 Installer et utiliser un logiciel Babytrans Babytrans par Roger Martin Installer et utiliser Babytrans. Introduction. Babytrans est une interface graphique pour les dictionnaires de Babylon Translator (disponible sous Windows) (Voir à l'adresse http://www.babylon.com). Babytrans est un translator, un traducteur qui traduit de l'anglais vers d'autres langues, notamment le français. Babytrans ne s'adresse PAS aux anglophobes purs et durs. Il sert aux personnes qui connaissent un peu l'anglais, savent à peu−près le lire, mais buttent souvent sur des mots qui les empêchent de comprendre le texte Installation. Le site de Frédéric Jolliton contient ce qu'il faut pour intaller Babytrans, même une doc en français, mais pas très claire. Il faut récupérer babytrans−0.9.tar.gz, puis il faut récupérer EngtoFre.dic.gz,le dictionnaire français Il vous faut english.dic.gz (commun à tous les langages) et enfin dictionary.gz, un petit fichier texte qui est primordial. C'est là que la doc n'est pas claire. Pour info, il existe d'autres dictionnaires: EngtoDut.dic.gz, néerlandais / EngtoGer.dic.gz, allemand / EngtoIta.dic.gz, italien / EngtoPor.dic.gz, portugais / EngtoSpa.dic.gz,espagnol. Ensuite, il faut détarrer et dézipper tout ça : tar xvzf babytrans−0.9.tar.gz gunzip dictionary.gz &gunzip EngtoFre.dic.gz &gunzip english.dic.gz puis cd babytrans−0.9 et les classiques ./configure make su (mot de passe root) make install On va profiter d'être root pour finir l'installation. Tapez cd .. ( cd + 2 points pour revenir au répertoir précédent ) mkdir /usr/local/share/babytrans pour créer le premier répertoire mkdir /usr/local/lib/babytrans pour le second. mv dictionary /usr/local/share/babytrans/ mv EngtoFre.dic /usr/local/lib/babytrans/ mv english.dic /usr/local/lib/babytrans/ Utilisation. L'exécutable de Babytrans se loge dans /usr/local/bin/. Il faut donc que ce chemin soit dans votre $PATH. C'est le cas pour la plupart des distributions. Vous pouvez le lancer depuis une console en tapant: babytrans, en mettant une icone sur votre WM favori, ou sous KDE ou Gnome en tapant: Alt+F2, puis babytrans. La première fois, un message vous demandera de faire la configuration par défaut. Il suffit de cliquer sur Préférences, et de choisir la langue. Le programme tourne en tâche de fond. Chaque fois que vous verrez un mot anglais que vous ne comprenez pas, vous doublecliquez sur le mot, une petite fenêtre s'ouvrira avec les traductions français du mot. C'est aussi simple que ça. A noter que les dicos sont généralistes et orientés informatique. Si vous cherchez wallpaper, par exemple, vous aurez: wallpaper (n.): papier peint, image ou tableau utilisé en tant que fond pour les autres fenêtres dans un interface d'utilisateur graphique (informatique) wallpaper (v.): coller du papier peint et pour directory: directory (n.): répertoire, annuaire répertoire, catalogue, subdivision d'un disque où sont stockés des fichiers (informatique) Have fun!!! Installer et utiliser un logiciel 235 INSTALLATION DE ORACLE 8.1.7 SUR LINUX SUSE 7.0 INSTALLATION DE ORACLE 8.1.7 SUR LINUX SUSE 7.0 V1.0, Xavier FACQ, le 20/06/2001 Voici les manipulations pour installer Oracle8i 8.1.7 sur une machine Linux. A − PRE−INSTALLATION 1 − Environnement d'installation : SuSe 7.0 L'avantage de cette distribution est que les utilisateurs et groupes pour Oracle sont créés lors de l'installation de la SuSe, donc tout est près pour accueillir Oracle 8.1.7. 2 − Interface graphique Vous aurez IMPERATIVEMENT besoin d'un interface graphique pour faire l'installation (KDE, Gnome etc...) 3 − Connection Vous devez−vous connecter avec l'utilisateur oracle pour faire l'install. Vous aurez peut etre besoin de changer le mot de passe avant, en vous connectant en tant que root : # su # passwd oracle 4 − Le patch Vous devez télécharger le patch orarun.rpm (12ko) suivant : ftp://ftp.suse.com/pub/suse/i386/commercial/Oracle/orarun.rpm (cf : http://www.suse.com/en/support/oracle/db/) B − INSTALLATION Si vous avez, comme nous, une installation sur CD, montez le et ensuite lancez la commande : # cd /cdrom # ./runInstaller Vous allez enfin pouvoir commencer l'installation I − Bienvenue Rien à faire, Selectionnez Suivant II − Emplacement des fichiers • Source ... Normalement rien à faire • Destination ... il vous faudra peut être remplir le chemin avec /opt/oracle/OraHome1 puis Suivant III − Groupe d'installation des produits Oracle Remplir les champs avec oinstall (ou dba) de préférence, puis suivant. !! On vous demande d'exécuter un script avec l'utilisateur root ! Ouvrez une console : # su # /opt/oracle/OraHome/orainstroot.sh Puis clickez sur rééssayez une fois le script terminé. IV − Produits disponibles Selectionnez Oracle Entreprise Edition 8.1.7, puis [suivant]. V − Type d'installation Laissez ou sélectionnez le type d'intallation Typical, puis [suivant]. 236 Installer et utiliser un logiciel B − INSTALLATION VI − Database Identification Remplir les champs avec ORCL, puis [suivant]. VII − File location Remplir le champ avec /opt/oracle/OraHome1, puis [suivant]. VIII − JDK Home Directory Remplir le champ avec /usr/lib/java, puis [suivant]. IX − Résumé Cliquez sur [Installer]. Mainteant, vous pouvez aller boire un verre au café du coin, faire un babyfoot et ca devrait être fini quand vous reviendrez ... Une fois l'installation terminé, on vous demande alors d'exécuter un script en tant que ROOT : Utilisez ou lancez une nouvelle console et exécutez le script demandé. # /opt/oracle/OraHome1/root.sh Une fois le script terminé, selectionnez Ok dans la boite. X − Outils de configuration Laissez les outils se lancer tout seul. • Net8 : sélectionner "Executer la commande standard" puis [suivant]. • Creation de la base : cliquez sur [OK] • Lancement du listener Remarque: Si un outil ne ce lance pas correctement, vous pouvez rééssayer de le relancer, des fois ils fonctionnent au deuxieme coup ... Une fois les outils correctement lancés, vous aurez une nouvelle boite "Installation Termine", sélectionnez [Quitter] => [Oui] C − CONFIGURATION Maintenant il faut installer le patch pour la SuSe : Installez le fichier orarun.rpm avec l'utilisateur root et la commande suivante (cf chapitre A−4) # su # rpm −ivh orarun.rpm Ensuite, il faut faire des modifications dans les fichiers installés : Premier fichier : # cd /etc # vi oratab => en fin de ligne tout en bas, il y a votre SID (ORCL dans notre cas) il faut remplacer le 'N' par 'Y' pour démarrer automatiquement votre base. Deuxieme fichier : # cd /etc/profile.d # vi oracle.sh => il faut remplacer la fin de la ligne ORACLE_HOME : • avant : ORACLE_HOME=$ORACLE_BASE/product/8.1.6 • apres : ORACLE_HOME=$ORACLE_BASE/OraHome1 (OraHome1 dans notre cas, cf II) Voila, l'installation est terminée, il n'y a plus qu'à tester ! Il y a deux solutions : • Soit vous rebootez pour être sur qu'il y a pas un process Oracle qui tourne, auquel cas lors du reboot vous verrez le process Oracle lancé automatiquement et qui doit vous afficher [OK] et non pas [FAILED] .... • Ou alors vous testez directement : # cd /etc/rc.d # ./oracle stop # ./oracle start Dans les 2 cas, une fois que c'est fini, loggez−vous avec Installer et utiliser un logiciel 237 D − CONTACT l'utilisateur oracle et lancez sqlplus dans une console pour tester : # sqlplus /nolog SQL >connect system/manager CONNECTED SQL> Si vous avez le message CONNECTED, vous avez réussi l'installation d'Oracle 8.1.7 ! D − CONTACT En aucun cas je ne pourrais vous apporter un support Oracle autre que celui redigé ici. Vous pouvez tout de même me contacter par mail à l'adresse suivante xavier.facq@free.fr. Have a lot of fun... Xavier FACQ. 238 Installer et utiliser un logiciel Installation de Oracle 8.1.7 sur Linux S Installation de Oracle 8.1.7 sur Linux SuSe 7.2 V1.0, Xavier FACQ, le 05/11/2001 Voici les manipulations pour installer Oracle8i 8.1.7 sur une machine Linux. A − Pré−installation Note : cet article fait suite à un premier article concernant l'installation d'Oracle sur SuSe 7.0. 1 − Environnement d'installation : SuSe 7.2 L'avantage de cette distribution est que les utilisateurs et groupes pour Oracle sont créés lors de l'installation de la SuSe, donc tout est près pour accueillir Oracle 8.1.7. Note de Jicé : pour une autre distribution, vous devrez donc créer les utilisateurs (oracle) et groupes (oinstall, dba) adéquats. 2 − Interface graphique Vous aurez IMPERATIVEMENT besoin d'un interface graphique pour faire l'installation (KDE, Gnome etc...) 3 − Connection Vous devez−vous connecter avec l'utilisateur oracle pour faire l'install. Vous aurez peut etre besoin de changer le mot de passe avant, en vous connectant en tant que root : # su # passwd oracle 4 − Les patchs Vous devez télécharger le patch orarun8i.rpm (12ko) ici : ftp://ftp.suse.com/pub/suse/i386/supplementary/commercial/Oracle/orarun8i.rpm (cf : http://www.suse.com/en/support/oracle/db/) Vous devez télécharger le patch de conversion de glibc : (glibc−2.1.3−stubs.tar.gz 92ko) (cf http://www.suse.com/en/support/oracle/db/817_71.html) B − Installation Vous devez, avant toutes commandes des outils oracle, lancer la commande suivante pour annuler la langue (sur les versions françaises en tout cas) : # unset LANG Si vous avez, comme nous, une installation sur CD, montez le et lancez ensuite la commande : # cd /cdrom # ./runInstaller Vous allez enfin pouvoir commencer l'installation. I − Bienvenue Rien à faire sur cet écran, Selectionnez [suivant] II − Emplacement des fichiers • Source ... Normalement rien à faire, • Destination ... il vous faudra peut être remplir le chemin avec /opt/oracle/OraHome1 puis [suivant] III − Groupe d'installation des produits Oracle Remplir les champs avec oinstall (ou dba) de préférence, puis [suivant] !! On vous demande d'exécuter un script avec l'utilisateur root ! Ouvrez une console : # su # /opt/oracle/OraHome/orainstroot.sh Puis clickez sur [rééssayer] une fois le script terminé. Installer et utiliser un logiciel 239 B − Installation IV − Produits disponibles Selectionnez Oracle Entreprise Edition 8.1.7, puis [suivant]. V − Type d'installation Laissez ou sélectionnez le type d'intallation Typical, puis [suivant]. VI − Database Identification Remplir les champs avec ORCL, puis [suivant]. VII − File location Remplir le champ avec /opt/oracle/OraHome1, puis [suivant]. VIII − JDK Home Directory Remplir le champ avec /usr/lib/java, puis [suivant]. IX − Résumé Cliquez sur [Installer]. Maintenant, vous pouvez aller boire un verre au café du coin, faire un babyfoot et ca devrait être fini quand vous reviendrez... Une fois l'installation terminée, on vous demande alors d'exécuter un script en tant que root : utilisez ou lancez une nouvelle console et exécutez le script demandé. # /opt/oracle/OraHome1/root.sh Une fois le script terminé, selectionnez [Ok] dans la boite. X − Outils de configuration Laissez les outils se lancer tous seuls. • Net8 : sélectionner "Exécuter la commande standard" puis [suivant]. • Création de la base : cliquez sur [OK] Normalement il ne fonctionnera pas et il faudra y revenir plus tard ! Vous aurez une erreur du type : 03113 − end−of−file on communication chanel 03114 − not connected to oracle • Lancement du listener Remarque : Si un outil ne se lance pas correctement, vous pouvez rééssayer de le relancer, des fois ils fonctionnent au deuxième coup... Une fois les outils correctement lancés, vous aurez une nouvelle boîte "Installation Terminée", sélectionnez [Quitter] => [Oui] Avant de pouvoir continuer, vous devez arrêter tous les processus Oracle qui tournent sur votre machine.(lancés lors de l'installation). # ps −edf | grep oracle => Vous allez avoir une bonne liste de processus avec les listeners, apaches, etc ... Tuez les processus dont la ligne de commande (à droite dans la liste) contiennent le répertoire /opt/oracle/OraHome1/bin. Faites alors autant de fois que c'est nécessaire la commande suivante : # kill −9 PID où PID est l'identifiant du processus (le premier nombre sur la ligne) C − Configuration 1 − Il faut installer le patch d'Oracle : glibc−2.1.3−stubs.tar.gz Il faut le dézipper dans votre ORACLE_HOME : Dans notre exemple : /opt/oracle/OraHome1 # cd /opt/oracle/OraHome1 # tar xvfz glibc−2.1.3−stubs.tar.gz Puis lancer les commandes suivantes pour qu'il connaisse votre répertoire d'Oracle : # ORACLE_HOME=/opt/oracle/OraHome1 # export ORACLE_HOME 240 Installer et utiliser un logiciel B − Installation Puis : # ./setup_stubs.sh ( ~5 minutes sur un PII 350 ) 2 − Maintenant il faut installer le patch pour la Suse : Installez le fichier orarun8i.rpm avec l'utilisateur root et la commande suivante (cf chapitre A−4) # su # rpm −ivh orarun8i.rpm Ensuite, il faut faire des modifications dans les fichiers installés : # cd /etc/profile.d # vi oracle.sh => il faut remplacer la fin de la ligne ORACLE_HOME : • avant : ORACLE_HOME=$ORACLE_BASE/product/8.1.6 • apres : ORACLE_HOME=$ORACLE_BASE/OraHome1 (OraHome1 dans notre cas, cf II) Jusque là, pas de problème ... Mais, personnellement, le fichier orarun8i.rpm n'a pas installé tous les scripts qui sont dedans ; (ce qui fait que les commandes si dessous ne fonctionnent pas ! Peut−être que sur votre installation cela a fonctionné, mais pour en avoir le coeur net, il suffit d'aller voir si les fichiers existent). # cd /etc # ls => si vous avez un fichier nommé oracle, c'est bon pour vous ! => sinon il vous faut prendre les scripts suivants : oracle : a mettre dans /etc/rc.d/ Et les liens symboliques vers ../oracle pour le démarrage et l'arrêt du service oracle. k10oracle : à mettre dans /etc/rc.d/rc3.d/ et S40oracle : a mettre dans /etc/rc.d/rc3.d/ et /etc/rc.d/rc5.d/ Pour que toutes les modifications soient prises en compte, il faut vous delogguer graphiquement et vous reconnecter toujours avec l'utilisateur oracle. Après, Vous pouvez relancer l'assistant de création de votre base qui ne doit plus planter ; vous pouvez essayer plusieurs fois si ça plante... # unset LANG (si vous ne l'avez pas mis dans le profile.sh) # dbassist => nouvelle base, à partir du CD, SID=ORCL, enfin tout par défaut. Il va peut−être vous dire qu'il reste une base et des scripts, choississez alors de les supprimer. Ensuite, il faut faire des modifications dans les fichiers installés : # cd /etc # vi oratab => en fin de ligne tout en bas, il y a votre SID (ORCL dans notre cas) il faut remplacer le 'N' par 'Y' pour démarrer automatiquement votre base. Voilà, l'installation est terminée, il n'y a plus qu'à tester ! Il y a deux solutions : • Soit vous rebootez pour être sur qu'il y a pas un process Oracle qui tourne, auquel cas lors du reboot vous verrez le process Oracle lancé automatiquement et qui doit vous afficher [OK] et non pas [FAILED] .... (si il est dans le fichier rc_config mis a true : cf Yast2 => fichier de config => START_ORACLE) • Ou alors vous testez directement : # cd /etc/rc.d # ./oracle stop # ./oracle start Une fois que c'est fini, reloggez−vous avec l'utilisateur oracle pour que le script de profile soit pris en compte et lancez sqlplus dans une console pour tester : # sqlplus /nolog SQL >connect system/manager CONNECTED SQL> Installer et utiliser un logiciel 241 D − Contact Si vous avez le message CONNECTED, vous avez réussi l'installation d'Oracle 8.1.7 ! D − Contact En aucun cas je ne pourrai vous apporter un support Oracle autre que celui redigé ici. Vous pouvez tout de même me contacter par mail à l'adresse suivante : xavier.facq@free.fr. Have a lot of fun... Xavier FACQ. 242 Installer et utiliser un logiciel DiVX ;−) et ses am DiVX ;−) et ses amis BRARD Emmanuel Révision par Jice <jice chez lea−linux point org> Installer le nécessaire pour lire les videos au format divx ;−), mpeg... Afin d'extraire un DVD et de le coder en Divx sous Linux, je vous conseille la lecture de cet excellent article. Et bien oui ! Linux est aussi un média OS : il est tout à fait possible de lire des divx, des fichiers avi, des fichiers mpeg , etc. sous linux. L'avantage majeur, encore une fois, de linux ; c'est qu'il existe plusieurs solutions pour faire ceci. Ici je vais détailler l'installation et l'optimisation des trois meilleurs (à mon avis) players : • MPlayer • aviplay* • Xine * : Aviplay est le player livré par défaut dans l'archive d' avifile. Il existe aussi XMPS − qui malheureusement à mon avis n' est pas encore assez développé pour être correctement utilisable − et encore d'autres players. Les choses ayant bien évolué depuis le 27 octobre 2001 (date du premier article), il est maintenant possible de voir ses divx avec une "petite configuration", par exemple un P2 350, 128 Mo de RAM, et une carte graphique moyenne gamme (ex : Voodoo Banshee). Pour le k6 200, et une petite carte (ex : ATI Rage 2C), ça arrive, patience ;) Avertissement Au même titre que la copie de CD audio, la copie de DVD (en DIVX ;−) ou tout autre format) n'est autorisée par la loi que pour l'utilisation privée du copiste. La loi n'autorise en aucun cas le libre téléchargement de films codés en DIVX (ou autre) sur Internet. Présentation Commençons d'abord par une description de ces trois lecteurs, avec une petite comparaison : Aviplay Aviplay est un lecteur extrêmement puissant. Il possède une interface graphique écrite en QT2 (la librairie graphique de KDE), vous devez donc installer ces librairies si ce n'est pas déjà fait. Il est possible de l'optimiser pour le processeur, pour la librairies SDL installée, ainsi que pour les cartes graphiques Matrox G400. Il sait utiliser MTRR. Toute la configuration du lecteur se fait dans un boîte de dialogue à l'intérieur de l'interface graphique. Aviplay peut volontairement faire avancer la bande son plus ou moins vite, afin de rester synchronisé avec les images. MPlayer Ce lecteur est tout simplement génial, aussi puissant que l'autre, il possède lui aussi une interface graphique thèmable ! Il est optimisable pour les jeux d'instructions des processeurs (MMX, SSE, 3DNow...), pour la librairie SDL installée, et comme aviplay utilise MTRR. Sa configuration se fait dans un fichier de configuration ou directement en ligne de commande. A l'instar de Aviplay, MPlayer peut utiliser plusieurs drivers de sortie comme le DGA, SDL, X11, et même le frame buffer. Il peut comme Aviplay être optimisé pour un certain nombre de cartes comme par exemple la 3dfx Banshee et Voodoo 3000, les Matrox G200, G400, et les cartes NVidia. Il support aussi l'utilisation des sorties TV. MPlayer sait sauter des frames (images) du film afin de rester synchronisé avec le son. Il peut aussi changer sa priorité avec l' option −auto. Xine (rédigé par Jice) Xine est aujourd'hui arrivé au même niveau technique que ses concurrents, et possède une bonne interface graphique que je trouve plus intuitive que celle de mplayer. Il est très simple à installer, léger et performant ; configurable en mode graphique ou en ligne de commande, et avec les plugins d5d j'arrive à lire tous les DVD ; bien sûr, le Divx ;−) est bien supporté. Après avoir activé la sortie Xv (ajouter "−V Xv" à la ligne de commande), la lecture a été parfaite et ne consomme pas beaucoup de CPU. Conclusion Ces deux visionneurs sont très similaires, et sont aussi performants l'un que l'autre. Mplayer peut utiliser plusieurs drivers de sortie. Aviplay cherche à toujours avoir une bonne qualité d'image. Xine est équivalent à Mplayer, et très simple à installer. Ce sera donc encore une fois à l'utilisateur de choisir. Personnellement je préfère garder les deux : si l'un ne lit pas correctement un film, j'essaie avec l'autre. De plus, mplayer sait se lancer sans interface graphique : c'est un plus pour écouter les radios en ligne au format Windows média player :−) Installer et utiliser un logiciel 243 Pré−requis Pré−requis Vous allez avoir besoin d'un certain nombre de librairies pour pouvoir utiliser ces players, elles devraient normalement être disponibles sur le CD d'installation de votre distribution, ou sur RPMfind.net pour les rpm, et sur les mirroirs Debian pour les .deb . Pour Mandrake 8.2 et supérieures, nous vous conseillons d'installer la source urpmi du Penguin Liberation Front ainsi qu'ils l'expliquent sur leur page d'accueil , l'installation de mplayer, aviplay ou xine (y compris les plugins pour lire les Divx ;−) et les DVD cryptés) est ensuite immédiate : urpmi mplayer ou urpmi d5d par exemple suffisent. Attention : pour Mplayer, les utilisateurs de Mandrake 8.x et de Redhat 7.x doivent changer leur version du compilateur GCC qui est en 2.96 pour une version antérieur ou suppérieur (bien qu'il soit conseillé de ne pas utiliser les versions 3.x). Vous devez donc avoir sur votre machine : • binutils • gcc : version de 2.95.2 à 2.95.4 • XFree86, toujours la dernière version possible (sauf vielles cartes vidéo) • make • SDL (1.2.x, recommandée) • Win32 codecs (disponible sur le site de MPlayer et d'avifile) • QT 2 et QT2−devel (seulement pour aviplay) • Setcd, seulement pour les lecteurs de cdrom rapides (à partir de 32x) Note de Jicé : pour savoir si un logiciel est installé sur votre système, avec rpm essayez la commande "rpm −qa | grep le_logiciel" (voir l'article sur rpm ). Pour les distributions basées sur d'autres types de paquetages (.deb, .tgz), vous devez avoir une commande équivalente. Vous pouvez avoir besoin de librairies spécifiques si vous voulez optimiser Mplayer ou Avifile pour votre carte, ou pour la capture par video4linux. Je vous conseille donc d'aller sur leur site respectif pour avoir la liste complète. Installation Pour les distributions Mandrake 8.2 et supérieures, le plus simple est d'utiliser la base urpmi du PLF (voir plus haut), qui dispose des logiciels, des codecs, des plugins prêts à installer. Installation des codecs (les codecs sont disponibles sur les sites des players) Il suffit de décompresser l'archive win32codecs.zip et de copier tous les fichiers dans le nouveau repertoire /usr/lib/win32/ . Pour ce qui est de DivX4linux, de même, décompresser l'archive puis copier le fichier libdivxdecore.so.0.0.0 dans /usr/local/lib puis créer les liens dans ce répertoire : libdivxdecore.so.0 et libdivxdecore.so. Puis taper ldconfig pour faire prendre an compte la nouvelle librairie au système. Installation des players Pour installer les players, il suffit de les compiler : 1. Décompressez l'archive, 2. lancez ./configure dans le nouveau répertoire obtenu, 3. tapez make pour le compiler (créer le binaire), 4. puis tapez make install, pour l'installer sur le système. MPlayer Si vous êtes sous Mandrake et que vous ne voulez pas toucher à gcc utiliser plutôt ./configure −−disable−gcc−checking Pour utiliser l'interface graphique vous devez rajouter ./configure −−enable−new−gui Si vous avez les connaissances suffisantes, vous pouvez encore plus optimiser le binaire pour le processeur en éditant le fichier Makefile et en mettant les nouveaux tags de compilation. Vous pouvez désormais utiliser les librairies divx4linux ; il suffit de télécharger l'archive et de lancer le script install.sh MPlayer trouvera ces librairies lors de sa compilation, pendant l'éxécution du script ./configure Attention, ses librairies ne sont pas libres : le code source n'est pas disponible (closed−source) ! Vous pouvez aussi utiliser les librairies fournies par le projet ffmpeg . Mais ici, une fois son archive décompressée, il faut copier le repertoire libavcodec dans l'arbre de MPlayer : cp −rf /app/ffmpeg/libavcodec /app/MPlayer−0.60pre2/ Comme pour la librairie divx4linux, MPlayer les trouvera lors de l' éxécution du ./configure Aviplay Pour celui−ci, rien de particulier, sinon que dans le cas d'une distribution SuSe vous devrez sûrement lui dire où se trouvent les librairies QT (c'est expliqué dans le fichier INSTALL). 244 Installer et utiliser un logiciel Installation Xine Si vous souhaitez le compiler, il n'y a rien de spécial. Récupérez les fichiers source xine−lib et xine−ui, ainsi que les sources des plugins, et pour chacun, un simple ./configure ; make ; make install est suffisant. Vous pouvez activer plus ou moins d'options via le ./configure, tapez ./configure −−help pour les connaître. Dans tous les cas : n'oubliez pas de lire les fichiers README et INSTALL !!! Les librairies Je vous recommande nettement d'installer la librairie ffmpeg, qui offre la meilleure qualité de lecture. Cette librairie est dite plus performante que la librairie propriétaire divx4linux par l'équipe de MPlayer. N'oubliez pas que ce sont ces librairies qui permettent aux logiciels de lire les différents formats audio/vidéo, c'est pourquoi vous devez, comme expliqué les haut, les compiler/installer. Divx4linux marche aussi bien avec MPlayer qu'aviplay, par contre je n'ai pas testé ffmpeg avec aviplay. Utilisation Aviplay Pour pouvoir lancer une vidéo avec aviplay, il vous suffit de taper : aviplay. Une fenêtre s'ouvre et vous propose de choisir un fichier. La configuration se fait en appuyant sur "?" puis sur "Config" : • Vidéo Ici seront placées les options pour l'accélération vidéo, en général dans le cas d'un PC minimum (pour la lecture de divx), c'est à dire un K6−200 34mo de ram, il faut tout cocher. • Audio Rien à mettre ici de plus que ce qui y est déjà. • ... La conception d'aviplay est faite pour que vous puissiez directement lire vos fichiers, sans rien configurer, une option est pourtant à mon avis utile : • Sync C'est avec cette option que l'on va pouvoir essayer de garder la synchronisation. Il suffit de placer audio/vidéo synchronisation, vers la gauche si l'image est le son est "en avance" , et inversement à droite s'il est "en retard". MPlayer Pour celui ci, il y a beaucoup plus d'option, déjà avec l'option "−vo" on peut choisir son driver de sortie parmi : • tdfxfb, le support frame buffer pour les cartes 3dfx citées au début du document • xv • x11, en mode fenêtre à utiliser avec sdl : "−vo sdl:x11" • gl, utilisation de l'OpenGl • dga, utilisation du DGA (Direct Graphic Access) vous devez posséder les droits root • sdl • fbdev, utilisation du frame buffer standard • png • null Null video output Avec l'option −vc" on peut utiliser un codec particulier pour un driver : • odivx (OpenDIVX) , plus rapide, de meilleur qualité • divx4, (OpenDIVX/DIVX4) peut être préférable au précédent On peut aussi essayer de grader la synchronisation avec l'option "−framedump", MPlayer sautera des frames du film pour garder le son synchro. On indique à MPlayer d'utiliser XFree86 et le getmodeline pour changer de résolution avec "−vm", ce qui permet d'avoir entre autres des résolutions non indiquées dans le fichier de configuration d'XFree86. Par exemple : mplayer −framedump −vm −vo sdl /mnt/cdrom/Le\ pacte\ des\ loups\ −\ Divx\ Francais\ −\ SAVUKA\'S\ BOARD\ −\ CD1.avi Si vous voulez utiliser l'interface graphique il suffit d'ajouter "−gui". Mplayer sait également effectuer sa sortie audio sur les démons de son de KDE (arts) ou Gnome (esd) (ces démons permettent de mixer plusieurs sons qui peuvent ainsi être joués simultanément). Il suffit d'ajouter l'option −ao arts ou −ao esd à la ligne de commandes. Pour connaître les possibilités de cette option, ajouter −ao help. Installer et utiliser un logiciel 245 Utilisation Xine Xine dispose également de nombreuses options, que vous pouvez régler soit en mode graphique (cliquez sur la petite clef sur l'interface de contrôle) soit en ligne de commande. Une particularité que je trouve excellente de Xine est de se rappeler les options que vous avez passées sur la ligne de commande. Par exemple, pour lui dire d'utiliser la sortie video Xv, vous tapez une première fois xine −V Xv ; les fois suivantes, il ne sera plus nécessaire d'ajouter l'option à la ligne de commande ! Le plus simple est de lancer xine sans arguments, tout peut ensuite se jouer à la souris (même utiliser le glisser déposer pour lancer un fichier !). Ou vous pouvez taper xine mon_divx.avi et le tour est joué. Xine sait utiliser les démons de son de KDE (arts) ou Gnome (esd). Pour ce faire, utilisez une fois l'option de ligne de commande −A arts ou −A esd. xine −−help vous donnera de plus amples informations sur toutes les options disponibles, mais explorez aussi son interface graphique. Optimisations Optimisation du lecteur cdrom: Les lecteurs rapides peuvent se mettre "en attente" pendant la lecture, le problème est qu'en général ils sont longs à se remettre en service. Ils peuvent aussi tout simplement vouloir changer leur vitesse de rotation, ce qui pendant quelques secondes va geller le film. Pour éviter ceci on peut utiliser un petit programme qui permet de "fixer" la vitesse du lecteur, il s'agit de setcd (setcdrom) disponible par un recherche sur Freshmeat . Optimisation de Xfree 3.3.6/4.x et mise en place du MTRR (XF3.3.6) : Pour XFree86 3.3.6 par grand chose à dire, le DGA (Direct Graphics Access) est déjà prêt. Il faut juste rajouter des résolutions (et les modelines correspondantes) pour pouvoir changer de résolution. Pour XFree86 4.x vous devez seulement vérifier que le DRI (Direct Rendering Interface), le GLX (seulement pour MPlayer et l'option −vo gl), et surtout le DGA ( option −vo dga, ou −vo sdl:dga) sont actifs, car XF4.x peut changer tout seul de résolution même si elles ne sont pas déclarées. Dans le fichier /etc/X11/XF86Config* : XFree86 4.x Section "Module" Load "dbe" Load "glx" Load "dri" SubSection "extmod" #Option "omit xfree86−dga" # ici le DGA sera activé !!!!!!!!! EndSubSection EndSection XFree86 3.3.6 ... Subsection "Display" Depth 16 # 16 ou 32 selon la puissance de votre carte Modes "800x600" "640x480" "720x480" ViewPort 0 0 EndSubsection Section "DRI" Mode 0666 EndSection Pour le MTRR et XFree 3.3.6 (le 4 le fait tout seul) : Faites : Soit "cat /proc/pci" ou "lspci" ex : 01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525 Memory at d8000000 (32−bit, prefetchable) Ensuite, il suffit de remettre l'adresse et le type de la mémoire dans /proc/mtrr : [emman@funky emman] % echo "base=0xd8000000size=0x2000000 type=write−combining" >| /proc/mtrr Correspondance mémoire 1 MB 0x100000 2 MB 0x200000 4 MB 0x400000 8 MB 0x800000 16 MB 0x1000000 32 MB 0x2000000 Vous pouvez ensuite vérifier : ex : [emman@funky emman] % cat /proc/mtrr 246 Installer et utiliser un logiciel Conclusion reg00: base=0xe4000000 (3648MB), size= 16MB: write−combining, count=9 reg01: base=0xd8000000 (3456MB), size= 128MB: write−combining, count=1 FFMPEG et MPlayer Il est conseillé pour celui−ci de forcer MPlayer à utiliser cette librairie en éditant le fichier ~/.mplayer/codecs.conf Vous devez supprimer tout ce qui concerne ffmpeg12 : ... videocodec ffmpeg12 info "FFmpeg−1" status working format 0x10000001 ; mpeg 1 format 0x10000002 ; mpeg 2 fourcc mpg1,mpg2 driver ffmpeg dll "mpegvideo" out YV12 ... Conclusion Grâce aux travaux des différentes équipes : MPlayer, Xine, ffmpeg, , win32codecs... il est maintenant possible de visionner la plupart des Divx ;−) avec au minimum un Pentium II (ou équivalent) à 350Mhz, 128 Mo de Ram, et une carte video qui possède 16 mo, et ceci sans utiliser le "framedump" (i.e. le saut d'images). Il faut aussi souligner qu'il existe sous Linux de nombreuses optimisations offertes par exemple par le processeur (jeux d'instructions MMX, SSE, 3DNOW), par XFree (DGA, DRI, GLX, MTRR), et par les librairies (SDL) qui pour une meilleure qualité doivent être compilées. Pour utiliser corectement le visionneur de votre choix, n'hésitez pas à aller sur son site, et à bien lire sa doc ! (c) 2001−2002 BRARD Emmanuel, emman@aliena.net − 2002 Jean−Christophe Jice Cardot, jice chez lea−linux point org Ce document est sous license GNU FDL. Installer et utiliser un logiciel 247 La gravure en ligne de commandes La gravure en ligne de commandes Par Pascal, révision par Jice Pour exploiter pleinement les possibilités de gravure sous Linux, il est nécessaire de connaître quelques rudiments sur les outils de base dont les principaux sont cdrecord , cdrdao, cdparanoia, readcd et cdparanoia. Voir aussi la logithèque de Léa, section gravure. Tous les logiciels graphiques destinés à la gravure ne sont en fait que des interfaces qui utilisent ces outils. Ces programmes figurent normalement sur toute distribution. Les quatre premiers programmes font partie du package cdrtools dont les sources sont disponibles ici ou encore sur cette page qui contient d'autres informations, notamment une liste des graveurs compatibles. On peut également récupérer les sources de cdparanoia à cette addresse Note de Jice : sous Mandrake, les packages correspondants sont cdrecord, cdrdao et cdparanoia. Cette page a été construite à partir notamment : • des pages de manuel • des divers fichiers Readme fournis avec les outils • de la FAQ sur les CD−R dont la version originale (en anglais) se trouve ici et dont l'on trouvera une traduction ici • de multiples essais personnnels Cet article contient les informations suivantes : • Les prérequis : ♦ Configurer sa machine, ♦ Configurer les programmes, ♦ Quelques commandes utiles, ♦ Un peu de théorie sur les CD−ROM, • et enfin la pratique : ♦ Graver une image ISO, ♦ Créer un disque de données (backup, etc.), ♦ Copier un CD−Rom de données, ♦ Créer ou copier un disque multisession, ♦ Copier un CD audio, ♦ Créer ou copier un CD Extra (mélange de CD Audio et de CD−Rom), ♦ Graver une image .bin/.cue Avant toute chose, il convient de lire les sections suivantes sur la configuration de la machine et des programmes. Avant de commencer Configuration de la machine Pour graver, il faut disposer d'un graveur SCSI ou d'un graveur IDE avec une émulation SCSI. Le noyau Note de Jice : Si vous avez une distribution récente (Mandrake 8.x, etc.), vous pouvez passer ce paragraphe. Pour cela, dans la configuration du noyau, les options suivantes doivent être activées (par exemple en module) : • SCSI emulation support (le module ide−scsi.o dans la rubrique ATA/IDE/MFM/RLL support de IDE/ATA and ATAPI Block devices pour un noyau 2.4.17 ou dans la rubrique Block devices pour d'autres noyaux) • SCSI support (le module scsi_mod.o dans la rubrique SCSI support) • SCSI CD−ROM support (le module sr_mod.o dans la même rubrique ; celui−ci n'est pas indispensable pour la gravure mais est nécessaire pour pouvoir monter le périphérique) • SCSI generic support (le module sg.o dans la même rubrique) Il peut aussi être utile d'activer l'option Loopback device support dans la rubrique Block Devices. Ceci permet de monter les images de disques afin d'en visualiser le contenu. L'émulation SCSI Enfin, il faut ajouter une entrée du type append="hdc=ide−scsi" dans le fichier /etc/lilo.conf (quelque part sous la ligne image=fichier_du_noyau). Pour obtenir le nom du fichier de périphérique du graveur (hdc dans l'exemple ci−dessus), on tape dmesg|less dans une console et on repère une ligne du type hdc: nom du graveur. Enfin, pour activer l'émulation SCSI, il suffit de charger le module ide−scsi par la commande modprobe ide−scsi (les autres modules seront chargés automatiquement si l'option Kernel module loader de la rubrique Loadable module support est activée dans le noyau). Dans certaines situations, il est nécessaire de disposer également d'un lecteur de CD−Rom SCSI (ou émulé). C'est le cas par exemple pour la copie directe de Cd−Rom audio avec cdrdao. Pour qu'un lecteur ou un graveur IDE soit émulé en SCSI, il suffit de modifier l'entrée dans le fichier /etc/lilo.conf pour obtenir quelque chose du genre : append="hdc=ide−scsi hdd=ide−scsi" 248 Installer et utiliser un logiciel Avant de commence avec ici hdc le lecteur de Cd−Rom et hdd le graveur (selon la configuration). Les périphériques seront alors accessibles, selon les distributions, à travers /dev/scd0 et /dev/scd1 (ou /dev/sg0 et /dev/sg1, cela dépend des distributions), au lieu de /dev/hdc et /dev/hdd. La plupart des programmes ne sont utilisables qu'en mode super−utilisateur. Pour les utiliser en mode utilisateur, on peut utiliser par exemple la commande sudo, ou su. Obtenir l'adresse SCSI du graveur Avant toute chose, il faut obtenir cette information en interrogeant le bus SCSI. Pour cela, on tape dans une console : cdrecord −scanbus Celui−ci va renvoyer un certain nombre de lignes du type : 0,0,0 0) 'Nom du graveur' Removable Cd−Rom Ce sont les trois premiers chiffres qui nous intéressent. Ces trois chiffres correspondent respectivement au numéro de l'adaptateur (scsibus), au numéro d'identification du périphérique ou de la cible (target) et au numéro d'identification dans la chaîne SCSI (lun, Logical Unit Number). Ces trois chiffres seront indispensables pour la suite. Par exemple, le programme cdrecord devra toujours être lancé avec l'option dev=x,y,z avec x le premier chiffre (scsibus), y le deuxième (target) et z le troisième (lun). En fait, s'il n'y a qu'un seul bus SCSI, il suffit d'entrer les deux derniers. Ainsi, si les trois chiffres sont 0,1,0, on entrera cdrecord dev=1,0 etc. Par la suite, on utilisera la notation dev=y,z et il faudra remplacer y et z par leur valeur. C'est la même chose avec le programme readcd (on entrera donc readcd dev=y,z etc). Pour cdrdao, l'option s'écrit −−device y,z. Il est possible également que le programme ne reconnaisse pas votre graveur. Choisissez alors un pilote dans la liste qu'il proposera dans ce cas (par exemple, l'option −−driver generic−mmc). Attention : vous pouvez très bien avoir plusieurs bus SCSI sans le savoir. Par exemple, si vous utilisez le module usb−storage (pour un lecteur ZIP USB), celui−ci crée un bus SCSI. Et bien sûr, si vous avez une carte SCSI, vous avez encore un autre bus SCSI. Bref, dans ce cas, vous devrez donner en paramètres aux programmes les 3 chiffres. Par exemple cdrecord dev=0,1,0. Configuration des programmes Le programme cdrecord lit un fichier de configuration dans un fichier nommé /etc/default/cdrecord. Si l'on doit passer souvent les mêmes paramètres, il est pratique de les entrer dans ce fichier (si d'autres valeurs de paramètre sont passées en ligne de commande par la suite, celles du fichier correspondantes seront ignorées). Par exemple, si l'on grave à partir du même périphérique dont les numéros SCSI sont x,y,z, alors il faut créer le répertoire /etc/default s'il n'existe pas ainsi que le fichier /etc/default/cdrecord (par exemple, en tapant touch /etc/default/cdrecord), et saisir dans ce fichier la ligne : CDR_DEVICE=x,y,z La page de manuel explique les autres options pour ce fichier. En ce qui concerne cdrdao, ces options sont stockées dans le fichier cdrdao.conf dans le répertoire /etc (on peut aussi le placer dans /etc/defaults/cdrdao ou utiliser le fichier $HOME/.cdrdao). Oui, les pages de man indiquent bien /etc/default/cdrecord pour cdrecord (default sans 's') et /etc/defaults/cdrdao pour cdrdao (default avec un 's')... Un petit lien symbolique (créé par : ln −s /etc/default /etc/defaults) permet d'avoir tout dans le même répertoire. Si l'on utilise un graveur en x,y,z, géré par le pilote generic−mmc, alors ce fichier doit avoir la forme : write_device: "x,y,z" write_driver: "generic−mmc" read_driver: "generic−mmc" Tout ceci est expliqué dans la page de manuel. On peut également entrer les informations sur le lecteur (par exemple read_device=0,1,0). Il ne faut toutefois pas saisir cette ligne si l'on compte lire et copier un disque à partir du seul graveur car la commande copy de cdrdao ne fonctionne pas si les paramètres source−device et device ont les mêmes valeurs. Dans ce cas, il faudra préciser le périphérique pour les commandes de lecture comme read−cd ou read−toc (par exemple, l'option −−device y,z). Quelques commandes utiles Débloquer le graveur Si pour une raison ou pour une autre le graveur ne répond plus à aucune commande, renvoie des messages d'erreur et refuse de s'ouvrir même ne appuyant sur le bouton d'éjection, alors vous pouvez utiliser cdrdao pour le réinitialiser : cdrdao unlock −−device y,z Installer et utiliser un logiciel 249 Avant de commencer Effacer un CD−RW Pour effacer un disque, utilisez cdrecord : cdrecord dev=y,z blank=fast ce qui lancera un effacement rapide du disque (il efface notamment la TOC, la PMA et les marques d'intervalle entre pistes, ce qui est généralement suffisant). Pour effacer complètement le disque, il faut remplacer l'option fast par all. Obtenir de l'information sur le Cd−Rom Avant de graver un Cd−Rom de données, il est important d'obtenir quelques informations, notamment pour savoir s'il s'agit d'un disque mono−session ou multi−sessions. On entre alors dans une console : cdrdao disk−info −−device y,z Il faut pour cela utiliser le graveur (un lecteur de Cd−Rom n'est généralement pas capable d'extraire ces informations). Ceci va permettre de savoir notamment s'il s'agit d'un disque réinscriptible (CD−RW: yes), si le disque est vide (CR−R empty: yes,) s'il est fixé (appendable: no, on ne peut plus rien ajouter; dans ce cas, le programme renvoie également le début de la nouvelle session et la capacité restante sur le disque) et de connaître la capacité totale du disque, la plage de vitesse acceptable (pour un disque réinscriptible), le nombre de sessions et le numéro de la dernière piste (si le disque ne comporte qu'une seule session, ceci correspond au nombre de pistes sur le disque). Structure d'un Cd−Rom Sur un Cd, les informations sont gravées en spirale en partant du centre sur des pistes, elles−mêmes regroupées dans une session. Ainsi, un disque contient au moins une session comprenant au moins une piste. Beaucoup de graveurs n'acceptent de graver des pistes que si leur durée est d'au moins 4 secondes ou 300 secteurs. En effet, l'unité de base sur un disque est le bloc ou secteur qui occupe 2352 octets, qu'il s'agisse de musique ou de données (l'occupation n'est toutefois pas la même). Lorsqu'il s'agit de Cd de données, un secteur représente toujours 2352 octets mais seuls 2048 d'entre eux sont utilisés pour stocker les données, le reste étant utilisé en grande partie pour la correction d'erreurs. Ainsi, pour stocker un Mo de données, soit 1024000 octets (1 Ko représente 1024 octets), il faudra 1024000/2048=500 secteurs. Sur un disque audio, les 2352 octets d'un secteur sont occupés par la musique car la correction d'erreurs s'effectue à un autre niveau sur le disque (les couches C1 et C2 d'après les spécialistes). La conversion analogique−numérique s'effectue par échantillonnage. Le Red Book (norme qui spécifie le standard des disques audio) précise que la fréquence d'échantillage doit être de 44100 Hz (hertz) ce qui représente 44100 échantillons par secondes, et que chaque échantillon doit être au format 16 bit, stéréo, PCM ("Pulse Code Modulation"). Ceci permet de reproduire des sons d'une fréquence variant entre 0 et 20000 Hz, avec une petite marge, qui est la fréquence audible de l'oreille humaine. D'après certains How−To, pour représenter correctement un son d'une fréquence F, il faut une fréquence d'échantillonage d'au moins 2F Hz (ceci doit être la conséquence entre autre du théorème de Shannon qui indique que l'on peut reproduire un signal qui contient des fréquences inférieures à F si on le connaît aux instants multiples de 1/2 F). Au total, une seconde de musique représentera 44100x16x2=1411200 bits, soit 1411200/8=176400 octets, soit encore 176400/2352=75 blocs ou secteurs. Les disques audio ne contiennent en général qu'une seule session car les lecteurs ne sont capables que de lire la première session. Il est toutefois possible de créer des disques mélangeant des pistes de données ou des pistes audio. C'est le cas par exemple des Cd mixtes qui contiennent en général une piste de données et des pistes audio (par exemple, des Cd de jeux). C'est le cas également des Cd Extra qui contiennent une première session audio et une deuxième session de données. Ceci se révèle pratique pour stocker des informations relatives à la musique enregistrée, par exemple des fichiers video, sans que le lecteur audio n'affiche la piste comme une autre piste audio (le lecteur n'a accès qu'à la première session audio et ne voit pas la session de données qui reste néanmoins accessible par un ordinateur). Ce n'est pas le cas avec un Cd mixte: la première piste est considérée comme une piste audio par un lecteur (on pourrait crée une première session pour les données et une deuxième pour l'audio mais la deuxième session ne serait pas accessible par le lecteur audio). Chaque session contient une zone de données dans laquelle sont stockées les pistes de données ou les pistes audio. Elle est précédée d'une en−tête, le Lead−In, qui contient la TOC ("Table of Contents" ou Table des Matières) ainsi que l'adresse éventuelle de la prochaine session. Elle se termine par une zone de fin, le Lead−Out qui ne contient rien mais sert à indiquer la fin de session. Cette zone de fin occupe 6750 secteurs pour la première session et 2250 pour la suivante. La zone d'en−tête n'est écrite que lorsque la session est clôturée et peut occuper jusqu'à 4500 secteurs. Tant que la session n'est pas finie, la TOC est écrite dans la PMA ("Program Memory Area" ou Zone de Mémoire Programme). La Table des Matières contient la longueur totale de la zone de données, le nombre de pistes et l'adresse de ces pistes sur le disque. Il existe deux grandes façons de créer un disque: le mode Track At Once (une piste à la fois) ou le mode Disc At Once (le disque en une seule fois). En mode Track At Once (TAO), on écrit les pistes une par une. En fait, le graveur éteint le laser à la fin de chaque piste ce qui laisse quelques secteurs vides entre les pistes qui en général sont silencieux (des run−in et run−out). Cette méthode est utile si l'on souhaite par exemple graver quelques pistes d'un disque et rajouter quelques pistes plus tard. Dans ce cas, il ne faut pas fermer la session mais le disque ne pourra être lu par un lecteur audio car la TOC ne sera pas générée. Cette méthode est dans certains la seule possible avec certains anciens graveurs. En outre certains d'entre eux laissent automatiquement un espace de 2 secondes entre les pistes. En mode Disc−At−Once (DAO), les pistes sont gravées en une seule fois sans que le laser ne soit éteint. Ceci permet d'obtenir des disques sans espace entre les pistes (par exemple un concert). C'est la méthode la plus sûre pour réaliser une copie qui soit la plus proche possible de l'original. Il existe également un mode dit Session At Once (une session à la fois), qui est une variante du mode DAO. Par exemple, on grave en une seule fois une première session audio en mode multissesion et l'on grave ensuite une deuxième session de données afin de créer un Cd−Extra (on peut également de graver une première session de données en mode DAO, mais cela ne semble pas possible pour une autre (cdrecord refuser cela). 250 Installer et utiliser un logiciel Graver une image IS Graver une image ISO (par Jice) En ces temps de connexion internet par ADSL ou câble, les personnes qui peuvent télécharger des images ISO (c'est à dire un fichier contenant l'image de ce qui se trouve sur un CD) sont de plus en plus nombreuses. On peut par exemple télécharger les CD d'une distribution Linux, etc. Graver l'image ISO Oui, mais... Comment graver le fichier image.iso ? Une ligne de commande suffit : cdrecord −v −dao speed=8 dev=x,y,z /chemin/image.iso avec : * speed : la vitesse du graveur 8 pour 8x par exemple, * dev : l'adresse sur le bus SCSI du graveur, obtenue avec la commande cdrecord −scanbus Si vous avez aussi téléchargé le fichier md5sums (lorsqu'il existe), vous pouvez tester votre image avant de la graver par la commande : md5sum −c md5sums Note 1 : Sous Windows, utilisez votre logiciel de gravure, et choisissez la fonction "graver une image". Ouvrez alors le fichier contenant l'image ISO, et gravez−le. Il paraît que Nero (Les fichiers .nrg de Nero seraient en fait des images ISO) et Easy CD Creator savent le faire. Note 2 : une erreur classique consiste à graver le fichier image.iso sur le système de fichiers du CD (i.e. le CD contient un seul fichier, votre image ISO). Dans ce cas, vous pouvez toujours vous en servir en montant le CD, puis en montant l'image en loopback, mais c'est de la bidouille, et surtout c'est fichu pour booter sur le CD (ex : CD d'une distribution Linux). Tester l'image ISO Il est en effet possible de monter l'image dans un répertoire pour en vérifier le contenu. Par exemple, pour monter l'image dans le répertoire /mnt/cdrom, on fera : mount image.iso −t iso9660 −o loop,ro /mnt/disk et il suffira d'aller visiter le répertoire /mnt/disk pour consulter le contenu de notre image ISO. Création d'un disque de données Pour l'instant, on ne s'intéresse qu'à la création d'un disque mono−session pour sauvegarder des données stockées sur le disque dur (voir plus loin pour la création d'un Cd−Rom multi−sessions). Il existe pour cela deux méthodes : soit on passe par la création d'une image sur le disque qui est ensuite gravée sur le Cd−Rom, soit on grave directement les données à partir des fichiers présents sur le disque dur. Par ailleurs, qu'il s'agisse d'un disque mono ou multi−sessions, chaque session ne doit comporter qu'une seule piste. Création d'une image ISO−9660 On a vu ci−dessus comment graver une telle image, mais il est bien plus intéressant de créer soi−même ses propres CD ! La méthode consiste à créer une image disque à partir des données à sauvegarder, c'est−à−dire un fichier qui pourra être reconnu par le logiciel de gravure, et qui représente le futur contenu d'un CD. On utilise pour cela le programme mkisofs. Par exemple, si l'on souhaite faire une image nommée image.iso contenant les fichiers du répertoire /home/copie, alors on fera : mkisofs −R −o image.iso /home/copie On peut ignorer les éventuels messages du type : Using FICH000.TXT;1 for /home/copie/fichier.txt~ (fichier.txt) Ceci signifie qu'il existe un fichier nommé fichier.txt et un autre nommé fichier.txt~ (qui est par exemple une sauvegarde du premier réalisée par Emacs). Le programme mkisofs fait cette transformation pour que le système de fichier soit conforme à la norme ISO−9660 mais l'extension Rock Ridge assure que le fichier sera visible à la lecture sous sa forme initiale (en fait, le fichier fichier.txt est sauvegardé sous le nom FICHI000.TXT dans l'arborescence du disque et le ;1 signifie qu'il s'agit d'une version du premier). L'image sera alors gravée par : cdrecord −v −dao speed=8 dev=y,z image.iso Si cdrecord n'est pas lancé à partir du répertoire dans lequel se trouve le fichier image.raw, il faut préciser le chemin. L'option −v est optionnelle. Elle active le mode bavard ( verbose ) ce qui permet de voir la progression du processsus de gravure. L'option −dao est également optionnelle. Elle permet de graver l'image en mode Disc at Once. Si elle n'est présente, le Cd−Rom sera gravé en mode Track at Once et le graveur ajoutera à la fin de la piste 2 blocs qui seront illisibles, ce qui peut poser des problèmes si l'on veut par la suite faire une image de ce disque (ce problème peut toutefois être facilement résolu, voir plus loin). L'option speed=8 sélectionne une vitesse de 8x. Si cette option n'est pas précisée, cdrecord va essayer de lire la vitesse acceptable sur le disque Installer et utiliser un logiciel 251 Création d'un disque de données (celle−ci est inscrite sur les CD−RW mais pas sur les CD−R). Au demeurant, si l'on entre une vitesse supérieure à celle acceptable par le support, le programme va automatiquement l'ajuster. Toutefois, si aucune vitesse n'est inscrite, le disque risque d'être inutilisable. De façon générale, la syntaxe de mkisofs est la suivante : mkisofs options répertoire_à_sauvegarder Ici, l'option −o image.iso signifie que l'image portera le nom image.iso et sera stockée dans le répertoire courant (si l'on veut stocker l'image ailleurs, il faut préciser le chemin). Le nom de l'image est peu important. Il faut seulement savoir que cdrecord est par défaut lancé avec l'option −data qui indique qu'il s'agit d'un Cd de données (CD−Rom mode 1) sauf si l'extension du nom de l'image .au ou .wav auquel cas cdrecord est lancé avec l'option −audio. L'option −R signifie que l'on utilise l'extension Rock Ridge du système de fichiers, qui définit l'organisation des données sur le Cd−Rom. Initialement, la première norme définissant un système de fichiers pour Cd−Rom est la norme ISO−9660 qui, au niveau 1, n'autorise notamment que des noms de fichiers comportant 8 caractères (en majuscules) avec une extension de 3 caractères (le format 8.3). Il existe par ailleurs un certain nombre d'autres restrictions. L'extension Rock−Ridge a été mise en place en 1990 pour les systèmes Unix. Elle autorise les noms de fichiers longs (jusqu'à 255 caractères), les liens symboliques et permet de sauvegarder les identifiants d'utilisateur et de groupe ainsi que les permissions. Attention : un tel disque ne sera par lu correctement sous Windows. Les noms de fichiers n'apparaîtront qu'avec 8 caractères. Si l'on veut que le Cd−Rom soit également lisible sous ce système, il faut ajouter l'option Joliet (noms longs sur CD−Rom pour windows) avec : −J (mkisofs −R −J etc). On peut si l'on préfère utiliser l'option −r à la place de l'option −R. Avec celle−ci, les identifiants d'utilisateur et de groupe sont mis à zéro (ce qui correspond à l'utilisateur et au groupe Root). En effet, l'option −R sera utile si le disque est lu sur la même machine mais donnera des résultats non souhaitables s'il est lu sur une autre machine (par exemple, des fichiers appartiendront à un utilisateur inconnu si le numéro d'identifiant ne correspond à aucun utilisateur ou à un utilisateur qui aura le même numéro que celui de la machine d'origine, ce qui n'est probablement pas ce que l'on souhaite). L'option −r active également les droits en lecture pour tous, supprime tous les droits en écriture et autorise l'exécution pour tous si elle est autorisée pour un (propriétaire, groupe ou autres) sur le fichier initial. Il est possible de créer une image à partir de plusieurs répertoires. Par exemple, si l'on veut sauvegarder l'ensemble des fichiers des répertoires /home/rep1 et /home/rep2, alors on fera : mkisofs −o image.iso /home/rep1 /home/rep2 Attention : tous les fichiers seront sauvegardés à la racine du CD (voir plus loin l'option −graft−points si l'on veut recréer une arborescence différente sur le disque). Il est possible de monter l'image dans un répertoire pour en vérifier le contenu. Par exemple, pour monter l'image dans le répertoire /mnt/cdrom, on fera : mount image.iso −t iso9660 −o loop /mnt/disk Quelques options pratiques de mkisofs • L'option −no−bak exclut tous les fichiers qui contiennent les caractères ~ ou # ainsi que les fichiers qui se terminent par .bak. • L'option −m permet d'exclure certains fichiers. Par exemple, si l'on veut exclure de l'image les fichiers /rep/file1 et /rep/file2, on lancera mkisofs avec les options −m /rep/file1 −m /rep/file2. Pour exclure tous les fichiers qui se terminent par .ext, on utilisera l'option −m '*.ext'. • L'option −exclude−list permet d'exclure une liste de fichiers contenus dans un fichier. Par exemple, on créera un fichier nommé liste, contenant un ensemble de fichiers (un fichier par ligne) et on lancera mkisofs avec l'option −exclude−list liste. • L'option −x permet d'exclure un répertoire. Par exemple, pour exclure les répertoires /home/rep1 et /home/rep2, on utilisera l'option −x /home/rep1 −x /home/rep2. • Enfin, l'option −graft−points permet de créer une arborescence sur le Cd−Rom. Par exemple, si l'on souhaite sauvegarder les fichiers des répertoires /home/dir1 et /home/dir2 et que l'on souhaite les mettre respectivement dans les répertoires /rep1/sous_rep1 et /rep2/sous_rep2, alors on lancera mkisofs avec l'option −graft−points /rep1/sous_rep1=/home/dir1 /rep2/sous_rep2=/home/dir2 . Ceci fonctionne aussi avec les fichiers. Ainsi, l'option −graft−points /home/dir1/readme=/rep1/readme.txt copiera le fichier readme du disque en fichier readme.txt dans le répertoire rep1. Il existe beaucoup d'autres options qui sont documentées dans la page de manuel. Il convient de signaler également que mkisofs est par défaut lancé avec l'option −pad qui rajoute 16 blocs ou secteurs à la fin de la piste (soit 32ko) et en ajoute un certain nombre pour que la taille de l'image soit un multiple de 16. D'après la documentation, ceci est nécessaire pour assurer une lecture correcte des derniers fichiers du Cd−Rom sous Linux. Gravure directe des données La méthode consiste à rediriger directement la sortie de mkisofs vers cdrecord sans passer par un fichier image intermédiaire. Il faut auparavant obtenir la taille de l'image à graver. Pour cela, si les données à sauvegarder se trouvent par exemple dans le répertoire /home/copie , on tape dans une console : mkisofs −R −q −print−size /home/copie L'option −R sert à créer une image au format Rock Ridge, l'option −q (quiet) sert à limiter les informations qui seront affichées et l'option −print−size va donner la taille de l'image. Ceci renvoie la taille de l'image en nombre de secteurs. On relance ensuite mkisofs en redirigeant la sortie standard vers cdrecord. Par exemple, si la taille de l'image est de 1000 blocs, on saisira : 252 Installer et utiliser un logiciel Copie d'un Cd−Rom de don mkisofs −R /home/original 2>/dev/null | cdrecord −v −dao speed=12 dev=y,z tsize=1000s − La directive 2>/dev/null permet de rediriger les messages de mkisofs (la sortie stdout) vers le périphérique vide /dev/null afin qu'ils ne soient pas affichés (ceci n'est pas indispensable). Les options −v et −dao sont optionnelles. L'option tsize permet de spécifier la taille de l'image. Le "s" à la fin sert à spécifier qu'il s'agit de secteurs (ou blocs). Si on l'omet, il faut spécifier la taille en octets (1 secteur ou bloc est équivalent à 2048 octets de données). Enfin le signe − à la fin est obligatoire et permet de dire à cdrecord de rechercher les données dans la sortie de mkisofs. Certains graveurs acceptent de graver sans connaître la taille de l'image. Dans ce cas, il est inutile de préciser l'option tsize (cela risque malgré tout de ne pas fonctionner en mode DAO). Si l'on souhaite automatiser cela dans un script, on peut utiliser une variable pour stocker la taille de l'image. Par exemple, on pourra avoir quelque chose du type : taille=`mkisofs −R −q −print−size /home/copie` Le symbole ` est obtenu par Alt Gr 7. On récupère l'information dans cdrecord par : mkisofs −R /home/copie 2>/dev/null | cdrecord −v −dao speed=12 dev=y,z tsize=${taille}s − Copie d'un Cd−Rom de données Il existe deux méthodes pour cela : la copie directe d'un lecteur vers le graveur et la copie indirecte par création d'images. Avant de commencer, il faut s'assurer qu'il s'agit d'un disque mono−session (le cas d'un disque multi−session est abordé plus loin). En effet, si le disque comporte plusieurs sessions, seule la première sera copiée. Utilisez cdrdao avec l'option disk−info pour obtenir le nombre de sessions sur le disque (utilisez le graveur pour que cdrdao lise les informations). Copie directe Copie avec cdrecord La méthode la plus simple pour copier un Cd dans ce cas est d'utiliser cdrecord. Par exemple, si le disque à copier se situe dans le lecteur dont le fichier de périphérique est /dev/hdc, alors on tapera : cdrecord −v −dao −isosize speed=12 dev=y,z /dev/hdc L'option −dao évite qu'il y ait deux secteurs illisibles en fin de piste (ceci n'est pas indispensable). Avec l'option −isosize, cdrecord utilise la taille du système ISO−9660 comme taille de l'image qui sera gravée. Ceci évite de lire les deux secteurs illisibles éventuels si le disque original a été gravé en mode Track at Once et des risques de buffer under run. La taille de la piste copiée sera ainsi inférieure à celle du disque original (outre les deux secteurs, d'autres secteurs vides ajoutés en fin ne seront pas non plus copiés). Si l'on veut faire une copie exacte du Cd−Rom (pistes de même taille), il faut supprimer cette option (si le graveur accepte la copie) et supprimer également l'option −dao si le disque original a été créé en mode Track at Once. Copie avec cdrdao Une autre façon de faire consiste à utiliser cdrdao. Si par exemple, les deux derniers chiffres SCSI du lecteur sont 0,0 et ceux du graveur 1,0, alors on entre dans une console : cdrdao copy −−source−device 0,0 −−device 1,0 −−on−the−fly Il faut préciser les options −−source−driver et −−driver si le lecteur et le graveur ne sont pas reconnus (ou entrer ces valeurs dans le fichier de configuration, voir la section Configuration des programmes plus haut). On obtient une copie exacte si le disque original a été crée en mode Disc at Once sinon cdrdao va ajouter deux secteurs vides mais lisibles à la place des deux secteurs illisibles de fin de piste (en affichant un message du type "Warning: Padding with 2 zero sectors"). Pour qu'il ne crée pas ces deux secteurs, il faut activer l'option −−tao−source. Si l'option −−on−the−fly n'est pas précisée, cdrdao va créer une image sur le disque qui sera effacée par la suite (pour la conserver, entrer l'option −−keepimage). Copie indirecte (utilisation d'une image) C'est la méthode qu'il faut suivre si l'on ne dispose que d'un graveur qui est utilisé également comme lecteur. Méthode simple Le plus simple est alors d'utiliser cdrdao. Par exemple, si le disque original est dans le graveur, il suffit de taper dans une console : cdrdao copy −−device y,z Le programme crée une image qui est effacée à la fin (voir plus haut pour la conserver). A la fin de la lecture, cdrdao va demander d'entrer un disque dans le graveur. On peut ignorer le message éventuel, "Error: cannot determine disk status: hit enter and try again". La copie sera exacte si le disque original a été créé en mode Track at Once et cdrdao ajoutera deux secteurs vides dans le cas contraire (voir plus haut). Installer et utiliser un logiciel 253 Copie d'un Cd−Rom de données Et pour les H4x0rz ;−) ... (utilisation avancée) On peut utiliser également les programmes dd ou readcd pour créer une image d'un disque. Pour cela, on tape dans une console pour dd, si le lecteur est /dev/hdc et que l'on souhaite créer une image nommée image.raw dans le répertoire courant : dd if=/dev/hdc of=image.raw ou avec readcd (il faut alors un lecteur SCSI ou émulé SCSI) : readcd dev=y,z f=image.raw Il est préférable d'utiliser readcd car celui−ci fait plusieurs essais si la lecture sur le disque est difficile du fait d'un endommagement, ce que dd ne fait pas. Dans les deux cas, il faut préciser le chemin si l'on ne souhaite pas que l'image soit créée dans le répertoire courant. Par ailleurs, le nom de l'image et l'extension (optionnelle) n'importent pas. On grave ensuite l'image avec cdrecord : cdrecord −v −dao dev=0,0 image.raw Il est possible que les deux programmes signalent des erreurs d'entrée−sortie ("Input/output error"). Ceci vient probablement de ce que le disque initial a été créé en mode Track at Once, les deux programmes ne pouvant lire les deux secteurs illisibles en fin de piste. Normalement, les images sont utilisables. Si l'on veut éviter ces erreurs, il faut déterminer la longueur de la piste avec cdrdao : cdrdao read−toc −−device y,z image.toc Avec la commande read−toc, cdrdao lit la Table des Matières (la TOC) et renvoie les informations de début et de fin de piste à l'écran. Il faut impérativement préciser un fichier (dont le nom importe peu) dans lequel sera stockée la longueur de la piste. L'image est par défaut stockée dans le répertoire courant si l'on ne précise aucun chemin. Si l'on veut éviter que cdrdao crée ce fichier qui n'est pas utile ici et qu'il faudra effacer, il suffit de donner un nom de répertoire qui n'existe pas (cdrdao signale une erreur mais affiche les informations nécessaires à l'écran). Les valeurs sont données au format mm:ss:bb avec mm le nombre de minutes, ss le nombre de secondes et bb le nombre de blocs à ajouter. Une seconde d'enregistrement représente 75 blocs et une minute 60 secondes. La conversion en nombre de blocs est donnée par cdrdao entre parenthèses. Par exemple, si cdrdao renvoie les valeurs 00:00:00 (0) dans la colonne Start et les valeurs 00:42:55 (3205) dans la colonne Length, ceci signifie que la piste débute au secteur 0 et a une longueur de 3205 blocs (42x75 + 55). Comme le disque a été écrit en mode Track at Once, il faut retirer les deux secteurs illisibles et copier 3203 secteurs. Pour cela, on utilise uniquement readcd car dd continue de signaler des erreurs d'entrée−sortie : readcd dev=y,z sectors=0−3203 f=image.raw qui demande à readcd de lire du secteur 0 au secteur 3202 inclus, soit 3203 secteurs (il faut entrer sectors=0−3203 car readcd arrête la lecture au début du secteur 3203 et lit ainsi jusqu'au secteur 3202). Il suffit ensuite de graver l'image avec cdrecord comme indiqué plus haut (avec le paramètre −dao si l'on veut un Cd en mode Disc at Once, sans si l'on veut faire une copie exacte du disque et conserver un disque en mode Track at Once (les deux secteurs illisibles seront alors rajoutés)). On peut chercher à savoir au départ s'il s'agit d'un disque gravé en mode DAO ou en mode TAO. Pour cela, on récupère les informations de début et de longueur de piste avec cdrdao puis l'on essaie de lire les deux derniers secteurs avec readcd (pour l'exemple précédent, readcd dev=y,z sectors=3203−3205 f=essai, effacer ensuite le fichier essai). En cas d'errreur, il s'agit d'un disque gravé en mode TAO (à moins que le disque d'origine ne soit endommagé). Une autre méthode consiste à utiliser cdrdao pour faire une image et la graver (ou cdrecord pour la graver) : cdrdao read−disk −−device y,z −−datafile image.raw image.toc Il faut impérativement préciser le nom d'un fichier pour la Table des Contenus (TOC). Si l'option −−datafile n'est pas précisée, l'image sera stockée sous le nom data.bin dans le répertoire courant. L'image sera conforme au disque initial si celui−ci a été gravé en mode DAO et deux secteurs vides termineront la piste s'il a été réalisé en mode TAO (sauf si l'option −−tao−source est activée). L'image est ensuite gravée en utilisant le fichier TOC : cdrdao write /home/image.toc Il ne faut pas préciser le nom de l'image car celui−ci est présent dans le fichier image.toc. L'image peut également être gravée avec cdrecord (avec l'option −dao, cela conduit au même résultat et sans, l'image comportera 4 secteurs de plus que la piste du disque original (les 2 secteurs vides rajoutés par cdrdao et les 2 secteurs illisibles du au mode TAO)). Copie "logique" Enfin, une dernière façon de procéder est possible. Elle consiste à monter le disque à graver dans un répertoire, à en faire une image avec mkisofs puis à la graver. Note de Jice : je nomme cette copie "logique", par opposition à "physique", car on n'a alors pas une copie parfaite ou quasi parfaite du CD d'origine, mais la copie conforme de tous les fichiers et répertoires (ce qui est quand même le but recherché !). 254 Installer et utiliser un logiciel Cd−Rom multi−sessio Par exemple, on pourra faire si le disque original est sur /dev/hdc : mount −t iso9660 /dev/hdc /mnt/cdrom mkisofs −R −J −q −print−size /mnt/cdrom mkisofs −R −J /mnt/cdrom 2>/dev/null | cdrecord −v −dao speed=12 dev=y,z tsize=5000s − si mkisofs renvoie 5000 comme taille de l'image (voir plus haut) et pour une image au format Rock Ridge (−R) et Joliet (−J). Les tailles de piste entre le disque original et la copie différeront probablement mais toutes les données seront sauvegardées. Cd−Rom multi−sessions Si on veut par exemple utiliser le même disque pour faire plusieurs sauvegardes successives, il faut créer un disque multi−sessions. Cela permet de créer un disque que l'on pourra lire entre temps et sur lequel on pourra par la suite rajouter des données. Chaque session contient une piste de données ainsi qu'une Table des Matières qui est liée à la suivante, ce qui permet d'avoir accès à l'ensemble du contenu du disque. Création d'un disque multi−sessions La création d'un Cd−Rom de données multi−sessions est très simple. Il suffit d'ajouter quelques options à mkisofs et cdrecord. Prenons un exemple : Dans un premier temps, on cherche à sauvegarder le contenu du répertoire /home/session1. Pour cela, on réalise l'image de la façon habituelle : mkisofs −R −o session1.raw /home/session1 D'après la documentation, il est indispensable de graver l'image au format Rock Ridge (l'option −R). On grave ensuite l'image sous cdrecord avec l'option −multi : cdrecord dev=y,z −v −multi session1.raw L'option −dao peut être activée mais seulement pour la première session (cela ne semble pas fonctionner pour les autres avec cdrecord). La première session est ainsi gravée et lisible comme n'importe quel autre CD−Rom. Si l'on veut ensuite rajouter une autre session, il faut obtenir quelques informations sur le Cd−Rom. Pour cela, on place le Cd−Rom à graver contenant les premières sessions dans le graveur et on tape dans une console : cdrecord −msinfo dev=y,z Ceci donne deux chiffres qui sont respectivement le numéro de bloc du début de la dernière session et le numéro de bloc du début de la prochaine session (en fait, en multi−sessions, chaque Table des Matières est liée à la suivante). On note respectivement ces deux chiffres xxx et yyy. Maintenant, si on souhaite graver une autre session qui contiendra le contenu du répertoire /home/session2, il faut inclure ces informations dans mkisofs. Si le disque contenant les sessions précédentes se trouve dans le graveur (dont le fichier de périphérique est /dev/scd0), on entre : mkisofs −R −o session2.raw −C xxx,yyy −M /dev/scd0 /home/session2 Note : il est même possible de remplacer le paramètre −M /dev/scd0 par −M session_precedente.raw si session_precedente.raw est l'image de la dernière session gravée (bien sûr, en général on ne dispose plus de ce fichier). On grave ensuite cette nouvelle session de façon habituelle : cdrecord −v −multi dev=0,0 session2.raw Note : on peut supprimer l'option −multi si l'on ne souhaite plus rajouter de nouvelle session par la suite. Copie d'un Cd−Rom multi−sessions La façon la plus simple de procéder est de monter le Cd−Rom sur un répertoire, d'en faire une image avec mkisofs puis de la graver avec cdrecord (éventuellement avec l'option −multi si l'on souhaite ajouter d'autres sessions par la suite). Le nouveau disque ne comportera qu'une seule session mais contiendra l'ensemble des fichiers du disque original, ce qui est le plus important. Voir le paragraphe Copie logique. Si l'on souhaite malgré tout faire une copie du disque original qui contienne le même nombre de sessions, il faut obtenir les informations sur le début et la longueur de chaque session et savoir si les sessions ont été gravées en mode DAO ou en mode TAO. Dans un premier temps, on détermine le nombre de sessions sur le disque avec la commande cdrdao disk−info −−device y,z. Ensuite, on cherche le début et la longueur de chaque session. Par exemple, supposons que le disque original soit constitué de deux sessions. On tape alors dans une console : cdrdao read−toc −−device y,z −−session 1 session1.toc avec session1.toc le nom du fichier qui sera créé, le paramètre −−session 1 permettant de lire les informations sur la première session (si l'on ne veut pas que cdrdao crée le fichier session.toc qui est inutile ici, il suffit d'entrer un nom de chemin inexistant (cdrdao renvoie un message d'erreur mais affiche les informations nécessaires)). Installer et utiliser un logiciel 255 Copie de Cd audio Supposons que sous la colonne Start, soit inscrit 00:00:00 et sous la colonne Length 03:00:06 (13506). Ceci signifie que la première session débute au bloc 0 et à une longueur de 13506 blocs ((3x60x75)+6). On fait de même pour la deuxième session : cdrdao read−toc −−device y,z −−session 2 session2.toc Supposons que cdrdao renvoie un début de deuxième session au bloc 24906 et une longueur de 14568 blocs et une fin de piste en 39474 (la colonne Start=, et la ligne lout) ce qui correspond également à la somme des deux premiers. On peut alors savoir si les sessions ont été gravées en mode DAO ou en mode TAO en essayant de lire les deux derniers secteurs de chacune d'entre elles. Par exemple, pour la première session, on fera : readcd dev=y,z sectors=13504−13506 f=result Si le disque a été gravé en mode TAO, readcd va renvoyer un message d'erreur (effacer le fichier result dans le cas contraire). Il n'est peut être pas nécessaire de faire cela pour les autres sessions car elles ont probablement été créées en mode TAO. On réalise ensuite les images des deux sessions à partir du disque original en supprimant le cas échéant les 2 blocs de fin (les blocs illisibles liés à la gravure en TAO) : readcd dev=y,z sectors=0−13504 f=session1.raw readcd dev=y,z sectors=24906−39472 f=session2.raw On grave ensuite la première session avec cdrecord : cdrecord −v −multi dev=y,z session1.raw On peut ensuite vérifier, par exemple avec cdrdao que la première session gravée débute en 0 pour se terminer en 13506 et que la deuxième session débute en 24906 pour finir en 39474. Note : il est possible de graver la première session avec cdrdao mais il faut ensuite utiliser cdrecord pour les suivantes car cdrdao décale la suivante de deux secteurs (la deuxième session est alors illisibles car les liens entre les deux ne sont plus corrects). Par ailleurs, si l'on enregistre la première session avec cdrdao, celle−ci sera enregistrée au format Mode 2, Forme 2 avec 2336 octets par secteur. La deuxième session, s'il s'agit de la dernière, sera en revanche enregistrée au format de données avec 2048 octets par secteurs. La première session doit alors être gravée avec cdrado avec l'option −−multi mais la deuxième doit l'être avec cdrecord. Copie de Cd audio La copie d'un disque audio peut se faire d'au moins trois façons: avec cdrdao, en combinant cdda2wav et cdrecord ou encore en combinant cdparanoia et cdrecord. Méthode 1 : cdrdao Ce logiciel permet de faire une copie directe du lecteur vers le graveur. Il faut que les deux soient reconnus comme des périphériques SCSI (par émulation ou non). Pour ce, si par exemple les deux derniers chiffres SCSI du lecteur sont 0,0 et les deux derniers du graveur 1,0, il suffit de faire : cdrdao copy −−source−device 0,0 −−device 1,0 −−on−the−fly L'option −−speed suivie de la vitesse permet de régler la vitesse de gravure. Pour faire une copie indirecte du graveur vers le graveur, il suffit de taper : cdrdao copy −−device y,z fichier.toc Il faut impérativement préciser un nom de fichier (ici fichier.toc, le nom peut être quelconque) dans lequel cdrdao va enregistrer des informations sur la Table des Matières (la TOC). Le programme cdrdao va lire les pistes et créer une image dans le répertoire courant (nommée cddaxxx.bin, xxx étant un nombre aléatoire). Pour conserver cette image, il faut utiliser l'option −−keepimage. A la fin de la lecture, il demande d'insérer un disque et d'appuyer sur la touche Entrée. A priori, on peut ignorer les erreurs du type "ERROR: Cannot determine disk status − hit enter to try" ou encore "Cannot read CD text data − maybe not supported by drive" (dans ce dernier cas, c'est que le graveur ne peut pas lire les informations CD−Text qui contiennent le nom de l'artiste, le titre de l'album et le titre des pistes, ou que ces informations ne sont pas présentes sur le disque). Le fichier de TOC contient un certain nombre d'informations importantes. En voici un exemple pour les trois premières pistes d'un disque : // Track 1 TRACK AUDIO NO COPY NO PRE_EMPHASIS TWO_CHANNEL_AUDIO SILENCE 00:00:32 FILE "data.wav" 0 04:04:46 START 00:00:32 // Track 2 TRACK AUDIO 256 Installer et utiliser un logiciel Copie de Cd audio NO COPY NO PRE_EMPHASIS TWO_CHANNEL_AUDIO FILE "data.wav" 04:04:46 03:03:68 START 00:02:42 // Track 3 TRACK AUDIO NO COPY NO PRE_EMPHASIS TWO_CHANNEL_AUDIO FILE "data.wav" 07:08:39 04:20:50 START 00:02:06 Les durées sont exprimées au format mm:ss:bb, avec mm le nombre de minutes, ss le nombre de secondes et bb le nombres de blocs ou secteurs. Une seconde audio représentant 75 blocs, ce dernier compteur va de 0 à 74 (à 75, on le met à 0 et on incrémente le compteur de secondes qui va de 0 à 59). La ligne SILENCE 00:00:32 signifie que la piste un débute par un silence de 32 secteurs (il s'agit d'un "pre−gap"). La ligne FILE "data.wav" 0 04:04:46 indique que le début de la piste 1 est fixé à 0 et qu'elle à une longueur de 04:04:46. Enfin, la ligne START 00:00:32 indique que le titre débute après 32 secteurs. En fait, la piste est positionnée au secteur 0 du disque, le lecteur va lire depuis le début du disque et commencer à décompter le début du titre (de la chanson par exemple) à partir du secteur 32. Puis, le compteur va tourner pendant une durée de 04:04:46 avant de commencer le décompte de l'intervalle avant le deuxième titre. Celui−ci a une durée de 00:02:46 comme indiqué sur la ligne START de la piste 2. Le titre dure lui 03:03:68. Physiquement, la piste 1 commence au secteur 0 et à une longueur équivalente à une durée de 04:07:13 (04:04:46+00:02:42) ce qui correspond à 18538 secteurs (soit ((4x60)+07)x75+13) car l'intervalle avant la prochaine piste est inclut dedans. La piste 1 débutant en 0, elle se termine au secteur 04:07:12 et la piste 2 débute au secteur 04:07:13. Elle a une longueur de 03:03:32 (03:03:68−00:02:42+00:02:06). La piste 3 commencera ainsi physiquement au secteur 07:10:45 (04:07:13+03:03:32). La ligne SILENCE 00:00:32 aurait pu être omise. Dans ce cas, on aurait eu pour la piste 1 les lignes FILE "data.wav" 0 04:05:03 et START 00:00:32 et pour la piste 2 FILE "data.wav" 04:05:03 03:03:68 et START 00:02:42. La piste 1 aurait toujours eu une longueur de 04:07:13 (04:05:03−00:00−32+00:02:42). La différence avec la version précédente est que les 32 secteurs de silence initial sont inclus dans le fichier data.wav. On peut récupérer ces informations sur la TOC en utilisant la commande read−toc : cdrdao read−toc −−device y,z file.toc qui va se contenter de créer le fichier file.toc. Si l'on ajoute l'option −−fast−toc, le fichier obtenu ne contient que la durée totale des pistes ainsi que leur secteur de début, les indications sur les intervalles entre pistes étant omises. Un disque copié avec cette méthode aura perdu ces informations. La commande show−toc permet elle d'afficher les informations contenues dans un fichier. Par exemple : cdrdao show−toc file.toc | less affichera notamment la durée des intervalles (pregap), le secteur de début de la piste et le secteur de fin sur le disque. Il est possible également d'enregistrer d'abord l'image sur le disque puis de la graver ensuite. On crée l'image par la commande : cdrdao read−cd −−device y,z file.toc et on la grave ensuite par : cdrdao write −−device y,z file.toc L'option −−datafile suivie du nom à donner permet de donner un nom à l'image autre que le nom par défaut. L'image qui est créée contient les pistes sous forme brute, c'est−à−dire le contenu des secteurs audio du secteur 0 au secteur de fin de disque, y compris les silences entre pistes. Elle sera multiple de 2352 puisque un secteur audio utilise les 2352 octets d'un secteur. En fait, si l'on fait la somme de la durée totale des pistes et qu'on les convertit en octets, on obtient la longueur du fichier image. Par exemple, si le disque précédent est limité au trois pistes alors, la piste 3 ayant une durée de 04:21:28, la durée totale de l'image est de 11:31:73 (04:07:13+03:03:32+04:21:28) ce qui correspond à 51898 secteurs. Ceci occupe 122064096 octets sur le disque (51898x2352). Dans les deux cas précédents, les 32 secteurs de silence de 32 secteurs au début du disque ne sont pas inclus dans l'image. Une dernière chose mérite d'être signalée. Comme le précise le manuel de cdrdao, la copie effectuée sera plus ou moins exacte. Par exemple, avec certains graveurs, la durée physique des pistes est la même mais la durée du titre est augmentée d'un secteur, celui de l'intervalle étant réduit du même secteur. Ceci affecte seulement le moment où le lecteur indique la fin de la piste (il indique la fin de la piste un secteur plus tard) mais cela ne change rien à ce que l'on entend. Méthode 2 : cdda2wav et cdrecord La méthode consiste à extraire les pistes audio avec cdda2wav pour en faire des fichiers d'ondes (qui ont souvent l'extension .wav) puis à les graver avec cdrecord . Si le lecteur audio correspond au fichier de périphérique /dev/hdc, on enregistre les pistes avec : Installer et utiliser un logiciel 257 Copie de Cd audio cdda2wav −v255 −B −D/dev/hdc On grave ensuite les pistes par : cdrecord −v −dao −useinfo dev=y,z audio_*.wav Tout ceci mérite quelques explications. Commençons par cdrecord. L'option −dao demande de graver le disque en mode Disc at Once, l'option −useinfo indique qu'il faut utiliser les fichiers inf créés par cdda2wav et l'argument audio_*.wav précise que les pistes à graver correspondent aux fichiers indiqués. En effet, cdda2wav sauvegarde les pistes dans des fichiers audio_xx.wav avec xx un nombre allant de 01 au nombre total de pistes sur le disque. En ce qui concerne ce dernier, l'option −D sélectionne le lecteur sur /dev/hdc (il est également possible de sélectionner un périphérique SCSI, par exemple en entrant par exemple −D y,z). L'option −v255 active le mode bavard au niveau maximal (pour les différents niveaux possibles, consulter la page de manuel, sachant qu'il faut additionner les chiffres correspondant à chaque niveau). Il faut l'activer au moins au niveau 4 pour que cdda2wav enregistrer les marques de fin de piste (pour les intervalles). Dans le cas contraire, la copie contiendra des pistes de longueur physique égale à celles de l'original mais tous les intervalles entre les pistes auront une longueur de 2 secondes (en fait 00:01:74) pour être conforme à la norme définie dans le Red Book qui définit les Cd audio. L'option −B permet de créer un fichier .wav pour chaque piste. En l'absence de cette option, un seul fichier sera créé pour l'ensemble du disque et la copie ne contiendra qu'une seule piste. Il existe un certain nombre d'options documentées dans la page de manuel ou dans la documentation de cdda2wav. Par exemple, l'option −t2 sauvegarde les pistes de la deuxième à la dernière. L'option −t2+4 sauvegarde les pistes 2 à 4 et l'option −t2+2 sauvegarde uniquement la piste 2. L'option −S suivie de la vitesse permet de sélectionner la vitesse du lecteur (ne pas dépasser la vitesse maximale indiquée par le constructeur pour éviter les erreurs de lecture). L'option −J permet de créer uniquement les fichiers inf (faire par exemple cdda2wav −J −D/dev/hdc). Par défaut, le mode bavard est activé pour sauvegarder les marques de fin de pistes. Il faut activer l'option −vX avec X<4 si l'on ne veut pas les enregistrer. Ces fichiers nommés par défaut audio_xx.inf ( xx allant de 01 au nombre total de pistes) contiennent un certain nombre d'informations importantes comme le titre de l'album, le titre des pistes, le début de la piste ("Trackstart") ou la longueur de la piste ("Tracklength"). Ces fichiers contiennent également une ligne "Index0" qui contient le début de l'intervalle entre pistes. Toutes les longueurs sont exprimées en blocs (ou secteurs). Avec cette méthode, la copie peut être plus ou moins parfaite. Par exemple, avec certains graveurs, la durée des titres est supérieure de 8 secteurs à celle de l'originale et la longueur de l'intervalle réduite de 8 secteurs. Ceci ne change strictement à la durée totale des pistes mais affecte seulement les durées affichées par le lecteur. Méthode 3 : cdparanoia et cdrecord Cette méthode est identique à la précédente à la différence que l'on perd les informations sur les intervalles. cdparanoia a ceci de différent par rapport à cdda2wav qu'il permet de faire de la correction d'erreurs, ce qui peut être intéressant dans le cas d'un CD audio rayé. Si vous entendez des craquements dans les CD copiés avec cdda2wav, essayez cdparanoia. La contre−partie est un temps de copie des pistes audio qui peut être plus long. On lance cdparanoia pour sauvegarder les pistes par : cdparanoia −v −B −d /dev/hdc Ceci va créer un ensemble de fichiers nommés trackxx.cdda.wav avec xx un nombre compris entre 01 et le nombre total de pistes. Ces fichiers sont créés dans le répertoire courant. L'option −v active le mode bavard, l'option −B permet de créer un fichier par piste (en son absence, un seul fichier wav est créé, correspondant à la durée totale du disque) et l'option −d permet de sélectionner le lecteur. Il est possible que cdparanoia crée un fichier track00.cdda.wav. Ce sera le cas avec l'exemple précédent du fait du silence de 32 secteurs avant le début réel de la piste 1. Il est préférable de le supprimer afin d'éviter d'avoir une piste vide au début du disque. De plus, si la durée de la piste est inférieure à 4 secondes (300 secteurs), il est fort possible que le graveur refuse de la graver et génère une erreur. On les grave ensuite par : cdrecord −v −dao dev=y,z track*.cdda.wav Par défaut, si l'extension des fichiers est wav ou au, cdrecord considère qu'il s'agit de fichiers audio et l'option −audio est activée par défaut. Il faut l'activer si l'extension des fichiers est différente. Avec cette méthode, les intervalles entre les pistes sont tous égaux à 2 secondes (ce qui ne change rien à l'écoute du disque mais modifie seulement la façon dont le lecteur affiche les durées). Si l'on veut supprimer ces intervalles, il faut ajouter l'option defpregap=0 . De façon générale, l'option defpregap indique l'intervalle entre toutes les pistes en secteurs (sans modifier le début de la première). Si l'on veut définir séparément chaque intervalle, il faut utiliser l'option pregap=# qui définit l'intervalle avant la prochaine piste exprimé en nombre de secteurs (par exemple cdrecord −v −dao dev=y,z track01.cdda.wav pregap=75 track02.cdda.wav pregap=150 track03.cdda.wav pour un intervalle de 1 seconde entre la première piste et la deuxième et un intervalle de 2 secondes entre la deuxième et la troisième). Le programme cdparanoia permet également de tester la capacité d'extraction du lecteur. Pour cela, il suffit de taper : cdparanoia −vQ /dev/hdc qui va afficher le message "Verifying drive can read CDDA..." puis, si l'extraction audio est possible, le message "Expected command set reads OK" et afficher la TOC. Comme pour cdda2wav, il existe un certain nombre d'autres options. Il est par exemple possible de n'extraire qu'une partie d'une piste. On peut également signaler l'option −pad qui complètera les pistes si leur longueur n'est pas multiple de 2352, évitant ainsi des erreurs de gravure (ce peut être le cas dans des cas autres que la copie, par exemple si les fichiers ont été obtenus par conversion à partir de fichiers mp3). 258 Installer et utiliser un logiciel Les CD mixtes Les fichiers d'ondes créés par cdda2wav ou par cdparanoia sont strictement identiques. Leur longueur est égale au nombre de blocs multiplié par 2352, auquel il faut ajouter 44 octets d'en−tête du fichier. Il est enfin possible de combiner les deux méthodes précédentes en enregistrant les pistes à partir de cdparanoia, en récupérant les informations sur les marques de fin avec cdda2wav et en gravant les pistes avec cdrecord. Pour cela, on procède par exemple en trois étapes. On crée les fichiers inf par : cdda2wav −J −D /dev/hdc track Le paramètre track permet de créer des fichiers nommés track_*.inf. On enregistre ensuite les pistes par : cdparanoia −B −d /dev/hdc 1− wav Ceci permet de créer des fichiers qui seront nommés track*.wav du fait de la présente du paramètre track . L'option 1− est indispensable avec le paramètre wav , elle permet de sauvegarder toutes les pistes (de la 1 à la dernière). Comme on veut utiliser les fichiers inf, il faut renommer tous les fichiers track_*.inf en track*.inf. On utilise pour cela la commande suivante : for i in *.inf ; do j=$(echo $i | tr −d '_') ; mv $i $j ; done La commande tr −d '_' permet de supprimer le caractère de soulignement. Si l'on a enregistré les pistes sous le nom track*.cdda.wav (l'option par défaut de cdparanoia ), il faut ensuite lancer la commande suivante : for i in track??.inf ; do j=$echo( $i | tr −d '.inf').cdda.inf ; mv $i $j ; done On grave ensuite les pistes par : cdrecord −v −dao −useinfo dev=y,z track*.wav Les CD mixtes Il existe certains disques qui mélangent données (notamment des fichiers video) et audio d'une façon particulière, c'est−à−dire sur une même première piste. Ainsi, sur un disque, cdrdao indique une première piste audio avec un début en 15:15:15. Le début de la piste est constitué de données lisibles avec dd ou avec readcd. La copie d'un tel disque avec cdrdao ne semble pas possible : les données sont illisibles et les pistes audio sont décalées (la piste 1 devient la piste 4 et les dernières pistes ne sont pas copiées). Ceci paraît normal dans la mesure où données et audio n'occupent pas le même espace sur un secteur. Au demeurant, les données ont été enregistrées dans le format hybride hfs, lisibles par un PC (ici Joliet) et par un Macintosh. Le plus simple si l'on souhaite conserver les données est de créer un Cd−Extra contenant les pistes audio dans une première session et les données dans une deuxième. Ainsi, seules les pistes audio seront affichées par le lecteur audio mais la piste de données sera accessible par un ordinateur. Création du Cd−Extra Pour cela, le plus simple est d'enregistrer les pistes audio avec cdda2wav ou cdparanoia (ou de combiner les deux) et de les graver avec cdrecord en mode multissession (on n'utilise pas cdrdao car il faut sauvegarder seulement les pistes audio et pas les données situées au début du disque). Par exemple, si les pistes ont été enregistrées avec cdda2wav , on fera : cdrecord −v −dao −multi dev=0,0 audio_*.wav Il faut ensuite récupérer les informations sur le début de la première session et le début de la prochaine sur le disque par la commande cdrecord dev=y,z −msinfo (la copie étant dans le graveur). Ceci va renvoyer deux nombres que l'on appelera n1 et n2. Ensuite, pour faire l'image des données, le plus simple est ensuite de monter le disque au format hfs pour faire une image des données (il faut que l'option hfs soit activée dans le noyau, il s'agit de la rubrique File systems, Apple Macintosh file system support). Pour être le plus fidèle possible, il faut même cacher les fichiers Apple en mode Joliet. Pour cela, le plus simple est d'utiliser l'option hide−joliet−list de mkisofs. On crée alors un fichier contenant la liste des fichiers et répertoires et supprimer les fichiers accessibles en Joliet afin qu'il ne reste que les fichiers Apple (et inversement certainement pour les fichiers Joliet à masquer en hfs). Le disque original sera monté par la commande mount −t hsf /dev/hdc /cdrom (si le périphérique de lecture est lié à /dev/hdc et le répertoire de montage est /cdrom. On crée ensuite la liste dans le répertoire courant par ls /cdrom > liste, ce qui génère le fichier nommé liste que l'on édite pour effacer les fichiers accessibles uniquement en Joliet. On peut alors en faire une image (nommée image.raw dans le répertoire courant) par la commande mkisofs −hfs −J −hide−joliet−list liste −o image.raw −C n1,n2 /cdrom. Il est inutile d'utiliser l'option −M car il ne faut pas lier les deux sessions (la deuxième n'a pas besoin d'accéder à la TOC de la première). On grave ensuite la deuxième session normalement avec cdrecord (cdrecord −v dev=y,z image.raw). Copie d'un Cd−Extra La copie d'un tel disque et d'un Cd−Extra en général peut se faire de plusieurs manières. Une première méthode consiste à procéder comme ci−dessus en enregistrant les pistes audio avec cdda2wav ou cdparanoia et à en faire une première session pour à refaire une image de la session de données pour en refaire une deuxième session. Une autre méthode consiste à enregistrer chaque session avec cdrdao et à les graver ensuite (on utilise cdrdao pour garder la taille de la première session). Pour sauvegarder la première session, on fera par exemple : Installer et utiliser un logiciel 259 Graver une image .bin/.cue cdrdao read−cd −−device y,z −−session 1 −−datafile session1.bin session1.toc qui va générer une image nommée session1.bin et un fichier de la Toc nommé session1.toc. On sauvegarde ensuite la deuxième session par : cdrdao read−cd −−device y,z −−session 2 −−datafile session2.bin session2.toc On définit ici les noms des images car en l'absence de cette option cdrdao va utiliser le nom data.bin et la deuxième image viendra écraser la première (ou alors, il faut créer la première image et l'enregistrer et créer ensuite la deuxième). On peut alors passer à la gravure des deux sessions. On grave la première avec cdrdao car il s'agit de pistes audio (cdrecord ne créerait qu'une seule piste). Il faut toutefois modifier légèrement le fichier session1.toc du fait de la multisession. Pour cela, il faut éditer ce fichier et remplacer la première ligne CD_DA par CD_ROM_XA. On grave alors la première session par : cdrdao write −−device y,z −−multi session1.toc Pour la deuxième session, il faut utiliser cdrecord. En effet, l'image de la deuxième session contenant l'adresse de fin de la première et l'adresse du début de cette deuxième session, il faut impérativement que celle−ci soit située exactement au même endroit sur le disque. Or, cdrdao grave cette deuxième session avec un décalage de 2 secteurs ce qui rend le disque illisible. On utilise donc cdrecord qui ne produit pas ce décalage : cdrecord −v dev=y,z session2.bin Il est possible de recréer la première session avec cdda2wav (ou cdparanoia) et cdrecord mais il faut s'assurer que cette session aura exactement la même taille que l'orginal car il faut que la deuxième soit située au même endroit. En effet, la deuxième session contient son adresse sur le disque et il faut donc que la copie soit située au même endroit. Graver une image .bin/.cue (par Jice) Un logiciel windows bien connu produit ce genre de fichiers en tant qu'images de CD. Le contenu du CD est stocké dans un (gros) fichier le_cd.bin, tandis que la table des matières du CD est dans un fichier du même nom, le_cd.cue. On trouve fréquemment ce type de fichiers sur internet. Sous Linux, vous pouvez graver cette image de cd, avec cdrdao. Il suffit simplement de remplacer le fichier .toc par le fichier .cue, car cdrdao comprend aussi la syntaxe des fichiers .cue. Par exemple : cdrdao write −−device 1,0,0 −−driver generic−mmc /home/jice/le_cd.cue Note 1 : le seul problème que vous puissiez avoir dans ce cas provient des noms de fichiers contenant des espaces. Si vos fichiers se nomment "le cd.bin" et "le cd.cue", renommez−les respectivement "le_cd.bin" et "le_cd.cue", et éditez le fichier .cue, afin de mettre à jour la ligne qui contient le nom du fichier .bin avec le nouveau nom. Note 2 : cdrdao ne sait pas produire de fichiers .cue à partir d'un CD. Je ne sais pas actuellement comment faire cela sous Linux. Conclusion (par Jice) Cet article vous permettra d'utiliser au mieux votre graveur de CD. Pour de nombreuses opérations, vous pouvez toutefois utiliser les interfaces graphiques, telles que xcdroast, gcombust ou autres (voir la logithèque), qui utilisent elles−même les programmes présentés ici, mais simplifient le processus (tout en n'offrant pas autant de flexibilité que la ligne de commande). Si vous souhaitez voir ici développées d'autres utilisations du graveur, merci de me le signaler. Je pense écrire des parties sur : • graver un CD audio depuis des MP3, • graver un VCD ou SVCD à partir de fichiers MPEG 1 ou 2 (utiliser les logiciels graphiques Arson ou Qvcd, et en ligne de commande vcdimager ; voir la logithèque), • etc. Je manque de temps pour écrire ces parties, aussi si vous vous en sentez la compétence, vous pouvez me faire parvenir vos contributions. Merci d'avance. 260 Installer et utiliser un logiciel Configurer la Slackwa Configurer la Slackware David, Marc, Michel, Philippe Configuration post−installation de la Slackware Avant−propos Cet article concerne la post−installation des versions de la Slackware 8.0 et 8.1. Il suppose donc que vous ayez déjà installé cette distribution et que vous possédez quelques connaissances de Linux. Si tel n'est pas le cas, une lecture du Léa−Book vous apportera les bases nécessaires. De même, une lecture de l'article sur l'initialisation de la Slackware sera une bonne introduction. Vous êtes prêts ? Alors c'est parti... Créer un utilisateur Après l'installation de la distribution et lors du premier démarrage, il n'y a que l'utilisateur root de créé. L'utilisation de la machine sous root n'étant pas recommandée, il est plus avisé de créer un utilisateur normal qui lui utilisera la machine sans trop se soucier de la briser par des manipulations qui pourraient s'avérer dangereuses pour son bon fonctionnement. Il existe différents outils pour la création d'un nouvel utilisateur. Il y a des outils en mode graphique qui fonctionnent plus ou moins bien selon l'environnement et dont je ne parlerai pas ici puisque je ne leur fais pas vraiment confiance car j'ai souvent été confronté à des erreurs lors de leur utilisation. Et puis, il y a aussi les scripts bash qui eux ne m'ont jamais déçu et avec lesquels j'ai toujours réussi la tâche. Il existe un script qui se nomme useradd et qui est livré en standard sur toutes les distributions, mais il s'avère un peu complexe pour un nouvel utilisateur. C'est pourquoi les développeurs de la Slackware ont inséré un autre script qui se nomme adduser, qui est simple à utiliser et qui interagit avec useradd. Donc voici la procédure pour créer un nouvel utilisateur avec le script adduser. Premièrement il faut être root pour la création d'un nouvel utilisateur. On lance le script avec la commande adduser et on a comme sortie ceci : Login name for new user []: mimi ici on met le nom de login de l'utilisateur à créer et on accepte avec la touche [entrée] ou [enter]. User id for mimi [defaults to next available]: on accepte l'uid c'est−à−dire le numéro d'identification de l'utilisateur défini par défaut, à moins de savoir ce que l'on fait. Initial group for mimi [users]: ici aussi on accepte le groupe initial qui est proposé par défaut. Additional groups for mimi (seperated with commas, no spaces) []: il nous est demandé si l'on veut que l'utilisateur fasse partie d'autres groupes. Si l'on sait ce que l'on fait, on indique alors les groupes, séparés par des virgules et sans espace, auxquels on veut que l'utilisateur mimi appartienne. Ici je vous conseille fortement d'ajouter votre nouvel utilisateur au groupe "sys" pour qu'il puisse accéder aux périphériques son, sinon ceux−ci ne sont accessibles que par le root. On aura donc pour cette option : Additional groups for mimi (seperated with commas, no spaces) []: sys mimi's home directory [/home/mimi]: on définit le répertoire que l'utilisateur mimi se verra attribuer, on accepte ce qui est proposé par défaut. mimi's shell [/bin/bash]: on définit quel sera le shell de notre utilisateur. Il existe plusieurs shells sous Linux dont tcsh, korn shell (ksh), etc. Cependant, vu que le shell bash est un standard sous Linux, on accepte ce qui est proposé par défaut. mimi's account expiry date (YYYY−MM−DD) []: on nous demande quelle sera la date d'expiration du compte mimi. On n'en définit aucune, ce n'est pas nécessaire, donc on valide pour qu'il n'y ait pas de date d'expiration avec la touche [entrée] ou [enter]. This is it... if you want to bail out, hit Control−C. Otherwise, press ENTER to go ahead and make the account. Ici on vous avise que si vous voulez quitter pour une quelconque raison, il vous faut utiliser les touches Ctrl+C. Par contre si vous voulez continuer et créer le compte, pressez la touche [entrée] ou [enter]. Je suppose que vous avez accepté, voici la suite lorsque l'on accepte. Making new account... (création du compte mimi, acceptez) On vous demande alors des informations supplémentaires pour le compte mimi, comme le nom complet de l'utilisateur mimi (ex: Michel Moi) et d'autres informations non obligatoires pour la création du compte. Changement de l'information utilisateur pour mimi Entrez la nouvelle valeur ou tapez [Entrée] pour le défaut Nom complet []: Michel Moi No de bureau []: Téléphone travail []: Installer et utiliser un logiciel 261 Franciser la Slackware Téléphone perso []: Autre []: On modifie et/ou on valide le tout par la touche [entrée] ou [enter]. Maintenant on arrive au moment crucial où il faut donner un mot de passe pour l'utilisateur. Je vous conseille ici de l'inscrire dans un endroit sûr où vous pourrez accéder si jamais vous l'oubliez. Changement du mot de passe de mimi Entrez le nouveau mot de passe (minimum de 5, maximum de 127 caractères). Utilisez une combinaison de lettres en majuscule / minuscule et de nombres. Nouveau mot de passe : il faut faire attention à ce que vous écrivez car les lettres ou chiffres de votre mot de passe n'apparaîtront pas à l'écran. Nouveau mot de passe (à nouveau) : on vous demande d'inscrire à nouveau le mot de passe pour confirmation, attention de bien écrire le même mot de passe pour qu'il soit accepté. Si tout s'est bien déroulé, vous aurez cette sortie vous confirmant que la création de l'utilisateur mimi a réussi. Mot de passe changé. Done... Maintenant que l'utilisateur mimi a été créé, on va s'assurer que le mot de passe sera encrypté pour plus de sécurité. Normalement cela devrait se faire automatiquement mais pour plus de sûreté on va procéder quand même à l'encryptage : # pwconv mimi Voilà votre nouvel utilisateur est créé et vous pouvez dès maintenant accéder à son compte en vous loguant sur celui−ci au prompt. Si jamais vous vous trompez ou s'il surgit une erreur lors de la création d'un compte, assurez−vous avant de recommencer que l'utilisateur que vous avez essayé de créer n'existe plus. Pour ce faire employez la commande userdel : # userdel mimi Ceci supprimera le compte mimi et dès lors vous pourrez recommencer à créer un compte mimi. Franciser la Slackware Franciser le shell et les menus Afin d'avoir les menus de Gnome en français (ainsi que certains messages du shell), installez le package glocale.tgz (si nécessaire ;−) puis en root modifiez le fichier/etc/profile de la façon suivante (repérez la ligne Set default...) # Set default POSIX locale: # export LC_ALL=POSIX LC_CTYPE=ISO−8859−1 LANGUAGE=fr LC_MESSAGES=fr LC_ALL=fr_FR LANG=fr LESSCHARSET=latin1 export LC_CTYPE LANGUAGE LC_MESSAGES LC_ALL LANG LESSCHARSET N'oubliez pas de commenter la ligne export LC_ALL=POSIX ;−) Sauvez le fichier, puis toujours sous root, lancez ensuite la commande suivante: # localedef −i fr_FR −f ISO−8859−1 fr_FR Petit test : de retour sous l'utilisateur courant, connectez vous en root (via la commandesu) et entrez un mot de passe erroné. Le message obtenu sera : Désolé ;−) Note : pour les personnes utilisant Windowmaker, cette opération est à faire avant la commande wmaker.inst (cela installera les menus en français). Installer les pages man françaises Avant d'installer les pages man en français comme décrit ci−dessous, assurez vous d'avoir mis en place la "Francisation du shell" précédemment décrite. Récupérez les traductions des pages man sur les deux sites suivants : http://www.delafond.org/traducmanfr/mansupfr.tar.bz2 http://perso.club−internet.fr/ccb/man/man−fr−x.x.x.tar.gz (actuellement version 0.9.3) La raison de ce doublon est la non exhaustivité de chacune des deux traductions. Donc, en fusionnant les deux, le nombre de pages man traduites sera plus conséquent. Décompressez les deux fichiers, par exemple dans votre répertoire personnel. Deux répertoires sont maintenant présents: pagesdeman/ man−fr/ 262 Installer et utiliser un logiciel Franciser la Slackwa Comme précisé précédemment, fusionnez (en copiant) les pages man des 2 répertoires: cp −f man−fr/man1/* pagesdeman/usr/share/man/fr/man1 ... ... cp −f man−fr/man9/* pagesdeman/usr/share/man/fr/man9 Loguez vous en root, et créez les répertoires suivants s'ils n'existent pas : mkdir /usr/man/fr mkdir /usr/X11R6/man/fr Toujours sous root, copiez les pages man françaises vers les répertoires nouvellement créés: cp −r pagesdeman/usr/share/man/fr/* /usr/man/fr cp −r pagesdeman/usr/X11R6/man/fr/* /usr/X11R6/man/fr Editez le fichier /usr/lib/man.conf et repérez ces lignes : NROFF /usr/bin/groff −S −Tascii −mandoc NEQN /usr/bin/geqn −Tascii Modifiez les comme suit : NROFF /usr/bin/groff −S −Tlatin1 −mandoc NEQN /usr/bin/geqn −Tlatin1 Sauvez, et testez par exemple:man ls. Note sur la version 8.1 : certaines pages traduites sont déja installées dans /usr/man/fr. Ajouter dans ce répertoire les pages que vous souhaitez avoir en français. Configurer les touches mortes Note sur la version 8.1 : elle intègre déjà le fichier /etc/inputrc. Ce qui suit ne s'adresse donc qu'aux versions précédentes. Même en choisissant le bon clavier AZERTY lors de l'installation ( fr−latin1.map) celui−ci peut se révéler capricieux notamment pour l'utilisation des touches Home, End et Del dans un terminal (xterm, rxvt....). Pour corriger cela, deux solutions: − créez un fichier /etc/inputrc et ajouter la ligne export INPUTRC=/etc/inputrc dans le fichier /etc/profile (cela sera valable pour tous les utilisateurs), − créez un fichier .inputrc et placez le dans votre répertoire personnel (donc un fichier par utilisateur). L'exemple suivant (qui fonctionne pour les deux solutions ci−dessus) permet d'activer les touches home, del, suppr et fin (pour la liste complète des options voir la page man de readline). # Pas de bip set bell−style none # Permettre de rentrer & recevoir des caractères accentués set meta−flag on set input−meta on set convert−meta off set output−meta on # gestion des touches en fonction du type de terminal # xterm "\e[1~": beginning−of−line "\e[4~": end−of−line "\e[5~": beginning−of−history "\e[6~": end−of−history "\e[3~": delete−char "\e[2~": quoted−insert "\e[5C": forward−word "\e[5D": backward−word "\e\e[C": forward−word "\e\e[D": backward−word "\eOH": beginning−of−line "\eOF": end−of−line # rxvt "\e[8~": end−of−line Installer et utiliser un logiciel 263 Personnaliser le shell Bash Personnaliser le shell Bash Vous avez sans doute remarqué lorsque vous utilisez le shell bash que celui−ci utilise un prompt et des alias assez basiques qui sont définis dans un fichier global nommé /etc/profile. Donc, si vous désirez personnaliser un peu votre shell, que ce soit pour y ajouter des alias, des couleurs ou des fonctionnalités non définies dans le fichier /etc/profile, vous pouvez le faire en créant vos propres fichiers bash personnalisés. Voici différents fichiers reliés au shell bash que vous pouvez créer: .bash_logout Ce fichier sert seulement en mode console (init 3). Il est appelé lors d'un "exit" ou d'un "logout". L'exemple ci−dessous nettoiera l'écran lors du "exit" ou "logout". #$HOME/.bash_logout clear # End $HOME/.bash_logout .bash_profile Ce fichier sert aussi en mode console (init 3). Si vous n'utilisez pas ce fichier, lorsque vous serez en mode console c'est le fichier /etc/profile qui sera lu par le shell et non votre .bashrc personnel. Comme nous le verrons par la suite, le fichier .bashrc est appelé aussi bien en mode texte qu'en mode graphique (via un xterm), donc plutôt que de définir 2 fichiers identiques, l'exemple ci−dessous permet d'utiliser la définition du fichier .bashrc. #$HOME/.bash_profile if [ −f ~/.bashrc ]; then . ~/.bashrc fi # End $HOME/.bash_profile .bashrc C'est dans ce fichier que vous mettrez tous vos alias personnels, vos variables ainsi que la couleur du texte et autres commandes utiles. Si vous créer les fichiers .bash_logout et .bash_profile, alors ce fichier sera effectif en mode console et en mode graphique. # Debut de $HOME/.bashrc # Permet d'avoir des couleurs différentes selon le type des fichiers if [ "$SHELL" = "/bin/zsh" ]; then eval `dircolors −z` elif [ "$SHELL" = "/bin/ash" ]; then eval `dircolors −s` else eval `dircolors −b` fi # Quelques alias utiles pour les paresseux # monte d'un répertoire à partir du répertoire courant alias ..='cd ..' # monte de deux répertoires à partir du répertoire courant alias ...='cd ../../' # affiche tous les fichiers dans le répertoire courant alias ll='ls −al' # copie un fichier ou dossier en vous prévenant si votre action # écraseras un fichier ou dossier similaire. alias cp='cp −i' # Pour supprimer, l'option −i est idem que pour cp alias rm='rm −i' # pour déplacer, l'option −i est idem que cp et rm alias mv='mv −i' # rapporte le montant de l'espace disque employé par les # fichiers dans la hiérarchie du système fichier. # à utiliser avec précaution car l'usage de cette commande peut # s'avérer très long ( man du pour les options "−a c h ) alias du='du −a −c −h' # montre l'espace occupé sur les partitions montée en megabytes alias df='df −m' # pour permettre au root lorsqu'on fait un su, d'utiliser le display alias to='xhost + ; su && xhost −' 264 Installer et utiliser un logiciel Adapter le noyau insta # Variable PS1 et prompt coloré # Définition des couleurs à employer pour un texte coloré. red='\e[0;31m' RED='\e[1;31m' green='\e[0;32m' GREEN='\e[1;32m' yellow='\e[0;33m' YELLOW='\e[1;33m' blue='\e[0;34m' BLUE='\e[1;34m' magenta='\e[0;35m' MAGENTA='\e[1;35m' cyan='\e[0;36m' CYAN='\e[1;36m' white='\e[0;37m' WHITE='\e[1;37m' NC='\e[0m' # Prompt coloré export PS1="$MAGENTA[$CYAN\u@\h$MAGENTA:$CYAN\W$MAGENTA]$MAGENTA\\$ $RED\n" # Imprime le shell,sa version et le display sur lequel vous êtes connecté. echo −e "${GREEN}This is BASH ${YELLOW}${BASH_VERSION%.*}${GREEN} − DISPLAY on ${YELLOW}$DISPLAY${NC}\n" # quelques sorties de commande sur le shell pour le simple plaisir # affiche la ram utilisée et la swap free # affiche l'espace occupé sur les partitions df # affiche le jour,l'heure,le mois et l'année ainsi que le fuseau horaire date function _exit() { echo −e "${RED}Hasta la vista, baby${NC}" } Adapter le noyau installé Le noyau issu de l'installation correspond sans doute en grande partie à vos besoins mais il correspond à un processeur 386 en SMP (bi−processeurs) et ne gère pas l'APM (Advanced Power Management) qui permet par exemple l'extinction des disques et de l'écran lors d'un arrêt (halt ou shutdown). C'est pour cela qu'il ma semblé nécessaire de le recompiler au plus vite. La procédure à suivre est fort bien décrite dans le Slackware Linux Essential (en anglais) ou encore dans le Léa−Book. En voici un résumé très succinct (vérifiez avant que vous avez une disquette de boot, au cas où ...) : # cd /usr/scr/linux # make mrproper # make menuconfig (ou config ou xconfig) Une fois ici, vous pouvez si vous le souhaitez, charger le fichier de configuration du noyau issu de l'installation qui est le fichier /boot/config . Sachez que si vous ne le faites pas, à moins de tout reconfigurer par vous même, le noyau que vous obtiendrez sera très différent. Donc si comme moi vous ne connaissez pas très bien les options de compilation: Load an Alternate Configuration File: entrez /boot/config. Sélectionnez votre microprocesseur : Processor type and features / Processor family / choisissez le bon microprocesseur, sans doute PPro/6x86MX. Activez l'APM : General setup / Advanced Power Management BIOS Support. Vous pouvez maintenant continuer la configuration comme bon vous semble puis quitter menuconfig en sauvegardant. # # # # make make make make dep clean bzImage (ou zImage pour un petit noyau) modules Vous en avez maintenant terminé avec votre nouveau noyau et ses modules, il ne vous reste plus qu'à les installer. Attention ici car le noyau de la Slackware (vmlinuz) et le fichier System.map sont dans le répertoire racine / et non dans le répertoire /boot comme dans de nombreuses autres distributions. # mv /lib/modules/2.2.19 /lib/modules/2.2.19.old # make modules_install # make install Installer et utiliser un logiciel 265 Xwindow Voilà c'est terminé, mais si vous le souhaitez, avant de rebooter, vous pouvez modifier votre /etc/lilo.conf pour y ajouter une section vers l'ancien noyau (encore une fois au cas où ...) et puis réinstaller lilo (commande: lilo). NB : Ce qui est écrit ci−dessus concerne le noyau 2.2.19. Si vous utilisez un noyau 2.4.x et que vous souhaitez charger un fichier de configuration du noyau avec make menuconfig, il ne faut pas utiliser le fichier /boot/config. Vous devez utiliser un des fichiers qui se trouve sur le cdrom de la Slack : le fichier /slackware/a1/i245.cfg pour un disque IDE ou le fichier /slackware/a1/sc245.cfg pour un disque SCSI. Note sur la version 8.1 : • Le noyau et le fichier System.map sont maintenant dans le répertoire /boot. • De plus, sachez que Patrick recommande une procédure pour reconstruire le package du noyau, donc aussi utile lorsque l'on recompile le noyau. Car comme il le dit lui−même, le noyau n'est pas patché, mais il n'est pas vierge non plus ! Voir le fichier README des sources de la Slackware. Xwindow Petit rappel: pour choisir le runlevel au démarrage afin de booter en mode texte ou graphique, il faut modifier la ligne ci−dessous dans le fichier /etc/inittab: id:3:initdefault: pour un démarrage en mode texte, id:4:initdefault: pour un démarrage en mode graphique. Installer un serveur Xfree 3.3.6 Certaines cartes un peu anciennes sont mieux supportées par la version 3.3.6 que par la 4 de Xfree comme par exemple la S3 virge DX/GX. A noter que Xfree 4.0 doit être installé. En fait toutes les bibliothèques seront en version 4, seul le serveur (ou driver) sera en version 3.3.6. Après l'installation, ajoutez les packages suivants (cd n°2 dans /pasture/xfree−3.3.6−serveurs ou récupérez les sur le site ftp de la slackware). − xset.tgz (inclu l'utilitaire de configuration XF86Setup), − xvg16.tgz (obligatoire pour le package précédent), − le package correspondant à votre carte, exemple: s3v.tgz pour la carte S3 virge (lire la description des packages pour trouver le serveur correspondant à votre carte). En root, exécutez XF86Setup et configurez votre souris/clavier/carte/écran. Après les tests, confirmez la création du lien qui va être créé entre /var/X11R6/bin/X −> /usr/X11R6/bin/XF86_S3V (XF86_S3V sera différent selon votre carte bien sûr ;−) Notes: − le fichier de configuration pour Xfree 3.3.6 est /etc/XF86Config, alors que celui de Xfree 4 est /etc/X11/XF86Config (ce dernier pouvant être effacé), − n'utilisez pas le programme xf86config, car celui−ci va configurer votre carte pour Xfree 4. Installation des drivers NVIDIA Pour les possesseurs d'une carte graphique à base de chipset NVIDIA, cette fiche décrit l'installation des drivers (version 1.0−2313 au moment de la création de ce document). Au préalable, assurez vous que: − le noyau est compilé sans l'option SMP (le noyau pré−compilé de la Slack l'a ;−) − X est configuré via xf86config (fichier XF86Config en état de fonctionner) Ce qu'il faut au minimum d'après NVIDIA: Module Version Détermination de la version Kernel 2.2.12 cat /proc/version Kernel modutils 2.1.121 insmod −V XFree86 4.0.1 XFree86 −version binutils 2.9.5 size −−version GNU make 3.77 make −−version gcc 2.7.2.3 gcc −−version Recupérez sur le site Nvidia.fr les paquets : NVIDIA_kernel−1.0−2314.tar.gz NVIDIA_GLX−1.0−2313.tar.gz Après avoir démarré en mode console (init 3 et non dans un Xterm sous X), on se met sous root ... et ... $ tar xvzf NVIDIA_kernel−1.0−2314.tar.gz $ tar xvzf NVIDIA_GLX−1.0−2313.tar.gz $ cd NVIDIA_kernel 266 Installer et utiliser un logiciel Xwindow $ make install $ cd ../NVIDIA_GLX $ make install On édite (toujours sous root) le fichier /etc/X11/XF86Config avec son éditeur préféré (emacs ;−): On cherche dans la section " Device " la ligne : Driver "nv" que l'on remplace par Driver "nvidia" Dans la section Module on doit enlever le # pour avoir la ligne suivante: Load "glx" Dans cette même section, on enlève (en ajoutant un dièse !) si elles sont présentes, les lignes suivantes : Load "dri" Load "GLcore" Et pis voilà ! PS : Après reboot, le driver n'était pas chargé malgré une ligne ajoutée dans le fichier /etc/modules.conf. J'ai ajouté dans le fichier /etc/rc.d/rc.modules la ligne /sbin/modprobe Nvdriver. Choisir un window manager (wm) Comme bien souvent le gestionnaire de fenêtres par défaut d'un utilisateur dépend du contenu de son fichier ~/.xinitrc (s'il existe bien sûr). Pour configurer facilement ce fichier vous pouvez utiliser le programme xwmconfig. Entrez alors simplement:$ xwmconfig Choisissez maintenant dans la liste qui vous est proposée votre wm préféré puis quittez le programme qui crée automatiquement le bon fichier .xinitrc dans votre répertoire personnel et prend même le soin de sauvegarder votre ancien fichier .xinitrc sous le nom de .xinitrc−backup. Maintenant, si vous pensez cela nécessaire, rien ne vous empêche d'éditer ce fichier pour le mettre à votre goût. En réalité xwmconfig se contente de recopier dans votre répertoire personnel un des fichiers du répertoire /etc/X11/xinit/. Voici un exemple de ce que peut contenir ce répertoire : $ ls −l /etc/X11/xinit/ total 40 lrwxrwxrwx 1 root root 11 Dec 30 22:44 xinitrc −> xinitrc.kde −rwxr−xr−x 1 root root 546 May 3 2001 xinitrc.e −rwxr−xr−x 1 root root 559 Jun 3 2001 xinitrc.fvwm2 −rwxr−xr−x 1 root root 539 Feb 13 2001 xinitrc.fvwm95 −rwxr−xr−x 1 root root 546 May 14 2001 xinitrc.gnome −rwxr−xr−x 1 root root 536 Mar 29 2001 xinitrc.kde −rwxr−xr−x 1 root root 538 Oct 4 1999 xinitrc.openwin −rwxr−xr−x 1 root root 540 Jun 14 2001 xinitrc.sawfish −r−−r−−r−− 1 root root 666 Jun 4 2001 xinitrc.twm −rwxr−xr−x 1 root root 554 Jun 14 2001 xinitrc.wmaker Vous pouvez donc en tant que root appliquer directement des modifications aux fichiers de ce répertoire afin que tous les utilisateurs en bénéficient à travers le programme xwmconfig. Vous pouvez également choisir ici quel sera le wm par défaut en cas d'absence d'un fichier .xinitrc dans le répertoire personnel. Il suffit pour cela de faire pointer le lien xinitrc vers le fichier xinitrc.* de votre choix (ici le fichier xinitrc.kde). Configurer son accès internet Modem RTC La Slackware met à notre disposition un outil (en mode texte) pour configurer une connexion internet par modem. Loguez−vous en root, et lancez la commande pppsetup. Les différentes informations à fournir sont: numéro de téléphone: entrer ATDTnum_tel, le port sur lequel se trouve votre modem, la vitesse du modem (pour un modem 56K choisissez 115200), répondez NO à la question Does your service use callback, la chaîne d'init de votre modem. A moins de savoir ce que vous faites, tapez simplement enter afin de choisir la chaîne par défaut (AT&FH0), le nom de domaine de votre fournisseur (ex: free.fr), le numéro de DNS (entrer un des deux n° que votre fournisseur vous a donné). la méthode d'authentification (généralement PAP), votre login, votre mot de passe, Enfin, le contenu des fichiers générés vous est présenté: validez par enter si tout vous semble correct. Toujours en root, éditez le fichier /etc/resolv.conf afin d'y rajouter le second numéro DNS. Afin de permettre à tous les utilisateurs de se connecter, modifiez l