Come disabilitare le estensioni di Chrome senza disabilitarle su più dispositivi sincronizzati


132

Uso Chrome su 4 diverse stazioni di lavoro e le mie estensioni sono sincronizzate su tutte.

Il problema che ho è che una delle estensioni ( Gestures for Chrome ) funziona alla grande se hai un mouse vero, ma su un trackpad su Ubuntu, si mette in mezzo.

Se lo disabilito sulla macchina Ubuntu, viene disabilitato su tutte le installazioni di Chrome a causa del suo meccanismo di sincronizzazione interno .

D: Posso disabilitare selettivamente un'estensione su un solo computer?


4
Fai clic sul menu a discesa Impostazioni di Chrome -> Impostazioni avanzate -> Impostazioni di sincronizzazione avanzate -> Scegli cosa sincronizzare -> Deseleziona Estensioni di sincronizzazione -> OK. Quindi impostare le estensioni in modo appropriato su ciascun dispositivo. Ha funzionato per me sulla versione 41 di Chrome.
Eric Leschinski il

So che questa domanda è molto vecchia, ho avuto un problema simile, ma volevo disabilitare tutte le estensioni solo una macchina ma ho ancora Chrome ricorda le mie credenziali, utilizza un account Gmail secondario
Pierre

Risposte:


28

In base ai problemi di sicurezza, Chrome non sincronizza alcuna estensione che contiene un plug-in NPAPI.

fonte

Che cos'è un plug-in NPAPI?

Il codice in esecuzione in un plug-in NPAPI ha tutte le autorizzazioni dell'utente corrente e non è in alcun modo sottoposto a sandbox o schermato da input dannosi da parte di Google Chrome. È necessario prestare particolare attenzione quando si elaborano input da fonti non attendibili, ad esempio quando si lavora con script di contenuto o XMLHttpRequest.

fonte

Teoria

Se modifichiamo la tua estensione in modo che Chrome riconosca l'estensione utilizzando NPAPI, dovresti andare bene.

Come

  1. Innanzitutto, è necessario un dll fittizio da qualsiasi estensione NPAPI come Screen Capture (di Google) . Nel frattempo l'estensione è stata rimossa dal Google Play Store perché Google ha deciso di abbandonare il supporto NPAPI . Ma questo non ha importanza per il nostro scenario. Fortunatamente la wiki ufficiale di Screen Capture contiene ancora il codice sorgente. Non abbiamo bisogno dell'estensione completa, ma solo del NPAPI .dll screen_capture.dll. Scaricalo direttamente

  2. In secondo luogo, vai alla cartella delle estensioni che non deve essere sincronizzata. Nel tuo caso Gesti per Chrome .
    ..\profile\Default\Extensions\jpkfjicglakibpenojifdiepckckakgk\1.12.1_0

  3. Modifica il file manifest.json e aggiungi il plug-in NPAPI come descritto su Stackoverflow o ancora meglio su developer.chrome.com

    {
      "name": "My extension",
      ...
      "plugins": [
        { "path": "screen_capture.dll" }
      ],
      ...
    }
    
  4. Modifica il file background.html della tua estensione che non desideri sincronizzare, descritto anche nella risposta Stackoverflow sopra.

    <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. Esso può essere necessario riattivare il supporto NPAPI in futuro viachrome://flags/#enable-npapi

Da qui sei da solo. Non ne so abbastanza sulla codifica delle estensioni.
Ecco perché è una teoria :)


1
Mi piace questo per la sua ingegnosità. L'unico aspetto negativo è che avrei bisogno di registrare la dll per ogni macchina Windows su cui voglio eseguire l'estensione, ma questo non è troppo lavoro come una tantum.
Crescere il

1
Perché non modifichi i file una volta e copi l'intera cartella di estensione per FTP, chiavetta USB, Dropbox o altro su ogni PC e laptop? Ci sono più di 2 laptop e 2 PC dalla domanda? .DLL è un file che devi copiare nella cartella di estensione. Dopodiché devi modificare 2 file. Questo è in teoria.
nixda,

3
Bene, Google ha deciso di abbandonare il supporto NPAPI per le versioni future.
nixda,

2
Questo non è un buon modo - blocca gli aggiornamenti o la DLL viene rimossa quando l'estensione ottiene un aggiornamento ..
Izzy

1
L'URL dell'esempio ddl è rotto
Ferrybig,

79

Potrebbe non essere questo ciò che stai cercando, ma puoi provarlo. Apri il menu delle impostazioni in Chrome facendo clic sull'icona a tre linee / chiave inglese nell'angolo destro. Ora apri le Impostazioni di sincronizzazione avanzate.

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Ora seleziona l'opzione scegli cosa sincronizzare e quindi deseleziona l' opzione Estensioni . Ora l'estensione non si sincronizzerà con altri PC.


