¿Cómo hago que Ubuntu inicie fbterm en el tty al inicio?

11

Cuando estaba probando openSUSE hace aproximadamente una semana, noté que tty1 (sí, solo tty1) tenía el fondo openSUSE. Quiero hacer lo mismo en Ubuntu.

Encontré una manera de usar fbsplash. No estoy demasiado interesado en eso, ya que implica modificar el núcleo.

Luego encontré fbterm, que le permite usar su propio fondo y no implica modificar el núcleo.

Entonces conseguí que fbterm funcionara; Lo configuré y ahora puedo ejecutarlo como yo mismo (no como root) y funciona bien.

Ahora todo lo que necesito es cómo hacer que se inicie en el tty cuando inicio Ubuntu.

Editar: También debe actuar algo como getty cuando lo inicio; de lo contrario no podré iniciar sesión.

biggles5107
fuente

Respuestas:

7

En primer lugar, deberá editar su archivo inittab. En Debian, está ubicado en /etc/inittab, y supongo que podría estar en algún lugar similar en Ubuntu. El indicador TTY normal se administra con un programa llamado getty, por lo que deberá desplazarse hacia abajo hasta donde está configurado ese programa. Debería ver muchas líneas similares a esta:

# 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

A continuación, necesitaremos un programa llamado rungetty. Esto le permite ejecutar programas en un TTY como usuario particular. fbtermrequiere que seas root para acceder al framebuffer, por by. Por lo tanto, podría ejecutar fbtermTTY2 de esta manera (los guiones dobles significan el final de los interruptores para rungetty):

2:23:respawn:/sbin/rungetty -u root tty2 -- fbterm

Solo un problema; tienes un hermoso terminal basado en framebuffer, ¡pero estás conectado como root! Tener un indicador raíz no autenticado es tan malo para la seguridad como es posible. Eso no servirá.

Podemos usar un programa llamado loginpara solucionar esto al aceptar otro conjunto de credenciales de usuario y luego comenzar bash o zsh o lo que sea que sea su shell de inicio de sesión. Afortunadamente, fbtermpuede aceptar un comando como argumento final (nuevamente, los guiones dobles impiden fbtermy rungettymezclan los argumentos:

2:23:respawn:/sbin/rungetty -u root tty2 -- fbterm -- login

Con eso, deberías haber fbtermcorrido en uno de tus TTY.

Jacob Hume
fuente
¿Qué tal en un sistema donde la utilidad "rungetty" no está disponible? ¿Hay otro método para lograr lo mismo?
dtmland
@dtmland Parece que agetty y mingetty tienen opciones (-l y --login ‐ prog respectivamente) que pueden ser útiles, pero no las he probado yo mismo. También puede intentar extraer las fuentes rungetty del archivo del paquete debian y construir en su sistema.
Jacob Hume
Por cierto, tengo problemas con fbterm en general, ¿tal vez tu experiencia podría ser útil? superuser.com/questions/892028/...
dtmland
1

Debería poder cambiar el terminal tty editando:

/etc/init/tty1.conf
drk.com.ar
fuente