Questão Como desativar as extensões do Google Chrome sem desativá-las em vários dispositivos sincronizados


Eu uso o Chrome em quatro estações de trabalho diferentes e tenho minhas extensões sincronizadas em todas elas.

O problema que tenho é que uma das extensões (Gestos para o Chrome) funciona muito bem se você tem um mouse real, mas em um trackpad no Ubuntu, ele só fica no caminho.

Se eu desabilitá-lo na máquina Ubuntu, ele fica desabilitado em todas as instalações do Chrome devido a sua mecanismo de sincronia interna.

Q: Posso desativar seletivamente uma extensão em apenas uma única máquina?


112


origem


Clique no menu suspenso Configurações do Chrome -> Configurações avançadas -> Configurações avançadas de sincronização -> Escolher o que sincronizar -> Desmarque as extensões de sincronização -> OK. Em seguida, defina as extensões adequadamente em cada dispositivo. Trabalhei para mim na versão 41 do Chrome. - Eric Leschinski


Respostas:


Com base na preocupação de segurança, o Chrome não sincroniza nenhuma extensão que contenha um plug-in NPAPI.

Fonte

O que é um plugin NPAPI?

O código em execução em um plug-in NPAPI tem as permissões totais do usuário atual e não é protegido por sandbox ou entrada maliciosa do Google Chrome de nenhuma maneira. Você deve ser especialmente cauteloso ao processar a entrada de fontes não confiáveis, como ao trabalhar com scripts de conteúdo ou XMLHttpRequest.

Fonte

Teoria

Se modificarmos sua extensão de modo que o Chrome reconheça a extensão usando NPAPI, tudo bem.

Como

  1. Primeiro, você precisa de um .dll falso qualquer extensão NPAPI gostar Captura de tela (pelo Google). A extensão foi removida da Google Play Store enquanto isso O Google decidiu abandonar o suporte do NPAPI. Mas isso não importa para o nosso cenário. Felizmente o wiki oficial de captura de tela ainda contém o código-fonte. Nós não precisamos da extensão completa, apenas o NPAPI .dll screen_capture.dll. Faça o download diretamente

  2. Em segundo lugar, vá para a pasta de extensões que não deve ser sincronizada. No seu caso Gestos para o Chrome.
    ..\profile\Default\Extensions\jpkfjicglakibpenojifdiepckckakgk\1.12.1_0

  3. Modifique o manifest.json arquivo e adicione o plugin NPAPI como descrito no Stackoverflow ou melhor ainda developer.chrome.com

    {
      "name": "My extension",
      ...
      "plugins": [
        { "path": "screen_capture.dll" }
      ],
      ...
    }
    
  4. Modifique o background.html arquivo da sua extensão que você não deseja sincronizar, também descrito na resposta do Stackoverflow acima.

    <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. isto pode ser necessário reativar o suporte a NPAPI no futuro via chrome://flags/#enable-npapi

A partir daqui você está sozinho. Eu não sei o suficiente sobre codificação de extensão.
Por isso é uma teoria :)


26



Eu gosto disso por sua ingenuidade. A única desvantagem é que eu preciso registrar a dll para cada máquina Windows na qual eu quero executar a extensão, mas isso não é muito trabalho como uma única. - growse
Por que você não edita os arquivos uma vez e copia toda a pasta de extensão por FTP, USB Stick, Dropbox ou o que for para cada PC e laptop? Há mais do que seus 2 laptops e 2 PCs da questão? O .DLL é um arquivo que você deve copiar para essa pasta de extensão. Depois disso você tem que editar 2 arquivos. Isso é em teoria. - nixda
Bem, o Google decidiu derrubar suporte a NPAPI para versões futuras. - nixda
Esta não é uma boa maneira - bloqueia atualizações ou a DLL é removida quando a extensão recebe uma atualização. - Izzy
A resposta que sugere a instalação de uma cópia da extensão como extensão local é uma solução MUITO melhor. - dossy


Pode ser que isso não é o que você está procurando, mas você pode tentar isso. Abra o configurações menu no Chrome, clicando no ícone de linha / chave no canto direito. Agora abra o Configurações avançadas de sincronização 

enter image description here 

enter image description here

Agora selecione a opção Escolha o que sincronizar e, em seguida, desmarque o Extensões opção. Agora sua extensão não será sincronizada com outros computadores.


