Lessico IT › Infrastruttura › xlsatoms

xlsatoms

Infrastruttura Svenska → Aggiornato: 2026-10-10
Altre info
Creatore
Jim Fulton, MIT X Consortium
Anno
Tipo
Utilità X11
Licenza
MIT
Codice sorgente
gitlab.freedesktop.org

Elenca ogni atomo noto al server X, dal PRIMARY predefinito al numero 1 alle migliaia di nomi che i client odierni hanno registrato — e che il server non dimentica mai.

Gli atomi sono il modo con cui il protocollo X evita di inviare stringhe: un nome viene registrato una volta con InternAtom e riceve un numero a 32 bit, usato poi nelle proprietà, nelle selezioni e nei ClientMessage. xlsatoms di Jim Fulton, del 1989, percorre la tabella con GetAtomName a partire dal numero 1 finché il server non risponde con un errore, stampando numero e nome. I primi 68 sono fissati dal protocollo e identici su ogni server — PRIMARY è 1, ATOM è 4, WM_COMMAND 34, WM_CLIENT_MACHINE 36 e WM_TRANSIENT_FOR 68 — quindi i client non hanno bisogno di chiederli; dopo vengono tutti quelli creati da un qualsiasi client dall'avvio del server, nell'ordine in cui sono comparsi. -range 60-70 sceglie un intervallo, -name _NET_WM_PID fa una ricerca dalla shell e segnala un errore se l'atomo non esiste, e -format modella l'output con la sintassi di printf.

L'elenco è una sezione archeologica. Il protocollo di base non ha alcuna richiesta per eliminare un atomo, quindi ogni nome vive fino al riavvio del server, che il client che lo ha creato sia scomparso o meno settimane prima. Su un normale desktop una settimana circa di uptime produce un paio di migliaia di righe, con i nomi GDK_ e _NET_ di solito come i due gruppi più numerosi, e si può leggere quali toolkit, window manager ed estensioni siano passati di lì. Ciò rende xlsatoms lo strumento per scovare le perdite di atomi: un programma che registra un nome nuovo e unico per ogni finestra o tooltip riempie la tabella del server finché qualcuno si chiede perché X stia divorando memoria, e xlsatoms | wc -l prima e dopo lo svela in un minuto.

← Torna al lessico