Tela do console Wake com SSH

16

Evitando instalar qualquer coisa ou reiniciar, como posso "ativar" a tela do TTY1 via SSH? Nenhuma das sugestões ( Parando o sono de exibição do Raspberry Pi ) funcionou no meu Pi em execução.

Pelo que li tentando obter uma resposta, elas funcionariam se eu reiniciasse, o que estou tentando evitar.

roubar
fonte
1
Por que você está tentando evitar uma reinicialização?
Lawrence
1
A queria a solução disponível na minha caixa de ferramentas mental, em vez de ter que configurar os programas / configurações de instalação com antecedência.
rob

Respostas:

19

Então, depois de pesquisar bastante, achei os códigos que o setterm deveria estar enviando para o tty e esses dois comandos desmarcavam a tela toda vez.

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

A única razão pela qual consigo pensar em todos os outros comandos (que deveriam ter funcionado) falharam foi porque o Pi está conectado via svideo a uma TV e não ao HDMI ou a um monitor.

roubar
fonte
Santo filmagens, isso também funciona para a minha situação nvidia em branco console, que parecia impossível de reviver
lkraav
não funcionou para Raspberry 2 B Raspbian em HDMI
mgPePe
3
Você não precisa usar sudo chmodpara alterar as permissões no dispositivo tty, nem deve fazer isso. O código correto deve ser:sudo bash -c 'echo -ne "\033[9;0]" > /dev/tty1'
Justin
5

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

ESC [9; #] é para definir o tempo limite para o apagamento da tela. Se você deseja deixar o valor do tempo limite em branco, use ESC [13] para desmarcar uma tela.

Então, dependendo do seu shell (eu uso o tcsh), um eco simples seria

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

Usando o exemplo acima

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

Não vi necessidade de chmod 666 / dev / tty1 primeiro. Mas eu corro como raiz (porque confio nas minhas habilidades).

Anthony
fonte
2

Eu provavelmente já respondi isso antes, aqui ou em algum lugar ... mas não se preocupe ...

Experimentar:

setterm -blank poke

deve desmarcar a tela de um login, MAS ... geralmente você precisa enviar os códigos apropriados para / dev / tty1, não para o / dev / pty / X que você está usando como usuário ssh ... assim:

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

Isso envia a saída do setterm (códigos mágicos!) Para o terminal apropriado para ativá-lo como você deseja. Como faço isso com frequência e também uso outras opções, criei um pequeno script que chamo de ' tty1 '

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

Que eu uso assim:

tty1 -reset -cursor off

Este comando redefine / limpa a tela, retornando ao modo de texto e desliga o cursor intermitente. útil quando não quero a distração.

tty1 -blank poke

Acordaria a tela. (Bem, deveria ... funciona para mim (tm))

(Lembre-se de que você precisará configurar o acesso nopasswd ao sudo ou estar preparado para digitar a senha root quando usar este comando)

Mas espere! Se você ligar agora! Incluiremos esta gema: Como remover a necessidade de fornecer uma senha para o uso do sudo! Operadores estão esperando!

Adicione esta linha a um arquivo chamado " no-sudo-passwd-for-pi " (sem pontos permitidos!) Em /etc/sudoers.d/

pi ALL=(ALL) NOPASSWD: ALL

Isso fará com que o usuário ' pi ' não exija uma senha para QUALQUER invocação de sudo. Cuidado! Isso pode ser considerado um risco de segurança. Equilibre sua necessidade desse uso com os riscos potenciais envolvidos. (veja sudoers )

lornix
fonte
Infelizmente, isso não funcionou mesmo quando executado com o sudo. Gostaria de saber se é importante que eu estou usando a saída svideo e não HDMI.
rob
1

Para evitar a chmod, você pode apenas usar sudo teepara escrever no console:

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

Eu tive esse problema depois de sair do XBMC e voltar à tela do console: tudo ficou preto.

Eu resolvi isso chamando uma vez / usr / bin / xinit

lauhub
fonte