Écran de réveil de la console avec SSH

16

En évitant d'installer quoi que ce soit ou de redémarrer, comment "réveiller" l'écran TTY1 via SSH? Aucune des suggestions ( Arrêt du sommeil de l'écran du Raspberry Pi ) n'a fonctionné sur mon Pi en cours d'exécution.

D'après ce que j'ai lu en essayant d'obtenir une réponse, cela fonctionnerait si je redémarrais, ce que j'essaie d'éviter.

Rob
la source
1
Pourquoi essayez-vous d'éviter un redémarrage?
Lawrence
1
A voulait la solution disponible dans ma boîte à outils mentale, au lieu d'avoir à configurer un programme d'installation / paramètres à l'avance.
voler

Réponses:

19

Donc, après beaucoup de recherches sur Google, j'ai trouvé les codes que setterm devrait envoyer au tty et ces deux commandes débloquent l'écran à chaque fois.

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

La seule raison pour laquelle je peux penser que toutes les autres commandes (qui auraient dû fonctionner) ont échoué parce que le Pi est connecté via svideo à un téléviseur et non HDMI ou un moniteur.

Rob
la source
Holy shoot, cela fonctionne aussi pour ma situation de console vierge nvidia, qui semblait impossible à relancer
lkraav
n'a pas fonctionné pour Raspberry 2 B Raspbian sur HDMI
mgPePe
3
Vous n'avez pas besoin d'utiliser sudo chmodpour modifier les autorisations sur le périphérique tty, et vous ne devez pas le faire. Le code correct devrait être:sudo bash -c 'echo -ne "\033[9;0]" > /dev/tty1'
Justin
5

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

ESC [9; #] sert à définir le délai d'expiration de la suppression de l'écran. Si vous souhaitez laisser la valeur de délai d'attente, utilisez ESC [13] pour débloquer un écran.

Donc, selon votre shell (j'utilise tcsh) un simple écho serait

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

En utilisant l'exemple ci-dessus

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

Je n'ai vu aucun besoin de chmod 666 / dev / tty1 en premier. Mais je cours en tant que root (parce que je fais confiance à mes capacités).

Anthony
la source
2

J'ai probablement déjà répondu à cette question, ici ou ailleurs ... mais pas de soucis ...

Essayer:

setterm -blank poke

devrait effacer l'écran d'une connexion, MAIS ... généralement, vous devez envoyer les codes appropriés à / dev / tty1, pas au / dev / pty / X que vous utilisez en tant qu'utilisateur ssh ... donc:

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

Cela envoie la sortie de setterm (codes magiques!) Au terminal approprié pour le réveiller comme vous le souhaitez. Comme je le fais souvent et que j'utilise aussi d'autres options, j'ai fait un petit script que j'appelle ' tty1 '

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

Que j'utilise comme ça:

tty1 -reset -cursor off

Cette commande réinitialise / efface l'écran, revient au mode texte et désactive le curseur clignotant. pratique quand je ne veux pas la distraction.

tty1 -blank poke

Réveillerait l'écran. (Eh bien, devrait ... fonctionne pour moi (tm))

(N'oubliez pas que vous devrez configurer l'accès nopasswd à sudo ou être prêt à taper le mot de passe root lorsque vous utilisez cette commande)

Mais attendez! Si vous appelez maintenant! Nous inclurons ce joyau: Comment supprimer la nécessité de fournir un mot de passe pour l'utilisation de sudo! Les opérateurs sont là!

Ajoutez cette ligne à un fichier nommé " no-sudo-passwd-for-pi " (aucun point autorisé!) Dans /etc/sudoers.d/

pi ALL=(ALL) NOPASSWD: ALL

Cela empêchera l'utilisateur ' pi ' d'exiger un mot de passe pour TOUT appel sudo. IL FAUT SE MÉFIER! Cela peut être considéré comme un risque pour la sécurité. Équilibrez votre besoin pour cette utilisation par rapport aux risques potentiels impliqués. (voir homme sudoers )

lornix
la source
Malheureusement, cela n'a pas fonctionné même lorsqu'il était exécuté avec sudo. Je me demande s'il importe que j'utilise la sortie svideo et non hdmi.
voler
1

Pour éviter cela chmod, vous pouvez simplement utiliser sudo teepour écrire sur la console:

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

J'ai eu ce problème après avoir quitté XBMC et revenir à l'écran de la console: tout est resté noir.

J'ai résolu cela en appelant une fois / usr / bin / xinit

lauhub
la source