Jak wyłączyć rozszerzenia Chrome bez wyłączania ich na wielu zsynchronizowanych urządzeniach

132

Używam Chrome na 4 różnych stacjach roboczych i mam rozszerzenia zsynchronizowane na wszystkich z nich.

Problem, który mam, polega na tym, że jedno z rozszerzeń ( Gesty dla Chrome ) działa świetnie, jeśli masz prawdziwą mysz, ale na gładziku w Ubuntu po prostu przeszkadza.

Jeśli wyłączę go na komputerze Ubuntu, zostanie on wyłączony we wszystkich instalacjach Chrome z powodu wewnętrznego mechanizmu synchronizacji .

P: Czy mogę selektywnie wyłączyć rozszerzenie tylko na jednym komputerze?

rosnąć
źródło
4
Kliknij menu Ustawienia Chrome -> Ustawienia zaawansowane -> Zaawansowane ustawienia synchronizacji -> Wybierz elementy do synchronizacji -> Odznacz rozszerzenia synchronizacji -> OK. Następnie odpowiednio ustaw rozszerzenia na każdym urządzeniu. Pracowałem dla mnie nad wersją Chrome 41.
Eric Leschinski,
Wiem, że to pytanie jest bardzo stare, miałem podobny problem, ale chciałem wyłączyć wszystkie rozszerzenia tylko na jednym komputerze, ale nadal mam chrom zapamiętaj moje poświadczenia, użyj drugiego konta Gmail
Pierre

Odpowiedzi:

28

Ze względów bezpieczeństwa Chrome nie synchronizuje żadnego rozszerzenia zawierającego wtyczkę NPAPI.

Źródło

Co to jest wtyczka NPAPI?

Kod działający we wtyczce NPAPI ma pełne uprawnienia bieżącego użytkownika i nie jest w żaden sposób izolowany ani chroniony przed złośliwym dostępem przez Google Chrome. Należy zachować szczególną ostrożność podczas przetwarzania danych wejściowych z niezaufanych źródeł, na przykład podczas pracy ze skryptami treści lub XMLHttpRequest.

Źródło

Teoria

Jeśli zmodyfikujemy Twoje rozszerzenie w taki sposób, że Chrome rozpozna je za pomocą NPAPI, wszystko będzie dobrze.

Jak

  1. Po pierwsze, potrzebujesz manekina .dll z dowolnego rozszerzenia NPAPI, takiego jak Screen Capture (firmy Google) . W międzyczasie rozszerzenie zostało usunięte ze sklepu Google Play, ponieważ Google zdecydowało się zrezygnować z obsługi NPAPI . Ale to nie ma znaczenia dla naszego scenariusza. Na szczęście oficjalna wiki Screen Capture wciąż zawiera kod źródłowy. Nie potrzebujemy pełnego rozszerzenia, tylko plik NPAPI .dll screen_capture.dll. Pobierz bezpośrednio

  2. Po drugie, przejdź do folderu rozszerzeń, którego nie należy synchronizować. W twoim przypadku Gesty dla Chrome .
    ..\profile\Default\Extensions\jpkfjicglakibpenojifdiepckckakgk\1.12.1_0

  3. Zmodyfikuj plik manifest.json i dodaj wtyczkę NPAPI zgodnie z opisem na Stackoverflow lub jeszcze lepiej na developer.chrome.com

    {
      "name": "My extension",
      ...
      "plugins": [
        { "path": "screen_capture.dll" }
      ],
      ...
    }
    
  4. Zmodyfikuj plik background.html swojego rozszerzenia, którego nie chcesz synchronizować, opisane również w odpowiedzi Stackoverflow powyżej.

    <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. W przyszłości może być konieczne ponowne włączenie obsługi NPAPI przezchrome://flags/#enable-npapi

Stąd jesteś sam. Nie wiem wystarczająco dużo o kodowaniu rozszerzeń.
Oto dlaczego to teoria :)

