SSH ile uyandırma konsolu ekranı


16

Herhangi bir şey takmaktan veya yeniden başlatmaktan kaçınarak, TTY1 ekranını SSH aracılığıyla nasıl "uyandırabilirim"? ( Pi Ahududu Pi ekran uyku durdurma) hiçbiri benim çalışan Pi üzerinde çalıştı.

Bir cevap almaya çalışırken okuduğum şeyden, yeniden başlattığımda bunlar kaçınmaya çalıştığım işe yarayacaktı.


1
Neden yeniden başlatmayı önlemeye çalışıyorsunuz?
Lawrence

1
Önceden bir yükleme programları / ayarları ayarlamak yerine, zihinsel araç kutumda mevcut bir çözüm istedim.
soymak

Yanıtlar:


19

Bu yüzden çok fazla googling yaptıktan sonra setterm'in tty'ye göndermesi gereken kodları buldum ve bu iki komut her seferinde ekranın altını kaldırıyor.

sudo chmod 666 /dev/tty1
echo -ne "\033[9;0]" >/dev/tty1

Başarısız olan diğer tüm komutları düşünebilmemin tek nedeni Pi'nin HDMI veya monitöre değil svideo aracılığıyla bir tv'ye bağlanmasıydı.


Kutsal ateş, bu da canlandırmak imkansız gibi görünen nvidia boş konsol durumum için çalışıyor
lkraav

HDMI'da Raspberry 2 B Raspbian için çalışmadı
mgPePe

3
sudo chmodTty cihazındaki izinleri değiştirmek için kullanmanıza gerek yoktur. Doğru kod şöyle olmalıdır:sudo bash -c 'echo -ne "\033[9;0]" > /dev/tty1'
Justin

5

http://www.winds.org/pub/grdl/ANSI.txt

ESC [9; #], ekran karartma zaman aşımını ayarlamak içindir. Zaman aşımı değerini yalnız bırakmak istiyorsanız, bir ekranın kenarını kaldırmak için ESC [13] kullanın.

Yani, kabuğuna bağlı olarak (tcsh kullanıyorum) basit bir yankı

echo -n "\ e [13]"> / dev / tty1

Yukarıdaki örneği kullanma

echo -ne "\ 033 [13]"> / dev / tty1

İlk önce 666 / dev / tty1 chmod'una ihtiyaç duymadım . Ama kök olarak koşuyorum (çünkü yeteneklerime güveniyorum).


2

Muhtemelen daha önce, burada ya da bir yerde cevap verdim ... ama endişelenme ...

Deneyin:

setterm -blank poke

bir girişten ekranın üstesinden gelmeli, AMA ... genellikle ssh kullanıcısı olarak kullandığınız / dev / pty / X'e değil / dev / tty1'e uygun kodları göndermeniz gerekir ... böylece:

setterm -blank poke | sudo tee /dev/tty1 > /dev/null

Bu, istenen şekilde uyandırmak için setterm çıkışını (sihirli kodlar!) Uygun terminale gönderir. Bunu sık sık yaptığım ve diğer seçenekleri de kullandığım için, ' tty1 ' dediğim küçük bir senaryo hazırladım

#!/bin/bash
#
# send 'setterm' commands to /dev/tty1 (physical console)
setterm $* | sudo tee /dev/tty1 > /dev/null

Ben böyle kullanmak:

tty1 -reset -cursor off

Bu komut, ekranı sıfırlar / temizler, metin moduna döner ve yanıp sönen imleci kapatır. dikkat dağınıklığı istemediğimde kullanışlıdır.

tty1 -blank poke

Ekranı uyandırır. (Eh, should ... benim için işleri (tm))

(Sudo'ya nopasswd erişimini ayarlamanız veya bu komutu kullandığınızda kök parolayı yazmaya hazır olmanız gerektiğini unutmayın)

Fakat bekle! Şimdi ararsanız! Bu gem'i ekleyeceğiz: sudo kullanımı için bir şifre sağlama ihtiyacı nasıl kaldırılır! Operatörler bekliyor!

Bu satırı /etc/sudoers.d/ içinde " no-sudo-passwd-for-pi " (noktaya izin verilmez!) Adlı bir dosyaya ekleyin.

pi ALL=(ALL) NOPASSWD: ALL

Bu, ' pi ' kullanıcısının HERHANGİ bir sudo çağırma için şifre gerektirmemesine neden olur . DİKKAT! Bu bir güvenlik riski olarak kabul edilebilir. Bu kullanıma olan ihtiyacınızı, ilgili risklere karşı dengeleyin. (bkz. adam sudoers )


Ne yazık ki bu sudo ile çalıştırıldığında bile işe yaramadı. Acaba ben hdmi değil svideo dışarı kullanıyorum önemli midir.
soymak

1

Bir önlemek için chmod, sadece sudo teekonsola yazmak için kullanabilirsiniz :

echo -ne "\033[9;0]" | sudo tee /dev/tty1

0

XBMC'den çıkıp konsol ekranına geri döndükten sonra bu sorunu yaşadım: her şey siyah kaldı.

Bunu bir kez / usr / bin / xinit arayarak çözdüm

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.