Linux에서 Google 크롬을 루트로 실행하는 방법

Linux에서 Google 크롬을 루트로 실행하는 방법

Google 크롬을 루트로 실행하려고 하면 다음 제목과 함께 오류 메시지가 나타납니다.

Google 크롬을 루트로 실행할 수 없습니다.

메시지 텍스트는 다음과 같습니다.

루트로 실행하려면 프로필 정보를 저장할 대체 --user-data-dir을 지정해야 합니다.

누가 날 도울 수 있죠?

답변1

Google 크롬을 루트로 실행하려면 다음 단계를 따르세요.

  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 크롬을 루트로 실행하는 방법 - MoeinFatehi

답변2

이제 최신 버전에서는 google-chrome을 루트로 실행하여 표준 사용자로 Google Chrome을 실행할 수 없습니다(루트로 로그인한 경우).

터미널을 열고 다음을 입력하세요.

adduser -u chromeuser또는useradd -m chromeuser

Google Chrome을 실행하려면 다음 명령을 사용하세요.

gksu -u chromeuser google-chrome또는sux chromeuser google-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

그런 다음 어떤 옵션이 손상되었는지 확인할 때까지 단계별로 옵션을 활성화할 수 있습니다.
추신: 모든 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가 제안한 대로 기존 일반 사용자 계정을 사용하여 새 사용자를 만들거나 크롬을 시작할 수 있습니다. ( gksu -u user google-chrome-stable이 방법은 작동하지만 터미널에서는 작동합니다.)

답변4

Google 크롬을 루트로 실행하려면 이 매개변수 "--no-sandbox"를 추가하세요.

여기에 이미지 설명을 입력하세요.

그것은 나를 위해 작동합니다.

관련 정보