zion - gpm-root
Nom
gpm-root - un gestionnaire par défaut pour gpm, utilisé pour dessiner des menus sur la fenêtre racine
Résumé
gpm-root [ options ]
Description
Le programme « gpm-root » est conçu pour traiter les événements de contrôle de la souris pour dessiner des menus sur l'arrière-plan du terminal courant. Les menus réels sont décrits par un fichier de configuration dans le répertoire personnel de l'utilisateur.
Notez bien que « gpm-root » doit tourner avec Linux 1.1.73 ou ultérieur, car les noyaux précédents ne disposent pas de certaines capacités de traitement d'écran requises par le programme.
Le programme utilise les fichiers « /dev/vcs* » pour dessiner sur l'écran de la console. Ceux-ci ne sont disponibles qu'à partir du noyau 1.1.81. Si vous ne possédez pas ces noeuds de périphériques, vous devriez les créer en utilisant « create_vcs » dans le répertoire de la distribution. L'outil ne tournera pas avec des noyaux antérieurs au 1.1.81, car ils ne disposent pas d'une capacité de déchargement/récupération d'un écran complet.
Les options de ligne de commandes disponibles sont les suivantes :
-m nombre Choisir le modificateur à utiliser (« control » par défaut). Le modificateur peut être fourni soit comme un nombre, soit comme une chaîne de caractères symbolique. Les chaînes supportées sont « shift », « anyAlt » (touche Alt quelconque), « leftAlt » (touches Alt de gauche), « rightAlt » (touche Alt de droite) et « control ». |
-u Ne pas utiliser de fichiers de configuration spécifiques à l'utilisateur. Avec cette option activée, seul « /etc/gpm-root.conf » sera utilisé comme source d'informations de configuration. Cette option est prévue pour les administrateurs qui craignent que la sécurité puisse être compromise avec ce démon. Il devrait être suffisamment sûr, mais si vous trouvez une faille, faites-en moi part. |
-D Ne pas entrer directement en opération d'arrière-plan lors du démarrage, et enregistrer les messages dans le flux d'erreur standard, et pas via le mécanisme syslog. C'est utile pour le débogage ; dans des versions précédentes, c'était effectué via une option de compilation. |
-V incrément de verbosité Augmenter ou diminuer le niveau maximal des messages qui seront enregistrés. Ainsi, un argument positif a pour effet de rendre le programme plus bavard. On peut également donner un argument négatif pour faire taire le programme ; néanmoins, notez qu'à cause des règles de getopt(3), un argument négatif doit suivre l'option sans espace intermédiaire (c.-à -d. « -V-1 » mais pas « -V -1 »). L'argument est optionnel et vaut 1 par défaut. |
Chaque fois qu'un menu est dessiné, le fichier de configuration est réexaminé s'il a été modifié. Cela permet la modification d'une configuration personnelle sans devoir réinvoquer le démon.
Le fichier de configuration réel est mieux présenté dans votre « /etc/gpm-root.conf ». .fi
La syntaxe du fichier ne sera pas décrite ici, apparaissant clairement à partir de l'exemple au dessus. Les blancs et les sauts de ligne ne sont pas utilisés dans l'analyse syntaxique du fichier, et la disposition du fichier est libre. Les commentaires sont permis dans le fichier : tout dièse (« # ») trouvé au commencement de la ligne ou après une espace blanche fait rejeter à l'analyseur le reste de la ligne. Pour insérer des guillemets doubles (« " ») dans les chaînes de caractères, faites-les précéder par un backslash.
Notez que les menus récursifs sont autorisés, à n'importe quel niveau de récursion.
Les mots-clés appartiennent à trois groupes : le mot-clé button, les mots-clés cfg et les mots-clés action. Ils sont tous décrits dans la table ci-dessous :
button nombre menu Le mot-clé « button » est utilisé pour introduire un menu. Il est suivi par le numéro du bouton pertinent (1=gauche, 2=milieu, 3=droite), une accolade ouvrante, un menu et une accolade fermante. Un menu est constitué d'instructions cfg, suivies par des instructions action. Les instructions Cfg peuvent venir dans n'importe quel ordre, alors que l'ordre des instructions action indique l'ordre réel dans lequel les actions apparaîtront à l'écran, du haut vers le bas. |
Les instructions suivantes appartiennent ay groupe cfg.
name chaîne Si le mot-clé « name » est présent, la chaîne spécifiée sera utilisée en tant que nom pour le menu courant. |
background couleur Ces instructions sont utilisées pour spécifier la couleur d'arrière-plan à utiliser dans le menu courant. La couleur peut être spécifiée à l'aide de l'une des huit chaînes canoniques « black » (noir), « red » (rouge), « cyan » etc. La couleur d'arrière-plan est noire par défaut. |
foreground couleur Ces instructions sont utilisées pour spécifier la couleur d'avant-plan des éléments du menu. Sa valeur par défaut est « white » (blanc). Un mot-clé optionnel « bright » (clair) peut apparaître avant la couleur réelle. |
border couleur « border » est est utilisé pour spécifier la couleur du bord du menu. Sa valeur par défaut est « white » (blanc). Un mot-clé optionnel « bright » (clair) peut apparaître avant la couleur réelle. |
head couleur « head » est utilisé pour spécifier la couleur d'avant-plan du titre du menu. Sa valeur par défaut est « white » (blanc). Un mot-clé optionnel « bright » (clair) peut apparaître avant la couleur réelle. |
Les instructions suivantes appartiennent au groupe action.
chaîne f.fgcmd chaîne-commandes Quand le bouton de la souris est relâché au-dessus de l'élément de menu correspondant, la chaîne-commandes est collée dans la file d'attente du clavier de la console courante. Ce n'est pas encore implémenté. |
chaîne f.bgcmd chaîne-commandes Quand le bouton de la souris est relâché au-dessus de l'élément de menu correspondant, un shell (« /bin/sh ») est généré pour exécuter la commande spécifiée, avec « stdin » connectée à « /dev/null », et « stdout », « stderr » connectées à la console active. |
chaîne f.jptty numéro-tty Quand le bouton de la souris est relâché au-dessus de l'élément de menu correspondant, la console est commutée vers celle spécifiée. Le numéro-tty doit être spécifié en tant que chaîne de caractères. N'importe quel terminal peut être atteint par ce moyen, même ceux qui ne sont pas accessibles via le clavier. |
chaîne f.mktty numéro-tty Quand le bouton de la souris est relâché au-dessus de l'élément de menu correspondant, une console inutilisée est sélectionnée, et « /sbin/mingetty » y est exécuté. La console courante est commutée vers la nouvelle console ouverte. J'utilise cette commande pour préserver la mémoire du noyau en n'ouvrant qu'une seule console via « /etc/inittab », et en ne requérant les autres que lorsque j'ai besoin de me connecter. |
chaîne menu-entier Un menu peut directement suivre la chaîne de libellé. Quand le pointeur de la souris quitte le cadre du menu au niveau de chaîne, un second menu est affiché à l'écran. |
chaîne f.lock Quand le bouton de la souris est relâché au-dessus de l'élément de menu correspondant, le clavier et l'écran sont verrouillés et seul l'utilisateur les ayant verrouillés ou le super-utilisateur peut les déverrouiller. Ce n'est pas encore implémenté. |
chaîne f.load La charge moyenne du système quand le menu est affiché est concaténée à chaîne pour construire le message réel affiché à l'écran. Rien ne se passe lors du relâchement du bouton. |
chaîne f.free La mémoire et l'espace d'échange (swap) libres quand le menu est affiché sont concaténés à chaîne pour construire le message réel affiché à l'écran. Rien ne se passe lors du relâchement du bouton. |
chaîne f.time L'heure actuelle est formatée avec strftime(3), selon chaîne. La chaîne résultante est le message réel affiché à l'écran. Rien ne se passe lors du relâchement du bouton. |
chaîne f.pipe ligne-commande Quand le pointeur de la souris quitte le cadre du menu au niveau de chaîne, une boîte à message est affichée à l'écran montrant les dix dernières lignes de la sortie de ligne-commande. ligne-commande est exécutée par « /bin/sh ». Ce n'est pas encore implémenté. |
chaîne f.nop Ne fait rien ; affiche simplement chaîne sur le menu. |
Les variables d'environnement « HOME », « LOGNAME » et « USER » sont réglées aux valeurs de l'utilisateur invoquant avant la génération d'un processus externe (« f.bgcmd », « f.pipe »). Le répertoire courant est toujours « / ».
Bugs
Les bogues connus ont été corrigés. En particulier, si vous invoquez « gpm-root » directement après « gpm », il attendra quelques secondes avant d'essayer de se connecter au démon.
Auteur
Alessandro Rubini <rubini@linux.it>
Fichiers
.nf /dev/gpmctl La socket utilisée pour se connecter à gpm. /etc/gpm-root.conf Le fichier de configuration par défaut. $(HOME)/.gpm-root Le fichier de configuration de l'utilisateur. /dev/vcs* Virtual Console Screens (Écrans de Console Virtuelle) .fi
Voir aussi
.nf f Bgpm(8) .fi Le fichier info sur gpm, qui donne des informations plus complètes et explique comment écrire un client gpm.
Traduction
Frédéric Delanoy <delanoy_f at yahoo.com>, 2002.
Poster un commentaire