53
Dover mantenere manualmente 19 estensioni sincronizzate su più istanze, solo perché non voglio sincronizzare una singola estensione su più istanze sembra essere un po 'un brutto affare.
Crescere il

5
Come ti ho detto, questo non è ciò che stai cercando e AFAIK non ha ancora una soluzione per singola estensione. Se qualcuno lo sapesse verrà e ti aiuterà. Sono anche curioso di vederlo se è possibile. Il modo migliore per sincronizzare manualmente l'estensione crea una cartella con segnalibri e metti semplicemente il segnalibro delle tue estensioni preferite.
Avatar

6
Quando hai installato solo poche estensioni, questa è sicuramente una soluzione più user-friendly rispetto a tutti gli altri hack proposti.
jturcotte,

4
Non è l'ideale, ma è meglio che scherzare copiando le DLL in nuove cartelle, dal mio punto di vista. +1
stevemidgley,

4
Buona idea, se è necessario sincronizzare le estensioni, è possibile abilitarle temporaneamente, quindi disabilitare nuovamente le estensioni una volta, anziché ogni singola volta .
Jamie Pate,

54

È possibile installare l'estensione desiderata come estensione locale.

  1. Trova l'ID dell'estensione desiderata chrome://extensionscon la modalità sviluppatore abilitata .

  2. Vai alla directory di installazione di Google. Windows: %localappdata%\Google\Chrome\User Data\Default\Extensions\{Extension_ID} \{Version_Number}

  3. Salvalo da qualche parte .. Directory utente forse?

  4. Tornare a chrome://extensionscon la modalità sviluppatore abilitata e premere Load unpacked extension. E vai alla nuova copia dell'estensione.

  5. Dovresti vedere che hai l'estensione due volte ora. Disabilita quella vera.

Dico Disabilita perché c'è un lato negativo di questo approccio e cioè perdi gli aggiornamenti automatici e dovrai ripetere i passaggi sopra ripetuti ogni volta che si aggiorna.

Se non sei sicuro di quale sia la vera e la tua nuova copia, cerca sotto il tag ID Caricato da: {Path_To_Your_Copy}


2
Di gran lunga la migliore risposta.
FreeAsInBeer,

2
Molto più semplice della risposta migliore ... che è ovviamente molto istruttiva
Mardlin l'

1
Ehm, se installo un'estensione in modalità sviluppatore, ricevo sempre un popup all'avvio che mi chiede di disabilitare questa estensione
nixda,

Hmm, deve essere stato qualcosa che Google ha aggiunto a Chrome stable.
WORMSS,

7

Una cosa che funziona per me è interrompere manualmente il processo per il plug-in ogni volta che Chrome inizia a utilizzare Chrome Task Manager. Ciò può essere ottenuto come segue:

  • (su Mac) Menu> Altri strumenti> Task Manager
  • (su PC) Fare clic con il tasto destro sulla barra dei menu> Task Manager o Shift+Esc

Quindi fare semplicemente clic sull'estensione che non si desidera eseguire e fare clic su "Termina processo".

Al lavoro ho due computer e non voglio che Hangouts di Google appaia su entrambi. L'unica cosa negativa è che devi farlo ogni volta che avvii Chrome.


1
Trovo questa soluzione più dolorosa di altre ... ma è comunque una soluzione
Konzo

5

Questa non deve essere una risposta risoluta, ma un'altra prospettiva per esaminare il problema.

Il sistema di sincronizzazione di Chrome non consente in alcun modo, personalizzando le classificazioni da una singola macchina; E qualsiasi soluzione con estensioni extra che funziona con la bandiera di disable/enablenella tua estensione, fallirà!

Perché un'altra macchina che utilizza contemporaneamente lo stesso account utente, rifletterà la modifica.

Un modo per evitare questo scambio di informazioni è quanto ha proposto @avirk di disabilitare la sincronizzazione sulle estensioni, ma sembra che questa soluzione non sia adatta al tuo ambiente.

Quindi proporrò altre due idee che possono essere adottate per ottenere il risultato richiesto:

  • Creare un secondo account ti consentirebbe di personalizzare il tuo gruppo di estensioni (questa soluzione che uso personalmente per avere un profilo diverso di ScriptSafe su macchine diverse)

L'altra proposta è un po 'meno convenzionale e potrebbe essere considerata un brutto hack , ma lo descriverò in tutti i modi, in modo da avere una scelta più ampia.

  • Passa alla cartella del plug-in in questione: .config/google-chrome/Default/Extensions/jpkfjicglakibpenojifdiepckckakgk/versionfolder e cancella il contenuto nel file "background_page.html"
    "Questo esempio può essere applicato solo al plug-in: Gestures for Chrome (TM)"

