Как отключить расширения Chrome, не отключая их на нескольких синхронизированных устройствах


132

Я использую Chrome на 4 разных рабочих станциях, и мои расширения синхронизируются на всех них.

У меня проблема в том, что одно из расширений ( Gestures for Chrome ) прекрасно работает, если у вас есть настоящая мышь, но на трекпаде в Ubuntu оно просто мешает.

Если я отключу его на компьютере с Ubuntu, он отключится во всех установках Chrome из-за его внутреннего механизма синхронизации .

В: Могу ли я выборочно отключить расширение только на одной машине?


4
Щелкните раскрывающийся список «Настройки Chrome» -> «Дополнительные параметры» -> «Дополнительные параметры синхронизации» -> Выберите, что синхронизировать -> Снимите флажок «Расширения синхронизации» -> «ОК». Затем установите соответствующие расширения на каждом устройстве. Работал для меня на Chrome версии 41.
Эрик Лещинский

Я знаю, что этот вопрос очень старый, у меня была похожая проблема, но я хотел отключить все расширения только на одной машине, но Chrome запомнил мои учетные данные, использовал дополнительную учетную запись gmail
Pierre

Ответы:


28

Исходя из соображений безопасности, Chrome не синхронизирует расширения, содержащие плагин NPAPI.

Источник

Что такое плагин NPAPI?

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

Источник

теория

Если мы изменим ваше расширение таким образом, чтобы Chrome распознал расширение с помощью NPAPI, у вас все будет в порядке.

Как

  1. Во-первых, вам нужен фиктивный .dll из любого расширения NPAPI, например, Screen Capture (от Google) . Тем временем расширение было удалено из магазина Google Play, потому что Google решил отказаться от поддержки NPAPI . Но это не имеет значения для нашего сценария. К счастью, официальная вики Screen Capture по- прежнему содержит исходный код. Нам не нужно полное расширение, только NPAPI .dll screen_capture.dll. Загрузите это непосредственно

  2. Во-вторых, перейдите в папку расширений, которые не должны быть синхронизированы. В твоем случае Жесты для Хрома .
    ..\profile\Default\Extensions\jpkfjicglakibpenojifdiepckckakgk\1.12.1_0

  3. Измените файл manifest.json и добавьте плагин NPAPI, как описано в Stackoverflow или, что еще лучше, на developer.chrome.com.

    {
      "name": "My extension",
      ...
      "plugins": [
        { "path": "screen_capture.dll" }
      ],
      ...
    }
    
  4. Измените файл background.html вашего расширения, которое вы не хотите синхронизировать, также описано в ответе Stackoverflow выше.

    <embed type="application/x-my-extension" id="pluginId">
    <script>
      var plugin = document.getElementById("pluginId");
      var result = plugin.myPluginMethod();  // call a method in your plugin
      console.log("my plugin returned: " + result);
    </script>
    
  5. Это может быть необходимо повторно включить поддержку NPAPI в будущем с помощьюchrome://flags/#enable-npapi

Отсюда вы по своему усмотрению. Я не знаю достаточно о расширении кодирования.
Вот почему это теория :)


1
Мне нравится это за его изобретательность. Единственным недостатком является то, что мне нужно будет зарегистрировать dll для каждой машины Windows, на которой я хочу запустить расширение, но это не слишком много работы как разовая.
вырасти

1
Почему бы вам не отредактировать файлы один раз и не скопировать всю папку расширения для FTP, USB-накопителя, Dropbox или чего-либо еще на каждый ПК и ноутбук? Есть больше, чем ваши 2 ноутбука и 2 ПК от вопроса? .DLL - это файл, который вы должны скопировать в эту папку расширения. После этого вам нужно отредактировать 2 файла. Вот и все в теории.
Никда

3
Что ж, Google решил отказаться от поддержки NPAPI для будущих версий.
Никсда

2
Это не очень хороший способ - он либо блокирует обновления, либо DLL удаляется, когда расширение получает обновление ..
Иззи

1
URL к примеру DDL сломан
Ferrybig

79

Может быть, это не то, что вы ищете, но вы можете попробовать это. Откройте меню настроек в Chrome, щелкнув значок с тремя линиями / гаечный ключ в правом углу. Теперь откройте расширенные настройки синхронизации.