75



Ter que manter manualmente 19 extensões em sincronia entre várias instâncias, só porque eu não quero sincronizar uma única extensão em várias instâncias, parece ser uma negociação ruim. - growse
Como eu lhe disse não é isso que você está procurandoe AFAIK não há solução para extensão única ainda. Se alguém souber que virá e ajudará você. Também estou curioso para ver se é possível. A melhor maneira de sincronizar a extensão manualmente faz com que uma pasta de favoritos e apenas coloque o favorito de suas extensões favoritas. - avirk
Quando você tem apenas algumas extensões instaladas, esta é definitivamente uma solução mais fácil de usar do que todos os outros hacks propostos. - jturcotte
Não é o ideal, mas melhor do que brincar com a cópia de dll em novas pastas, da minha perspectiva. +1 - stevemidgley
Boa ideia, se você precisar sincronizar as extensões, poderá ativá-las temporariamente e desativar novamente as extensões uma vez, em vez de cada  solteiro  Tempo. - Jamie Pate


Você pode instalar a extensão desejada como extensão local.

  1. Encontre o ID da extensão desejada chrome://extensions com modo de desenvolvedor ativado.

  2. Navegue até o diretório de instalação do Google. Windows: %localappdata%\Google\Chrome\User Data\Default\Extensions\{Extension_ID}\{Número da versão}

  3. Salve-o em algum lugar .. Diretório de usuários talvez?

  4. Voltou para chrome://extensions com modo de desenvolvedor ativado e pressione Load unpacked extension. E navegue até a nova cópia da extensão.

  5. Você deve ver que você tem a extensão duas vezes agora .. Desabilitar o Real.

eu digo Desabilitar porque há um lado ruim nessa abordagem e você perde as atualizações automáticas e você precisará repetir as etapas acima repetidamente toda vez que ele for atualizado.

Se você não tiver certeza de qual é o real e sua nova cópia, procure na tag de identificação Carregado de: {Path_To_Your_Copy}


45



De longe a melhor resposta. - FreeAsInBeer
Muito mais simples que a resposta principal ... que é obviamente muito informativa - mardlin
Erm, se eu instalar uma extensão no modo de desenvolvedor, eu sempre obter um pop-up na inicialização que me pede para desativar esta extensão - nixda
Hmm, deve ter sido algo que o Google adicionou ao Chrome estável. - WORMSS


Uma coisa que funciona para mim é eliminar manualmente o processo do plug-in sempre que o Chrome começar a usar o Gerenciador de Tarefas do Chrome. Isso pode ser conseguido da seguinte maneira:

  • (no Mac) Menu> Mais Ferramentas> Gerenciador de Tarefas
  • (no PC) Clique com o botão direito do mouse na barra de menus> Gerenciador de Tarefas ou Mudança + Esc

Em seguida, basta clicar na extensão que você não deseja executar e clicar em "Finalizar processo".

No trabalho, tenho dois computadores e não quero que os hangouts do Google sejam exibidos em ambos. A única coisa ruim é que você tem que fazer isso toda vez que você iniciar o cromo.


7





Esta não é uma resposta resoluta, mas outra perspectiva para examinar o problema.

O sistema de sincronização do Chrome não permite, de forma alguma, personalizar as classificações por uma única máquina; E qualquer solução com extensões extras que funcione com a bandeira do disable/enable em sua extensão, falhará!

Porque outra máquina que está usando simultaneamente a mesma conta de usuário, refletirá a mudança.

Uma maneira de evitar essa troca de informações é o quão bem ele propôs @avirk é desabilitar a sincronização em extensões, mas parece que esta solução não é apropriada para o seu ambiente.

Então, vou propor mais duas idéias que podem ser adotadas para obter o resultado desejado:

  • Criar uma segunda conta permitiria que você personalizasse seu próprio grupo de extensões (essa solução eu pessoalmente uso para ter um perfil diferente do ScriptSafe em máquinas diferentes)

A outra proposta é um pouco menos convencional e poderia ser   considerado um mau corte, mas vou descrevê-lo em todos os sentidos, para que   você tem uma escolha mais ampla.

  • Navegue até a pasta do plugin em questão: .config/google-chrome/Default/Extensions/jpkfjicglakibpenojifdiepckckakgk/versionfolder e limpa o conteúdo no arquivo "background_page.html"
    "Este exemplo pode ser aplicado apenas ao plug-in: Gestures for Chrome (TM)"

