Como faço o Ubuntu iniciar o fbterm no tty na inicialização?

9

Quando eu estava testando o openSUSE cerca de uma semana atrás, notei que tty1 (sim, apenas tty1) tinha o background do openSUSE. Eu quero fazer o mesmo no Ubuntu.

Eu encontrei um caminho usando o fbsplash. Não estou muito interessado nisso, pois envolve modificar o kernel.

Então eu encontrei o fbterm, que permite que você use seu próprio background e não envolve modificar o kernel.

Então eu tenho trabalho fbterm; Eu configuro e agora posso executá-lo como eu (não como root) e funciona muito bem.

Agora tudo que eu preciso é como fazer isso começar no tty quando eu inicio o Ubuntu.

Edit: Ele também precisa agir como getty quando eu inicio; caso contrário, não conseguirá fazer login.

    
por biggles5107 19.06.2012 / 21:23

2 respostas

6

Primeiro de tudo, você precisará editar o seu arquivo inittab. No Debian, ele está localizado em /etc/inittab , e eu acho que pode ser algo similar no Ubuntu. O prompt normal do TTY é gerenciado com um programa chamado getty , portanto, você precisará rolar até onde o programa está configurado. Você deve ver muitas linhas semelhantes a isso:

# 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

Em seguida, precisaremos de um programa chamado rungetty . Isso permite que você execute programas em um TTY como um usuário em particular. fbterm requer que você seja root para acessar o framebuffer, by by. Então você pode executar fbterm no TTY2 assim (os traços duplos significam o fim das opções para rungetty ):

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

Apenas um problema; você tem um terminal baseado em framebuffer bonito, mas você está logado como root! Ter um prompt de raiz não autenticado é tão ruim para a segurança quanto possível. Isso não serve.

Podemos usar um programa chamado login para contornar isso aceitando outro conjunto de credenciais de usuário e, em seguida, iniciando bash ou zsh ou qualquer que seja seu shell de login. Felizmente, fbterm pode aceitar um comando como seu argumento final (novamente, duplos traços impedem que fbterm e rungetty consigam argumentos misturados:

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

Com isso, você deve ter fbterm em execução em um de seus TTYs.

    
por 12.09.2014 / 06:53
0

Você deve poder mudar o terminal tty editando:

/etc/init/tty1.conf
    
por 27.04.2014 / 02:39