Làm cách nào để Ubuntu khởi động fbterm khi khởi động?


11

Khi tôi đang thử nghiệm openSUSE khoảng một tuần trước, tôi nhận thấy rằng tty1 (vâng, chỉ tty1) có nền tảng openSUSE. Tôi muốn làm như vậy trong Ubuntu.

Tôi tìm thấy một cách sử dụng fbsplash. Tôi không quá quan tâm đến điều đó vì nó liên quan đến việc sửa đổi kernel.

Sau đó, tôi tìm thấy fbterm, cho phép bạn sử dụng nền của riêng bạn và nó không liên quan đến việc sửa đổi kernel.

Vì vậy, tôi đã làm việc với fbterm; Tôi đã thiết lập nó và bây giờ tôi có thể chạy nó như chính mình (không phải là root) và nó hoạt động tốt.

Bây giờ tất cả những gì tôi cần là làm thế nào để làm cho nó bắt đầu trong tty khi tôi khởi động Ubuntu.

Chỉnh sửa: Nó cũng cần phải hành động như getty khi tôi khởi động nó; nếu không tôi sẽ không thể đăng nhập.

Câu trả lời:


7

Trước hết, bạn sẽ cần chỉnh sửa tệp inittab của mình. Trên Debian, nó nằm ở đó /etc/inittabvà tôi đoán nó có thể giống với Ubuntu. Lời nhắc TTY bình thường được quản lý với một chương trình được gọi getty, vì vậy bạn sẽ cần cuộn xuống nơi chương trình đó được thiết lập. Bạn sẽ thấy rất nhiều dòng tương tự như thế này:

# 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

Tiếp theo, chúng tôi sẽ cần một chương trình được gọi là rungetty. Điều này cho phép bạn chạy các chương trình trên TTY với tư cách là một người dùng cụ thể. fbtermyêu cầu bạn phải root để truy cập bộ đệm khung, bởi. Vì vậy, bạn có thể chạy fbtermtrên TTY2 như vậy (dấu gạch ngang kép biểu thị sự kết thúc của các công tắc rungetty):

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

Chỉ có một vấn đề; bạn có một thiết bị đầu cuối dựa trên bộ đệm khung đẹp, nhưng bạn đã đăng nhập bằng root! Có một dấu nhắc gốc không được xác thực là không tốt cho bảo mật. Điều đó sẽ không xảy ra.

Chúng tôi có thể sử dụng một chương trình được gọi loginđể khắc phục điều này bằng cách chấp nhận một nhóm thông tin người dùng khác, sau đó bắt đầu bash hoặc zsh hoặc bất cứ điều gì vỏ đăng nhập của bạn xảy ra. May mắn thay, fbtermcó thể chấp nhận một lệnh làm đối số cuối cùng của nó (một lần nữa, dấu gạch ngang kép ngăn fbtermrungettykhông bị lẫn lộn:

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

Cùng với đó, bạn nên fbtermchạy trên một trong các TTY của mình.


Làm thế nào về một hệ thống mà tiện ích "rungetty" không có sẵn? Có một phương pháp khác để thực hiện tương tự?
dtmland 20/03/2015

@dtmland Có vẻ như agetty và mingetty có các tùy chọn (-l và --login prog tương ứng) có thể hữu ích, nhưng tôi đã không tự mình thử chúng. Bạn cũng có thể thử kéo các nguồn rungetty từ kho lưu trữ gói debian và xây dựng trên hệ thống của bạn.
Jacob Hume

Nhân tiện, tôi đang gặp rắc rối với fbterm nói chung - có lẽ chuyên môn của bạn có thể có ích? superuser.com/questions/892028/...
dtmland

1

Bạn sẽ có thể thay đổi thiết bị đầu cuối tty bằng cách chỉnh sửa:

/etc/init/tty1.conf
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.