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?
google-chrome-extensions
rosnąć
źródło
źródło
Odpowiedzi:
Źródło
Co to jest wtyczka NPAPI?
Ź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
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średnioPo 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
Zmodyfikuj plik manifest.json i dodaj wtyczkę NPAPI zgodnie z opisem na Stackoverflow lub jeszcze lepiej na developer.chrome.com
Zmodyfikuj plik background.html swojego rozszerzenia, którego nie chcesz synchronizować, opisane również w odpowiedzi Stackoverflow powyżej.
W przyszłości może być konieczne ponowne włączenie obsługi NPAPI przez
chrome://flags/#enable-npapi
Stąd jesteś sam. Nie wiem wystarczająco dużo o kodowaniu rozszerzeń.
Oto dlaczego to teoria :)
źródło
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.
Teraz wybierz opcję wybierz elementy do synchronizacji, a następnie odznacz opcję Rozszerzenia . Teraz Twoje rozszerzenie nie będzie synchronizowane z innymi komputerami.
źródło
Możesz zainstalować rozszerzenie, które chcesz jako rozszerzenie lokalne.
Znajdź identyfikator rozszerzenia, które chcesz od
chrome://extensions
z trybu dewelopera włączoną .Przejdź do katalogu instalacyjnego Google.
Windows: %localappdata%\Google\Chrome\User Data\Default\Extensions\
{Extension_ID}\
{Version_Number}Zapisz gdzieś .. Może katalog użytkowników?
Wróć do
chrome://extensions
z włączonym trybem programisty i naciśnijLoad unpacked extension
. I przejdź do nowej kopii rozszerzenia.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}
źródło
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:
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.
źródło
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/enable
twojego 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:
.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.
źródło
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:
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
źródło
/etc/opt/chrome/policies/managed/policies.json
i dodaj następującą treść:{ "ExtensionSettings": { "PUT EXTENSION ID HERE": { "installation_mode": "blocked" } }
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) ”
lub „ SimpleExtManager ”
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.
źródło
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:
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!
źródło
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
Dwa najważniejsze kroki dla systemu Windows:
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ć.
źródło
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.
źródło