Ngăn bàn điều khiển xóa màn hình?


11

Khi khởi động vào Linux, đôi khi có một hoặc hai dòng bị xóa nhanh chóng. Tôi nghĩ rằng một số trong số họ thậm chí không xuất hiện trong dmesg. Nếu không có gì khác, tôi muốn loại bỏ rõ ràng trước lời nhắc "đăng nhập:". Có một lệnh kernel hoặc sysctl mà tôi có thể thiết lập để ngăn chặn điều này để tôi có thể đọc chúng trên màn hình console sau khi khởi động không?


Không /var/log/kern.log có giúp được không? Hoặc bạn không có nó?
HUB

Câu trả lời:


13

Hầu hết các thông tin bạn muốn sẽ có trong /var/log/dmesg/var/log/messagessau khi hệ thống khởi động, bạn nên kiểm tra các tệp đó trước.

Nói chung các máy linux chạy mingetty cho các thiết bị đầu cuối ảo. Nếu bạn có một hệ thống init sysv truyền thống, chúng sẽ được điều khiển bởi /etc/inittab. Bạn có thể thêm --nocleartùy chọn vào mingetty để ngăn xóa màn hình. Để làm điều này, chỉnh sửa /etc/inittabvà thay đổi dòng này:

1:2345:respawn:/sbin/mingetty tty1

đến

1:2345:respawn:/sbin/mingetty --noclear tty1

sau đó khởi động lại máy.

Một số bản phân phối linux mới hơn sử dụng thay thế init như Upstart (ví dụ: Ubuntu). Chúng thường không sử dụng / etc / inittab và thay vào đó sử dụng một số tệp cấu hình khác. Đây là một cuộc thảo luận về cách gọi mingetty hoạt động trên Ubuntu .


Chà, tôi đã quên đề cập rằng tôi thực sự quan tâm đến Ubuntu. Liên kết ở trên chỉ ra một số thông tin lỗi thời và nỗ lực đầu tiên của tôi (chỉ cần chỉnh sửa /etc/init/tty1.conf hoàn toàn không thành công.
Paul Hoffman

Họ sử dụng gettytừ util-linux, không mingetty, nhưng điều này cũng hoạt động với Debian. Cảm ơn!
mirabilos

10

Với systemd mọi thứ là khác nhau. Xem bài viết Dừng xóa My God Damned Console . Nói ngắn gọn:

mkdir /etc/systemd/system/getty@.service.d
cat >/etc/systemd/system/getty@.service.d/noclear.conf <<EOF
[Service]
TTYVTDisallocate=no
EOF
systemctl daemon-reload

Xác nhận kết quả với systemctl cat getty@tty1.service


4

Nếu không có gì khác giúp bạn, bạn có thể lấy máy tính xách tay của mình và ghi lại tất cả nhật ký kernel thông qua bảng điều khiển nối tiếp bằng cách thêm một cái gì đó như thế này vào các tham số kernel:

console=tty0 console=ttyS0,9600n8 console=tty0

Điều này sẽ gây ra đầu ra cho apperar trên bàn điều khiển nối tiếp (trong chương trình đầu cuối của bạn) và trên tty tiêu chuẩn. Đôi khi có sẵn SOL (Nối tiếp qua mạng LAN).


3

Sau nhiều giờ googling, tôi tìm thấy giải pháp trong chủ đề nàycâu hỏi này . Quy trình này hoạt động Ubuntu 12.04.1 LTSnhư được mô tả ở đây , nhưng nó không nên quá khác biệt đối với các bản phân phối khác.

Đầu tiên, thêm console=tty1vào của bạn GRUB_CMDLINE_LINUX(tôi cũng đề nghị thêm noplymouthđể ức chế plymouthvà màn hình giật gân vô dụng của nó).

#> sudo vi /etc/default/grub

GRUB_CMDLINE_LINUX="console=tty1 noplymouth"

Điều này buộc nhật ký kernel được in tty1thay vì tty7và tránh ttychuyển đổi trước dấu nhắc đăng nhập.

Sau đó chỉ cần đi vào /etc/initvà chỉnh sửa một hoặc nhiều tty1.conf, tty2.conf, tty3.conf, tty4.conf, tty5.conf, tty6.confhoặc console.conf. Tôi chỉnh sửa tất cả --nocleartùy chọn thêm vào gettylệnh. Ví dụ tty1.conf: chỉnh sửa :

#> sudo vi /etc/init/tty1.conf

bạn sẽ phải thay thế:

respawn
exec /sbin/getty -8 38400 tty1

với:

respawn
exec /sbin/getty -8 38400 --noclear tty1

Đó là tất cả, bây giờ hệ thống của bạn sẽ khởi động trong một lần duy nhất ttymà không xóa nó.


1

dmesg ở đây quay trở lại từ đầu của kernel, bắt đầu bằng

[    0.000000] Initializing cgroup subsys cpuset

Có lẽ đây là một số thông điệp bios hoặc một phần của bộ tải khởi động của bạn? Dù bằng cách nào, có rất nhiều thứ khác nhau có thể làm trống màn hình, mà không biết chính xác nơi nào trong quá trình nó xảy ra, thật khó để nói phải làm gì về nó. Là thứ duy nhất còn lại trên màn hình "Đăng nhập:"? hoặc có một số công cụ khởi động khác ở trên nó? Nếu nó ngay lập tức trước dấu nhắc đăng nhập và không có gì khác trên màn hình, thì có lẽ /etc/issuecó lệnh xóa màn hình trong đó không? Nếu không, bạn có thể đang sử dụng một số loại bộ đệm khung điều khiển đang chuyển đổi chế độ video. Trên máy tính của tôi, màn hình bị trống khi phông chữ điều khiển được tải.


TL; DR /etc/issuecũng có thể là thủ phạm. Gợi ý tốt
Tino
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.