it-swarm.com.de

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

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

Was ich über das Anwenden der gleichen Einstellungen für Anwendungen auf alle neuen Benutzer weiß, ist, entweder eine Schema-/Überschreibungsdatei in /usr/share/glib-2.0/schemas zu definieren oder den Ordner/die Datei in /etc/skel zu kopieren.

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

Meine Frage lautet also: Wie wende ich ein Design auf Chromium an und wie wird es auf alle Benutzer angewendet? Verwendet Chromium Einstellungen des Typs gsettings? Wenn ja, welche?

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

Ich verwende entweder Gnome oder Unity - aber ich vermute, dass eine Antwort auf jede Desktop-Umgebung zutrifft.


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

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


Nachdem ich mich im allgemeinen Raum kurz unterhalten hatte ... /etc/chromium-browser/customizations wurde erwähnt - dies kann einen Hinweis darauf geben, was für Themen möglicherweise getan werden muss.

7
fossfreedom

Benutzerkonfigurationsverzeichnis

Chromium verwendet ein ~/.config -Verzeichnis (~/.config/chromium - ~/.config/google-chrome fü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.

Die einfachste Möglichkeit, eine neue Konfiguration zu erstellen, besteht darin, eine dieser Optionen mit --user-dir=newconfig auszuführen, sie nach Bedarf anzupassen und dann das Verzeichnis newconfig in /etc/skel/.config/chromium und /etc/skel/.config/google-chrome zu kopieren.


Verwaltungsrichtlinien

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

Im Wesentlichen verwenden Sie unter Linux JSON-Dateien in policies/managed und policies/recommended. Das Verzeichnis managed ist für Einstellungen gedacht, die erzwungen werden. Der Benutzer kann sie nicht ändern.

Ich werde nur das angegebene Beispiel für Linux anpassen:

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

Auf Chromium ist die Startseite jetzt mit www.chromium.org gesperrt. Wenn sich die Datei in recommended befunden hat, kann der Benutzer entsprechend seine Homepage ändern.

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

Um ein Design oder eine Erweiterung zu installieren, kann die Richtlinie ExtensionInstallForcelist verwendet werden. Es kann nicht recommended sein, nur 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",
    ],
}

Dies installiert die Adblock Extension und das GData Centers 1 Council Bluffs, Iowa Theme.


/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 ist übrigens von 48.0.2564.116-0ubuntu0.14.04.1.1111, ungeachtet dessen, was der UPSTREAM_VERSION anzeigt. Und aus irgendeinem Grund nur das 32-Bit-Paket unter Ubuntu 14.04 hat es, nicht die 64-bit.)

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

discover_registration scheint kein ausführbarer Befehl zu sein - es könnte sich um eine Shell-Funktion handeln, aber ich bin der Meinung, dass diese Dateien nicht von unseren normalen Shells analysiert werden . In jedem Fall denke ich, dass diese Methode nicht vielseitig genug ist, und ist es schwierig zu überschreiben, wenn Sie nur möchten, dass Benutzer mit einigen Einstellungen beginnen, während Lassen Sie sie diese später ändern. Und die Flags bieten anscheinend keine Möglichkeit, ein Thema oder eine Erweiterung zu installieren.


GSettings

Ein schneller Scan von dconf-editor auf meinem System zeigt an, dass Google Chrome es nicht verwendet. Weder noch Chrom (danke @Serg) .


Fazit

Insgesamt kann eine der beiden ersten Methoden verwendet werden, und Google Chrome unterstützt alle Funktionen von Chromium, jedoch mit unterschiedlichen Pfaden. Wo Chromium /etc/chromium-browser und ~/.config/chromium hat, hat Google Chrome /etc/opt/chrome und ~/.config/google-chrome. Die erste Methode ist für eine einmalige Initialisierung in Ordnung, für alle weiteren ist die zweite Methode erforderlich.

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

4
muru