Schermata della console di riattivazione con SSH


16

Evitando l'installazione o il riavvio, come posso "riattivare" il display TTY1 tramite SSH? Nessuno dei suggerimenti ( Interruzione della sospensione del display di Raspberry Pi ) ha funzionato sul mio Pi in esecuzione.

Da quello che ho letto cercando di ottenere una risposta, funzionerebbero se riavvio, cosa che sto cercando di evitare.


1
Perché stai cercando di evitare un riavvio?
Lawrence,

1
Volevo la soluzione disponibile nella mia cassetta degli attrezzi mentale, invece di dover impostare un programma di installazione / impostazioni in anticipo.
rapina il

Risposte:


19

Quindi dopo un sacco di ricerche su google ho scoperto che i codici che setterm dovrebbe inviare al tty e questi due comandi sbloccano lo schermo ogni volta.

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

L'unico motivo per cui riesco a pensare a tutti gli altri comandi (che avrebbero dovuto funzionare) non è stato dovuto al fatto che il Pi è collegato tramite svideo a un televisore e non a HDMI o monitor.


Holy shoot, questo funziona anche per la mia situazione di console vuota nvidia, che sembrava impossibile rilanciare
lkraav

non ha funzionato per Raspberry 2 B Raspbian su HDMI
mgPePe

3
Non è necessario utilizzare sudo chmodper modificare le autorizzazioni sul dispositivo tty, né è necessario farlo. Il codice corretto dovrebbe essere:sudo bash -c 'echo -ne "\033[9;0]" > /dev/tty1'
Giustino il

5

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

ESC [9; #] serve per impostare il timeout per il blanking dello schermo. Se si desidera lasciare da solo il valore di timeout, utilizzare ESC [13] per sbloccare uno schermo.

Quindi, a seconda della tua shell (io uso tcsh) sarebbe una semplice eco

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

Utilizzando l'esempio sopra

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

Non ho visto prima la necessità di chmod 666 / dev / tty1 . Ma corro come root (perché mi fido delle mie capacità).


2

Probabilmente ho già risposto prima, qui o da qualche parte ... ma non preoccuparti ...

Provare:

setterm -blank poke

dovresti sbloccare lo schermo da un login, MA ... di solito devi inviare i codici appropriati a / dev / tty1, non a / dev / pty / X che stai usando come utente ssh ... quindi:

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

Questo invia l'output di setterm (codici magici!) Al terminale appropriato per svegliarlo come desideri. Dato che lo faccio spesso e utilizzo anche altre opzioni, ho creato un piccolo script che chiamo ' tty1 '

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

Che uso così:

tty1 -reset -cursor off

Questo comando ripristina / cancella lo schermo, tornando alla modalità testo e disattiva il cursore lampeggiante. utile quando non voglio la distrazione.

tty1 -blank poke

Riattiverebbe lo schermo. (Beh, dovrei ... funziona per me (tm))

(Ricorda che dovrai impostare l'accesso nopasswd su sudo o essere pronto a digitare la password di root quando usi questo comando)

Ma aspetta! Se chiami ora! Includeremo questo gioiello: come rimuovere la necessità di fornire una password per l'utilizzo di sudo! Gli operatori sono in attesa!

Aggiungi questa riga a un file chiamato " no-sudo-passwd-for-pi " (nessun punto consentito!) In /etc/sudoers.d/

pi ALL=(ALL) NOPASSWD: ALL

Ciò farà sì che l'utente ' pi ' non richieda una password per QUALSIASI invocazione di sudo. ATTENZIONE! Questo può essere considerato un rischio per la sicurezza. Bilancia la tua necessità di questo utilizzo con i potenziali rischi connessi. (vedi man sudoers )


Sfortunatamente questo non ha funzionato anche se eseguito con sudo. Mi chiedo se sia importante che sto usando svideo out e non hdmi.
rapina il

1

Per evitare un chmod, puoi semplicemente usare sudo teeper scrivere sulla console:

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

0

Ho avuto questo problema dopo essere uscito da XBMC e tornare alla schermata della console: tutto è rimasto nero.

Ho risolto questo chiamando una volta / usr / bin / xinit

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.