GNU/Linux >> Tutoriels Linux >  >> Linux

« xterm » ou « xterm » dans le fichier de configuration ?

Après avoir commencé à utiliser Arch, je suis passé aux terminaux xterm et urxvt et j'ai apprécié leur flexibilité (en particulier scaleHeight Ressource). Cependant, je ne comprends pas pourquoi parfois les configurations fonctionnent avec Xterm et parfois avec xterm ou XTerm (minuscule vs majuscule x et t ).

Par exemple, j'ai cette configuration étrange qui fonctionne sur Ubuntu :

XTerm*faceName: terminus
XTerm*faceSize: 11
XTerm*saveLines: 16384
XTerm*loginShell: true
XTerm*charClass: 33:48,35:48,37:48,43:48,45-47:48,64:48,95:48,126:48
XTerm*termName: xterm-color
XTerm*eightBitInput: false
xterm*VT100.geometry: 100x80    ! <------ this line would not work with "Xterm" or "XTerm"
XTerm*scaleHeight: 1.3          ! <----- but all others work with "XTerm"

Cependant, ma boîte Arch fonctionne correctement sur "xterm". Il en va de même pour le terminal URxvt :je ne peux pas simplement transférer mes ressources Arch .Xresources vers la boîte de travail Ubuntu14, car certaines parties de celui-ci cessent de fonctionner et j'obtiens des configurations différentes après l'exécution :

xrdb -merge .Xresources

X.org sur xterm n'avait aucun exemple (la recherche de « xterm* » ne renvoyait rien sur cette page). Je vois des exemples avec Xterm , xterm et XTerm en ligne… Cela me déconcerte que la configuration ci-dessus fonctionne car elle est syntaxiquement désactivée. pourquoi est-ce le cas? Cela a-t-il quelque chose à voir avec des ressources nouvelles ou anciennes dans X ? Merci !

xterm sur ubuntu est Xterm(297). Je n'ai pas accès à ma boîte Arch pour le moment, mais elle serait assez à jour. Je ne sais pas comment distinguer la version Xterm des dépôts d'Arch, mais peut-être ceci :https://www.archlinux.org/packages/extra/i686/xterm/
Donc, si ce lien est correct, alors oui , j'utilise différentes versions de Xterm.

J'ai essayé de mettre à jour xterm, mais c'est toujours 297.

apt-get update && apt-get install --only-upgrade xterm

Je ne peux pas le faire maintenant, mais je pourrais essayer de recompiler la dernière version pour voir si le problème est là.

Suite aux suggestions de ILMostro_7 ci-dessous, j'ai essayé XTerm.vt100.geometry , qui ne fonctionnait toujours pas. C'est Xterm (297) sur Ubuntu14. Donc, en gros, . ou * il semble ne fonctionner qu'avec peu de xt .

Résultat de appres XTerm xterm | grep geometry merci Gilles. Je n'ai pas pensé à chercher exactement ce que xrdb -merge fait ce qui a entraîné ce gâchis. Donc, je suppose que l'un d'entre eux a priorité sur tout le reste ?

xterm.VT100.geometry:   100x100
xterm*VT100.geometry:   100x80
xterm*VT100*geometry:   50x50
xterm.vt100.geometry:   160x40
xterm*vt100.geometry:   100x20
xterm.geometry: 5x5
xterm*geometry: 100x20
XTerm.VT100.geometry:   100x100
XTerm*VT100.geometry:   50x50
XTerm*VT100*geometry:   20x10
XTerm.vt100.geometry:   100x5
XTerm*vt100.geometry:   40x40
XTerm*geometry: 50x50

En fait, il ressemble à xterm.vt100.geometry: 160x40 a préséance sur les autres depuis que l'instance que je continue d'obtenir. De plus, j'ai réussi à bousiller complètement les menus Xterm (Ctrl + clic de souris) - ils apparaissent sous la forme d'une petite ligne jaune. Héhé

Réponse acceptée :

Les ressources X11 ont un nom composé d'une série de composants séparés par un point, comme xterm.vt100.geometry . Le premier composant est le nom de l'application, le deuxième composant est un widget dans cette application et le dernier composant est une propriété du widget. Les widgets peuvent être imbriqués, il peut donc y avoir plus de trois composants, ou seulement deux pour une propriété de l'application.

Les spécifications des ressources X peuvent s'appliquer à une seule ressource ou à un ensemble de ressources correspondant à un modèle. Il existe deux manières d'appliquer une spécification à plusieurs ressources.

  • Vous pouvez utiliser un nom de classe au lieu d'un nom d'instance pour n'importe quel composant. Classiquement, les noms d'instance commencent par une lettre minuscule tandis que les noms de classe commencent par une lettre majuscule.

    • Au niveau de l'application, le nom de la classe est généralement fixé pour une application donnée, généralement au nom de l'application en majuscule, et parfois d'autres lettres sont également en majuscules, par ex. XTerm , XCalc , GV , NetHack , … Les applications utilisant le toolkit X supportent une option -class pour définir le nom de la classe, ainsi que -name pour définir le nom de l'instance (qui est par défaut le nom de base de l'exécutable). Par exemple XTerm.vt100.geometry définit une valeur de la geometry propriété pour le vt100 widget de n'importe quelle instance de XTerm classe; cela s'applique à xterm -name foo mais pas à xterm -class Foo .
    • Au niveau du widget, il peut y avoir plusieurs widgets avec la même classe, par exemple plusieurs boutons dans la même fenêtre. Xterm a un seul widget de classe VT100 , appelé vt100 , qui est la partie de l'émulateur de terminal qui couvre toute la fenêtre. D'autres widgets incluent les menus mainMenu , fontMenu et vtMenu de la classe SimpleMenu .
  • Il y a des caractères génériques :? signifie "n'importe quel widget", et * signifie "toute séquence de widgets". Par exemple xterm*background définit un arrière-plan pour absolument tout à l'intérieur de la fenêtre Xterm.
Connexes :Macos - Reprendre le transfert de fichiers interrompu vers le disque dur ?

Vous pouvez explorer l'arborescence des ressources d'une application qui prend en charge le protocole editres avec editres . Peu d'applications supportent ce protocole, mais Xterm en fait partie.

Il est possible qu'une ressource donnée corresponde à plusieurs modèles. Dans ce cas, les règles de priorité s'appliquent. Voir le manuel pour les règles complètes.

Dans votre cas, il est probable qu'il y ait une autre entrée quelque part qui corresponde plus étroitement à xterm.vt100.geometry que xterm*VT100.geometry , et cette correspondance remplace votre paramètre. Les autres n'ont pas d'autre paramètre donc tout ce que vous faites gagne.


Linux
  1. Explication du fichier de configuration DNS /etc/named.rfc1912.zones

  2. Comprendre le fichier de configuration /etc/profile sous Linux

  3. Comment enregistrer ou exporter une configuration de noyau Linux personnalisée ?

  4. Est-ce une bonne idée d'utiliser git pour contrôler la version du fichier de configuration ?

  5. Emplacement non par défaut pour le fichier de configuration ssh sous Linux

Anatomie d'un fichier de configuration Linux Pluggable Authentication Modules (PAM)

Commenter/Décommenter une ligne dans un fichier de configuration Debian

Comment configurer la mise en réseau avec Netplan sur Ubuntu

Commenter/décommenter une ligne dans le fichier de configuration d'Ubuntu

Procédure :configuration de base des fichiers IPTables

Gestion des journaux avec Logrotate sur Ubuntu