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 / ubuntu / Perguntas / 1368345
Accepted
Organic Marble
Organic Marble
Asked: 2021-10-10 10:47:21 +0800 CST2021-10-10 10:47:21 +0800 CST 2021-10-10 10:47:21 +0800 CST

Buscando uma indicação de "operador presente" para um sistema remoto acessado por ssh

  • 772

Um parente idoso usa um desktop Ubuntu 18.04 + LXDE, principalmente apenas para navegar na Internet e jogar alguns jogos de palavras. Eles raramente desligam o PC... da última vez que verifiquei, ele estava ligado há mais de 15 dias.

Eu administro o sistema remotamente por ssh.

Para o momento ocasional em que eu precisar reinicializar o sistema, gostaria de alguns meios para determinar se meu parente está usando ativamente para que eu não os interrompa. Já fiz isso no meio da noite às vezes, mas eles dormem mal e às vezes se levantam e jogam seus jogos.

Ligar para eles no telefone funciona, mas existem vários fusos horários entre nós e, às vezes, eles os acordam.

Se eles estiverem jogando, posso ver isso no top, mas não consigo encontrar uma maneira de saber se eles estão usando ativamente o navegador.

Algum tipo de indicador de atividade do mouse e/ou teclado seria incrível, mas eu gostaria de ficar longe de qualquer tipo de software do tipo keylogger. Suspeito que exista uma coisa de "atividade do mouse / teclado detectada" - para colocar o sistema em suspensão / ativar o protetor de tela ** e acordá-lo se não for por mais nada - mas não consigo encontrá-lo.

** Eu não acho que eles realmente usam um protetor de tela, isso foi apenas um exemplo. Acho que o gerenciador de energia apenas deixa a tela em branco.

Existe um "tempo desde a última interação teclado/mouse do usuário" rastreado em algum lugar?

Quaisquer soluções precisam ser possíveis sobre ssh.

keyboard
  • 4 4 respostas
  • 1555 Views

4 respostas

  • Voted
  1. Best Answer
    jpa
    2021-10-11T07:06:20+08:002021-10-11T07:06:20+08:00

    Existe um utilitário para imprimir o tempo ocioso da tela X:

    DISPLAY=":0" xprintidle
    

    Ele imprime o tempo desde a última entrada do teclado ou mouse em milissegundos.


    Outra opção seria abrir uma caixa de perguntas:

    DISPLAY=":0" zenity --question --text="Organic Marble asks: Are you currently using this computer?" && echo yes
    

    Então, se você não obtiver resposta em alguns minutos, apenas pressione ctrl-c e prossiga com a reinicialização.

    • 25
  2. pasman pasmański
    2021-10-10T11:03:52+08:002021-10-10T11:03:52+08:00

    Se o monitor estiver configurado para economizar energia, você pode verificar:

    xset -display :0 q
    

    Veja a última linha:

    Monitor is Off
    
    • 8
  3. raj
    2021-10-10T11:40:21+08:002021-10-10T11:40:21+08:00

    Bem... isso é só uma ideia, mas se você logar via ssh para o mesmo usuário que seu parente está usando, defina a DISPLAYvariável de ambiente :1e execute xinput test nonde nestá o número correspondente ao mouse (você pode obter esse número com xinput --list, em meu caso é 9), então esse comando imprimirá uma linha de texto (em forma como motion a[0]=338 a[1]=889) sempre que o mouse for movido. Assim, você pode canalizar a saída desse comando para algum script que registrará a hora da última entrada, assim você saberá quando o mouse foi movido pela última vez (é claro que isso deve ser executado constantemente em segundo plano para registrar a hora real do último movimento do mouse).

    • 6
  4. HiddenWindshield
    2021-10-11T07:29:24+08:002021-10-11T07:29:24+08:00

    Acho que a única maneira de saber com certeza é "espionar" a tela deles.

    1. Instale x11vnc em seu computador comsudo apt-get install x11vnc net-tools

    2. (Opcional) Crie um script de shell em seu computador para automatizar o processo de inicialização do servidor, para que você não precise lembrar a sintaxe sempre. Observe que o -authparâmetro pode precisar ser alterado; Eu só tenho o Fedora para testar agora, e o Ubuntu pode salvar o arquivo de autenticação em um local diferente.

    #!/bin/sh
    sudo x11vnc -auth /var/run/lxdm/lxdm-\:0.auth -display :0 -rfbport 5900 -localhost
    
    1. Instale seu aplicativo visualizador VNC favorito em seu computador.

    2. Configure o encapsulamento de porta SSH para a porta 5900 em seu computador. Supondo que você esteja usando o OpenSSH, coloque o seguinte em seu .ssh/configarquivo:

    Host theirhostname
        LocalForward 5900 localhost:5900
    

    Quando você quiser realmente olhar para a tela deles:

    1. SSH em seu computador normalmente.

    2. Execute o script de shell (ou digite essa sudo x11vnclinha grande).*

    3. Inicie seu aplicativo visualizador VNC e direcione-o para se conectar ao localhost.

    Voila, você deve conseguir ver a tela deles.

    *Observação: você receberá vários avisos de que o servidor VNC não está protegido por uma senha. Isso não é um risco de segurança, já que a porta do servidor VNC só pode ser acessada localmente, o que significa que qualquer invasor já deve estar logado. Se você estiver realmente preocupado, use x11vnc -storepasswdpara criar um arquivo de senha e adicione -rfbauth /home/user/.vnc/passwda a x11vnclinha de comando.

    • 1

relate perguntas

Sidebar

Stats

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

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

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