google chromeをrootとして実行すると、次のタイトルのエラーメッセージが表示されます。
Google chromeはrootとして実行できません
メッセージの本文は次のとおりです。
rootとして実行するには、プロファイル情報を保存するための代替--user-data-dirを指定する必要があります。
誰かが私を助けてくれますか?
Google chromeをルートとして実行するには、次の手順に従います。
開いた google-chrome
お好みのエディタで($EDITOR
お好みで):
$EDITOR $(which google-chrome)
追加 --user-data-dir
ファイルの最後に。
私のファイルは次のようになります:
exec -a "$0" "$HERE/chrome" "$PROFILE_DIRECTORY_FLAG" \ "$@"
--user-data-dir
エディターを保存して閉じます。
完了です。楽しめ :)
ビデオチュートリアルを見たい場合は、私のブログ投稿をチェックできます:
更新されたバージョンでルートユーザーとしてgoogle-chromeを実行できないようになりました。Googleを実行するにはChromeを標準ユーザーとして(ルートとしてログインしている間)実行します)
ターミナルを開いて入力:
adduser -u chromeuser
OR useradd -m chromeuser
Google chromeを実行するには、次のコマンドを使用します。
gksu -u chromeuser google-chrome
OR sux chromeuser google-chrome
ターミナルから実行したくない場合は、タスクバーにchromeを追加して右クリックし、プロパティを選択して、上記のコマンドをコマンドパラメータに追加します。
2016年12月にまだグーグルする可能性のある人のために-Google Chromeバージョン54.0.2840.90 64ビット、XFCEおよびDebian 8.5で:
ケース1:Chromeまったく起動しない
端末google-chrome-stable
で実行するだけのセットアップで、端末illegal instruction
でエラーがすぐに発生しました。フレーム、画面の非表示、黒いウィンドウはありません。失礼なコンソールエラーです。このエラーは、--no-sandbox
コマンドラインオプションを使用することで解消されます。
ケース2:Chrome --no-sandboxオプションを使用しても開いたままにしません
--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
が表示されます。
私にとってうまくいった解決策:/opt/google/chrome
に移動し、実際にbashスクリプトであるファイル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
(これは機能しましたが、ターミナルでいくつかのエラーメッセージを受け取りました)。
次のコマンドを実行して、動作するgoogle-chromeを開きます
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