nixda
źródło
1
Podoba mi się to ze względu na pomysłowość. Jedynym minusem jest to, że muszę zarejestrować bibliotekę DLL dla każdego komputera z systemem Windows, na którym chcę uruchomić rozszerzenie, ale nie jest to zbyt wielka praca jednorazowa.
growse
1
Dlaczego nie edytujesz plików raz i skopiujesz cały folder rozszerzenia na FTP, pamięć USB, Dropbox lub cokolwiek innego na każdy komputer PC i laptop? Czy z pytania wynika więcej niż 2 laptopy i 2 komputery PC? .DLL to plik, który musisz skopiować do tego folderu rozszerzenia. Następnie musisz edytować 2 pliki. To teoretycznie.
nixda
3
Google zdecydował się porzucić obsługę NPAPI dla przyszłych wersji.
nixda
2
To nie jest dobry sposób - albo blokuje aktualizacje, albo DLL jest usuwany, gdy rozszerzenie dostaje aktualizację.
Izzy
1
Adres URL przykładowego ddl jest zepsuty
Ferrybig,
79

Być może nie tego szukasz, ale możesz spróbować. Otwórz menu ustawień w Chrome, klikając ikonę trzech linii / klucza w prawym rogu. Teraz otwórz Zaawansowane ustawienia synchronizacji.

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Teraz wybierz opcję wybierz elementy do synchronizacji, a następnie odznacz opcję Rozszerzenia . Teraz Twoje rozszerzenie nie będzie synchronizowane z innymi komputerami.

avirk
źródło
53
Konieczność ręcznego synchronizowania 19 rozszerzeń w wielu instancjach, tylko dlatego, że nie chcę synchronizować pojedynczego rozszerzenia w wielu instancjach, wydaje się trochę złym handlem.
growse
5
Jak już mówiłem, nie jest to to, czego szukasz , a AFAIK nie ma jeszcze rozwiązania dla pojedynczego rozszerzenia. Jeśli ktoś będzie wiedział, przyjdzie i ci pomoże. Jestem również ciekawy, czy to możliwe. Najlepszym sposobem ręcznej synchronizacji rozszerzenia jest utworzenie folderu z zakładkami i po prostu wstawienie zakładek do ulubionych rozszerzeń.
avirk
6
Jeśli masz tylko kilka zainstalowanych rozszerzeń, jest to zdecydowanie bardziej przyjazne dla użytkownika rozwiązanie niż wszystkie inne proponowane hacki.
jturcotte
4
Z mojego punktu widzenia nie jest to idealne, ale lepsze niż wygłupianie się z kopiowaniem bibliotek DLL do nowych folderów. +1
stevemidgley
4
Dobry pomysł, jeśli chcesz synchronizować rozszerzeń można włączyć go tymczasowo, a następnie ponownie wyłączyć rozszerzenia raz, zamiast każdego pojedynczego czasu .
Jamie Pate,
54

Możesz zainstalować rozszerzenie, które chcesz jako rozszerzenie lokalne.

  1. Znajdź identyfikator rozszerzenia, które chcesz od chrome://extensionsz trybu dewelopera włączoną .

  2. Przejdź do katalogu instalacyjnego Google. Windows: %localappdata%\Google\Chrome\User Data\Default\Extensions\{Extension_ID} \{Version_Number}

  3. Zapisz gdzieś .. Może katalog użytkowników?

  4. Wróć do chrome://extensionsz włączonym trybem programisty i naciśnij Load unpacked extension. I przejdź do nowej kopii rozszerzenia.

  5. Powinieneś zobaczyć, że masz teraz rozszerzenie dwa razy. Wyłącz prawdziwe.

Mówię Wyłącz, ponieważ to podejście ma wadę, ponieważ tracisz automatyczne aktualizacje i będziesz musiał powtarzać powyższe kroki za każdym razem, gdy będą aktualizowane.

Jeśli nie masz pewności, która jest prawdziwa i twoja nowa kopia, sprawdź pod tagiem ID opcję Załadowano z: {Path_To_Your_Copy}

WORMSS
źródło
2
Zdecydowanie najlepsza odpowiedź.
FreeAsInBeer
2
O wiele prostsze niż najlepsza odpowiedź ... która jest oczywiście bardzo pouczająca
mardlin,
1
Emm, jeśli zainstaluję rozszerzenie w trybie programisty, zawsze dostaję wyskakujące okienko przy starcie, które prosi mnie o wyłączenie tego rozszerzenia
nixda
Hmm, musiało to być coś, co Google dodał do stabilnego chromu.
WORMSS,
7

