Tắt tính năng xóa màn hình trên bảng điều khiển văn bản


75

Tôi đang chạy các cụm linux, chủ yếu trên SLES10. Các máy chủ chủ yếu là lưỡi dao, được truy cập thông qua bảng điều khiển từ xa. Có một bàn điều khiển thực sự trong phòng máy chủ, nhưng đã tắt.

Tôi muốn vô hiệu hóa màn hình trống vì nó không phục vụ mục đích và gây phiền toái. Bạn phải nhấn phím để xem nếu bạn kết nối đó là một nỗi đau. Chúng tôi đang chạy trong runlevel 3, vì vậy giao diện điều khiển ở chế độ văn bản, không có X11 liên quan.



Đối với Debian, xem unix.stackexchange.com/questions/238846 .
JdeBP

Câu trả lời:


85

Bạn có thể xác minh thời gian chờ mà kernel sử dụng để xóa bảng điều khiển ảo thông qua:

$ cat /sys/module/kernel/parameters/consoleblank
600

Tập tin này là chỉ đọc và thời gian chờ được chỉ định trong vài giây. Mặc định hiện tại dường như là 10 phút.

Bạn có thể thay đổi giá trị đó bằng cách nhập lệnh sau trên bảng điều khiển ảo (nếu bạn ở trong xterm, bạn phải thay đổi thành bảng điều khiển ảo thông qua nhấn eg Ctrl+ Alt+ F1).

$ setterm -blank VALUE

Trong đó GIÁ TRỊ mới được chỉ định trong vài phút . Giá trị 0 vô hiệu hóa xóa trống:

$ cat /sys/module/kernel/parameters/consoleblank
600
$ setterm -blank 0
$ cat /sys/module/kernel/parameters/consoleblank
0

setterm có các tùy chọn liên quan đến quyền hạn khác, sự kết hợp hữu ích nhất dường như là:

$ setterm -blank 0 -powersave off

Do đó, để tắt vĩnh viễn / tự động tắt bảng điều khiển ảo khi khởi động, bạn có thể:

  1. thêm consoleblank=0vào các tham số kernel (chỉnh sửa cấu hình grub)
  2. thêm setterm -blank 0lệnh vào một rc-localtập lệnh khởi động hoặc tương đương
  3. thêm settermđầu ra /etc/issue/etc/issuelà đầu ra trên mọi bàn điều khiển ảo:

    # setterm -blank 0 >> /etc/issue

Chọn một thay thế từ trên.


2
PS: Trên hệ thống Ubuntu 11.10 (Thinkpad X200) Tôi nhận thấy một lỗi trong đó giao diện điều khiển bị xóa bởi kernel gây cản trở phiên X11 đang chạy. Điều đó có nghĩa là chính xác 10 phút sau khi phím cuối cùng nhấn vào khoảng trống hiển thị X11 và bạn phải quay vòng sang bàn điều khiển ảo để lấy lại màn hình X11 (rất khó chịu trong khi phát lại video). Điều này độc lập với các cài đặt liên quan đến DPMS / bảo vệ màn hình trong X11 (nghĩ, xsetv.v.). Do đó, việc vô hiệu hóa bảng điều khiển virutal như được mô tả ở trên là một cách giải quyết nhanh chóng cho các hệ thống bị ảnh hưởng.
maxschlepzig

hừm Vì một số lý do, tôi không thấy /sys/module/kernel/parameters/consoleblanktrên máy chủ CentOS 5.x của mình. Nó có thể được đặt dưới một tên khác?
Mike B

1
Trên RHEL 5 và 6, tôi thấy rằng việc đưa /bin/setterm -blank 0 -powerdown 0 -powersave offvào /etc/rc.localsẽ rất tốt. Trên RHEL 7, tuy nhiên nó sẽ thất bại. Thêm consoleblank=0vào các tham số kernel te hoạt động trên nền tảng đó.
David C.

7
Xin lưu ý rằng bạn không thực sự phải chạy settermtrong bảng điều khiển ảo. Bạn cũng có thể chuyển hướng nó đến nó: setterm -blank 0 > /dev/tty1hoạt động tốt. Hoặc bạn có thể sử dụng setterm -blank < /dev/tty1để truy vấn giá trị hiện tại từ tty1 hoặc setterm -blank force < /dev/tty1để buộc trống.
Alexander Amelkin

@AlexanderAmelkin - chuyển hướng đến / từ / dev / tty1 không hoạt động trong RHEL 7. Bạn đã sử dụng bản phân phối nào để làm điều đó? / dev / tty1 thực sự là bảng điều khiển cục bộ, nhưng dường như cả / dev / console đều không làm được gì.
Paul

15

Hãy thử sử dụng cái này:

setterm -blank

1
@markus_b: Vì vậy, hãy thêm lệnh này vào tập lệnh init (đại loại như /etc/init/markus-console.confnếu bạn sử dụng Upstart hoặc /etc/init.d/markus-console.shcộng với các liên kết tượng trưng /etc/rd?.dcho SysVinit, tôi không biết các vị trí SuSE thực tế).
Gilles