Ciò genera un'eccezione durante il caricamento di una pagina, che non consentirà il corretto funzionamento del codice evento nell'estensione. Quindi avremo la disabilitazione locale per questa estensione.

Ricorda che ogni volta che ricevi un nuovo aggiornamento per la tua estensione, devi ripetere questa operazione nella cartella della nuova versione.


1
Sono venuto qui per modificare il mio post e hai già pubblicato un'altra mia soluzione che è molto semplice creare un altro account / profilo per utilizzare Chrome :)
avirk

Questo in realtà è abbastanza utile per me perché nel mio caso particolare ho un'estensione che è rotta solo sul mio Chromebook, e quindi deve essere disabilitata lì, ma mi piacerebbe provare una nuova versione quando viene fuori per vedere se ha lo stesso bug.
Curt J. Sampson,

La seconda opzione sembra la soluzione migliore, in quanto disabilita solo la singola estensione indesiderata per un singolo computer, che è esattamente ciò che il poster stava chiedendo.
Dan Jones,

5

Un'altra soluzione che ho trovato è quella di utilizzare il meccanismo dei criteri incluso in Chrome. Google offre la possibilità di gestire le estensioni tramite criteri di gruppo. Inserendo l'estensione indesiderata nella lista nera abbiamo effettivamente rimosso la sincronizzazione per questo PC. Possiamo sfruttare questa conoscenza impostando queste opzioni manualmente.

Ecco una breve descrizione per PC Windows:

  1. Apri l'editor del registro (regedit)
  2. Passare a HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Google \ Chrome - crearlo se non esiste
  3. Crea una nuova chiave denominata "ExtensionInstallBlacklist"
  4. Aggiungi un nuovo valore (REG_SZ) e chiamalo "1" - se esiste già chiamalo "2" e così via
  5. Impostare i dati per questo valore sull'ID dell'estensione che si desidera rimuovere

In questo modo l'estensione verrà rimossa al prossimo avvio di Chrome. Questo riguarda solo il PC in cui ti trovi. Ho verificato questo con un'installazione pulita di Chrome. Dopo aver effettuato l'accesso sono state caricate tutte le estensioni, in particolare quella che abbiamo inserito nella lista nera sull'altro PC.

La documentazione per questa impostazione di criterio è disponibile qui, mostrando anche le impostazioni per diversi sistemi operativi:

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