Jedną rzeczą, która działa dla mnie, jest ręczne zakończenie procesu wtyczki za każdym razem, gdy Chrome zaczyna korzystać z Menedżera zadań Chrome. Można to osiągnąć w następujący sposób:

  • (na Macu) Menu> Więcej narzędzi> Menedżer zadań
  • (na PC) Kliknij prawym przyciskiem myszy pasek menu> Menedżer zadań lub Shift+Esc

Następnie po prostu kliknij rozszerzenie, którego nie chcesz uruchamiać, i kliknij „Zakończ proces”.

W pracy mam dwa komputery i nie chcę, aby na obu pojawiały się Hangouty Google. Jedyną złą rzeczą jest to, że musisz to robić przy każdym uruchomieniu Chrome.

wd4ever
źródło
1
Uważam to rozwiązanie za bardziej bolesne niż inne ... ale mimo to jest rozwiązaniem
konzo
5

To nie ma być zdecydowana odpowiedź, ale kolejna perspektywa zbadania problemu.

System synchronizacji Chrome nie pozwala w żaden sposób, dostosowując oceny za pomocą jednego komputera; I każde rozwiązanie z dodatkowymi rozszerzeniami, które działa z flagą disable/enabletwojego rozszerzenia, zawiedzie!

Ponieważ inna maszyna, która jednocześnie korzysta z tego samego konta użytkownika, odzwierciedli zmianę.

Sposobem na uniknięcie takiej wymiany informacji jest to, jak dobrze zaproponował @avirk wyłączenie synchronizacji na rozszerzeniach, ale wydaje się, że to rozwiązanie nie jest odpowiednie dla twojego środowiska.

Następnie zaproponuję dwa kolejne pomysły, które można zastosować w celu uzyskania wymaganego rezultatu:

  • Utworzenie drugiego konta pozwoli ci dostosować własną grupę rozszerzeń (tego rozwiązania używam osobiście, aby mieć inny profil ScriptSafe na różnych komputerach)

Druga propozycja jest nieco mniej konwencjonalna i można ją uznać za zły hack , ale opiszę ją pod każdym względem, abyś miał większy wybór.

  • Przejdź do folderu danej wtyczki: .config/google-chrome/Default/Extensions/jpkfjicglakibpenojifdiepckckakgk/versionfolder i usuwa zawartość do pliku „background_page.html”
    „Ten przykład można zastosować tylko do wtyczki: Gestures for Chrome (TM)”

Generuje to wyjątek podczas ładowania strony, który nie pozwoli na prawidłowe uruchomienie kodu zdarzenia w twoim rozszerzeniu. Będziemy więc mieli lokalną blokadę dla tego rozszerzenia.

Pamiętaj, że za każdym razem, gdy otrzymasz nową aktualizację rozszerzenia, musisz powtórzyć tę operację w folderze nowej wersji.

RTOSkit
źródło
1
Przyszedłem tutaj, aby edytować mój post, a ty już opublikowałeś moje inne rozwiązanie, które bardzo łatwo jest utworzyć nowe konto / profil do korzystania z Chrome :)
avirk
Jest to dla mnie bardzo przydatne, ponieważ w moim konkretnym przypadku mam rozszerzenie, które jest uszkodzone tylko na moim Chromebooku, więc muszę je tam wyłączyć, ale chciałbym przetestować nową wersję, gdy wyjdzie, aby sprawdzić, czy ma ten sam błąd.
Curt J. Sampson,
Druga opcja brzmi jak najlepsze rozwiązanie, ponieważ wyłącza tylko jedno niechciane rozszerzenie dla jednego komputera, dokładnie o to prosił plakat.
Dan Jones
5

Innym rozwiązaniem, które znalazłem, jest użycie mechanizmu zasad zawartego w Chrome. Google daje możliwość zarządzania rozszerzeniami za pomocą zasad grupy. Umieszczając niechciane rozszerzenie na czarnej liście, skutecznie usunęliśmy synchronizację tego komputera. Możemy wykorzystać tę wiedzę, ustawiając te opcje ręcznie.

