Yanıtlar:
~/.XdefaultsX kaynaklarını depolamak için eski yöntemdir. Her Xlib programı başlatıldığında bu dosya yeniden okunur. Ağ üzerinden X11 kullanılıyorsa, dosyanın programlarla aynı dosya sisteminde bulunması gerekir.
~/.Xresourcesdaha yeni. Bu doludur xrdbiçine RESOURCE_MANAGERX11 kök pencerenin özelliği. Herhangi bir program bir kaynağı aradığında, doğrudan okunuyor RESOURCE_MANAGER.
Bu özellik yoksa, Xlib .Xdefaultsher program başlangıcında eski okuma yöntemine geri döner . Çoğu dağıtımın ~/.Xresourcesmevcutsa otomatik olarak yükleneceğini .Xdefaultsve hiçbir zaman xrdbmanuel olarak çalışmamış olsanız bile ihmal edilmesine neden olduğunu unutmayın .
Yeni yöntemin avantajı, bir xrdbkez aramanın yeterli olması ve bu ekranda çalışan herhangi bir programın kaynaklarının yerel veya uzak olması. (Ad ~/.Xresourcesyalnızca bir kuraldır - xrdbhatta herhangi bir dosyayı yüklemek için kullanabilirsiniz .Xdefaults.)
Xlib Programlama El Kitabı P.441:
X11R2'den önce, X kaynak ayarları, kullanıcıların ana dizinindeki .Xdefaults dosyasından ve isteğe bağlı olarak X istemcisinin çalıştığı makinede okunduğundan, birden fazla dosyanın bakımı zordu.
Daha sonra, kullanıcıların kaynak ayarlarını geçerli X sunucusundaki kök pencerenin XA_RESOURCE_MANAGER özelliğine .Xresources içindeki kullanıcıların kaynak ayarlarını depolamak için xrdb programı yapıldı, böylece aynı sunucuya bağlı tüm istemciler bunlara erişebildi. Kullanıcı özelliği ayarlamak için xrdb'yi aramamışsa, .Xdefaults okunur.
Vikipedi :
[...] X kaynakları, tüm ekranlara mı yoksa belirli bir taneye mi uygulandığına bağlı olarak iki standart konumda saklanır:
- 0 ekranının kök penceresinin RESOURCE_MANAGER özelliği
- isteğe bağlı bir ekranın kök penceresinin SCREEN_RESOURCES özelliği
Bu tam olarak bitmiyor.
$XENVIRONMENTvarsayılan olarak değişkeni de vardır . Bu, aynı şekilde kullanılır , ancak mevcut olup olmamasından bağımsız olarak her zaman okunur . Genel ayarları kullanırken bazı ayarları makineye özgü tutmak için dosyaları kullanabilirsiniz .~/.Xdefaults-hostname.XdefaultsRESOURCE_MANAGER.Xdefaults-hostnamexrdbAşağıda listelenen # 4 ve # 5 öğelerinin her ikisi de GTK 3 veya diğer araç setleri tarafından değil yalnızca saf Xlib programları tarafından kullanılıyor gibi görünmektedir.
Dördüncü konum, $XAPPLRESDIRortam değişkeninin gösterdiği dizindir . (Tuhaf bir şekilde, değişken ayarlanmamışsa, $HOMEvarsayılan olarak kullanılır.) Bir program başlatıldığında, aşağıdaki dosyalardan birinin var olup olmadığına bakar (dosya adı, programın sınıf adıyla aynıdır):
$XAPPLRESDIR/$LC_CTYPE/XTerm$XAPPLRESDIR/language/XTerm$XAPPLRESDIR/XTerm( ilk bileşen hariç tümü sıyrılarak languageelde edilir $LC_CTYPE; örneğin en_US.utf-8→ en.)
Beşinci konum sistem genelinde "app-varsayılan" dizinleri olduğunu. Yine, uygulama varsayılan dizinleri, programdan sonra bir dosyaya sahiplerse program başlangıcında kontrol edilir. Örneğin, XTerm (Arch Linux'ta) şunları kullanır:
/etc/X11/$LC_CTYPE/app-defaults/XTerm/etc/X11/language/app-defaults/XTerm/etc/X11/app-defaults/XTerm/usr/share/X11/$LC_CTYPE/app-defaults/XTerm/usr/share/X11/language/app-defaults/XTerm/usr/share/X11/app-defaults/XTermUygulama varsayılan dosyaları genellikle /usr/shareprogramın kendisiyle birlikte yüklenir ; yönetici geçersiz kılmalar giderdi /etc.
Yukarıda belirtilen her şey, X.org araç seti belgelerinde ayrıntılı olarak belgelenmiştir - Makale X Araç Seti İç - C Dili Arayüzü , Kaynak Veritabanının Yüklenmesi bölümü .
Ne yazık ki, 2012 yılında ilgisiz oldukları için X kaynaklarını tanımlayan herhangi bir kullanım kılavuzu bulamadım. Ancak tarihsel (okuma: çok eski) bilgiler için X Pencere Sistemi kullanım kılavuzunu X11 R3 ve R4 için okuyabilirsiniz Pencere Sistemi Bölüm 9: Kaynakların Ayarlanması (sayfa 181 ile başlayan).
xrdbgelmiştir hiç girişinizden itibaren bu X'in ekran için işletilmektedir - X kök özelliği varsa, - o zaman xlib hiç artık .Xdefaults kullanmayacaktır.