Come faccio a far avviare Ubuntu fbterm in tty all'avvio?


11

Quando stavo testando openSUSE circa una settimana fa, ho notato che tty1 (sì, solo tty1) aveva lo sfondo di openSUSE. Voglio fare lo stesso in Ubuntu.

Ho trovato un modo usando fbsplash. Non mi interessa molto dal momento che comporta la modifica del kernel.

Poi ho trovato fbterm, che ti permette di usare il tuo background e non comporta la modifica del kernel.

Quindi ho fatto funzionare fbterm; L'ho impostato e ora posso eseguirlo come me stesso (non come root) e funziona perfettamente.

Ora tutto ciò di cui ho bisogno è come farlo iniziare nel tty quando avvio Ubuntu.

Modifica: Deve anche comportarsi in modo simile a getty quando lo avvio; altrimenti non sarò in grado di accedere.

Risposte:


7

Prima di tutto, dovrai modificare il tuo file inittab. Su Debian, si trova in /etc/inittab, e immagino che potrebbe essere un posto simile su Ubuntu. Il normale prompt TTY è gestito con un programma chiamato getty, quindi dovrai scorrere verso il basso fino a dove è impostato quel programma. Dovresti vedere molte righe simili a questa:

# 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

Successivamente, avremo bisogno di un programma chiamato rungetty. Ciò consente di eseguire programmi su un TTY come utente specifico. fbtermrichiede di essere root per accedere al framebuffer, a cura di. Quindi potresti eseguire fbtermTTY2 in questo modo (i trattini doppi indicano la fine degli switch per rungetty):

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

Un solo problema; hai un bellissimo terminale basato su framebuffer, ma sei loggato come root! Avere un prompt di root non autenticato è tanto dannoso per la sicurezza quanto lo è. Questo non lo farà.

Possiamo usare un programma chiamato loginper aggirare il problema accettando un altro set di credenziali utente e quindi avviando bash o zsh o qualunque sia la vostra shell di login. Fortunatamente, fbtermpuò accettare un comando come argomento finale (di nuovo, i trattini doppi impediscono fbterme rungettyconfondono gli argomenti:

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

Con ciò, dovresti avere fbtermuno dei tuoi TTY.


Che ne dici di un sistema in cui l'utilità "rungetty" non è disponibile? Esiste un altro metodo per ottenere lo stesso?
dtmland

@dtmland Sembra che agetty e mingetty abbiano opzioni (-l e --login ‐ prog rispettivamente) che possono essere utili, ma non le ho provate io. Puoi anche provare a estrarre le fonti di rungetty dall'archivio dei pacchetti debian e costruire sul tuo sistema.
Jacob Hume,

A proposito, sto avendo problemi con fbterm in generale - forse la tua esperienza potrebbe tornare utile? superuser.com/questions/892028/…
dtmland

1

Dovresti essere in grado di cambiare il terminale tty modificando:

/etc/init/tty1.conf
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.