Bangun layar konsol dengan SSH

16

Menghindari memasang apa pun atau me-reboot, bagaimana saya bisa "membangunkan" tampilan TTY1 melalui SSH? Tidak ada saran ( Menghentikan tampilan Raspberry Pi tidur ) bekerja pada Pi saya yang sedang berjalan.

Dari apa yang saya baca mencoba mendapatkan jawaban, ini akan berfungsi jika saya reboot, yang saya coba hindari.

rampok
sumber
1
Mengapa Anda mencoba menghindari reboot?
Lawrence
1
A menginginkan solusi yang tersedia di kotak alat mental saya, daripada harus menyiapkan program instalasi / pengaturan terlebih dahulu.
merampok

Jawaban:

19

Jadi setelah banyak googling saya menemukan kode yang setterm harus kirim ke tty dan dua perintah ini membuka blokir layar setiap waktu.

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

Satu-satunya alasan saya bisa memikirkan semua perintah lain (yang seharusnya bekerja) gagal adalah karena Pi terhubung melalui svideo ke tv dan bukan HDMI atau monitor.

rampok
sumber
Tembakan
tidak bekerja untuk Raspberry 2 B Raspbian di HDMI
mgPePe
3
Anda tidak perlu menggunakan sudo chmoduntuk mengubah izin pada perangkat tty, Anda juga tidak harus melakukan ini. Kode yang benar adalah:sudo bash -c 'echo -ne "\033[9;0]" > /dev/tty1'
Justin
5

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

ESC [9; #] adalah untuk mengatur batas waktu pengosongan layar. Jika Anda ingin membiarkan nilai timeout itu sendiri, gunakan ESC [13] untuk menghapus layar.

Jadi, tergantung pada cangkang Anda (saya menggunakan tcsh) gema sederhana akan

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

Menggunakan contoh di atas

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

Saya melihat tidak perlu chmod 666 / dev / tty1 pertama. Tapi saya jalankan sebagai root (karena saya percaya kemampuan saya).

Anthony
sumber
2

Saya mungkin sudah menjawab ini sebelumnya, di sini atau di suatu tempat ... tapi jangan khawatir ...

Mencoba:

setterm -blank poke

harus menghapus layar dari login, TETAPI ... biasanya Anda harus mengirim kode yang sesuai ke / dev / tty1, bukan / dev / pty / X yang Anda gunakan sebagai pengguna ssh ... dengan demikian:

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

Ini mengirimkan output setterm (kode ajaib!) Ke terminal yang tepat untuk membangunkannya sesuai keinginan Anda. Karena saya sering melakukan ini, dan menggunakan opsi lain juga, saya membuat skrip kecil yang saya sebut ' tty1 '

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

Yang saya gunakan seperti ini:

tty1 -reset -cursor off

Perintah ini me-reset / membersihkan layar, kembali ke mode teks dan mematikan kursor blinky. berguna ketika saya tidak ingin gangguan.

tty1 -blank poke

Akan membangunkan layar. (Yah, seharusnya ... bekerja untuk saya (tm))

(Ingatlah bahwa Anda harus mengatur akses nopasswd ke sudo, atau bersiaplah untuk mengetikkan kata sandi root saat Anda menggunakan perintah ini)

Tapi tunggu! Jika Anda menelpon sekarang! Kami akan menyertakan permata ini: Cara menghapus kebutuhan untuk menyediakan kata sandi untuk penggunaan sudo! Operator berdiri!

Tambahkan baris ini ke file bernama " no-sudo-passwd-for-pi " (tidak boleh ada titik!) Di /etc/sudoers.d/

pi ALL=(ALL) NOPASSWD: ALL

Ini akan menyebabkan pengguna ' pi ' tidak memerlukan kata sandi untuk doa sudo APAPUN . WASPADALAH! Ini dapat dianggap sebagai risiko keamanan. Seimbangkan kebutuhan Anda untuk penggunaan ini dengan potensi risiko yang terlibat. (lihat man sudoers )

lornix
sumber
Sayangnya itu tidak berfungsi bahkan ketika dijalankan dengan sudo. Saya bertanya-tanya apakah itu penting bahwa saya menggunakan svideo keluar dan bukan HDMI.
merampok
1

Untuk menghindari a chmod, Anda bisa menggunakannya sudo teeuntuk menulis ke konsol:

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

Saya memiliki masalah ini setelah keluar XBMC dan kembali ke layar konsol: semuanya tetap hitam.

Saya memecahkan masalah ini dengan memanggil sekali / usr / bin / xinit

lauhub
sumber