Isso gera uma exceção ao carregar uma página, que não permitirá que o código do evento em seu ramal seja executado corretamente. Portanto, teremos a desabilitação local para essa extensão.

Lembre-se de que sempre que você receber uma nova atualização para sua extensão, você   deve refazer essa operação na nova pasta de versão.


4



Eu vim aqui para editar o meu post, e você já postou minha outra solução, que é muito fácil criar outra conta / perfil para usar o Chrome :) - avirk
Isso é realmente muito útil para mim, porque no meu caso particular, eu tenho uma extensão que é quebrada apenas no meu Chromebook, e por isso deve ser desativada lá, mas eu gostaria de testar uma nova versão quando sair para ver se tem o mesmo erro. - Curt J. Sampson
A segunda opção parece ser a melhor solução, pois desativa a única extensão indesejada para um único computador, que é exatamente o que o cartaz estava pedindo. - Dan Jones


Esta é uma questão bastante antiga, mas ainda é algo que tem me incomodado. Então aqui estão os meus dois centavos.

Você pode usar outra extensão para fazer isso. Eu mesmo tenho alternado entre esses dois plugins: "Gerenciador de extensões (também conhecido como Switcher)"

Extensas extensões, aplicações e gestor de temas.   Gerenciador de pop-up leve para ativar, desativar, desinstalar extensões, aplicativos de forma rápida e fácil.

ou "SimpleExtManager"

Um menu simples para ativar, desativar e acessar opções de extensões.   Outra adição à série 'Simples'. Desta vez é uma extensão   Gerente.

Características incluem:

  • função básica para ativar / desativar, acessar opções e desinstalar extensões via popup
  • personalize o pop-up
  • capacidade de criar grupos de extensão
  • ativar / desativar grupos de extensões via menu pop-up e botão direito do mouse
  • página de evento ativada

Eu gosto de ambas as extensões, mas não cheguei a um ponto em que posso dizer qual delas eu gosto mais. Ambos estão passando por muito desenvolvimento e são atualizados com freqüência.


4



Por favor, cite as partes essenciais da resposta do (s) link (s) de referência, pois a resposta pode se tornar inválida se a (s) página (s) vinculada (s) mudar (em). - DavidPostill♦
Eu não sabia o que citar das páginas de plugins, pois são sugestões de extensão e não são realmente uma resposta, mas espero que minha edição esteja ok. - Squazz
Só para verificar ... nenhuma dessas extensões permite controlar as extensões por máquina, certo? Eles simplesmente agilizam o processo de desligar incessantemente uma extensão enquanto estão em uma máquina e ligá-la novamente quando você está em outra? - apraetor
Excatly @apraetor a funcionalidade para escolher completamente quais estão instalados é reservada exclusivamente para o navegador Chrome, e o navegador sincroniza esses dados - Squazz


Outra solução que encontrei é usar o mecanismo de política incluído no Chrome. O Google oferece a possibilidade de gerenciar extensões por meio de políticas de grupo. Ao colocar a extensão indesejada na lista negra, removemos efetivamente a sincronização para este PC. Podemos explorar esse conhecimento definindo essas opções manualmente.

Aqui está uma breve descrição para PCs com Windows:

  1. Abra o seu Editor do Registro (regedit)
  2. Navegue até HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Google \ Chrome - crie-o se ele não existir
  3. Crie uma nova chave chamada "ExtensionInstallBlacklist"
  4. Adicione um novo valor (REG_SZ) e nomeie-o como "1" - se já existir, nomeie "2" e assim por diante
  5. Defina os dados desse valor para o ID da extensão que você deseja remover

Ao fazer isso, a extensão será removida na próxima vez que você iniciar seu Chrome. Isso afeta apenas o PC em que você está. Eu verifiquei isso por ter uma instalação limpa do Chrome. Após o login, todas as extensões foram carregadas - especialmente a que colocamos na lista negra do outro PC.

A documentação para esta configuração de política pode ser encontrada aqui, mostrando também as configurações para diferentes sistemas operacionais:

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


3