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?
Pour exécuter google chrome en tant que root, procédez comme suit:
Ouvert google-chrome
dans votre éditeur préféré (en remplaçant $EDITOR
avec votre favori):
$EDITOR $(which google-chrome)
Ajouter --user-data-dir
à la fin du fichier.
mon fichier ressemble à ceci:
exec -a "$0" "$HERE/chrome" "$PROFILE_DIRECTORY_FLAG" \ "$@"
--user-data-dir
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
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.
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).
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