2
@mattdm, không đúng - systemdthường đi kèm với rc-localdịch vụ tương thích - hoặc bạn có thể dễ dàng thêm dịch vụ tùy chỉnh ...
maxschlepzig

3
@mattdm Tại sao bạn không thể viết một đơn vị chạy lệnh đó?
kyrias

1
MIPO: Thoát khỏi tmux trước, hoặc điều này sẽ không hoạt động.
Cody Hess


14

Theo: https://wiki.archlinux.org/index.php/Display_Power_Quản lý_Signaling # DPMS_Interaction_in_a_console_with_setterm

Ngăn màn hình tắt (trong bảng điều khiển)

$ setterm -blank 0 -powerdown 0

Ngoài ra, bạn có thể tắt tính năng xóa bảng điều khiển vĩnh viễn bằng lệnh sau:

# echo -ne "\033[9;0]" >> /etc/issue


3
giải pháp thứ hai hoạt động như một cơ duyên trên Marvell ARM Debian. Tất cả các giải pháp khác không làm gì cả.
Alexey Sviridov

13

Tôi đã thực hiện và thử nghiệm cấu hình sau, hoạt động tốt trên sles10, công việc của tôi tại thời điểm này.

Trong

/etc/init.d/boot.local

thêm vào

setterm -blank

có vẻ như đó là tất cả những gì nó cần Cảm ơn Uku Loskit và Gilles đã thúc đẩy đúng hướng.


1
Tôi đã chỉnh sửa Câu trả lời của bạn không thương tiếc, vì vậy đừng ngần ngại quay lại nếu bạn không thích nó. Ngoài ra, vui lòng chấp nhận câu trả lời của bạn vì đó là giải pháp thực tế. Bạn không nên chấp nhận một câu trả lời chỉ vì bạn biết ơn nó đã dẫn bạn đến câu trả lời thực sự, nếu thực sự có một câu trả lời tốt hơn.
tshepang

Xin lỗi, như phiên bản gốc tốt hơn.
markus_b

Tôi đã phải thêm các câu trả lời được bình chọn hàng đầu - giảm sức mạnh vì ipmi trên bảng hệ thống của tôi trở nên ngu ngốc nếu nó không có cả hai phần này. thật đáng buồn là nó không giữ các cài đặt giữa các lần sử dụng và khi các tính năng này bật trong cửa sổ bật lên nền trước và bắt đầu quay vòng cửa sổ qua khoảng 4 kích cỡ khác nhau mỗi giây hoặc 2 khiến nó gần như không thể bắt được cửa sổ và thay đổi kích thước thủ công / đá hết hạn tiết kiệm năng lượng :(
Kendrick

13

Giải pháp vĩnh viễn duy nhất là thêm consoleblank=0vào dòng lệnh kernel. Bạn có thể xem giá trị (mặc định là 600 giây) trong:

/sys/module/kernel/parameters/consoleblank

(lưu ý rằng tệp chỉ đọc). Cách duy nhất để thay đổi giá trị của consoleblank là khởi động lại với tùy chọn dòng lệnh kernel mới.


3
Câu cuối cùng là sai - bạn không cần phải khởi động lại để thay đổi giá trị của consoleblank. Xem câu trả lời của tôi.
maxschlepzig

Tôi đã không tìm thấy setterm -blank để làm việc đáng tin cậy. Đôi khi nó dường như được thiết lập lại sau khi đăng xuất hoặc chuyển sang các thiết bị đầu cuối ảo khác.
amcnabb

Để thêm cài đặt cố định này bằng grub, hãy chỉnh sửa /boot/grub/grub.conf và nối consoleblank = 0 vào các dòng bắt đầu bằng "kernel / boot / vmlinuz ...". Sau đó khởi động lại.
Hoylen

1
"chỉ" có vẻ như là một từ chuỗi ở đây ...
phải

5

Nếu bạn chỉ muốn ngăn màn hình trống sau khi người dùng đăng nhập, thì chỉ cần nối thêm setterm -powersave off -blank 0vào $HOME/.bash_profilengười dùng tương ứng.


5

Tôi đã thực sự được đệm bởi vấn đề này. Tất cả các thủ thuật ở trên với việc sử dụng setterm và chuyển hướng từ / đến / dev / tty0 đều không hoạt động từ ssh của tôi.

Sau đó, tôi nhận ra một cách để vô hiệu hóa nó:

TERM=linux setterm -blank 0 -powerdown 0  -powersave off >/dev/tty0 </dev/tty0

TERM = linux thay thế TERM mặc định (là xterm-256color trên máy của tôi) và giúp setterm truy vấn các tham số thích hợp từ tty0.

Bạn có thể kiểm tra kết quả bằng cách

cat /sys/module/kernel/parameters/consoleblank

Nó phải là 0. Nếu là 600, lừa không thành công.


3

/usr/bin/setterm -powerdown 0 cũng có thể giúp

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.