Oto krótki opis komputerów z systemem Windows:

  1. Otwórz Edytor rejestru (regedit)
  2. Przejdź do HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Google \ Chrome - utwórz go, jeśli nie istnieje
  3. Utwórz nowy klucz o nazwie „ExtensionInstallBlacklist”
  4. Dodaj nową wartość (REG_SZ) i nazwij ją „1” - jeśli już istnieje, nazwij ją „2” i tak dalej
  5. Ustaw dane dla tej wartości na identyfikator rozszerzenia, które chcesz usunąć

W ten sposób rozszerzenie zostanie usunięte przy następnym uruchomieniu Chrome. Wpływa to tylko na komputer, na którym jesteś. Sprawdziłem to, mając czystą instalację Chrome. Po zalogowaniu załadowano wszystkie rozszerzenia - szczególnie te, które umieściliśmy na czarnej liście na drugim komputerze.

Dokumentację tego ustawienia zasad można znaleźć tutaj, pokazując również ustawienia dla różnych systemów operacyjnych:

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

Harry_Pootha
źródło
Ta odpowiedź wskazała mi właściwy kierunek. W systemie Linux utwórz plik /etc/opt/chrome/policies/managed/policies.jsoni dodaj następującą treść:{ "ExtensionSettings": { "PUT EXTENSION ID HERE": { "installation_mode": "blocked" } }
Sherbang
4

To dość stare pytanie, ale wciąż mnie denerwuje. Oto moje dwa centy.

W tym celu możesz użyć innego rozszerzenia. Ja sam przełączałem się między tymi dwoma wtyczkami: „ Extensions Manager (aka Switcher)

Przydatne menedżer rozszerzeń, aplikacji i motywów. Lekki menedżer wyskakujących okienek, aby szybko, łatwo włączać, wyłączać, odinstalowywać rozszerzenia, aplikacje

lub „ SimpleExtManager

Proste menu umożliwiające włączanie, wyłączanie i dostęp do opcji rozszerzeń. Kolejny dodatek do serii „Simple”. Tym razem jest to menedżer rozszerzeń.

Dodatki zawarte:

  • podstawowa funkcja do włączania / wyłączania, dostępu do opcji i odinstalowywania rozszerzeń poprzez wyskakujące okienko
  • dostosuj wyskakujące okienko
  • możliwość tworzenia grup rozszerzeń
  • włącz / wyłącz grupy rozszerzeń za pomocą menu podręcznego i menu podręcznego
  • strona wydarzenia włączona

Lubię oba rozszerzenia, ale nie udało mi się powiedzieć, które z nich najbardziej mi się podobają. Oba są w fazie rozwoju i są często aktualizowane.

Squazz
źródło
2
Podaj zasadnicze części odpowiedzi z linku (linków) referencyjnych, ponieważ odpowiedź może stać się nieważna w przypadku zmiany połączonych stron.
DavidPostill
1
Nie wiedziałem, co cytować ze stron wtyczek, ponieważ są to sugestie dotyczące rozszerzenia, a nie odpowiedź, ale mam nadzieję, że moja edycja jest w porządku.
Squazz
1
Wystarczy sprawdzić ... żadne z tych rozszerzeń nie pozwala kontrolować rozszerzeń dla poszczególnych komputerów, prawda? Po prostu przyspieszają proces ciągłego wyłączania rozszerzenia na jednym komputerze i włączania go ponownie na innym?
apraetor
Dokładnie @apraetor, aby całkowicie wybrać, które z nich zostaną zainstalowane, jest zarezerwowane wyłącznie dla przeglądarki Chrome, a przeglądarka synchronizuje te dane
Squazz 27.04.17
3

Oto proste rozwiązanie (biorąc pod uwagę, że masz 19 rozszerzeń i masz problem tylko z jednym lub dwoma): po pierwszej instalacji na każdym komputerze:

  1. Zezwól Google Chrome na wykonanie pierwszej synchronizacji.
  2. Po instalacji przejdź do ustawień i wyłącz synchronizację rozszerzeń.
  3. Usuń żądane rozszerzenie.

Zasadniczo zachowuje to wszystkie rozszerzenia w twoim użytkowniku i możesz ręcznie edytować je dla każdego komputera.

Chociaż muszę przyznać, że poprzednie odpowiedzi były bardziej interesujące, to rozwiązuje twój problem bez dużej wiedzy technicznej.

Twoje zdrowie!

TVDN
źródło
1

Zamierzałem skomentować doskonałą odpowiedź Harry_Pootha, która bardzo mi pomogła, ale nie jestem tu zbyt aktywna :)

