Como executar o google chrome como root no linux

10

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

O Google Chrome não pode ser executado como root

e o corpo da mensagem é:

para executar como root, você deve especificar um --user-data-dir alternativo para armazenamento de informações do perfil.

Alguém pode me ajudar?

cifra
fonte
1
embora não seja um bom trabalho executar esse aplicativo como root, explicarei o método.
M0εiπ

Respostas:

7

Para executar o google chrome como root, siga estas etapas:

  1. Abra google-chromeno seu editor favorito (substituindo $EDITORpelo seu favorito):

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

    meu arquivo fica assim:

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

Você Terminou. Aproveite :)


Se você quiser ver o tutorial em vídeo, pode verificar minha postagem no blog:

Como executar o google chrome como root no Linux - MoeinFatehi

M0εiπ
fonte
3
Só para esclarecer, a resposta correta aqui é "Você não". A execução de aplicativos gráficos como raiz realmente não é uma ótima idéia.
HalosGhost
1
Bem, ouvi dizer que você não deve executar aplicativos gráficos como root e decidi que faria isso apenas para descobrir por que não. Planejei fazer isso até descobrir. Isso é agora há 14 anos.
Thorsten Staerk
2
Você deve ler sobre o princípio do menor privilégio.
HalosGhost
2
Acabei tendo que usar --no-sandboxtambém. Yolo
Bryce Guinta
4

Agora você não pode executar o google-chrome como usuário root em versões atualizadas, Para executar o Google Chrome como usuário padrão (enquanto estiver conectado como root)

terminal aberto e tipo:

adduser -u chromeuser OU useradd -m chromeuser

Para executar o google chrome use o comando:

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

Se você não deseja executá-lo no Terminal, adicione chrome na barra de tarefas e clique com o botão direito do mouse, selecione Propriedades e adicione o comando acima no parâmetro command.

tzafar
fonte
também usando uma conta de usuário existente funcionou para mim: gksu -u gv google-chrome-stable. Embora eu tenha recebido alguns erros no terminal, mas funcionou.
George Vasiliou
3

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

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

Caso 2: o Chrome ainda se recusa a abrir, mesmo com a opção --no-sandbox
Esse não era o meu caso, já que --no-sandbox era suficiente, mas se você tiver esse comportamento, poderá tentar desativar 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 as opções até identificar qual delas quebra.
PS: Todos os sinalizadores / argumentos da CLI podem ser encontrados aqui .

Caso 3: A 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 informationaparece.

Solução que funcionou para mim: Vá para /opt/google/chromee abra o arquivo google-chromeque é realmente 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

Salve e corra google-chrome-stable --no-sandbox.
Levantei-me e naveguei.

Para uma solução mais sofisticada, apliquei pessoalmente uma espécie de verificação de usuário para evitar possíveis perturbações 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 em terminal).

George Vasiliou
fonte
1
funcionou perfeitamente
eWall Tester
2

execute o seguinte comando 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 
yohannes seifu
fonte
0

Para executar o google chrome como root, adicione este parâmetro "--no-sandbox"

insira a descrição da imagem aqui

funcionará para mim.

DISSE
fonte
Quais são as consequências reais de fazer isso?
Kusalananda
São as mesmas que as conseqüências do uso de uma conta root
SAID
-1

Eu tentei toda a solução fornecida lá, então, na minha opinião, este é o melhor.

sudo chmod -R 777 /home/user_name/.config/google-chrome

basta executar o comando, você não precisa fazer nada.

Abhinav
fonte
Olá Abhinav. Você poderia explicar como isso responde à questão de executar o Chrome como root.
roaima 24/05/19
-2

este é um tiro no escuro, mas tente isso

sudo chmod -R 777 /home/user_name/.config/google-chrome

não precisa mais configurar o sandbox

Piyush Pattaiya
fonte
Como tornar toda a configuração do Chrome legível por todos ajuda?
Kusalananda
O problema é diferente sempre que o 'google-chrome --no-sandbox' não funcionar, geralmente o sudo é necessário, pois ele não tem permissão suficiente da pasta /home/usr_name/.config/google-chrome ou qualquer outra diretórios.
Piyush Pattaiya
Observe que a raiz não é restrita por permissões ou propriedades de arquivos.
Kusalananda