LinuxでGoogle Chromeをrootとして実行する方法

LinuxでGoogle Chromeをrootとして実行する方法

Google Chromeをrootとして実行しようとすると、次のタイトルでエラーメッセージが表示されます。

Google Chromeをrootとして実行することはできません。

メッセージテキストは次のとおりです。

rootとして実行するには、プロファイル情報を保存する代替--user-data-dirを指定する必要があります。

誰が私を助けることができますか?

答え1

Google Chromeをrootとして実行するには、次の手順に従ってください。

  1. お気に入りのエディタで開きますgoogle-chrome$EDITORお気に入りのエディタに置き換えます)。

    $EDITOR $(which google-chrome)
    
  2. --user-data-dirファイルの末尾に追加されます。

    私のファイルは次のとおりです。

    exec -a "$0" "$HERE/chrome"  "$PROFILE_DIRECTORY_FLAG" \   "$@"
    --user-data-dir
    
  3. エディタを保存して閉じます。

これで終わりました。お楽しみください:)


ビデオチュートリアルを見たい場合は、私のブログ投稿を確認してください。

LinuxでGoogle Chromeをrootとして実行する方法 - MoeinFatehi

答え2

現在のバージョンでは、google-chromeをrootとして実行して標準ユーザーとしてGoogle Chromeを実行できなくなります(rootとしてログインしている場合)。

端末を開き、次のように入力します。

adduser -u chromeuserまたはuseradd -m chromeuser

Google Chromeを実行するには、次のコマンドを使用してください。

gksu -u chromeuser google-chromeまたはsux chromeuser google-chrome

端末で実行したくない場合は、タスクバーにChromeを追加して右クリックして[プロパティ]を選択し、コマンドパラメータに上記のコマンドを追加します。

答え3

2016 年 12 月頃にもインターネット検索をしている人のために - XFCE と Debian 8.5 で Google Chrome バージョン 54.0.2840.90 64 ビット:

シナリオ1:Chromeはまったく起動しません。
私の設定では、端末で実行するだけでgoogle-chrome-stable端末ですぐにエラーが発生しますillegal instruction。フレームなし、画面空白なし、黒い窓なし。失礼なコンソールエラーです。このエラーは、--no-sandboxコマンドラインオプションを使用して削除できます。

シナリオ2:--no-sandboxオプションを使用してもChromeはまだ開かれません。
--no-sandbox オプションで十分なので、私の場合ではありません。ただし、この動作が発生した場合は、次のchrome機能を呼び出すときにすべてを無効にしてみてください。

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

その後、どのオプションが破損しているかを確認するまで、段階的にオプションを有効にできます。
PS:すべてのCLIフラグ/パラメータを見つけることができます。ここ

ケース 3: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メッセージが表示されます。

私に役立つ解決策:実際にbashスクリプトである/opt/google/chromeファイルに移動して開きます。google-chrome

スクリプトの最後にこのセクションを見つけます。

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

else部分を次のように変更してください。

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

保存して実行してくださいgoogle-chrome-stable --no-sandbox
立ち上がってサーフィンに行きました。

より複雑なソリューションのために、私は通常のユーザーとしてChromeを実行したときに発生する可能性がある干渉を避けるために個人的にユーザーチェックを適用します。

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

別の回避策:
上記のようにgoogle-chromeファイルを編集することはできません。 @tzafarが提案したように、既存の一般ユーザーアカウントを使用して新しいユーザーを作成したり、Chromeを起動したりできます。 (gksu -u user google-chrome-stableこの方法は機能しますが、端末では機能します。)

答え4

Google Chromeをrootとして実行するには、このパラメータ「--no-sandbox」を追加してください。

ここに画像の説明を入力してください。

それは私のために働きます。

関連情報