Kích hoạt khóa num như mặc định trong Linux


11

Đã có một câu hỏi tương tự - nhưng IMHO phải có một giải pháp đơn giản hơn. Nếu num-lock được bật trong BIOS - tại sao nó lại bị tắt trong khi khởi động linux và / hoặc KDE / Gnome / bất cứ thứ gì khởi động?

Câu trả lời:


9

Linux khởi tạo hầu hết các thiết bị ngoại vi để chúng ở trạng thái đã biết. Điều này bao gồm bàn phím: Dữ liệu bên trong của Linux về bàn phím phù hợp hơn với đèn LED, vì vậy, những gì Linux làm là tắt đèn LED (theo như tôi nhớ, CPU không thể đọc trạng thái của đèn LED trên bàn phím PC) và khai báo tất cả * Khóa bị tắt.

Tôi muốn có NumLock theo mặc định. Đối với bảng điều khiển văn bản Linux, điều tôi thường làm là chạy

for t in /dev/tty[0-9]*; do setleds -D +num <$t; done

từ một tập lệnh khởi động ( /etc/rc.localhoặc /etc/init.d/50_local_setledsbất cứ nơi nào bản phân phối muốn đặt chúng).

Ngày nay, ít nhất là trên một số bản phân phối như Debian, bạn có thể thêm LEDS=+numvào /etc/console-tools/config(hoặc /etc/kbd/configtùy thuộc vào loại nào bạn có).

Hệ thống cửa sổ X có xử lý bàn phím riêng, vì vậy bạn cần phải xử lý riêng. Những gì tôi làm là tắt khóa mũ vĩnh viễn (Tôi không có phím Caps Lock trong bố cục của mình) và bật khóa num vĩnh viễn (Tôi không có phím Num Lock trong bố cục của mình và các phím bàn phím gửi KP_1và Sớm). Nếu bạn muốn giữ lại các bộ sửa đổi nhưng bật Num Lock mặc định, bạn có thể viết một chương trình nhỏ để gọi XKbLockModifiersđể đặt bộ sửa đổi bên trong X và XChangeKeyboardControlđể đặt đèn LED vật lý.

¹ Được sử dụng để, bởi vì tôi đã không làm phiền với các văn bản bàn giao tiếp trong một thời gian.


Bạn đề cập đến bảng điều khiển - không có tùy chọn kernel cho numlock trong các nhân linux cũ? 0.x hay 1.y? Dù sao - không có tùy chọn Xconfig cho numlock?
Nils

@Nils Mmmm có lẽ, tôi không nhớ. Tôi không nghĩ có gì cho X, nhưng tôi đã tìm hiểu về bàn phím trong X trước khi XKB tồn tại, vì vậy tôi có thể thiếu một số thứ mới lạ từ cuối thế kỷ 20.
Gilles 'SO- ngừng trở nên xấu xa'

1
Tôi sẽ thêm một lưu ý rằng trên Debian, cài đặt numlock sau khi khởi động được thực hiện bởi kbdgói tạo ra tập lệnh kbd init.
carandraug

1
@Rodrigo Hệ điều hành có thể biết trạng thái của khóa. Những gì nó không thể biết, theo như tôi biết, là trạng thái của đèn LED - nó chỉ có thể nhớ liệu lần cuối bật hay tắt đèn LED, nhưng điều đó không hoạt động trên một thay đổi hệ điều hành (ví dụ: BIOS → bộ nạp khởi động → Linux).
Gilles 'SO- ngừng trở nên xấu xa'

1
@Rodrigo Câu hỏi đó liên quan đến các ứng dụng lấy thông tin từ hệ điều hành. Phần bạn đang tranh luận là làm thế nào hệ điều hành sẽ có được thông tin.
Gilles 'SO- ngừng trở nên xấu xa'
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.