AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 785128
Accepted
Z0OM
Z0OM
Asked: 2024-10-15 21:55:23 +0800 CST2024-10-15 21:55:23 +0800 CST 2024-10-15 21:55:23 +0800 CST

Como posso ligar a tela novamente usando setterm ou outro comando, apenas com os utilitários principais via ssh?

  • 772

Tenho um Debian 12sistema que console-onlynão possui interface gráfica/ambiente de trabalho.

Desliguei a tela usando setterm --blank forceo próprio dispositivo e agora não consigo ligá-la novamente pressionando uma tecla porque forceisso faz com que a entrada do teclado seja ignorada.

Tenho acesso por meio SSHde um ambiente Debian 12 Desktop, mas quando entro setterm -blank 0como SSH, rootrecebo a mensagem terminal xterm-256-color does not support --blank.

Também não consigo alternar entre diferentes TTYsno próprio dispositivo.

Mesmo quando alterno para um TTY no ambiente de trabalho Debian e uso o setterm --blank 0, não recebo nenhuma mensagem de erro, mas nada acontece.

Com setterm --blank poke, eu obtenho cannot force unblank.

Existe outro comando que core utilitieseu possa usar para ativar a tela sem instalar ferramentas adicionais ?

Caso contrário, vou apenas reiniciar.

debian
  • 1 1 respostas
  • 58 Views

1 respostas

  • Voted
  1. Best Answer
    Z0OM
    2024-10-15T23:25:25+08:002024-10-15T23:25:25+08:00

    Para ligar a tela novamente após ela ter sido desligada com setterm --blank force, você pode usar o seguinte comando de um arquivo TTY.

    Faça login sshno dispositivo e execute:

    sudo sh -c 'TERM=linux setterm --blank poke </dev/tty1'

    sudoConcede privilégios de superusuário

    Se um usuário possui um dispositivo TTY (como /dev/tty1), há certas operações que exigem privilégios elevados. Isso é particularmente para comandos que interagem diretamente com recursos de hardware ou sistema. As permissões em dispositivos TTY geralmente permitem que usuários comuns leiam e gravem no dispositivo, mas certos comandos podem exigir privilégios de root para alterar configurações que podem afetar todo o sistema.

    Embora você possa ser o proprietário do dispositivo TTY, a execução de comandos que modificam o comportamento do terminal normalmente requer permissões elevadas para garantir que o sistema permaneça seguro e que o usuário não possa interromper involuntariamente as configurações do sistema.

    No próprio dispositivo, posso executar setterm --blank forcepara desligar a tela com um usuário regular.

    Por ssh quando executo setterm --blank forcecom um usuário regular,

    eu recebo setterm: cannot force blank: Inappropriate ioctl for devicee com

    sh -c 'TERM=linux setterm --blank poke </dev/tty1'

    ou

    sh: 1: cannot open /dev/tty2: permission denied

    eu recebosetterm: cannot force blank: Operation not permitted

    então preciso de direitos sudo/root para executar o comando via ssh.

    As sessões SSH são geralmente tratadas com mais cautela em termos de segurança. Isso significa que, mesmo que o usuário seja dono do dispositivo TTY, o daemon SSH pode impor restrições adicionais que exigem sudo para comandos que podem alterar o comportamento do sistema ou as configurações do terminal.

    As permissões para dispositivos como /dev/tty1 são definidas para permitir acesso direto do usuário, mas ao acessar via SSH, pode haver diferenças em como as permissões são gerenciadas.

    A exigência de sudo ao executar o comando via SSH se deve aos diferentes contextos de permissão e medidas de segurança para sessões remotas em comparação ao acesso local.

    sh -cExecuta a sequência de comando incluída em um novo shell

    TERM=linuxDefine o tipo de terminal

    setterm --blank pokeUse-o para executar settermpara acordar a tela compoke

    </dev/tty1Especifica que a entrada vem do primeiro terminal virtual

    Explicação curta:

    Redirecionamento </dev/tty1| Isto especifica que o comando está lendo de /dev/tty1, que é o primeiro terminal virtual. Isto é necessário porque settermprecisa interagir com o console diretamente

    Definir TERM=| TERM=linuxé importante porque define o tipo de terminal para linux,garantir que settermvocê possa interpretar corretamente os recursos do terminal e executar as ações necessárias

    Usando sudo| Requer permissões elevadas para interagir diretamente com o terminal, por isso sudoé necessário

    E agora posso desligar a telassh com:

    sudo sh -c 'TERM=linux setterm --blank force </dev/tty1'

    Editar:

    Parece que não importa se eu uso tty1, tty4, ou qualquer outro ttyXno comando, ele ainda funciona com </dev/tty4etc.

    Manipulação do Kernel de Terminais Virtuais O kernel Linux gerencia múltiplos terminais virtuais (TTYs), e todos eles compartilham características similares. Quando você usa setterm com um TTY especificado (por exemplo, /dev/tty1), ele pode controlar as configurações de tela daquele terminal, mas não restringe o comando somente àquele terminal específico. Como o comando não depende do terminal atual, mas do redirecionamento de entrada, você pode efetivamente mirar em qualquer TTY sem problemas. Definir TERM=linux garante que setterm entenda como interagir com o terminal, independentemente de qual TTY você está mirando.

    • 1

relate perguntas

  • Configuração do GRUB para reconhecer diferentes ambientes de desktop (instalações) da mesma distribuição Linux

  • astyle não altera a formatação do arquivo de origem

  • Recebendo e-mail em um novo Debian fresco

  • Debian Stretch: gnome-software segfault em libgs_plugin_systemd-updates.so

  • Como digitar ü no Pinyin IME?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve