Прежде всего, вам нужно отредактировать файл inittab. В Debian он находится в /etc/inittab
, и я предполагаю, что он может быть где-то похожим в Ubuntu. Обычное приглашение TTY управляется с помощью программы getty
, поэтому вам нужно прокрутить вниз до места установки этой программы. Вы должны увидеть много строк, похожих на это:
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
#
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6
Далее нам понадобится программа rungetty
. Это позволяет запускать программы на TTY от имени конкретного пользователя. fbterm
требует, чтобы вы были пользователем root, чтобы получить доступ к кадровому буферу . Таким образом, вы можете запустить fbterm
на TTY2 следующим образом (двойные черточки означают конец переключателей для rungetty
):
2:23:respawn:/sbin/rungetty -u root tty2 -- fbterm
Только одна проблема; у вас есть прекрасный терминал на основе фреймбуфера, но вы вошли как root! Наличие не прошедшего проверку подлинности корневого приглашения примерно так же вредно для безопасности, как и оно. Это не будет делать.
Мы можем использовать программу, называемую login
чтобы обойти это, приняв другой набор учетных данных пользователя, а затем запустив bash или zsh или что-то вроде вашей оболочки входа. К счастью, fbterm
может принять команду в качестве последнего аргумента (опять же, двойные тире не позволяют fbterm
и rungetty
аргументы:
2:23:respawn:/sbin/rungetty -u root tty2 -- fbterm -- login
При этом у вас должен быть запущен fbterm
на одном из ваших TTY.