Wie wende ich automatisch dasselbe Thema für alle neuen Benutzer auf Chromium an?

7

Hinweis: Wenn ich Chromium sage, meine ich sowohl Google Chrome als auch Chromium.

Was ich über das Anwenden der gleichen Einstellungen für Anwendungen auf alle neuen Benutzer weiß, ist entweder das Definieren einer Schema- / Überschreibungsdatei in /usr/share/glib-2.0/schemasoder das Kopieren des Ordners / der Datei in /etc/skel.

Wenn ein neuer Benutzer erstellt wird, erhält dieser Benutzer automatisch die Datei gsettings / config.

Meine Frage lautet also: Wie wende ich ein Thema auf Chromium an und lasse es für alle Benutzer gelten? Verwendet Chromium gsettingsTypeinstellungen? Wenn ja, welche?

Verwendet Chromium Konfigurationsdateien (z. B. in ~/.config)? Wenn ja, welche?

Ich verwende entweder Gnome oder Unity - aber ich vermute, dass jede Antwort für jede Desktop-Umgebung gilt.


Ich habe diesen Link für ein ähnliches Q für Chrome gefunden - aber für Windows.

Gilt das irgendwie für Ubuntu ... und auch für Chrom?


Ein kurzes Gespräch im allgemeinen Raum ... /etc/chromium-browser/customizationswurde erwähnt - dies kann also einen Hinweis darauf geben, was für Themen möglicherweise getan werden muss.

Fossfreiheit
quelle
Es sollte sich in ~.config/google-chrome/Default/und befinden, ~.config/chromium/Default/da es sich um eine Benutzerkonfiguration handelt (/ etc / ist global).
Rinzwind

Antworten:

5

Benutzerkonfigurationsverzeichnis

Chromium verwendet ein ~/.configVerzeichnis ( ~/.config/chromium- ~/.config/google-chromefür Google Chrome), das mithilfe eines Befehlszeilenflags angepasst werden kann:

~ man google-chrome | perl -00 -ne 'print if /\.config/'
       --user-data-dir=DIR
              Specifies  the directory that user data (your "profile") is kept
              in.  Defaults to ~/.config/google-chrome .   Separate  instances
              of  Google  Chrome  must  use  separate  user  data directories;
              repeated invocations of google-chrome  will  reuse  an  existing
              process for a given user data directory.

Der einfachste Weg, eine neue Konfiguration zu erstellen, besteht darin, eine dieser Konfigurationen mit auszuführen --user-dir=newconfig, nach Bedarf anzupassen und dann über das newconfigVerzeichnis nach /etc/skel/.config/chromiumund zu kopieren /etc/skel/.config/google-chrome.


Verwaltungsrichtlinien

Der letzte, aber vielleicht flexibelste Weg wäre die Verwendung /etc/chromium-browser/policies(oder /etc/opt/chrome/policiesfür Google Chrome). Die Chromium- Dokumentation für Administratoren enthält Seiten für Windows, Mac und Linux .

Unter Linux verwenden Sie im Wesentlichen JSON-Dateien in policies/managedund policies/recommended. Das managedVerzeichnis ist für Einstellungen vorgesehen, die erzwungen werden - der Benutzer kann sie nicht ändern.

Ich werde nur das Beispiel für Linux anpassen:

$ cat /etc/chromium/policies/managed/test_policy.json
{
  "HomepageLocation": "www.chromium.org",
  "HomepageIsNewTabPage": false
}

Auf Chromium ist die Homepage jetzt gesperrt www.chromium.org. Entsprechend recommendedkann der Benutzer seine Homepage ändern , wenn sich die Datei darin befunden hat.

Die aktuelle Liste der Richtlinien finden Sie hier . Es listet Richtlinien, ihre Beschreibungen und Beispielwerte auf.

Zum Installieren eines Themas oder einer Erweiterung kann die ExtensionInstallForcelistRichtlinie verwendet werden. Es kann nicht recommendednur sein managed:

$ cat /etc/chromium/policies/managed/test_policy.json
{
    "ExtensionInstallForcelist": [
        "gighmmpiobklfepjocnamgkkbiglidom;https://clients2.google.com/service/update2/crx",
        "jeonacmfdmkgfmmdejlinolgjomhcbmh;https://clients2.google.com/service/update2/crx",
    ],
}

Dadurch werden die Adblock-Erweiterung und das Thema GData Centers 1 Council Bluffs, Iowa, installiert .


/etc/chromium-browser/customizations

/etc/chromium-browser/customizations/00-example scheint darauf hinzudeuten, dass es nur zum Erkennen von Plugins und zum Hinzufügen von Befehlszeilenflags verwendet werden kann:

$ cat etc/chromium-browser/customizations/00-example
##   Register plugins this way.  The two parameters are yours to fill.

#discover_registration /path/to/plugin/plugin.info library-name

##   A way to influence the running. This is read-write for you. Please
##   Append only.

#CHROMIUM_FLAGS="${CHROMIUM_FLAGS} --option=value"

##   Read-only variables guaranteed to be set, with example values.

#APPNAME='chromium-browser'
#BUILD_DIST='Ubuntu 14.04'
#DESKTOP_SESSION='ubuntu'
#LIBDIR='/usr/lib/chromium-browser'
#UPSTREAM_VERSION='34.0.1847.131'

(Das kommt 48.0.2564.116-0ubuntu0.14.04.1.1111übrigens von allem, was das UPSTREAM_VERSIONvermuten lässt. Und aus irgendeinem Grund hat es nur das 32-Bit-Paket unter Ubuntu 14.04, nicht das 64-Bit -Paket .)

Die Liste der Befehlszeilenflags für Chromium finden Sie laut Chromium-Website unter http://peter.sh/experiments/chromium-command-line-switches/ .

discover_registrationscheint kein ausführbarer Befehl zu sein - es könnte eine Shell-Funktion sein, aber ich bin geneigt zu vermuten, dass diese Dateien nicht von unseren normalen Shells analysiert werden. Auf jeden Fall denke ich, dass diese Methode nicht vielseitig genug ist, und es ist schwierig zu überschreiben, wenn Sie nur möchten, dass Benutzer mit einigen Einstellungen beginnen und diese später ändern. Und die Flags scheinen keine Möglichkeit zu bieten, ein Thema oder eine Erweiterung zu installieren.


GSettings

Ein kurzer Scan dconf-editorauf meinem System zeigt an, dass Google Chrome es nicht verwendet. Weder noch, scheinbar (dank @Serg) , tut Chrom.


Fazit

Insgesamt kann eine der beiden ersten Methoden verwendet werden, und Google Chrome unterstützt alles, was Chromium tut, jedoch mit unterschiedlichen Pfaden. Wo Chromium hat /etc/chromium-browserund hat ~/.config/chromium, hat Google Chrome /etc/opt/chromeund ~/.config/google-chrome. Die erste Methode ist für eine einmalige Initialisierung in Ordnung, für alles andere wäre die zweite Methode erforderlich.

Da nicht alle Einstellungen mithilfe von Richtlinien konfiguriert werden können, müssen Sie möglicherweise beide verwenden.

muru
quelle