Como mudar as preferências de perfil do gnome-terminal usando dconf ou gsettings?

16

Após a atualização do Ubuntu 14.10 para 15.10, parece que a alteração das gnome-terminalpreferências usando gconftool-2não é mais suportada. Eu acho que esse problema está relacionado à migração do Gconf para o GSettings .

Agora, gostaria de mudar alguns dos meus scripts antigos (já que eles estão quebrados no Ubuntu 15.10) para trabalhar com dconf / em gesettingsvez de gconftool-2.

Como exemplo, no Ubuntu 14.10 ( gnome-terminalversão 3.6.2) eu poderia definir o número de colunas no Defaultperfil usando:

$ 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

Agora, no Ubuntu 15.10, digite:

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

profiles:/
schema-version

enquanto que

$ gsettings list-relocatable-schemas | grep Terminal

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

A saída acima me confunde:

Ainda no Ubuntu 15.10 (usando a gnome-terminalversão 3.16.2), se eu executar:

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

Eu recebo:

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

então existe uma default-size-columnschave que pode (?) corresponder à default_size_columnschave no Ubuntu 14.10, mas não existe uma use-custom-default-sizechave correspondente à use_custom_default_sizechave no Ubuntu 14.10. Isso também me confunde.

Além disso, se eu tentar executar:

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

e abra um novo, gnome-terminala configuração de default-size-columnsparece não ter efeito, já que o terminal ainda abre com 80 colunas.

Håkon Hægland
fonte
Atualize para 15.10 primeiro, pois 14.10 e 15.04 já atingiram o fim da vida útil.
Byte Commander
@ByteCommander Atualizei para 15.10 agora e a pergunta permanece a mesma wrt 15.10 que para 15.04. Eu também encontrei uma solução que gostaria de postar. Como essa pergunta pode ser reaberta, para que eu possa postar a solução?
Håkon Hægland

Respostas:

19

A sintaxe a ser usada com o gsettingscomando está descrita nas Perguntas freqüentes do terminal GNOME .

Primeiro, você precisa descobrir o identificador do perfil que deseja alterar. Por exemplo, o identificador do gnome-terminalperfil padrão pode ser obtido no esquema org.gnome.Terminal.ProfilesList.

Altere as chaves desejadas do caminho /org/gnome/terminal/legacy/profiles:/:UUID/do esquema org.gnome.Terminal.Legacy.Profile:para esse perfil.

Observe os dois pontos no caminho acima. Não funcionará se eles forem omitidos.

Aqui está um script que usa o acima para definir default-size-columnso perfil padrão:

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
fonte
11
Legal que você tenha encontrado a solução. Não se esqueça de aceitar sua própria resposta.
Byte Commander
11
Na verdade, você pode especificar o número do perfil em vez do seu ID, por isso o comando seria apenas:gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:0/ default-size-columns 150
Anatoli
11
Ou ainda mais curto:gsettings set org.gnome.Terminal.Legacy.Profile:/:0/ default-size-columns 150
Anatoli
Sua resposta salvou meu dia! Como você descobriu a sintaxe de "org.gnome.Terminal.Legacy.Profile: / org / gnome / terminal / legacy / profiles: /: ... /"? Você o encontrou na documentação? O que me deixou preso foi que eu não percebi que "Perfil" deveria ser seguido por "/ org / gnome / ...".
yaobin