web-dev-qa-db-fra.com

Comment exécuter google chrome en tant que root sous linux

lorsque je veux exécuter google chrome en tant que root, un message d'erreur avec ce titre apparaît:

Google chrome ne peut pas être exécuté en tant que root

et le corps du message est:

pour s'exécuter en tant que root, vous devez spécifier un autre --user-data-dir pour le stockage des informations de profil.

quelqu'un peut-il m'aider?

10
cipher

Pour exécuter google chrome en tant que root, procédez comme suit:

  1. Ouvert google-chrome dans votre éditeur préféré (en remplaçant $EDITOR avec votre favori):

    $EDITOR $(which google-chrome)
    
  2. Ajouter --user-data-dir à la fin du fichier.

    mon fichier ressemble à ceci:

    exec -a "$0" "$HERE/chrome"  "$PROFILE_DIRECTORY_FLAG" \   "$@"
    --user-data-dir
    
  3. Enregistrez et fermez l'éditeur.

vous avez terminé. Profitez-en :)


si vous voulez voir un tutoriel vidéo, vous pouvez consulter mon article de blog:

Comment exécuter google chrome en tant que root sous Linux - MoeinFatehi

7
M0εiπ

Maintenant, vous ne pouvez pas exécuter google-chrome en tant qu'utilisateur root sur les versions mises à jour, Pour exécuter Google Chrome en tant qu'utilisateur standard (lorsque vous êtes connecté en tant que root)

terminal ouvert et tapez:

adduser -u chromeuser OR useradd -m chromeuser

Pour exécuter google chrome utilisez la commande:

gksu -u chromeuser google-chrome OR sux chromeuser google-chrome

Si vous ne voulez pas l'exécuter à partir du terminal, ajoutez chrome dans la barre des tâches, puis cliquez dessus avec le bouton droit, sélectionnez les propriétés et ajoutez la commande ci-dessus dans le paramètre de commande.

4
tzafar

Pour ceux qui pourraient encore googler en décembre 2016 - Google Chrome Version 54.0.2840.90 64bit sous XFCE et Debian 8.5:

Cas 1: Chrome ne démarre pas du tout
Dans ma configuration simplement en exécutant dans le terminal google-chrome-stable je recevais immédiatement une erreur dans le terminal illegal instruction. Pas de cadres, pas de masquage d'écran, pas de fenêtres noires. Juste une grossière erreur de console. Cette erreur disparaît en utilisant le --no-sandbox option de ligne de commande.

Cas 2: Chrome refuse toujours d'ouvrir même avec l'option --no-sandbox
Ce n'était pas mon cas puisque --no-sandbox était suffisant, mais si vous rencontrez un tel comportement, vous pouvez essayer de tout désactiver lors de l'appel de chrome, comme:

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

Ensuite, vous pouvez activer les options étape par étape jusqu'à identifier celle qui casse.
PS: Tous les indicateurs/arguments CLI peuvent être trouvés ici .

Cas 3: Message 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 apparaît.

Solution qui a fonctionné pour moi: accédez à /opt/google/chrome et ouvrir le fichier google-chrome qui est en fait un script bash.

À la fin du script, trouvez la partie

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

Et changez la partie else comme ceci:

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

Enregistrez et exécutez google-chrome-stable --no-sandbox.
Je me suis levé et j'ai surfé.

Pour une solution plus sophistiquée, j'ai personnellement appliqué une sorte de vérification utilisateur pour éviter d'éventuelles perturbations en cours d'exécution chrome en tant qu'utilisateur normal:

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

Une autre solution:
Vous ne pouvez pas modifier le fichier google-chrome comme indiqué ci-dessus, et vous pouvez suivre la recommandation de @tzafar pour créer un nouvel utilisateur ou lancer chrome en utilisant un utilisateur normal existant Compte : gksu -u user google-chrome-stable (cela a fonctionné mais certains messages d'erreur ont été reçus dans le terminal).

3
George Vasiliou

exécutez la commande suivante et ouvrez google-chrome, cela fonctionnera

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 
2
yohannes seifu

Pour exécuter google chrome en tant que root, ajoutez ce paramètre "--no-sandbox"

enter image description here

cela fonctionnera pour moi.

0
SAID