GNU/Linux >> Znalost Linux >  >> Linux

„xterm“ nebo „xterm“ v konfiguračním souboru?

Poté, co jsem začal používat Arch, přešel jsem na terminály xterm a urxvt a užíval jsem si jejich flexibility (zejména scaleHeight zdroj). Nechápu však, proč někdy konfigurace fungují s Xterm a někdy s xterm nebo XTerm (malá vs velká písmena x a t ).

Například mám tuto zvláštní konfiguraci, která funguje na 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"

Můj Arch box však běží na „xterm“ v pořádku. Totéž platí pro terminál URxvt:Nemohu jednoduše přenést svůj Arch .Xresources do pracovního boxu Ubuntu14, protože jeho části přestanou fungovat a po spuštění dostanu různá nastavení:

xrdb -merge .Xresources

X.org na xterm neměl žádné příklady (hledání „xterm*“ na této stránce nic nevrátilo). Vidím příklady s Xterm , xterm a XTerm online… Udivuje mě, že výše uvedená konfigurace funguje, protože je syntakticky vypnutá. proč tomu tak je? Může to mít něco společného s novými nebo starými zdroji v X? Díky!

xterm na ubuntu je Xterm(297). Momentálně nemám přístup ke svému Arch boxu, ale bylo by to docela aktuální. Nevím, jak rozeznat verzi Xterm od repozitářů Arch, ale možná toto:https://www.archlinux.org/packages/extra/i686/xterm/
Takže pokud je ten odkaz správný, pak ano , Používám různé verze Xterm.

Zkoušel jsem upgradovat xterm, ale stále je to 297.

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

Teď to nemůžu udělat, ale možná se pokusím překompilovat nejnovější verzi, abych zjistil, jestli tam není problém.

Podle níže uvedených návrhů od ILMostro_7 jsem zkusil XTerm.vt100.geometry , který stále nefungoval. Toto je Xterm (297) na Ubuntu14. Takže v podstatě . nebo * zdá se, že funguje pouze s malým xt .

Výsledek appres XTerm xterm | grep geometry díky Gillesovi. Nenapadlo mě hledat, co přesně xrdb -merge dělá, což vedlo k tomuto nepořádku. Takže můj odhad je, že jeden z nich má přednost před vším ostatním?

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

Ve skutečnosti to vypadá jako xterm.vt100.geometry: 160x40 má přednost před ostatními, od té doby se mi neustále dostává. Také se mi nějak podařilo úplně podělat Xterm menu (Ctrl+kliknutí myší) – zobrazují se jako malá žlutá čára. Hehe

Přijatá odpověď:

Zdroje X11 mají název, který se skládá z řady komponent oddělených tečkou, jako je xterm.vt100.geometry . První komponenta je název aplikace, druhá komponenta je widget v této aplikaci a poslední komponenta je vlastnost widgetu. Widgety mohou být vnořené, takže mohou existovat více než tři komponenty nebo pouze dvě pro vlastnost aplikace.

Specifikace X zdrojů se může vztahovat na jeden zdroj nebo na sadu zdrojů odpovídajících vzoru. Existují dva způsoby, jak specifikaci použít pro více zdrojů.

  • Pro jakoukoli komponentu můžete místo názvu instance použít název třídy. Názvy instancí obvykle začínají malým písmenem, zatímco názvy tříd začínají velkým písmenem.

    • Na úrovni aplikace je název třídy pro danou aplikaci obvykle pevně daný, obvykle na název aplikace s velkými písmeny a někdy jsou také velká písmena, např. XTerm , XCalc , GV , NetHack , … Aplikace používající sadu nástrojů X podporují volbu -class pro nastavení názvu třídy a také -name pro nastavení názvu instance (jehož výchozím nastavením je základní název spustitelného souboru). Například XTerm.vt100.geometry nastavuje hodnotu geometry vlastnost pro vt100 widget jakékoli instance XTerm třída; platí pro xterm -name foo ale ne na xterm -class Foo .
    • Na úrovni widgetu může být více widgetů se stejnou třídou, například více tlačítek ve stejném okně. Xterm má jeden widget třídy VT100 s názvem vt100 , což je část emulátoru terminálu, která pokrývá celé okno. Mezi další widgety patří nabídky mainMenu , fontMenu a vtMenu třídy SimpleMenu .
  • Existují zástupné znaky:? znamená „jakýkoli widget“ a * znamená „jakákoli sekvence widgetů“. Například xterm*background definuje pozadí pro absolutně vše v okně Xterm.
Související:Macos – Obnovit přerušený přenos souborů na pevný disk?

Strom prostředků aplikace, která podporuje protokol editres, můžete prozkoumat pomocí editres . Tento protokol podporuje jen málo aplikací, ale Xterm je jednou z nich.

Je možné, že daný zdroj bude odpovídat více vzorům. V tomto případě platí pravidla přednosti. Úplná pravidla naleznete v příručce.

Ve vašem případě je pravděpodobné, že někde existuje další záznam, který se blíže shoduje s xterm.vt100.geometry než xterm*VT100.geometry a tato shoda přepíše vaše nastavení. Ostatní nemají žádné jiné nastavení, takže cokoli uděláte, vyhrává.


Linux
  1. Konfigurační soubor databáze Magento 2

  2. Vysvětlení konfiguračního souboru DNS /etc/named.rfc1912.zones

  3. Pochopení konfiguračního souboru /etc/profile v Linuxu

  1. Jak uložit nebo exportovat vlastní konfiguraci jádra Linuxu?

  2. Jiné než výchozí umístění pro konfigurační soubor ssh v Linuxu

  3. cp-L vs. cp-H

  1. Syntaxe konfiguračního souboru Loggedfs?

  2. Umístění konfiguračního souboru Samba?

  3. Vysvětlení konfiguračního souboru DHCP /etc/dhcp/dhcpd.conf