GNU/Linux >> Linux Esercitazione >  >> Linux

"xterm" o "xterm" nel file di configurazione?

Dopo aver iniziato a usare Arch, sono passato ai terminali xterm e urxvt e ho apprezzato la loro flessibilità (in particolare scaleHeight risorsa). Tuttavia, non capisco perché a volte le configurazioni funzionano con Xterm e talvolta con xterm o XTerm (minuscolo e maiuscolo x e t ).

Ad esempio, ho questa strana configurazione che funziona su 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"

Tuttavia, la mia scatola Arch funziona bene su "xterm". Lo stesso vale per il terminale URxvt:non posso semplicemente trasferire il mio Arch .Xresources su Ubuntu14 casella di lavoro perché parti di esso smettono di funzionare e ottengo configurazioni diverse dopo l'esecuzione:

xrdb -merge .Xresources

X.org su xterm non aveva esempi (la ricerca di "xterm*" non ha restituito nulla in quella pagina). Vedo esempi con Xterm , xterm e XTerm online ... Mi sconcerta che la configurazione sopra funzioni poiché è sintatticamente disattivata. Perché è così? Ha forse qualcosa a che fare con risorse nuove o vecchie in X? Grazie!

xterm su Ubuntu è Xterm(297). Al momento non ho accesso alla mia casella Arch, ma sarebbe abbastanza aggiornato. Non so come distinguere la versione di Xterm dai repository di Arch, ma forse questo:https://www.archlinux.org/packages/extra/i686/xterm/
Quindi, se quel link è giusto, allora sì , sto eseguendo diverse versioni di Xterm.

Ho provato ad aggiornare xterm, ma è ancora 297.

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

Non posso farlo ora, ma potrei provare a ricompilare l'ultima versione per vedere se il problema è presente.

Seguendo i suggerimenti di ILMostro_7 di seguito ho provato XTerm.vt100.geometry , che ancora non ha funzionato. Questo è Xterm (297) su Ubuntu14. Quindi, in pratica, . o * sembra funzionare solo con un piccolo xt .

Risultato di appres XTerm xterm | grep geometry grazie a Gilles. Non ho pensato di cercare cosa esattamente xrdb -merge fa che ha provocato questo pasticcio. Quindi la mia ipotesi è che uno di questi abbia la precedenza su tutto il resto?

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

In effetti sembra xterm.vt100.geometry: 160x40 ha la precedenza su altri poiché l'istanza che continuo a ricevere. Inoltre, in qualche modo sono riuscito a rovinare completamente i menu di Xterm (Ctrl + clic del mouse) - vengono visualizzati come una piccola linea gialla. Ehi

Risposta accettata:

Le risorse X11 hanno un nome che consiste in una serie di componenti separati da un punto, come xterm.vt100.geometry . Il primo componente è il nome dell'applicazione, il secondo componente è un widget nell'applicazione e l'ultimo componente è una proprietà del widget. I widget possono essere nidificati, quindi possono esserci più di tre componenti o solo due per una proprietà dell'applicazione.

Le specifiche delle risorse X possono essere applicate a una singola risorsa o a un insieme di risorse che corrispondono a un modello. Esistono due modi per applicare una specifica a più risorse.

  • È possibile utilizzare un nome di classe anziché un nome di istanza per qualsiasi componente. Convenzionalmente, i nomi delle istanze iniziano con una lettera minuscola mentre i nomi delle classi iniziano con una lettera maiuscola.

    • A livello di applicazione, il nome della classe è solitamente fisso per una determinata applicazione, in genere sul nome dell'applicazione in maiuscolo, e talvolta anche altre lettere sono maiuscole, ad es. XTerm , XCalc , GV , NetHack , … Le applicazioni che utilizzano il toolkit X supportano un'opzione -class per impostare il nome della classe, anche -name per impostare il nome dell'istanza (che per impostazione predefinita è il nome di base dell'eseguibile). Ad esempio XTerm.vt100.geometry imposta un valore della geometry proprietà per il vt100 widget di qualsiasi istanza di XTerm classe; si applica a xterm -name foo ma non a xterm -class Foo .
    • A livello di widget, possono esserci più widget con la stessa classe, ad esempio più pulsanti nella stessa finestra. Xterm ha un singolo widget di classe VT100 , chiamato vt100 , che è la parte dell'emulatore di terminale che copre l'intera finestra. Altri widget includono i menu mainMenu , fontMenu e vtMenu della classe SimpleMenu .
  • Ci sono caratteri jolly:? significa "qualsiasi widget" e * significa "qualsiasi sequenza di widget". Ad esempio xterm*background definisce uno sfondo per qualsiasi cosa all'interno della finestra di Xterm.
Correlati:Macos – Riprendere il trasferimento di file interrotto sul disco rigido?

Puoi esplorare l'albero delle risorse di un'applicazione che supporta il protocollo editres con editres . Poche applicazioni supportano questo protocollo, ma Xterm è una di queste.

È possibile che una determinata risorsa sia abbinata a più modelli. In questo caso si applicano le regole di precedenza. Consulta il manuale per le regole complete.

Nel tuo caso, è probabile che ci sia un'altra voce da qualche parte che corrisponde di più a xterm.vt100.geometry di xterm*VT100.geometry , e quella corrispondenza ha la precedenza sulla tua impostazione. Gli altri non hanno altre impostazioni, quindi qualunque cosa tu faccia vince.


Linux
  1. File di configurazione del database Magento 2

  2. Sintassi del file di configurazione Loggedfs?

  3. Posizione del file di configurazione di Samba?

  4. Spiegazione del file di configurazione DNS /etc/named.rfc1912.zones

  5. È una buona idea usare git per il controllo della versione del file di configurazione?

Anatomia di un file di configurazione di Linux Pluggable Authentication Modules (PAM).

Commentare/Decommentare una riga in un file di configurazione Debian

Come configurare il networking con Netplan su Ubuntu

Commentare/Decommentare una riga nel file di configurazione di Ubuntu

Procedura:Configurazione di base del file IPTables

Gestire i log con Logrotate su Ubuntu