Як запустити google chrome як root у Linux


10

коли я хочу запустити google chrome як корінь, з’явиться повідомлення про помилку з цим заголовком:

Google Chrome не можна запускати як root

а основою повідомлення є:

щоб запустити як root, ви повинні вказати альтернативний --user-data-dir для зберігання інформації про профіль.

хтось може мені допомогти?


1
хоча це не дуже добре запустити цю програму як root, я поясню метод.
M0εiπ

Відповіді:


7

Щоб запустити google chrome як корінь, виконайте наступні дії:

  1. Відкрийте google-chromeулюблений редактор (замінивши $EDITORулюбленим):

    $EDITOR $(which google-chrome)
    
  2. Додайте --user-data-dirв самому кінці файлу.

    мій файл виглядає приблизно так:

    exec -a "$0" "$HERE/chrome"  "$PROFILE_DIRECTORY_FLAG" \   "$@"
    --user-data-dir
    
  3. Збережіть і закрийте редактор.

ти закінчив. Насолоджуйся цим :)


якщо ви хочете переглянути відеоурок, ви можете перевірити мою публікацію в блозі:

Як запустити google chrome як корінь у Linux - MoeinFatehi


3
Щоб зрозуміти, правильна відповідь тут - «Ви цього не робите». Запуск графічних додатків як root справді не чудова ідея.
HalosGhost

1
добре, я чув, що ви не повинні запускати графічні програми як root, і я вирішив зробити це просто, щоб з'ясувати, чому ні. Я планував це робити, поки не дізнався. Це зараз 14 років тому.
Thorsten Staerk

2
Ви повинні прочитати на принципі найменшої пільги.
HalosGhost

2
Мені в кінцевому підсумку довелося також користуватися --no-sandbox. йоло
Брайс Гінта

4

Тепер ви не можете запустити google-chrome як користувач root в оновлених версіях. Щоб запустити Google Chrome як стандартний користувач (тоді як увійшов як Root)

відкрити термінал і ввести:

adduser -u chromeuser АБО useradd -m chromeuser

Для запуску google chrome використовуйте команду:

gksu -u chromeuser google-chrome АБО sux chromeuser google-chrome

Якщо ви не хочете запускати його з терміналу, тоді додайте хром на панелі завдань, а потім клацніть правою кнопкою миші на ньому, виберіть властивості та додайте вищевказану команду в параметр команди.


Крім того, використовуючи існуючу обліковий запис користувача працював для мене gksu -u gv google-chrome-stable. Хоча я отримав деякі помилки в терміналі, але це спрацювало.
Георгій Васильоу

3

Для тих, хто може ще йти на гугл у грудні 2016 року - 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та відкрийте файл, google-chromeякий насправді є скриптом bash.

В кінці сценарію знайдіть частину

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
  #exec -a "$0" "$HERE/chrome"  "$@"
  exec -a "$0" "$HERE/chrome" "$@" --user-data-dir="$HOME"
fi

Збережіть і запустіть google-chrome-stable --no-sandbox.
Я встав і займався серфінгом.

Для більш складного рішення я особисто застосував своєрідну перевірку користувача, щоб уникнути можливих порушень роботи хрому, як звичайний користувач:

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(це спрацьовувало, але деякі повідомлення про помилки, отримані в термінал).


1
спрацював чудово
Тестер Еуолл

2

запустіть команду folloing та відкрийте 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 

0

Щоб запустити google chrome як корінь, додайте цей параметр "--no-sandbox"

введіть тут опис зображення

це буде працювати для мене.


Які фактичні наслідки цього робити?
Kusalananda

SAID

-1

Я спробував все рішення, яке існує там, на мою думку, це найкраще.

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

просто запустіть команду, вам нічого не потрібно робити.


Привіт Абхінав. Чи можете ви поясніть, як це відповідає на питання про запуск Chrome як root.
roaima

-2

це довгостріл, але спробуйте це

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

більше не потрібно налаштовувати пісочницю


Як зробити так, щоб усі налаштування Chrome читали всі?
Кусалаланда

проблема є різною щоразу, якщо "google-chrome --no-sandbox" не працює, зазвичай потрібен sudo, оскільки на нього немає достатнього дозволу папки /home/usr_name/.config/google-chrome або якоїсь іншої довідники.
Піюш Паттайя

Зауважте, що root не обмежується дозволами на файли чи правами власності на файли.
Kusalananda
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.