введите описание изображения здесь

введите описание изображения здесь

Теперь выберите опцию, выберите, что синхронизировать, а затем снимите опцию Расширения . Теперь ваше расширение не будет синхронизироваться с другими ПК.


53
Необходимость синхронизировать 19 расширений между несколькими экземплярами вручную, просто потому, что я не хочу синхронизировать одно расширение между несколькими экземплярами, кажется плохой сделкой.
вырасти

5
Как я уже говорил, это не то, что вы ищете , и AFAIK пока не существует решения для одного расширения. Если кто-то узнает, придет и поможет вам. Мне также любопытно увидеть это, если это возможно. Лучший способ синхронизировать расширение вручную сделать в папке с закладками и просто поставить закладки своих любимых расширений своими.
avirk

6
Если у вас установлено всего несколько расширений, это определенно более удобное решение, чем все другие предлагаемые хаки.
Jturcotte

4
Не идеально, но лучше, чем копаться в копировании DLL в новые папки, с моей точки зрения. +1
stevemidgley

4
Хорошая идея, если вам нужно синхронизировать расширения можно временно включить, а затем вновь отключить расширения один раз, а не каждый единого времени .
Джейми Пэйт

54

Вы можете установить желаемое расширение как локальное расширение.

  1. Найдите идентификатор нужного вам расширения chrome://extensionsс включенным режимом разработчика .

  2. Перейдите в каталог установки Google. Windows: %localappdata%\Google\Chrome\User Data\Default\Extensions\{Extension_ID} \{Version_Number}

  3. Сохраните это где-нибудь .. Каталог пользователей может быть?

  4. Вернуться chrome://extensionsв режим разработчика включен и нажмите Load unpacked extension. И перейдите к новой копии расширения.

  5. Вы должны увидеть, что у вас есть расширение дважды. Отключите реальное.

Я говорю Отключить, потому что в этом подходе есть плохая сторона, и вы теряете автоматические обновления, и вам придется повторять вышеописанные шаги снова и снова каждый раз, когда он обновляется.

Если вы не уверены, что является реальной и вашей новой копией, посмотрите под тегом идентификатора для Loaded from: {Path_To_Your_Copy}


2
Безусловно лучший ответ.
FreeAsInBeer

2
Намного проще, чем главный ответ ... что, очевидно, очень информативно
mardlin

1
Хм, если я устанавливаю расширение в режиме разработчика, я всегда получаю всплывающее окно при запуске, которое просит меня отключить это расширение
nixda

Хм, должно быть, это что-то, что Google добавил в chrome stable.
WORMSS

7

Одна вещь, которая работает для меня, - это ручное отключение процесса для плагина при каждом запуске Chrome с помощью диспетчера задач Chrome. Это может быть достигнуто следующим образом:

  • (на Mac) Меню> Дополнительные инструменты> Диспетчер задач
  • (на ПК) Щелкните правой кнопкой мыши по строке меню> Диспетчер задач или Shift+Esc

Затем просто нажмите на расширение, которое вы не хотите запускать, и нажмите «Завершить процесс».

На работе у меня два компьютера, и я не хочу, чтобы на обоих появлялись чаты Google. Единственная плохая вещь - вы должны делать это каждый раз, когда запускаете Chrome.


1
Я нахожу это решение более болезненным, чем другие ... но, тем не менее, это решение
Конзо

5

Это не должно быть решительным ответом, но другой перспективой, чтобы исследовать проблему.

Система синхронизации Chrome никоим образом не позволяет настраивать рейтинги на одной машине; И любое решение с дополнительными расширениями, которое работает с флагом disable/enableв вашем расширении, будет неудачным!

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

Способ избежать такого обмена информацией заключается в том, насколько хорошо он предложил @avirk отключить синхронизацию по расширениям, но кажется, что это решение не подходит для вашей среды.

Затем я предложу еще две идеи, которые могут быть приняты для получения требуемого результата:

  • Создание второй учетной записи позволит вам настроить собственную группу расширений (это решение, которое я лично использую, чтобы иметь разные профили ScriptSafe на разных компьютерах)

