Bagaimana cara membuat Ubuntu memulai fbterm di tty saat startup?

11

Ketika saya menguji openSUSE sekitar seminggu yang lalu, saya perhatikan bahwa tty1 (ya, hanya tty1) memiliki latar belakang openSUSE. Saya ingin melakukan hal yang sama di Ubuntu.

Saya menemukan cara menggunakan fbsplash. Saya tidak terlalu suka itu karena melibatkan memodifikasi kernel.

Kemudian saya menemukan fbterm, yang memungkinkan Anda untuk menggunakan latar belakang Anda sendiri dan itu tidak melibatkan modifikasi kernel.

Jadi saya membuat fbterm bekerja; Saya mengaturnya dan sekarang saya bisa menjalankannya sendiri (bukan sebagai root) dan berfungsi dengan baik.

Sekarang yang saya butuhkan adalah bagaimana memulai di tty ketika saya memulai Ubuntu.

Sunting: Itu juga perlu bertindak seperti getty ketika saya memulai; kalau tidak, saya tidak akan bisa masuk.

biggles5107
sumber

Jawaban:

7

Pertama-tama, Anda harus mengedit file inittab Anda. Di Debian, itu terletak di /etc/inittab, dan saya kira itu mungkin berada di tempat yang serupa di Ubuntu. Prompt TTY normal dikelola dengan program yang dipanggil getty, jadi Anda harus menggulir ke bawah ke tempat program itu diatur. Anda akan melihat banyak baris yang mirip dengan ini:

# 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

Selanjutnya, kita perlu sebuah program bernama rungetty. Ini memungkinkan Anda untuk menjalankan program pada TTY sebagai pengguna tertentu. fbtermmengharuskan Anda untuk menjadi root untuk mengakses framebuffer, oleh. Jadi Anda bisa menjalankan fbtermpada TTY2 seperti itu (tanda hubung ganda menandakan akhir dari sakelar untuk rungetty):

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

Hanya satu masalah; Anda memiliki terminal berbasis framebuffer yang indah, tetapi Anda login sebagai root! Memiliki prompt root yang tidak diautentikasi sama buruknya dengan keamanan. Itu tidak akan berhasil.

Kami dapat menggunakan program yang dipanggil loginuntuk menyiasatinya dengan menerima set kredensial pengguna lain, dan kemudian memulai bash atau zsh atau apa pun shell login Anda. Untungnya, fbtermdapat menerima perintah sebagai argumen terakhirnya (sekali lagi, tanda hubung ganda mencegah fbtermdan rungettymembuat argumen bercampur:

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

Dengan itu, Anda seharusnya fbtermmenjalankan salah satu TTY Anda.

Jacob Hume
sumber
Bagaimana dengan sistem di mana utilitas "rungetty" tidak tersedia? Apakah ada metode lain untuk mencapai hal yang sama?
dtmland
@dtmland Sepertinya agetty dan mingetty memiliki opsi (masing-masing -l dan -login-prog) yang mungkin membantu, tetapi saya belum mencobanya sendiri. Anda juga dapat mencoba menarik sumber rungetty dari arsip paket debian dan membangunnya di sistem Anda.
Jacob Hume
Ngomong-ngomong, saya mengalami masalah dengan fbterm secara umum - mungkin keahlian Anda bisa berguna? superuser.com/questions/892028/…
dtmland
1

Anda harus dapat mengubah terminal tty dengan mengedit:

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