So führen Sie Google Chrome als Root unter Linux aus

10

Wenn ich Google Chrome als Root ausführen möchte, wird eine Fehlermeldung mit diesem Titel angezeigt:

Google Chrome kann nicht als Root ausgeführt werden

und der Hauptteil der Nachricht ist:

Um als Root ausgeführt zu werden, müssen Sie ein alternatives --user-data-dir zum Speichern von Profilinformationen angeben.

Kann mir jemand helfen?

Chiffre
quelle
1
Obwohl es keine gute Arbeit ist, diese Anwendung als Root auszuführen, erkläre ich die Methode.
M0εiπ

Antworten:

7

Gehen Sie folgendermaßen vor, um Google Chrome als Root auszuführen:

  1. Öffnen Sie google-chromein Ihrem Lieblingseditor (durch $EDITORIhren Favoriten ersetzen ):

    $EDITOR $(which google-chrome)
    
  2. Fügen Sie --user-data-diram Ende der Datei.

    Meine Datei sieht folgendermaßen aus:

    exec -a "$0" "$HERE/chrome"  "$PROFILE_DIRECTORY_FLAG" \   "$@"
    --user-data-dir
    
  3. Speichern und schließen Sie den Editor.

Sie sind fertig. Genieß es :)


Wenn Sie ein Video-Tutorial sehen möchten, können Sie meinen Blog-Beitrag überprüfen:

So führen Sie Google Chrome als Root unter Linux aus - MoeinFatehi

M0εiπ
quelle
3
Um ganz klar zu sein, lautet die richtige Antwort hier "Sie tun es nicht." Das Ausführen grafischer Apps als Root ist keine gute Idee.
HalosGhost
1
Nun, ich habe gehört, Sie sollten keine grafischen Anwendungen als Root ausführen, und ich habe beschlossen, dies nur zu tun, um herauszufinden, warum nicht. Ich hatte vor, es zu tun, bis ich es herausfand. Das ist jetzt 14 Jahre her.
Thorsten Staerk
2
Sie sollten sich über das Prinzip der geringsten Privilegien informieren.
HalosGhost
2
Am Ende musste ich --no-sandboxauch verwenden. Yolo
Bryce Guinta
4

Jetzt können Sie Google-Chrome in aktualisierten Versionen nicht mehr als Root-Benutzer ausführen. So führen Sie Google Chrome als Standardbenutzer aus (während Sie als Root angemeldet sind)

Terminal öffnen und eingeben:

adduser -u chromeuser ODER useradd -m chromeuser

Verwenden Sie den folgenden Befehl, um Google Chrome auszuführen:

gksu -u chromeuser google-chrome ODER sux chromeuser google-chrome

Wenn Sie es nicht über Terminal ausführen möchten, fügen Sie Chrome in der Taskleiste hinzu und klicken Sie mit der rechten Maustaste darauf, wählen Sie Eigenschaften aus und fügen Sie den obigen Befehl in den Befehlsparameter ein.

tzafar
quelle
Auch die Verwendung eines vorhandenen Benutzerkontos hat bei mir funktioniert : gksu -u gv google-chrome-stable. Ich habe zwar einige Fehler im Terminal erhalten, aber es hat funktioniert.
George Vasiliou
3

Für diejenigen, die im Dezember 2016 möglicherweise noch googeln - Google Chrome Version 54.0.2840.90 64-Bit unter XFCE und Debian 8.5:

Fall 1: Chrome startet überhaupt nicht
In meinem Setup wurde nur durch Ausführen im Terminal google-chrome-stablesofort ein Fehler im Terminal angezeigt illegal instruction. Keine Rahmen, keine Bildschirmausblendung, keine schwarzen Fenster. Nur ein unhöflicher Konsolenfehler. Dieser Fehler wird mithilfe der --no-sandboxBefehlszeilenoption behoben.

Fall 2: Chrome weigert sich auch mit der Option --no-sandbox immer noch zu öffnen. Dies
war nicht mein Fall, da --no-sandbox ausreichte. Wenn Sie jedoch ein solches Verhalten feststellen, können Sie versuchen, beim Aufrufen von Chrome alles zu deaktivieren, z.

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

Dann können Sie Schritt für Schritt Optionen aktivieren, bis Sie feststellen, welche unterbrochen werden.
PS: Alle CLI-Flags / Args finden Sie hier .

Fall 3: Nachricht wird Please start Google Chrome as a normal user.To run as root you must specify an alternate --user-data-dir for storage of profile informationangezeigt.

Lösung, die für mich funktioniert hat: Gehen Sie zu /opt/google/chromeund öffnen Sie die Datei, google-chromedie eigentlich ein Bash-Skript ist.

Am Ende des Skripts finden Sie das Teil

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

Und ändern Sie den anderen Teil folgendermaßen:

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

Speichern und ausführen google-chrome-stable --no-sandbox.
Ich stand auf und surfte.

Für eine anspruchsvollere Lösung habe ich persönlich eine Art Benutzerprüfung durchgeführt, um mögliche Störungen beim Betrieb von Chrome als normaler Benutzer zu vermeiden:

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

Eine weitere Problemumgehung:
Sie können die Google-Chrome-Datei nicht wie oben angegeben ändern. Sie können entweder der Empfehlung von @tzafar zum Erstellen eines neuen Benutzers folgen oder Chrome mit einem vorhandenen normalen Benutzerkonto starten: gksu -u user google-chrome-stable(Dies hat funktioniert, aber einige Fehlermeldungen wurden empfangen Terminal).

George Vasiliou
quelle
1
funktionierte perfekt
Ewall Tester
2

Führen Sie den folgenden Befehl aus und öffnen Sie Google-Chrome, damit es funktioniert

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
quelle
0

Fügen Sie diesen Parameter "--no-sandbox" hinzu, um Google Chrome als Root auszuführen.

Geben Sie hier die Bildbeschreibung ein

es wird für mich funktionieren.

SAGTE
quelle
Was sind die tatsächlichen Konsequenzen davon?
Kusalananda
Sind die gleichen wie die Konsequenzen der Verwendung eines Root-Kontos
sagte
-1

Ich habe alle dort angebotenen Lösungen ausprobiert, daher ist diese meiner Meinung nach die beste.

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

Führen Sie einfach den Befehl aus, für den Sie nichts tun müssen.

Abhinav
quelle
Hallo Abhinav. Könnten Sie bitte erklären, wie dies die Frage beantwortet, ob Chrome als Root ausgeführt werden soll?
Roaima
-2

Das ist ein langer Schuss, aber versuchen Sie es

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

Sandbox muss nicht mehr konfiguriert werden

Piyush Pattaiya
quelle
Wie würde es helfen, die gesamte Chrome-Konfiguration für alle lesbar zu machen?
Kusalananda
Das Problem ist jedes Mal anders, wenn 'google-chrome --no-sandbox' nicht funktioniert. Normalerweise ist sudo erforderlich, da nicht genügend Berechtigungen für den Ordner /home/usr_name/.config/google-chrome oder einen anderen Ordner vorhanden sind Verzeichnisse.
Piyush Pattaiya
Beachten Sie, dass root nicht durch Dateiberechtigungen oder Dateieigentümer eingeschränkt ist.
Kusalananda