Да складывают, растут динамично. Стек находится в вершине памяти, растущей вниз к "куче".
--------------
| Stack |
--------------
| Free memory|
--------------
| Heap |
--------------
.
.
"Куча" растет вверх (каждый раз, когда Вы делаете malloc), и стек растет вниз как и когда новые функции вызваны. "Куча" присутствует чуть выше раздела BSS программы. Что означает размер Вашей программы и пути это, allcates память в "куче" также влияет на максимальный размер стека для того процесса. Обычно размер стека неограничен (пока "куча" и области стека не встречают и/или перезаписывают, который даст переполнение стека и SIGSEGV :-)
Это только для пользовательских процессов, стопка ядра всегда фиксируется (обычно 8 КБ)
Для запуска Google Chrome в качестве root, выполните следующие действия:
Открыть Google Chrome
В вашем любимом редакторе (замена $ Editor
с вашим любимым):
$ Editor $ (который Google-Chrome)
Добавить - user-data-dir
в самом конце файла.
Мой файл выглядит так:
EXEC -A «$ 0» "$ здесь / Chrome" $ profile_directory_flag "\" $ @ "
--user-data-dir
Сохранить и закрыть редактор.
Вы закончите. Наслаждайтесь этим :)
Если вы хотите увидеть видеоурок, вы можете проверить мое сообщение в блоге:
Как запустить Google Chrome в качестве корня в Linux - Moeinfatehi
Теперь вы не можете запустить Google-Chrome в качестве пользователей root в обновленных версиях, чтобы запустить Google Chrome в качестве стандартного пользователя (во время входа в систему в качестве корня)
Откройте терминал и тип:
AddUser -u Chromeuser
или USERADD -M CHROMEUSER
для запуска команды использования Google Chrome:
GKSU -U Chromeuser Google Chrome
или SUX Chromeuser Google Chrome
, если Вы не хотите запустить его из терминала, затем добавьте Chrome в панель задач, а затем щелкните правой кнопкой мыши на нем, выберите «Свойства» и добавьте команду выше в параметре команд.
Для тех, кто, возможно, все еще гуглит в Dec 2016 - Google Chrome Version 54.0.2840.90 64bit under XFCE and 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: Появляется сообщение Пожалуйста, запустите Google Chrome от имени обычного пользователя. Для запуска от имени root вы должны указать альтернативный --user-data-dir для хранения информации профиля
.
Решение, которое сработало для меня:
/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 следующим образом:
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 от имени пользователя root, добавьте этот параметр «--нет -песочницы»
у меня это сработает.
это далеко не так, но попробуй
sudo chmod -R 777 /home/user_name/.config/google-chrome
больше не нужно настраивать песочницу
Я испробовал все представленные там решения, поэтому, по моему мнению, это лучшее.
sudo chmod -R 777 /home/user _имя/.config/google -chrome
Просто запустите команду, ничего делать не нужно.