Pantalla de consola Wake con SSH

16

Evitando instalar cualquier cosa o reiniciar, ¿cómo puedo "activar" la pantalla TTY1 a través de SSH? Ninguna de las sugerencias ( Detener la suspensión de la pantalla de Raspberry Pi ) funcionó en mi Pi en ejecución.

Por lo que he leído tratando de obtener una respuesta, esto funcionaría si reiniciara, lo que estoy tratando de evitar.

robar
fuente
1
¿Por qué estás tratando de evitar un reinicio?
Lawrence
1
A quería la solución disponible en mi caja de herramientas mental, en lugar de tener que configurar una instalación de programas / configuraciones por adelantado.
robar

Respuestas:

19

Entonces, después de mucho buscar en Google, encontré los códigos que setterm debería enviar al tty y estos dos comandos dejan la pantalla en blanco cada vez.

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

La única razón por la que puedo pensar que todos los otros comandos (que deberían haber funcionado) fallaron fue porque el Pi está conectado a través de svideo a un televisor y no a HDMI o monitor.

robar
fuente
Santo disparo, esto también funciona para mi situación de consola en blanco nvidia, que parecía imposible de revivir
lkraav
no funcionó para Raspberry 2 B Raspbian en HDMI
mgPePe
3
No necesita usarlo sudo chmodpara cambiar los permisos en el dispositivo tty, ni debe hacerlo. El código correcto debería ser:sudo bash -c 'echo -ne "\033[9;0]" > /dev/tty1'
Justin
5

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

ESC [9; #] es para configurar el tiempo de espera para la supresión de pantalla. Si desea dejar solo el valor del tiempo de espera, utilice ESC [13] para dejar en blanco una pantalla.

Entonces, dependiendo de su shell (yo uso tcsh) un eco simple sería

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

Usando el ejemplo anterior

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

No vi la necesidad de chmod 666 / dev / tty1 primero. Pero corro como root (porque confío en mis habilidades).

Antonio
fuente
2

Probablemente ya he respondido esto antes, aquí o en algún lado ... pero no te preocupes ...

Tratar:

setterm -blank poke

debe dejar en blanco la pantalla desde un inicio de sesión, PERO ... por lo general, debe enviar los códigos apropiados a / dev / tty1, no a / dev / pty / X que está utilizando como usuario ssh ... por lo tanto:

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

Esto envía la salida de setterm (¡códigos mágicos!) Al terminal apropiado para despertarlo como lo desee. Como hago esto a menudo y uso otras opciones también, hice un pequeño script que llamo ' tty1 '

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

Que uso así:

tty1 -reset -cursor off

Este comando restablece / borra la pantalla, regresa al modo de texto y apaga el cursor parpadeante. útil cuando no quiero la distracción.

tty1 -blank poke

Despertaría la pantalla. (Bueno, debería ... funciona para mí (tm))

(Recuerde que deberá configurar el acceso nopasswd a sudo o estar preparado para escribir la contraseña de root cuando use este comando)

¡Pero espera! Si llamas ahora! Incluiremos esta gema: ¡Cómo eliminar la necesidad de proporcionar una contraseña para el uso de sudo! ¡Los operadores están esperando!

Agregue esta línea a un archivo llamado " no-sudo-passwd-for-pi " (¡no se permiten puntos!) En /etc/sudoers.d/

pi ALL=(ALL) NOPASSWD: ALL

Esto hará que el usuario ' pi ' no requiera una contraseña para CUALQUIER invocación de sudo. ¡TENER CUIDADO! Esto puede considerarse un riesgo de seguridad. Equilibre su necesidad de este uso con los riesgos potenciales involucrados. (ver hombre sudoers )

lornix
fuente
Desafortunadamente eso no funcionó incluso cuando se ejecuta con sudo. Me pregunto si importa que esté usando la salida de video y no hdmi.
robar
1

Para evitar a chmod, puede usar sudo teepara escribir en la consola:

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

Tuve este problema después de salir de XBMC y volver a la pantalla de la consola: todo permaneció negro.

Resolví esto llamando una vez / usr / bin / xinit

lauhub
fuente