Metin konsolunda ekran boşluğunu devre dışı bırak


75

Genellikle SLES10'da linux kümeleri çalıştırıyorum. Sunucular çoğunlukla uzak konsoldan erişilen blade'lerdir. Sunucu odasında gerçek bir konsol var, ancak kapalı.

Bir amaç olmadığı ve sıkıntı verici olduğu için ekran körlüğünü devre dışı bırakmak istiyorum. Bir acı olup olmadığını görmek için tuşa basmanız gerekir. Çalışma seviyesi 3'te çalışıyoruz, bu yüzden konsol metin modunda, X11 dahil değil.



Yanıtlar:


85

Çekirdeğin sanal konsol boşluğu için hangi zaman aşımını kullandığını doğrulayabilirsiniz:

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

Bu dosya salt okunur ve zaman aşımı saniye cinsinden belirtildi. Geçerli varsayılan 10 dakika gibi görünüyor.

Sanal konsola aşağıdaki komutu girerek bu değeri değiştirebilirsiniz (eğer bir xterm içindeyseniz, örneğin Ctrl+ Alt+ tuşlarına basarak sanal konsola geçmek zorundasınız F1).

$ setterm -blank VALUE

Yeni DEĞER'in dakika cinsinden belirtildiği yer . 0 değeri körlemeyi devre dışı bırakır:

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

setterm'in güç tasarrufu sağlayan başka seçenekleri de var, en kullanışlı kombinasyon şöyle görünüyor:

$ setterm -blank 0 -powersave off

Böylece başlangıçta sanal konsol boşluğunu kalıcı olarak / otomatik olarak devre dışı bırakmak için aşağıdakilerden birini yapabilirsiniz:

  1. consoleblank=0çekirdek parametrelerine ekleyin (grub yapılandırmasını düzenle)
  2. setterm -blank 0komutu bir rc-localveya eşdeğer bir başlangıç ​​komut dosyasına ekleyin
  3. çıkışı her sanal konsolda settermçıktı olduğundan /etc/issueberi ekleyin /etc/issue:

    # setterm -blank 0 >> /etc/issue

Yukarıdakilerden bir alternatif seçin.


2
Not: Ubuntu 11.10 sisteminde (Thinkpad X200) Çekirdeğin boşalttığının, çalışan bir X11 oturumuna müdahale ettiği bir hata fark ettim. Bu, son tuşa basıldıktan 10 dakika sonra X11 ekran boşluklarına bastığınız anlamına gelir ve X11 ekranını geri almak için sanal bir konsola geçmek zorundasınız (örneğin, video oynatırken çok can sıkıcı). Bu, X11 (düşün xsetvb.) Altındaki DPMS / ekran koruyucu ile ilgili ayarlardan bağımsızdır . Bu nedenle, virütal konsol boşluğunun yukarıda açıklandığı şekilde devre dışı bırakılması, etkilenen sistemler için hızlı bir geçici çözümdür.
maxschlepzig

hmmm. Nedense /sys/module/kernel/parameters/consoleblankCentOS 5.x sunucumda göremiyorum . Farklı bir isim altında ayarlanabilir mi?
Mike B,

1
RHEL 5 ve 6, ben koyarak bulundu /bin/setterm -blank 0 -powerdown 0 -powersave offyılında /etc/rc.localbüyük bir çalışırdı. RHEL 7'de ise başarısız olur. consoleblank=0Çekirdek parametrelerinin eklenmesi bu platformda çalışır.
David C.

7
Lütfen settermsanal bir konsolda çalıştırmanız gerekmediğini unutmayın . Siz de ona yönlendirebilirsiniz: setterm -blank 0 > /dev/tty1gayet iyi çalışıyor. Veya setterm -blank < /dev/tty1, geçerli değeri tty1'den sorgulamak veya setterm -blank force < /dev/tty1boşluk bırakmaya zorlamak için kullanabilirsiniz.
Alexander Amelkin

@AlexanderAmelkin - RHEL 7'de / dan / dev / tty1'e yönlendiriyor. 7. Bunu yapmak için hangi dağıtımı kullanıyordunuz? / dev / tty1 gerçekten yerel konsol, ancak ne / ne / dev / console hiçbir şey yapmıyor gibiydi.
Paul

15

Bunu kullanmayı dene:

setterm -blank