Questa risposta mi ha indicato la giusta direzione. Su Linux, crea il file /etc/opt/chrome/policies/managed/policies.jsone aggiungi il seguente contenuto:{ "ExtensionSettings": { "PUT EXTENSION ID HERE": { "installation_mode": "blocked" } }
sherbang

4

Questa è una domanda piuttosto vecchia, ma ancora qualcosa che mi ha infastidito. Quindi ecco i miei due centesimi.

Potresti essere in grado di utilizzare un'altra estensione per farlo. Io stesso sono passato da questi due plugin: " Extensions Manager (aka Switcher) "

Pratica gestione di estensioni, applicazioni e temi. Gestore popup leggero per abilitare, disabilitare, disinstallare estensioni, applicazioni in modo rapido e semplice.

o " SimpleExtManager "

Un semplice menu per abilitare, disabilitare e accedere alle opzioni delle estensioni. Un'altra aggiunta alla serie "Semplice". Questa volta è un gestore di estensioni.

Le caratteristiche includono:

  • funzione di base per abilitare / disabilitare, accedere alle opzioni e disinstallare le estensioni tramite popup
  • personalizzare il popup
  • capacità di creare gruppi di estensioni
  • abilitare / disabilitare i gruppi di estensioni tramite popup e menu di scelta rapida
  • pagina dell'evento abilitata

Mi piacciono entrambe le estensioni, ma non sono arrivato a un punto in cui posso dire quale mi piace di più. Entrambi stanno attraversando molti sviluppi e vengono aggiornati frequentemente.


2
Si prega di citare le parti essenziali della risposta dai collegamenti di riferimento, in quanto la risposta può diventare non valida se le pagine collegate cambiano.
DavidPostill

1
Non sapevo cosa citare dalle pagine dei plugin, in quanto sono suggerimenti di estensione e non proprio una risposta, ma spero che la mia modifica sia ok.
Squazz,

1
Solo per verificare .. nessuna di queste estensioni ti consente di controllare le estensioni per macchina, giusto? Semplicemente accelerano il processo di spegnimento incessante di un'estensione mentre si è su una macchina e si riaccendono quando si è su un'altra?
apraetor,

Excatly @apraetor la funzionalità per scegliere completamente quali sono installati è riservata esclusivamente al browser Chrome e il browser sincronizza tali dati
Squazz

3

Ecco una soluzione semplice (considerando che hai 19 estensioni e hai solo un problema con una o due): dopo la prima installazione in ogni singolo computer:

  1. Consenti a Google Chrome di eseguire la sincronizzazione iniziale.
  2. Dopo l'installazione, vai alle impostazioni e disabilita la sincronizzazione dell'estensione.
  3. Rimuovi l'estensione che desideri.

Questo in pratica mantiene tutte le estensioni dell'utente e puoi modificarle manualmente per ogni singolo computer.

Anche se devo ammettere che le risposte precedenti erano più interessanti, questo risolve il tuo problema senza molta esperienza tecnologica.

Saluti!


1

Stavo per commentare l'eccellente risposta di Harry_Pootha che mi ha aiutato molto, ma non sono molto attivo qui :)

Quindi, esiste un approccio alternativo che non si basa sulla navigazione dei registri attraverso Regedit.

A https://support.google.com/chrome/a/answer/187202?hl=it , offrono una guida passo passo su come applicare una vasta gamma di criteri di amministrazione a Chrome, inclusa la politica sulla lista nera

Per visualizzare l'intero elenco dei criteri di Chrome, vedere la cartella common / nel file zip dei modelli di criteri (disponibile in tutte le lingue supportate).

I 2 passaggi più importanti, per Windows:

Passaggio 1: scarica i modelli di criteri di Chrome

I modelli di Windows, nonché la documentazione dei criteri comuni per tutti i sistemi operativi, sono disponibili qui:

File zip di modelli e documentazione di Google Chrome.

Passaggio 2: aprire il modello ADM o ADMX scaricato

  • Passare a Start> Esegui: gpedit.msc. (O esegui gpedit.msc nel tuo terminale)
  • Passare a Criteri del computer locale> Configurazione del computer> Modelli amministrativi.
  • Fare clic con il tasto destro del mouse su Modelli amministrativi e selezionare Aggiungi / Rimuovi modelli.
  • Aggiungi il modello chrome.adm tramite la finestra di dialogo.
  • Una volta completato, una cartella Google / Google Chrome verrà visualizzata in Modelli amministrativi se non è già presente. Se hai aggiunto il modello ADM su Windows 7 o 10, verrà visualizzato in Modelli amministrativi classici / Google / Google Chrome.

Per Linux e Mac ci sono guide aggiuntive collegate sulla pagina di Google, quindi è meglio seguire lì.

L'ultimo passaggio è abilitare effettivamente una politica e specificarne il contenuto . Il modo migliore per farlo che ho trovato è quello di andare chrome://policy/in una nuova scheda e selezionare "Mostra criteri senza valore impostato"; questo mostrerà tutti i criteri disponibili che possono essere impostati usando l'editor dei criteri di gruppo e ognuno di essi si collega alla sua documentazione.

Nota che, nell'editor GP, la politica che stai cercando utilizza il nome lungo trovato in detta documentazione. Pertanto, impostare "Configura blacklist installazione estensione" su Abilitato , fare clic su Mostra nella GUI delle impostazioni dei criteri e aggiungere lì gli ID desiderati.

Puoi facilmente trovare gli ID estensione andando su chrome://extensions/e selezionando "Modalità sviluppatore" nell'angolo in alto a destra.

Grazie ancora a Harry_Pootha per la sua risposta che mi ha aiutato a trovare tutto questo e ad usarlo.


0

Bene probabilmente un'estensione utile che elenca le estensioni installate ( https://github.com/rbrahul/chrome-extension-manager ) e ti consente di scegliere quella che vuoi disabilitare e mantenere quell'elenco nella memoria del browser funzionerebbe. Sì, verrà disabilitato a livello globale, ma in un'altra posizione la stessa estensione utilizzerà un elenco diverso abilitando così estensioni diverse.

Bene, se stai usando Chrome contemporaneamente su macchine diverse (diciamo sulla tua scrivania che hai un mac, un laptop, un desktop forse con qualche macchina virtuale in esecuzione) potrebbe essere un casino ...

Forse invece di disabilitare l'uccisione dei processi, ma non sono sicuro che sia possibile farlo a livello di programmazione.


Leggere Come raccomandare il software per informazioni minime richieste e altri suggerimenti su come raccomandare il software su Super User. Per mantenere utile la tua risposta anche in caso di interruzioni dei link inclusi, modifica questi dettagli nella tua risposta.
Twisty Impersonator,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.