Здравствуйте мои маленькие любители авиационного спирта! Сейчас я вам расскажу как запускать приложения при загрузке линукса сразу в tmux.
Во-первых, в /etc/inittab нужно добавить параметр --autologin root
чтобы автоматически входить в систему при загрузке.
Было так:
c1:2:respawn:/sbin/agetty --noclear 38400 tty1 linux
c2:2:respawn:/sbin/agetty 38400 tty2 linux
c3:2:respawn:/sbin/agetty 38400 tty3 linux
c4:2:respawn:/sbin/agetty 38400 tty4 linux
c5:2:respawn:/sbin/agetty 38400 tty5 linux
c6:2:respawn:/sbin/agetty 38400 tty6 linux
Стало так:
c1:2:respawn:/sbin/agetty --autologin root --noclear 38400 tty1 linux
c2:2:respawn:/sbin/agetty 38400 tty2 linux
c3:2:respawn:/sbin/agetty 38400 tty3 linux
c4:2:respawn:/sbin/agetty 38400 tty4 linux
c5:2:respawn:/sbin/agetty 38400 tty5 linux
c6:2:respawn:/sbin/agetty 38400 tty6 linux
Далее нужно в .bash_profile настроить разовый запуск tmux, проверять это можно путём лок-файла. Разовый, чтобы приложения не запускались повторно при логине по ssh, к примеру. Так же, указать автозапуск приложений.
#!/bin/bash
autorun ()
{
# если tmux уже запущен, ничего не делаем
if test -f ~/.tmux.pid; then
if kill -0 $(< ~/.tmux.pid) 2>/dev/null; then
return 1
fi
fi
# запускаем tmux и записываем Process ID
tmux start-server
echo $! > ~/.tmux.pid
# запускаем все необходимые процессы в автозапуске
tmux new-session -d -s autorun "/bin/bash"
tmux new-window -t autorun "/bin/bash -c /root/.local/bin/hpeconf.sh"
tmux new-window -t autorun "/bin/bash -c /root/.local/bin/shutdown1hour.sh"
# возвращаемся к первому окну в tmux
tmux select-window -t autorun:0
# подключаемся к tmux чтобы видеть его в tty1
tmux attach-session -t autorun
}
autorun
Теперь при включении компьютера, загрузке ОС GNU/Linux, вы будете логиниться в системе как root (в tty1 без ввода пароля), а далее будет происходить автоматический запуск всех необходимых приложений внутри tmux, таким образом вы сможете подключиться к хосту по ssh и приаттачить tmux в любой момент.
Это удобно если например создать флешку с загружающимся live-дистрибутивом и автозапуском всех необходимых приложений для настройки.
Если кто-то захочет оформить это в виде отдельных удобных функций для сподручного запуска tmux с приложениями — будет круто.
Удачной работы за компьютером!