На лету вы можете просто выполнить эхо в /proc/sys/kernel/shmmax!
# echo 20446744073692774399 > /proc/sys/kernel/shmmax
Но большинство людей редактируют /etc/sysctl.conf строкой, похожей на:
kernel.shmmax=your_new_value_here
См. справочную страницу sysctl (8 ).
Нет. tmux заполняет оболочку по умолчанию -при запуске сервера, сначала просматривая $SHELL, если это недействительно, он пробует оболочку пользователя (из базы данных passwd ), и если это не не работает, тогда /bin/sh.
/etc/shells просто перечисляет, какие оболочки пользователю разрешено устанавливать в качестве своей оболочки (с помощью chsh или чего-то еще ), он не указывает, какая у пользователя действительная оболочка.
So does tmux grab it from there that and use it as the shell?
Нет. Выбор оболочки для запуска описан вman tmux
:
default-shell path
Specify the default shell. This is used as the login shell for new windows when the default-command option is set to empty, and must be the full path of the executable. When started tmux tries to set a default value from the first suitable of the SHELL environment variable, the shell returned by getpwuid(3), or /bin/sh. This option should be configured when tmux is used as a login shell.
Сначала tmux
запускает $SHELL
. $SHELL
обычно устанавливается в самом ранней стадии, когда вы входите в свою систему, например, с помощью вашего X менеджер входа.
Затем он анализирует /etc/passwd
, используя getpwuid()
, который вы можете прочитать подробнее в man getpwuid
. Наконец, если оба метода не работают, он запускается /bin/sh
.
Как видите, /etc/shells
вовсе не используется tmux
для того, чтобы определить, какую оболочку запускать. Вы даже можете временно переименовать его и tmux
по-прежнему будет работать:
sudo mv /etc/shells /etc/shells.bak
/etc/shells
указывает Пути допустимых оболочек входа в систему (необязательный)как описано в ФХС . Для например, он используется chsh
для проверки имени оболочки.