Gnome-tweak-tool tarafından yapılan ayarları nasıl komut dosyası yapabilirim?


16

Komut satırından bir şeyler yapılandırabilmeyi seviyorum, böylece işletim sistemini yeniden yüklediğimde bir komut dosyası çalıştırabilir ve tercih ettiğim yapılandırmayı geri alabilirim.

Ubuntu 17.10 "yükseltme" beri, ben gnome-tweak-aracı bazı ayarları istediğim gibi almak için kullanmak zorunda bulundu.

Gnome-tweak-tool GUI'de bir ayar bulduğumda, yazılabilir çevirisini nasıl bulabilirim?

Örneğin, aşağıdaki gsettings çizgileri, aşağıda çekilen gnome-tweak-tool ekranındaki ilgili girişlerle eşleşir ...

gsettings set org.gnome.desktop.wm.preferences titlebar-font "Tahoma Bold 8"
gsettings set org.gnome.desktop.interface font-name "Tahoma 8"
gsettings set org.gnome.desktop.interface document-font-name "Tahoma 8"
gsettings set org.gnome.desktop.interface monospace-font-name "FixedSC 10"

gnome-tweak-tool ekran görüntüsü ... ama bunu nasıl tahmin edebilirsiniz? Örneğin, ipucu ve kenar yumuşatma için ilgili ayarların nereden alınacağını nasıl anlayabilirim?


1
TBH Her zaman anahtar deliğini açmaya başvurdum gsettings list-recursively | grep -e alias -e hint- daha iyi bir yol olup olmadığını bilmek isterdim
steeldriver

Kaynak koduna veya dconf-editor'e (veya @steeldriver gibi doğrudan gsettings'e) göz atmanın dışında, kimse yapamaz.
muru

Yanıtlar:


24

Neyin ayarlandığını kolayca bulun

Tüm seçenekler dizininde arama yapmak yerine:

  1. Bir terminal penceresi açın
  2. Komutu çalıştırın:

    dconf watch /
  3. Değişikliklerinizi yapın ve terminalin ne gösterdiğini görün:

    resim açıklamasını buraya girin

    ... ve işte buradasınız.

Dconf ve gsettings

Örnekte, çıktısını görüyorsunuz dconf. Gsettings, dconf'un ön cephesidir. Çoğu zaman, hem bir dconfkomutu hem de bir komutu kullanabilirsiniz gsettings. Bu durumda:

dconf write /org/gnome/desktop/background/show-desktop-icons false

veya:

gsettings set org.gnome.desktop.background show-desktop-icons false

Bununla birlikte, gsettings anahtarı mevcutsa, ikincisi dconfveritabanınızın bütünlüğünü korumak için daha iyi bir uygulama olarak kabul edilir .

Buraya ve buraya da bakınız .


Bu harika, teşekkürler. Küçük sorular: (1) "gsettings anahtarı varsa" nasıl bilebilirim? (2) İki komut satırı arabiriminin, kullanıcıyla aynı tüm amaç ve amaçlar için amacı nedir? (3) "burada" nın birincisi ile üçüncüsü arasındaki fark nedir? Bana aynı sayfa gibi görünüyorlar.
st01

@ st01 (1) için gsettings komutunu tek tek çalıştırabilir, işi yapıp yapmadığına bakabilir veya gsettings anahtarı (ayrıca) varsa dconf düzenleyicisini (varsayılan olarak yüklenmez, ancak harika bir araç) kontrol edebilirsiniz. (2) gsettings dconf veritabanını düzenlemek için cli ön ucudur. Gsettings ayrıca veritabanının bütünlüğünü de kontrol eder ve bu nedenle doğrudan dconf veritabanını düzenlemek için tercih edilir. Zımparalar daha yüksek olduğundan, daha yavaştır. (3), Ah, bu aptalca :), haklısın. Düzenleyecek
Jacob Vlijm

@JacobVlijm çok teşekkürler! Hayatımı kurtardın!!
Marslo

8

Çoğu ayar için bu yaklaşımı kullanabilirsiniz :

  • Listesini gsettingsgeçici bir dosyaya aktarın:

    gsettings list-recursively > /tmp/gsettings.before
  • Değişikliklerinizi gnome-tweak-tool(veya unity-control-center) yaparak yapın ;

  • Listesini gsettingsbaşka bir geçici dosyaya aktarın:

    gsettings list-recursively > /tmp/gsettings.after
  • İki dosyayı ( .before ve .after ) karşılaştırın ve farkları alın:

    diff /tmp/gsettings.before /tmp/gsettings.after | grep '[>|<]'

    Veya karşılaştırın ve yalnızca yeni değerleri ( kaynak ) alın:

    diff /tmp/gsettings.before /tmp/gsettings.after | grep -Po '> \K.*'

    Veya yalnızca yeni değerleri karşılaştırın ve alın, ancak gsettings setkomut dosyasının bir listesini hazırlamak için satırların başlangıcını değiştirin , bu komut dosyası doğrudan komut dosyanızda ( kaynak ) depolanır :

    diff /tmp/gsettings.before /tmp/gsettings.after | sed 's/>/gsettings set/;tx;d;:x'

Tüm bu komutları bir satırdan çalıştırabilirsiniz (veya işlemi otomatikleştirmek için bir komut dosyası oluşturabilirsiniz):

gsettings list-recursively > /tmp/gsettings.before; gnome-tweak-tool; gsettings list-recursively > /tmp/gsettings.after; diff /tmp/gsettings.before /tmp/gsettings.after | grep '[>|<]'

Bir sonraki demo Ubuntu 16.04 içinde oluşturuldu. Yaklaşımın 17.10 içerisinde de işe yarayacağını düşünüyorum:

resim açıklamasını buraya girin


Güncelleme: Ubuntu 17.10 içinde kolay bir yol buldum:

resim açıklamasını buraya girin


1
Çok faydalı, teşekkürler, böyle tüm ayarları atabileceğinizi bilmiyordum.
st01

1
Bu mükemmel, çok teşekkür ederim! Şimdi gsettings'de uğraştığımda eski yapılandırmamı geri yükleyebilirim.
Nicholas Stommel
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.