Google Chromeをrootとして実行しようとすると、次のタイトルでエラーメッセージが表示されます。
Google Chromeをrootとして実行することはできません。
メッセージテキストは次のとおりです。
rootとして実行するには、プロファイル情報を保存する代替--user-data-dirを指定する必要があります。
誰が私を助けることができますか?
答え1
Google Chromeをrootとして実行するには、次の手順に従ってください。
お気に入りのエディタで開きます
google-chrome
($EDITOR
お気に入りのエディタに置き換えます)。$EDITOR $(which google-chrome)
--user-data-dir
ファイルの末尾に追加されます。私のファイルは次のとおりです。
exec -a "$0" "$HERE/chrome" "$PROFILE_DIRECTORY_FLAG" \ "$@" --user-data-dir
エディタを保存して閉じます。
これで終わりました。お楽しみください:)
ビデオチュートリアルを見たい場合は、私のブログ投稿を確認してください。
答え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
この方法は機能しますが、端末では機能します。)