Другое предложение немного менее условно и может считаться плохим взломом , но я опишу его во всех отношениях, чтобы у вас был более широкий выбор.

  • Перейдите в папку соответствующего плагина: .config/google-chrome/Default/Extensions/jpkfjicglakibpenojifdiepckckakgk/versionfolder и очистите его содержимое в файле "background_page.html".
    "Этот пример может быть применен только к плагину: Gestures for Chrome (TM)"

Это создает исключение при загрузке страницы, которое не позволит правильно выполнить код события в вашем расширении. Таким образом, у нас будет локальное отключение для этого расширения.

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


1
Я пришел сюда, чтобы отредактировать свое сообщение, и вы уже опубликовали мое другое решение, в котором очень легко создать другую учетную запись / профиль для использования Chrome :)
avirk

Это на самом деле очень удобно для меня, потому что в моем конкретном случае у меня есть расширение, которое сломано только на моем Chromebook, и поэтому должно быть отключено там, но я хотел бы проверить новую версию, когда она выйдет, чтобы увидеть, если у него та же ошибка.
Курт Дж. Сэмпсон

Второй вариант звучит как лучшее решение, так как он отключает только одно нежелательное расширение для одного компьютера, о чем и просил автор.
Дэн Джонс

5

Другое решение, которое я нашел, - это использование механизма политик, включенного в Chrome. Google дает возможность управлять расширениями через групповые политики. Поместив нежелательное расширение в черный список, мы фактически удалили синхронизацию для этого ПК. Мы можем использовать эти знания, установив эти параметры вручную.

Вот краткое описание для ПК с Windows:

  1. Откройте редактор реестра (regedit)
  2. Перейдите к HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Google \ Chrome - создайте его, если он не существует
  3. Создайте новый ключ с именем «ExtensionInstallBlacklist»
  4. Добавьте новое значение (REG_SZ) и назовите его «1» - если оно уже существует, назовите его «2» и т. Д.
  5. Установите для данных этого значения идентификатор добавочного номера, который вы хотите удалить.

При этом расширение будет удалено при следующем запуске Chrome. Это влияет только на ПК, на котором вы находитесь. Я проверил это, имея чистую установку Chrome. После входа в систему все расширения были загружены - особенно тот, который мы поместили в черный список на другом ПК.

Документацию по этому параметру политики можно найти здесь, также показывая настройки для разных операционных систем:

http://dev.chromium.org/administrators/policy-list-3#ExtensionInstallBlacklist


Этот ответ указал мне правильное направление. В linux создайте файл /etc/opt/chrome/policies/managed/policies.jsonи добавьте следующее содержимое:{ "ExtensionSettings": { "PUT EXTENSION ID HERE": { "installation_mode": "blocked" } }
sherbang

4

Это довольно старый вопрос, но он все еще беспокоит меня. Итак, вот мои два цента.

Вы можете использовать другое расширение для этого. Я сам переключался между этими двумя плагинами: « Менеджер расширений (он же Switcher) »

Удобный менеджер расширений, приложений и тем. Легкий всплывающий менеджер, чтобы включить, отключить, удалить расширения, приложения быстро и легко.

или " SimpleExtManager "

Простое меню для включения, отключения и доступа к параметрам расширений. Еще одно дополнение к серии «Простые». На этот раз его менеджер по расширению.

Особенности включают в себя:

  • основная функция для включения / выключения, доступа к параметрам и удаления расширений через всплывающее окно
  • настроить всплывающее окно
  • возможность создавать группы расширений
  • включить / отключить группы расширений через всплывающее меню и контекстное меню
  • страница события включена

Мне нравятся оба расширения, но я не дошел до того, что могу сказать, какое из них мне нравится больше всего. Оба они проходят большую разработку и часто обновляются.


2
Пожалуйста, процитируйте основные части ответа по ссылочной ссылке (ссылкам), так как ответ может стать недействительным, если связанные страницы изменятся.
ДэвидПостилл

1
Я не знал, что цитировать на страницах плагинов, так как они являются предложениями по расширению и на самом деле не являются ответом, но я надеюсь, что мои изменения в порядке.
Squazz

1
Просто чтобы проверить ... ни одно из этих расширений не позволяет вам управлять расширениями для каждой машины, верно? Они просто ускоряют процесс непрерывного выключения расширения на одной машине и повторного включения на другой?
apraetor

Исключительно @apraetor функциональность, позволяющая полностью выбирать, какие из них установлены, зарезервирована исключительно для браузера Chrome, и браузер синхронизирует эти данные
Squazz,

3

Вот простое решение (учитывая, что у вас есть 19 расширений, и у вас есть проблема только с одним или двумя): после первой установки на каждом отдельном компьютере:

  1. Разрешить Google Chrome выполнить первоначальную синхронизацию.
  2. После установки зайдите в настройки и отключите синхронизацию расширений.
  3. Удалите расширение, которое вы хотите.

Это в основном сохраняет все расширения в вашем пользователе, и вы можете вручную редактировать их для каждого отдельного компьютера.

Хотя я должен признать, что предыдущие ответы были более интересными, это решает вашу проблему без особых технических знаний.

Ура!


1

Я собирался прокомментировать отличный ответ Harry_Pootha, который мне очень помог, но я здесь не очень активен :)

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