1
@markus_b: Yani (gibi bir şey init komut dosyasına bu komutu eklemek /etc/init/markus-console.confEğer sonradan görme veya kullanırsanız /etc/init.d/markus-console.shartı sembolik /etc/rd?.d, ben gerçek SuSE'nin yerleri bilmiyorum sysvinit için).
Gilles,

2
@mattdm, doğru değil - systemdgenellikle bir rc-localuyumluluk servisiyle birlikte gelir - ya da kolayca özel servisler ekleyebilirsiniz ...
maxschlepzig

3
@ mattdm Neden sadece bu komutu çalıştıran bir ünite yazmıyorsunuz?
kyrias

1
İPUCU: Önce tmux'tan çıkın , yoksa bu işe yaramaz.
Cody Hess


14

Göre: https://wiki.archlinux.org/index.php/Display_Power_Management_Signaling#DPMS_Interaction_in_a_console_with_setterm

Ekranın kapanmasını önle (konsolda)

$ setterm -blank 0 -powerdown 0

Alternatif olarak, aşağıdaki komutu kullanarak konsol boşluğunu kalıcı olarak devre dışı bırakabilirsiniz:

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


3
İkinci çözüm Marvell ARM Debian'ın cazibesi gibi çalışıyor. Diğer tüm çözümler hiçbir şey yapmaz.
Alexey Sviridov

13

Şu andaki iş gücüm olan sles10'da iyi çalışan aşağıdaki konfigürasyonu uygulamıştım ve test ettim.

İçinde

/etc/init.d/boot.local

eklemek

setterm -blank

Tek gereken bu gibi görünüyor. Uku Loskit ve Gilles için doğru yöne attığınız için teşekkür ederiz.


1
Cevabınızı acımasızca düzenledim, bu yüzden beğenmediyseniz geri alma konusunda tereddüt etmeyin. Ayrıca, cevabınızı kabul edin, çünkü gerçek çözüm budur. Bir Cevabı Kabul Etmemelisiniz, çünkü gerçekten daha iyi bir Cevap varsa, sizi gerçek cevaba götürdüğü için minnettarsınız.
tshepang

Üzgünüm, orijinal sürüm gibi daha iyi.
markus_b

En üstteki oyların cevaplarını eklemek zorunda kaldım - sistem kartımdaki ipmi bunun her iki parçasını da bulamamışsa aptallaştığından, kesin. Son derece basit bir şekilde, kullanımlar arasındaki ayarları korumaz ve pencerede açılan bu özellikler ön plana çıkarsa ve pencereyi saniyede bir kez yaklaşık 4 farklı boyutta döndürmeye başladığında veya 2 pencereyi yakalamayı imkansız hale getirir ve manuel olarak yeniden boyutlandırır. güç tasarrufu teriminden tekme
Kendrick

13

Tek kalıcı çözüm, consoleblank=0çekirdek komut satırına eklemektir . Değeri (varsayılan olarak 600 saniyedir) içinde görüntüleyebilirsiniz:

/sys/module/kernel/parameters/consoleblank

(dosyanın salt okunur olduğunu unutmayın). Konsolosluğun değerini değiştirmenin tek yolu yeni çekirdek komut satırı seçeneğiyle yeniden başlatmaktır.


3
Son cümle yanlıştır - değerini değiştirmek için yeniden başlatmanıza gerek yoktur consoleblank. Cevabımı gör.
maxschlepzig

Setterm'i -güvenilmeden çalışmak için bulamadım. Bazen oturumu kapattıktan veya diğer sanal terminallere geçtikten sonra sıfırlanıyor gibi görünüyor.
amcnabb

Bu kalıcı ayarı grub ile eklemek için, /boot/grub/grub.conf dosyasını düzenleyin ve "kernel / boot / vmlinuz ..." ile başlayan satırlara consoleblank = 0 ekleyin. Ardından yeniden başlatın.
Hoylen

1
"sadece" burada bir dize kelimesine benziyor ...
19

5

Yalnızca kullanıcı girişinden sonra ekranı boşalmasını önlemek istiyorsanız, o zaman ilgili kullanıcıların setterm -powersave off -blank 0eklenmesi yeterlidir $HOME/.bash_profile.


5

Gerçekten bu problemden harap oldum. Setterm kullanarak ve / ile / dev / tty0 dizinine yönlendiren tüm hileler ssh'imden işe yaramadı.

Sonra onu etkisiz hale getirmenin bir yolunu fark ettim:

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

TERM = linux varsayılan TERM’in yerini alır (bu, makinemde xterm-256color renktir) ve ayarlayıcının tty0’dan uygun parametreleri sorgulaması için yardımcı olur.

Sonucunu kontrol edebilirsiniz

cat /sys/module/kernel/parameters/consoleblank

0 olmalı. 600 ise, numara işe yaramadı.


3

/usr/bin/setterm -powerdown 0 ayrıca yardımcı olabilir

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.