Wie ändere ich die Profileinstellungen von gnome-terminal mit dconf oder gsettings?

16

Nach dem Upgrade von Ubuntu 14.10 auf 15.10 wird das Ändern von Einstellungen gnome-terminalmit scheinbar gconftool-2nicht mehr unterstützt. Ich denke, dieses Problem hängt mit der Migration von Gconf zu GSettings zusammen .

Jetzt möchte ich einige meiner alten Skripte (da sie in Ubuntu 15.10 fehlerhaft sind) ändern, um mit dconf/ gesettingsstatt mitzuarbeiten gconftool-2.

Beispielsweise gnome-terminalkonnte ich unter Ubuntu 14.10 ( Version 3.6.2) die Anzahl der Spalten im DefaultProfil folgendermaßen festlegen :

$ 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

In Ubuntu 15.10 geben Sie nun Folgendes ein:

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

gibt

profiles:/
schema-version

wohingegen

$ gsettings list-relocatable-schemas | grep Terminal

gibt

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

Die obige Ausgabe verwirrt mich:

Immer noch in Ubuntu 15.10 (mit gnome-terminalVersion 3.16.2), wenn ich Folgendes ausführe:

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

Ich bekomme:

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

Es gibt also einen default-size-columnsSchlüssel, der (?) dem default_size_columnsSchlüssel in Ubuntu 14.10 entsprechen könnte, aber es gibt keinen use-custom-default-sizeSchlüssel, der dem use_custom_default_sizeSchlüssel in Ubuntu 14.10 entspricht. Das verwirrt mich auch.

Auch wenn ich versuche zu laufen:

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

und öffne ein neues gnome-terminaldie einstellung von default-size-columnsscheint keine wirkung zu haben da das terminal noch mit 80 spalten öffnet ..

Håkon Hægland
quelle
Bitte aktualisieren Sie zuerst auf 15.10, da sowohl 14.10 als auch 15.04 bereits das Lebensende erreicht haben.
Byte Commander
@ByteCommander Ich habe jetzt ein Upgrade auf 15.10 durchgeführt und die Frage bleibt für 15.10 dieselbe wie für 15.04. Ich habe auch eine Lösung gefunden, die ich posten möchte. Wie kann diese Frage erneut geöffnet werden, damit ich die Lösung posten kann?
Håkon Hægland

Antworten:

18

Die mit dem gsettingsBefehl zu verwendende Syntax wird unter Häufig gestellte Fragen zum GNOME-Terminal beschrieben .

Zuerst müssen Sie die Kennung des Profils ermitteln, das Sie ändern möchten. Beispielsweise kann die Kennung des gnome-terminalStandardprofils aus dem Schema abgerufen werden org.gnome.Terminal.ProfilesList.

Ändern Sie dann die gewünschten Schlüssel für den Pfad /org/gnome/terminal/legacy/profiles:/:UUID/des Schemas org.gnome.Terminal.Legacy.Profile:für dieses Profil.

Beachten Sie die Doppelpunkte im obigen Pfad. Es wird nicht funktionieren, wenn sie weggelassen werden.

Hier ist ein Skript, das das oben genannte verwendet, um default-size-columnsdas Standardprofil festzulegen:

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
quelle
1
Cool, dass du die Lösung selbst gefunden hast. Vergiss nicht, deine eigene Antwort zu akzeptieren.
Byte Commander
1
Tatsächlich können Sie die Nummer des Profils anstelle seiner ID angeben. Der Befehl lautet also einfach:gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:0/ default-size-columns 150
Anatoli,
1
Oder noch kürzer:gsettings set org.gnome.Terminal.Legacy.Profile:/:0/ default-size-columns 150
Anatoli
Ihre Antwort hat meinen Tag gerettet! Wie haben Sie die Syntax von "org.gnome.Terminal.Legacy.Profile: / org / gnome / terminal / legacy / profiles: /: ... /" herausgefunden? Hast du es in der Dokumentation gefunden? Was mich festhielt, war, dass ich nicht wusste, dass "Profile" von "/ org / gnome / ..." gefolgt werden sollte.
Yaobin