Yanıtlar:
~/.Xdefaults
X 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.
~/.Xresources
daha yeni. Bu doludur xrdb
içine RESOURCE_MANAGER
X11 kök pencerenin özelliği. Herhangi bir program bir kaynağı aradığında, doğrudan okunuyor RESOURCE_MANAGER
.
Bu özellik yoksa, Xlib .Xdefaults
her program başlangıcında eski okuma yöntemine geri döner . Çoğu dağıtımın ~/.Xresources
mevcutsa otomatik olarak yükleneceğini .Xdefaults
ve hiçbir zaman xrdb
manuel olarak çalışmamış olsanız bile ihmal edilmesine neden olduğunu unutmayın .
Yeni yöntemin avantajı, bir xrdb
kez aramanın yeterli olması ve bu ekranda çalışan herhangi bir programın kaynaklarının yerel veya uzak olması. (Ad ~/.Xresources
yalnızca bir kuraldır - xrdb
hatta 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.
$XENVIRONMENT
varsayı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
.Xdefaults
RESOURCE_MANAGER
.Xdefaults-hostname
xrdb
Aş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, $XAPPLRESDIR
ortam değişkeninin gösterdiği dizindir . (Tuhaf bir şekilde, değişken ayarlanmamışsa, $HOME
varsayı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 language
elde 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/XTerm
Uygulama varsayılan dosyaları genellikle /usr/share
programı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).
xrdb
gelmiş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.