GNU/Linux >> LINUX-Kenntnisse >  >> Linux

„xterm“ oder „xterm“ in der Konfigurationsdatei?

Nachdem ich begonnen hatte, Arch zu verwenden, wechselte ich zu xterm und urxvt terminal und genoss die Flexibilität von ihnen (insbesondere scaleHeight Ressource). Ich verstehe jedoch nicht, warum manchmal Konfigurationen mit Xterm funktionieren und manchmal mit xterm oder XTerm (Klein- vs. Großbuchstaben x und t ).

Zum Beispiel habe ich diese seltsame Konfiguration, die auf Ubuntu funktioniert:

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"

Meine Arch-Box läuft jedoch auf „xterm“ einwandfrei. Dasselbe gilt für das URxvt-Terminal:Ich kann meine Arch .Xresources nicht einfach auf die Ubuntu14-Workbox portieren, weil Teile davon nicht mehr funktionieren und ich nach dem Ausführen andere Setups erhalte:

xrdb -merge .Xresources

X.org auf xterm hatte keine Beispiele (die Suche nach „xterm*“ ergab auf dieser Seite nichts). Ich sehe Beispiele mit Xterm , xterm und XTerm online… Es verblüfft mich, dass die obige Konfiguration funktioniert, da sie syntaktisch ausgeschaltet ist. Warum ist das so? Hat es vielleicht etwas mit neuen oder alten Ressourcen in X zu tun? Danke!

xterm auf Ubuntu ist Xterm(297). Ich habe im Moment keinen Zugriff auf meine Arch-Box, aber es wäre ziemlich aktuell. Ich weiß nicht, wie ich die Xterm-Version von Archs Repos unterscheiden soll, aber vielleicht das:https://www.archlinux.org/packages/extra/i686/xterm/
Also, wenn dieser Link richtig ist, dann ja , ich verwende verschiedene Xterm-Versionen.

Ich habe versucht, xterm zu aktualisieren, aber es ist immer noch 297.

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

Ich kann es jetzt nicht tun, aber ich könnte versuchen, die neueste Version neu zu kompilieren, um zu sehen, ob das Problem vorhanden ist.

Den Vorschlägen von ILMostro_7 folgend habe ich XTerm.vt100.geometry ausprobiert , was immer noch nicht funktioniert hat. Dies ist Xterm (297) auf Ubuntu14. Also im Grunde, . oder * es scheint nur mit wenig xt zu funktionieren .

Ergebnis von appres XTerm xterm | grep geometry danke Gilles. Ich habe nicht daran gedacht, nachzuschlagen, was genau xrdb -merge ist tut, was zu diesem Durcheinander führte. Ich vermute also, dass einer von diesen Vorrang vor allem anderen hat?

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

Tatsächlich sieht es so aus:xterm.vt100.geometry: 160x40 hat Vorrang vor anderen, da die Instanz, die ich immer wieder bekomme. Außerdem habe ich es irgendwie geschafft, Xterm-Menüs (Strg+Mausklick) komplett zu vermasseln – sie werden als kleine gelbe Linie angezeigt. Hihi

Akzeptierte Antwort:

X11-Ressourcen haben einen Namen, der aus einer Reihe von Komponenten besteht, die durch einen Punkt getrennt sind, z. B. xterm.vt100.geometry . Die erste Komponente ist der Name der Anwendung, die zweite Komponente ist ein Widget in dieser Anwendung und die letzte Komponente ist eine Eigenschaft des Widgets. Widgets können verschachtelt werden, sodass es mehr als drei Komponenten oder nur zwei für eine Eigenschaft der Anwendung geben kann.

Spezifikationen von X-Ressourcen können für eine einzelne Ressource oder für eine Gruppe von Ressourcen gelten, die einem Muster entsprechen. Es gibt zwei Möglichkeiten, eine Spezifikation auf mehrere Ressourcen anzuwenden.

  • Sie können für jede Komponente einen Klassennamen anstelle eines Instanznamens verwenden. Herkömmlicherweise beginnen Instanznamen mit einem Kleinbuchstaben, während Klassennamen mit einem Großbuchstaben beginnen.

    • Auf Anwendungsebene ist der Klassenname normalerweise für eine bestimmte Anwendung festgelegt, typischerweise auf den großgeschriebenen Anwendungsnamen, und manchmal werden auch andere Buchstaben in Großbuchstaben geschrieben, z. XTerm , XCalc , GV , NetHack , … Anwendungen, die das X-Toolkit verwenden, unterstützen eine Option -class um den Klassennamen sowie -name festzulegen um den Instanznamen festzulegen (der standardmäßig der Basisname der ausführbaren Datei ist). Zum Beispiel XTerm.vt100.geometry setzt einen Wert der geometry -Eigenschaft für vt100 Widget einer beliebigen Instanz von XTerm Klasse; es gilt für xterm -name foo aber nicht zu xterm -class Foo .
    • Auf Widget-Ebene kann es mehrere Widgets mit derselben Klasse geben, zum Beispiel mehrere Schaltflächen im selben Fenster. Xterm hat ein einzelnes Widget der Klasse VT100 , genannt vt100 , das ist der Teil des Terminalemulators, der das gesamte Fenster abdeckt. Andere Widgets beinhalten die Menüs mainMenu , fontMenu und vtMenu der Klasse SimpleMenu .
  • Es gibt Platzhalter:? bedeutet „beliebiges Widget“ und * bedeutet „jede Widget-Sequenz“. Zum Beispiel xterm*background definiert einen Hintergrund für absolut alles innerhalb des Xterm-Fensters.
Siehe auch:Macos – Unterbrochene Dateiübertragung auf Festplatte fortsetzen?

Sie können den Ressourcenbaum einer Anwendung, die das Editres-Protokoll unterstützt, mit editres erkunden . Nur wenige Anwendungen unterstützen dieses Protokoll, aber Xterm ist eine davon.

Es ist möglich, dass eine bestimmte Ressource mit mehreren Mustern abgeglichen wird. In diesem Fall gelten Vorrangregeln. Die vollständigen Regeln finden Sie im Handbuch.

In Ihrem Fall ist es wahrscheinlich, dass es irgendwo einen anderen Eintrag gibt, der besser zu xterm.vt100.geometry passt als xterm*VT100.geometry , und diese Übereinstimmung überschreibt Ihre Einstellung. Die anderen haben keine andere Einstellung, also gewinnt alles, was Sie tun.


Linux
  1. Syntax der Loggedfs-Konfigurationsdatei?

  2. Speicherort der Samba-Konfigurationsdatei?

  3. DNS-Konfigurationsdatei /etc/named.rfc1912.zones erklärt

  4. Grundlegendes zur Konfigurationsdatei /etc/profile unter Linux

  5. Wie speichere oder exportiere ich eine benutzerdefinierte Linux-Kernel-Konfiguration?

Aufbau einer Linux Pluggable Authentication Modules (PAM) Konfigurationsdatei

Auskommentieren/Entkommentieren einer Zeile in einer Debian-Konfigurationsdatei

So konfigurieren Sie das Netzwerk mit Netplan unter Ubuntu

Auskommentieren/Entkommentieren einer Zeile in der Ubuntu-Konfigurationsdatei

Gewusst wie:Grundlegende IPTables-Dateikonfiguration

Verwalten von Protokollen mit Logrotate auf Ubuntu