Istnieje więc alternatywne podejście, które nie polega na nawigacji w rejestrach za pomocą Regedit.

Na stronie https://support.google.com/chrome/a/answer/187202?hl=pl znajdują się instrukcje krok po kroku dotyczące stosowania szerokiej gamy zasad administracyjnych w Chrome, w tym zasad czarnej listy

Aby zobaczyć całą listę zasad Chrome, zobacz folder common / w pliku zip szablonów zasad (dostępny we wszystkich obsługiwanych językach).

Dwa najważniejsze kroki dla systemu Windows:

Krok 1: Pobierz szablony zasad Chrome

Szablony Windows, a także wspólną dokumentację zasad dla wszystkich systemów operacyjnych, można znaleźć tutaj:

Plik zip szablonów i dokumentacji Google Chrome.

Krok 2: Otwórz pobrany szablon ADM lub ADMX

  • Przejdź do Start> Uruchom: gpedit.msc. (Lub uruchom gpedit.msc w swoim terminalu)
  • Przejdź do Zasady komputera lokalnego> Konfiguracja komputera> Szablony administracyjne.
  • Kliknij prawym przyciskiem myszy Szablony administracyjne i wybierz Dodaj / Usuń szablony.
  • Dodaj szablon chrome.adm za pomocą okna dialogowego.
  • Po zakończeniu folder Google / Google Chrome pojawi się w obszarze Szablony administracyjne, jeśli jeszcze go nie ma. Jeśli dodałeś szablon ADM w systemie Windows 7 lub 10, pojawi się on w Klasycznych szablonach administracyjnych / Google / Google Chrome.

W przypadku systemów Linux i Mac na stronie Google znajdują się dodatkowe przewodniki, więc najlepiej się tam przejść.

Ostatnim krokiem jest włączenie zasady i określenie jej zawartości . Najlepszym sposobem na to, co znalazłem, jest przejście do chrome://policy/nowej karty i zaznaczenie „Pokaż zasady bez ustawionej wartości”; spowoduje to wyświetlenie wszystkich dostępnych zasad, które można ustawić za pomocą edytora zasad grupy, a każda z nich będzie prowadzić do jego dokumentacji.

Zauważ, że w edytorze GP zasada, której szukasz, używa długiej nazwy z wymienionej dokumentacji. Dlatego ustaw „Konfiguruj czarną listę instalacji rozszerzeń” na Włączone , kliknij Pokaż w GUI ustawień zasad i dodaj tam żądane identyfikatory.

Możesz łatwo znaleźć identyfikatory rozszerzeń, przechodząc do chrome://extensions/i zaznaczając „Tryb programisty” w prawym górnym rogu.

Jeszcze raz dziękuję Harry_Pootha za jego odpowiedź, która pomogła mi to wszystko znaleźć i wykorzystać.

Tibia
źródło
0

Prawdopodobnie poręczne rozszerzenie, które wyświetla listę zainstalowanych rozszerzeń ( https://github.com/rbrahul/chrome-extension-manager ) i pozwala wybrać to, które chcesz wyłączyć i zachować tę listę w pamięci przeglądarki. Tak, wyłączy się globalnie, ale w innym miejscu to samo rozszerzenie użyje innej listy, co umożliwi włączenie różnych rozszerzeń.

Cóż, jeśli używasz Chrome w tym samym czasie na innym komputerze (powiedzmy, że masz na komputerze Mac, laptop, komputer stacjonarny z uruchomioną maszyną wirtualną), może to być bałagan ...

Może zamiast wyłączyć zabijanie procesów, ale nie jestem pewien, czy można to zrobić programowo.

emaV
źródło
Przeczytaj Jak polecać oprogramowanie, aby uzyskać minimalne wymagane informacje i inne sugestie dotyczące polecania oprogramowania superużytkownikowi. Aby Twoja odpowiedź była użyteczna, nawet jeśli zawarte linki zostały zerwane, edytuj te szczegóły w swojej odpowiedzi.
Twisty Impersonator