Как автоматически применить одну и ту же тему к Chromium для всех новых пользователей?

Примечание: когда я говорю «хром», я имею в виду и Google Chrome, и хром.

Что я знаю о применении одинаковых настроек для приложений ко всем новым пользователям, так это либо определение файла схемы / переопределения в /usr/share/glib-2.0/schemas, либо копирование папки / файла в /etc/skel.

Когда создается новый пользователь, ему автоматически предоставляется файл gsettings / config.

Итак, мой вопрос - как применить тему к Chromium и сделать так, чтобы она применялась ко всем пользователям? Использует ли Chromium настройки типа gsettings? Если да, то какие?

Использует ли Chromium файлы конфигурации (например, в ~/.config)? Если да, то какие?

Я использую Gnome или Unity, но я подозреваю, что любой ответ будет применим к любой среде рабочего стола.


Я нашел эту ссылку для аналогичного Q для Chrome - но для Windows.

Относится ли это как-то к Ubuntu ..., а также к Chromium?


Быстро поболтать в общей комнате ... /etc/chromium-browser/customizations было упомянуто - так что это может дать подсказку на то, что, возможно, должно быть сделано для тем.

7
задан 16 March 2016 в 02:17

1 ответ

Пользовательский каталог конфигурации

Хром действительно использует a ~/.config каталог (~/.config/chromium - ~/.config/google-chrome для Google Chrome), настраиваемое использование флага командной строки:

~ 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.

Так, самый простой способ создать новую конфигурацию состоит в том, чтобы выполнить любой из них с --user-dir=newconfig, настройте по мере необходимости, затем скопируйте по newconfig каталог к /etc/skel/.config/chromium и /etc/skel/.config/google-chrome.


Административные принципы

Последнее, но возможно самое гибкое, путь состоял бы в том, чтобы использовать /etc/chromium-browser/policies (или /etc/opt/chrome/policies для Google Chrome). Документация Хрома для Администраторов имеет страницы для Windows, Mac и Linux.

По существу, на Linux, Вы используете файлы JSON в policies/managed и policies/recommended. managed каталог для настроек, которые осуществляются - пользователь не может изменить их.

Я просто адаптирую пример, данный к Linux:

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

Теперь, на Хроме, домашняя страница заблокирована к www.chromium.org. Соответственно, если файл был в recommended, пользователь может изменить их домашнюю страницу.

Текущий список политик доступен здесь. Это перечисляет политики, их описания и значения в качестве примера.

Устанавливать тему или расширение, ExtensionInstallForcelist политика может использоваться. Это не может быть recommended, только 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",
    ],
}

Это установит Расширение Adblock и Центры GData 1 Каунсил-Блафс, тема Айовы.


/etc/chromium-browser/customizations

/etc/chromium-browser/customizations/00-example кажется, указывает, что это может только использоваться для обнаружения плагинов и добавления флагов командной строки:

$ 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'

(Это от 48.0.2564.116-0ubuntu0.14.04.1.1111, между прочим, несмотря на какой UPSTREAM_VERSION мог бы указать. И по некоторым причинам, только 32-разрядный пакет на Ubuntu 14.04 имеет его, не 64-разрядный.)

Список флагов командной строки для Хрома может быть найден по http://peter.sh/experiments/chromium-command-line-switches/, согласно
веб-сайт Хрома.

discover_registration кажется, не исполняемая команда - это могла бы быть функция оболочки, но я склонен подозревать, что эти файлы не анализируются нашими нормальными оболочками. В любом случае я думаю, что этот метод не достаточно универсален, и трудно переопределить, если все, что Вы хотите, для пользователей для начинаний с некоторыми настройками, позволяя им изменить их позже. И флаги, кажется, не дают возможность установки темы или расширения.


GSettings

Быстрое сканирование dconf-editor в моей системе указывает, что Google Chrome не использует ее. Ни один, по-видимому (благодарит @Serg), не делает Хрома.


Заключение

Все сказали, любой из первых двух методов может использоваться, и поддержки Google Chrome, которые любой Хром делает, но с различными путями. Где Хром имеет /etc/chromium-browser и ~/.config/chromium, Google Chrome имеет /etc/opt/chrome и ~/.config/google-chrome, соответственно. Первый метод хорошо для одноразовой инициализации, что-либо больше потребовало бы второго метода.

С тех пор не все настройки могут быть настроены с помощью политик, Вам, возможно, придется использовать их обоих.

4
ответ дан 16 March 2016 в 12:17
  • 1
    Когда я переключаюсь на GT740M, я не могу запустить Блендер. Я должен перезапустить ПК и когда я повторно ввожу настройки NVIDIA, он автоматически обнаруживает INTEL VGA вместо NVIDIA – Mehman Camalov 8 June 2017 в 13:11

Другие вопросы по тегам:

Похожие вопросы: