Jak zmienić preferencje profilu terminal-gnome za pomocą dconf lub gsettings?

16

Po aktualizacji z Ubuntu 14.10 do 15.10 wydaje się, że zmiana gnome-terminalpreferencji przy użyciu gconftool-2nie jest już obsługiwana. Wydaje mi się, że ten problem dotyczy migracji Gconf do GSettings .

Teraz chciałbym zmienić niektóre z moich starych skryptów (ponieważ są one uszkodzone w Ubuntu 15.10), aby działały z dconf/ gesettingszamiast gconftool-2.

Na przykład w systemie Ubuntu 14.10 ( gnome-terminalwersja 3.6.2) mogłem ustawić liczbę kolumn w Defaultprofilu, używając:

$ gconftool-2 --set /apps/gnome-terminal/profiles/Default/default_size_columns \
            --type=int 140
$ gconftool-2 --set /apps/gnome-terminal/profiles/Default/use_custom_default_size \
            --type=bool true

Teraz w Ubuntu 15.10, pisząc:

$ dconf list /org/gnome/terminal/legacy/

daje

profiles:/
schema-version

natomiast

$ gsettings list-relocatable-schemas | grep Terminal

daje

org.gnome.Terminal.SettingsList
org.gnome.Terminal.Legacy.Profile
org.gnome.Terminal.Legacy.Keybindings

Powyższy wynik myli mnie:

Nadal w Ubuntu 15.10 (przy użyciu gnome-terminalwersji 3.16.2), jeśli uruchomię:

$ gsettings list-keys org.gnome.Terminal.Legacy.Profile:/ | grep default

Dostaję:

default-size-rows
default-show-menubar
default-size-columns

więc istnieje default-size-columnsklucz, który mógłby (?) odpowiadać default_size_columnskluczowi w Ubuntu 14.10, ale nie ma use-custom-default-sizeklucza odpowiadającego use_custom_default_sizekluczowi w Ubuntu 14.10. To mnie też myli.

Ponadto, jeśli spróbuję uruchomić:

$ gsettings set org.gnome.Terminal.Legacy.Profile:/ default-size-columns 150

i otwórz nowe gnome-terminalustawienie default-size-columnswydaje się nie mieć wpływu, ponieważ terminal wciąż otwiera się z 80 kolumnami.

Håkon Hægland
źródło
Proszę zaktualizować do wersji 15.10, ponieważ zarówno 14.10, jak i 15.04 już osiągnęły kres życia.
Bajt Dowódca
@ByteCommander Uaktualniłem do wersji 15.10, a pytanie pozostaje takie samo wrt 15.10 jak dla 15.04. Znalazłem również rozwiązanie, które chciałbym opublikować. Jak można ponownie otworzyć to pytanie, aby opublikować rozwiązanie?
Håkon Hægland

Odpowiedzi:

19

Składnia używana z gsettingspoleceniem jest opisana w Często zadawanych pytaniach dotyczących terminala GNOME .

Najpierw musisz znaleźć identyfikator profilu, który chcesz zmienić. Na przykład identyfikator gnome-terminalprofilu domyślnego można uzyskać ze schematu org.gnome.Terminal.ProfilesList.

Następnie zmień żądane klucze ścieżki /org/gnome/terminal/legacy/profiles:/:UUID/schematu org.gnome.Terminal.Legacy.Profile:dla tego profilu.

Zwróć uwagę na dwukropki na powyższej ścieżce. Nie zadziała, jeśli zostaną pominięte.

Oto skrypt, który używa powyższego do ustawienia default-size-columns domyślnego profilu:

profile=$(gsettings get org.gnome.Terminal.ProfilesList default)
profile=${profile:1:-1} # remove leading and trailing single quotes
gsettings set "org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:$profile/" default-size-columns 150
Håkon Hægland
źródło
1
Fajnie, że sam znalazłeś rozwiązanie. Nie zapomnij zaakceptować własnej odpowiedzi.
Bajt Dowódca
1
W rzeczywistości możesz podać numer profilu zamiast jego identyfikatora, więc polecenie będzie po prostu:gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:0/ default-size-columns 150
Anatoli
1
Lub jeszcze krócej:gsettings set org.gnome.Terminal.Legacy.Profile:/:0/ default-size-columns 150
Anatoli,
Twoja odpowiedź uratowała mi dzień! Jak poznałeś składnię „org.gnome.Terminal.Legacy.Profile: / org / gnome / terminal / legacy / profile: /: ... /”? Znalazłeś to w dokumentacji? Utknąłem w tym, że nie zdawałem sobie sprawy, że po „Profilu” powinno następować „/ org / gnome / ...”.
yaobin,