9

Когда я тестировал openSUSE около недели назад, я заметил, что tty1 (да, просто tty1) имеет фон openSUSE. Я хочу сделать то же самое в Ubuntu.

Я нашел способ, используя fbsplash. Я не слишком заинтересован в этом, поскольку он включает в себя модификацию ядра.

Затем я нашел fbterm, который позволяет вам использовать свой собственный фон и не требует модификации ядра.

Так что я получил работу fbterm; Я установил его, и теперь я могу запустить его как сам (не как root), и он работает просто отлично.

Теперь все, что мне нужно, это как запустить его в tty при запуске Ubuntu.

Изменить: Это также должно действовать что-то вроде getty, когда я запускаю его; иначе я не смогу войти.

2 ответа2

6

Прежде всего, вам нужно отредактировать файл 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.

0

Вы должны быть в состоянии изменить терминал tty, отредактировав:

/etc/init/tty1.conf

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .