Wecken Sie den Konsolenbildschirm mit SSH

16

Wie kann ich das TTY1-Display über SSH "wecken", ohne etwas zu installieren oder neu zu starten? Keiner der Vorschläge ( Beenden des Ruhezustands des Raspberry Pi-Displays ) funktionierte auf meinem laufenden Pi.

Nach dem, was ich gelesen habe und versucht habe, eine Antwort zu erhalten, würden diese beim Neustart funktionieren, was ich zu vermeiden versuche.

rauben
quelle
1
Warum versuchen Sie einen Neustart zu vermeiden?
Lawrence
1
A wollte die Lösung in meiner mentalen Toolbox haben, anstatt vorab ein Installationsprogramm / Einstellungen einrichten zu müssen.
Rob

Antworten:

19

Nachdem ich viel gegoogelt hatte, fand ich die Codes, die setterm an tty senden sollte , und diese beiden Befehle löschten jedes Mal den Bildschirm.

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

Der einzige Grund, warum ich mir vorstellen kann, dass alle anderen Befehle (die hätten funktionieren sollen) fehlschlagen, ist, dass der Pi über svideo an einen Fernseher und nicht an HDMI oder einen Monitor angeschlossen ist.

rauben
quelle
Holy Shoot, das funktioniert auch für meine Nvidia Blank-Konsole, die unmöglich wiederzubeleben schien
lkraav
hat bei Raspberry 2 B Raspbian auf HDMI nicht funktioniert
mgPePe
3
Sie müssen weder verwenden sudo chmod, um die Berechtigungen für das tty-Gerät zu ändern, noch sollten Sie dies tun. Der richtige Code sollte sein:sudo bash -c 'echo -ne "\033[9;0]" > /dev/tty1'
Justin
5

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

Mit ESC [9; #] wird das Zeitlimit für die Bildschirmaustastung festgelegt. Wenn Sie den Timeout-Wert in Ruhe lassen möchten, können Sie mit ESC [13] das Löschen eines Bildschirms beenden.

Also, abhängig von deiner Shell (ich benutze tcsh) wäre ein einfaches Echo

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

Verwenden Sie das obige Beispiel

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

Ich sah keine Notwendigkeit, 666 / dev / tty1 zuerst zu chmod . Aber ich renne als root (weil ich meinen Fähigkeiten vertraue).

Anthony
quelle
2

Ich habe das wahrscheinlich schon einmal beantwortet, hier oder irgendwo ... aber keine Sorge ...

Versuchen:

setterm -blank poke

sollte der Bildschirm von einem Login gelöscht werden, ABER ... normalerweise müssen Sie die entsprechenden Codes an / dev / tty1 senden, nicht an das / dev / pty / X, das Sie als SSH-Benutzer verwenden ... also:

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

Dadurch wird der Ausgang des Setterms (magische Codes!) An das richtige Terminal gesendet, um es nach Belieben zu aktivieren. Da ich dies oft tue und auch andere Optionen verwende, habe ich ein kleines Skript erstellt, das ich ' tty1 ' nenne.

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

Was ich so benutze:

tty1 -reset -cursor off

Dieser Befehl setzt den Bildschirm zurück bzw. löscht ihn, kehrt in den Textmodus zurück und schaltet den blinkenden Cursor aus. praktisch, wenn ich nicht die Ablenkung will.

tty1 -blank poke

Würde den Bildschirm aufwecken. (Na ja, sollte ... bei mir funktionieren (tm))

(Denken Sie daran, dass Sie entweder nopasswd-Zugriff auf sudo einrichten oder darauf vorbereitet sein müssen, das root-Passwort einzugeben, wenn Sie diesen Befehl verwenden.)

Aber warte! Wenn Sie jetzt anrufen! Wir werden dieses Juwel einschließen: Wie man die Notwendigkeit beseitigt, ein Passwort für die Verwendung von sudo anzugeben! Betreiber stehen bereit!

Fügen Sie diese Zeile zu einer Datei mit dem Namen " no-sudo-passwd-for-pi " (keine Punkte erlaubt!) In /etc/sudoers.d/ hinzu.

pi ALL=(ALL) NOPASSWD: ALL

Dies führt dazu, dass der Benutzer ' pi ' für JEDEN Sudo-Aufruf kein Passwort benötigt . IN ACHT NEHMEN! Dies kann als Sicherheitsrisiko angesehen werden. Wägen Sie Ihren Bedarf für diese Verwendung gegen die potenziellen Risiken ab. (siehe man sudoers )

Lornix
quelle
Leider hat das auch bei sudo nicht geklappt. Ich frage mich, ob es wichtig ist, dass ich das svideo und nicht hdmi benutze.
Rob
1

Um ein zu vermeiden chmod, können Sie einfach sudo teeauf die Konsole schreiben:

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

Ich hatte dieses Problem, nachdem ich XBMC beendet und zum Konsolenbildschirm zurückgekehrt war: Alles blieb schwarz.

Ich habe das gelöst, indem ich einmal / usr / bin / xinit aufgerufen habe

lauhub
quelle