На странице https://support.google.com/chrome/a/answer/187202?hl=ru они предлагают пошаговое руководство о том, как применить к Chrome широкий спектр политик администратора, включая политику черного списка.

Чтобы просмотреть весь список политик Chrome, просмотрите папку common / в zip-файле шаблонов политик (доступно на всех поддерживаемых языках).

2 наиболее важных шага для Windows:

Шаг 1. Загрузите шаблоны политик Chrome.

Шаблоны Windows, а также документацию по общей политике для всех операционных систем можно найти здесь:

Zip-файл шаблонов и документации Google Chrome.

Шаг 2. Откройте загруженный шаблон ADM или ADMX.

  • Перейдите к Пуску> Выполнить: gpedit.msc. (Или запустите gpedit.msc в вашем терминале)
  • Перейдите к Политике локального компьютера> Конфигурация компьютера> Административные шаблоны.
  • Щелкните правой кнопкой мыши Административные шаблоны и выберите Добавить / удалить шаблоны.
  • Добавьте шаблон chrome.adm через диалоговое окно.
  • По завершении папка Google / Google Chrome появится в разделе «Административные шаблоны», если ее там еще нет. Если вы добавили шаблон ADM в Windows 7 или 10, он появится в разделе Классические административные шаблоны / Google / Google Chrome.

Для Linux и Mac есть дополнительные руководства, связанные на странице Google, поэтому лучше следовать там.

Последний шаг - активировать политику и указать ее содержимое . Лучший способ сделать это, как я обнаружил, - перейти на chrome://policy/новую вкладку и отметить «Показать политики без заданного значения»; это покажет все доступные политики, которые можно установить с помощью редактора групповой политики, и каждая из них ссылается на свою документацию.

Обратите внимание, что в редакторе GP нужная политика использует длинное имя, найденное в указанной документации. Таким образом, установите «Настроить черный список установки расширений» на « Включено» , нажмите « Показать» в графическом интерфейсе настройки политики и добавьте туда нужные идентификаторы.

Вы можете легко найти идентификаторы расширения, выбрав chrome://extensions/«Режим разработчика» в правом верхнем углу.

Еще раз спасибо Harry_Pootha за его ответ, который помог мне найти все это и использовать его.


0

Возможно, это удобное расширение, которое перечисляет установленные расширения ( https://github.com/rbrahul/chrome-extension-manager ) и позволяет вам выбрать то, которое вы хотите отключить, и сохранить этот список в хранилище браузера. Да, он будет отключен глобально, но в другом месте это же расширение будет использовать другой список, что позволяет использовать другие расширения.

Ну, если вы используете Chrome одновременно на другой машине (скажем, на вашем столе у ​​вас есть Mac, ноутбук, рабочий стол, возможно, с какой-то виртуальной машиной), это может быть беспорядок ...

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


Пожалуйста, прочтите Как рекомендовать программное обеспечение для получения минимально необходимой информации, а также другие советы о том, как рекомендовать программное обеспечение для Super User. Чтобы ваш ответ был полезным, даже если он содержит разрывы ссылок, измените эти данные в своем ответе.
Twisty Impersonator
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.