Como executar o google chrome como root no linux

9

quando quero executar o google chrome como root, aparece uma mensagem de erro com este título:

Google chrome can not be run as root

e o corpo da mensagem é:

to run as root, you must specify an alternate --user-data-dir for storage of profile information.

alguém pode me ajudar?

    
por cipher 26.12.2014 / 11:10

4 respostas

6

Para executar o Google Chrome como root, siga estas etapas:

  1. Abra google-chrome no seu editor favorito (substituindo $EDITOR pelo seu favorito):

    $EDITOR $(which google-chrome)
    
  2. Adicione --user-data-dir no final do arquivo.

    meu arquivo é assim:

    exec -a "$0" "$HERE/chrome"  "$PROFILE_DIRECTORY_FLAG" \   "$@"
    --user-data-dir
    
  3. Salve e feche o editor.

você está feito. Aproveite:)

se você quiser ver o tutorial em vídeo, pode conferir meu post no blog:

Como executar o google chrome como root no Linux - MoeinFatehi

    
por 26.12.2014 / 11:17
3

Agora, não é possível executar o google-chrome como usuário root em versões atualizadas. Para executar o Google Chrome como usuário padrão (enquanto conectado como raiz)

abra o terminal e digite:

adduser -u chromeuser OU useradd -m chromeuser

Para executar o comando google chrome use:

gksu -u chromeuser google-chrome OU sux chromeuser google-chrome

Se você não quiser executá-lo no Terminal, adicione o chrome na barra de tarefas e, em seguida, clique com o botão direito nele, selecione as propriedades e adicione o comando acima no parâmetro de comando.

    
por 02.05.2015 / 11:24
2

Para aqueles que ainda podem pesquisar no Google em dezembro de 2016 - Versão do Google Chrome 54.0.2840.90 64 bits no XFCE e no Debian 8.5:

Caso 1: o Chrome não começa de todo
Na minha configuração apenas executando no terminal google-chrome-stable i estava recebendo imediatamente um erro no terminal illegal instruction . Sem quadros, sem tela em branco, sem janelas pretas. Apenas um erro rude no console. Este erro desaparece usando a opção de linha de comando --no-sandbox .

Caso 2: o Chrome ainda se recusa a abrir, mesmo com a opção --no-sandbox
Esse não era meu caso, já que --no-sandbox era o suficiente, mas se você experimentasse tal comportamento, você poderia tentar desabilitar tudo ao chamar o chrome, como:

google-chrome-stable --disable-gpu --disable-extensions --disable-d3d11 --disable-local-storage --disable-notifications --disable-offne-pages --disable-plugin-power-saver --disable-plugins-discovery --disable-sync --disable-translate --disable-webgl --no-experiments --no-sandbox

Em seguida, você pode passo a passo ativar opções até identificar qual quebra.
PS: Todos os flags / args da CLI podem ser encontrados aqui .

Caso 3: Mensagem Please start Google Chrome as a normal user.To run as root you must specify an alternate --user-data-dir for storage of profile information aparece.

Solução que funcionou para mim: Vá para /opt/google/chrome e abra o arquivo google-chrome , que na verdade é um script bash.

No final do script, encontre a parte

if [[ -n "$CHROME_USER_DATA_DIR" ]]; then
  # Note: exec -a below is a bashism.
  exec -a "$0" "$HERE/chrome"  \
    --user-data-dir="$CHROME_USER_DATA_DIR" "$@"
else
  exec -a "$0" "$HERE/chrome"  "$@"
fi

E mude a parte else assim:

else
  #exec -a "$0" "$HERE/chrome"  "$@"
  exec -a "$0" "$HERE/chrome" "$@" --user-data-dir="$HOME"
fi

Salvar e executar google-chrome-stable --no-sandbox .
Eu me levantei e surfei.

Para uma solução mais sofisticada, apliquei pessoalmente um tipo de verificação de usuário para evitar possíveis distúrbios ao executar o chrome como usuário normal:

else
    if [ "$USER" = "root" ]  || [ "$LOGNAME" = "root" ];then 
        exec -a "$0" "$HERE/chrome" "$@" --user-data-dir="$HOME"
    else
        exec -a "$0" "$HERE/chrome"  "$@"
    fi

Outra solução alternativa:
Você não pode modificar o arquivo google-chrome como indicado acima, e pode seguir a recomendação de @tzafar para criar um novo usuário ou iniciar o chrome usando uma conta de usuário normal existente: gksu -u user google-chrome-stable (isso funcionou, mas algumas mensagens de erro foram recebidas terminal).

    
por 22.12.2016 / 10:43
1

execute o comando folloing e abra o google-chrome que funcionará

sed -i -e 's@Exec=/usr/bin/google-chrome-stable %U@Exec=/usr/bin/google-chrome-stable %U --no-sandbox@g' /usr/share/applications/google-chrome.desktop 
    
por 13.11.2017 / 13:46