How to run chromium as root
You do realize you open your system up for anyone on the outside trying to get into your machine using a possible exploit?
Rinzwind is right — it’s a big security hole. There’s whole sort of javascript malware that can hide on websites, and by running any browser as root you’re just yelling «Heeeeey, over here, hack me! «
6 Answers 6
Open google-chrome located in /usr/bin with ‘gedit’, ‘kate’ or your favorite text editor:
sudo gedit /usr/bin/google-chrome
Add —user-data-dir (without the quotes) at the very end of the file. Mine looks like this:
exec -a "$0" "$HERE/chrome" "$@" --user-data-dir
Save, close and voilà, you’re done. You can open chrome as root now.
Title states chromium so I took that one (and cuz chromium is in the repos and chrome aint 😉 ). Lets see who wins by upvotes 😀 (here have one from me 😉 ) edit: I removed the html tags 🙂
DISCLAIMER/Warning: Running anything as root is risky and you should not run any software as root when you don’t have to. If you don’t know what you’re doing, or are on a system that needs to be secure, STOP READING NOW
This is about this message:
And you need to hex edit chromium:
sudo apt-get install hexedit cd /usr/lib/chromium-browser sudo cp chromium-browser chromium-browser.backup hexedit chromium-browser
Do control+s and search for geteuid ; change it to getppid and control-x to exit.
And you can start chromium as root.
cd /usr/lib/chromium-browser sudo cp chromium-browser.backup chromium-browser
Как запустить Google Chrome от имени root в Linux
Когда я хочу запустить Google Chrome от имени пользователя root, появляется сообщение об ошибке с таким названием:
Google Chrome не может быть запущен от имени пользователя root
для запуска с правами root вы должны указать альтернативный —user-data-dir для хранения информации профиля.
Может кто-нибудь помочь мне?
Чтобы запустить Google Chrome от имени пользователя root, выполните следующие действия.
- Откройте google-chrome в вашем любимом редакторе (заменив $EDITOR на ваш любимый):
$EDITOR $(which google-chrome)
exec -a "$0" "$HERE/chrome" "$PROFILE_DIRECTORY_FLAG" \ "$@" --user-data-dir
все готово Наслаждайся этим 🙂
если вы хотите посмотреть видеоурок, вы можете проверить мой блог:
Просто чтобы быть ясным, правильный ответ здесь: «Вы этого не делаете». Запуск графических приложений от имени пользователя root не очень хорошая идея.
ну, я слышал, что вы не должны запускать графические приложения от имени root, и я решил, что сделаю это просто, чтобы выяснить, почему нет. Я планировал сделать это, пока не узнал. Это сейчас 14 лет назад.
Теперь вы не можете запускать google-chrome от имени пользователя root в обновленных версиях, чтобы запустить Google Chrome от имени обычного пользователя (при входе в систему как Root)
откройте терминал и наберите:
adduser -u chromeuser ИЛИ useradd -m chromeuser
Для запуска Google Chrome используйте команду:
gksu -u chromeuser google-chrome ИЛИ sux chromeuser google-chrome
Если вы не хотите запускать его из терминала, добавьте chrome на панель задач, а затем щелкните его правой кнопкой мыши, выберите «Свойства» и добавьте указанную выше команду в параметр команды.
Кроме того, используя существующую учетную запись пользователя работал для меня gksu -u gv google-chrome-stable . Хотя я получил несколько ошибок в терминале, но это сработало.
Для тех, кто может по-прежнему гуглить в декабре 2016 года — 64-битная версия Google Chrome 54.0.2840.90 под 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 .
Я встал и занялся серфингом.
Для более сложного решения я лично применил своего рода проверку пользователя, чтобы избежать возможных помех при работе 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 (это сработало, но некоторые сообщения об ошибках, полученные в Терминал).
How to run google chrome as root in linux
- Open google-chrome in your favorite editor (replacing $EDITOR with your favorite):
$EDITOR $(which google-chrome)
exec -a "$0" "$HERE/chrome" "$PROFILE_DIRECTORY_FLAG" \ "$@" --user-data-dir
if you want to see video tutorial, you can check my blog post:
How to run google chrome as root in Linux — MoeinFatehi
Now you cannot run google-chrome as root user on updated versions, To run Google Chrome as standard user (while Logged in as Root)
adduser -u chromeuser OR useradd -m chromeuser
To run google chrome use command:
gksu -u chromeuser google-chrome OR sux chromeuser google-chrome
If you don’t want to run it from Terminal then add chrome in taskbar and then right-click on it, select properties and add the above command in the command parameter.
For those who may be still googling at Dec 2016 — Google Chrome Version 54.0.2840.90 64bit under XFCE and Debian 8.5:
Case 1: Chrome not starting at all
In my setup just by running in terminal google-chrome-stable i was getting immediately an error in terminal illegal instruction . No frames, no screen blanking , no black windows. Just a rude console error. This error goes away by using the —no-sandbox command line option.
Case 2: Chrome still refuses to open even with —no-sandbox option
That was not my case since —no-sandbox was enough, but if you experience such behavior you could try to disable everything when calling chrome, like:
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
Then you can step by step enable options till to identify which one breaks.
PS: All CLI flags/args can be found here.
Case 3: Message 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 appears.
Solution that worked for me : Go to /opt/google/chrome and open file google-chrome which is actually a bash script.
At the end of the script find the part
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
And change the else part like this:
else #exec -a "$0" "$HERE/chrome" "$@" exec -a "$0" "$HERE/chrome" "$@" --user-data-dir="$HOME" fi
Save, and run google-chrome-stable —no-sandbox .
I got up and surfing.
For a more sophisticated solution i personally applied a kind of user check to avoid possible disturbance running chrome as normal user :
else if [ "$USER" = "root" ] || [ "$LOGNAME" = "root" ];then exec -a "$0" "$HERE/chrome" "$@" --user-data-dir="$HOME" else exec -a "$0" "$HERE/chrome" "$@" fi
Another Workaround:
You can not modify the google-chrome file as indicated above, and you can either follow recomendation of @tzafar for creating a new user or to launch chrome using an existing normal user account : gksu -u user google-chrome-stable (this worked but some error messages received in terminal).
How to Run Google Chrome as root on CentOS / Ubuntu / Debian / Fedora
In my last post, I have shown you how to install Google Chrome on CentOS 7 / Ubuntu 16.04 / Linux Mint / Debina 9. I have installed Google Chrome as root user and when I tried to start Google Chrome it given the following error.
I was looking for the solution; by googling, I have found an easy way to enable root user to run Google Chrome.
Follow the steps to run Google Chrome as root user in CentOS / Ubuntu / Debian / Fedora / LinuxMint.
Edit the /usr/bin/google-chrome and add the “–no-sandbox” at the end of the last line (Line No: 42).
Line Number: 35
export LD_LIBRARY_PATH export CHROME_VERSION_EXTRA="stable" # We don't want bug-buddy intercepting our crashes. http://crbug.com/24120 export GNOME_DISABLE_CRASH_DIALOG=SET_BY_GOOGLE_CHROME exec -a "$0" "$HERE/chrome" "$@"
export LD_LIBRARY_PATH export CHROME_VERSION_EXTRA="stable" # We don't want bug-buddy intercepting our crashes. http://crbug.com/24120 export GNOME_DISABLE_CRASH_DIALOG=SET_BY_GOOGLE_CHROME exec -a "$0" "$HERE/chrome" "$@" --no-sandbox
That’s all. Now you can start Google Chrome from the menu as root.