Bloquear completamente o usuário em um único aplicativo [duplicado]

0

Estou planejando uma exposição em que preciso executar um aplicativo que precisa de um teclado, mas não de mouse. Eu quero bloquear os espectadores em um aplicativo de tela cheia. Eles devem nunca conseguir ver nada, exceto esse aplicativo . Nada que seja.

Então, criei um novo usuário que iniciará o aplicativo (no modo de tela cheia) assim que o usuário fizer o login. A máquina em que ele está sendo executado estará fisicamente protegida.

Mas eles têm acesso ao teclado e podem fazer coisas indesejadas (até fechar ou trocar de aplicativo é indesejado). Existe alguma maneira de impedir toda a troca de aplicativos baseada em teclado, lançamento, desligamento, acesso a tty, prompt de login ... - tal que a única maneira de deixar o aplicativo (ou simplesmente ver qualquer outra coisa) está usando o botão desligar no hardware (seguro)?

O aplicativo é destinado ao Ubuntu 17.10.

    
por neo post modern 09.11.2017 / 18:00

2 respostas

0

De acordo com a sugestão da derHugo , encontrei uma maneira de mapear chaves entradas para nada.

Eu não consegui descobrir como fazer isso dentro do aplicativo (Python), levando em conta Super e Ctrl + Alt + F1 et cetera ... Mas esta resposta sobre como desabilitar a tecla Super com o Xmodmap (aqui é alguma documentação ) pode ser estendido para todas as chaves . Eu decidi desativar todas as chaves que não são estritamente necessárias para o meu aplicativo (que é apenas [a-zA-Z0-9@.] alias de endereços de e-mail).

Então, para resumir:

  1. Crie um .Xmodmap : xmodmap -pke > ~/.Xmodmap
  2. Edite ~/.Xmodmap e remova as ações de chaves indesejadas (por exemplo, keycode 23 = Tab ISO_Left_Tab Tab ISO_Left_Tab to keycode 23 = )
  3. Opcional: Teste isso executando xmodmap ~/.Xmodmap
  4. Fazer logout e novamente, as chaves devem ser desativadas
  5. Se você está no 17.10 com o Gnome, eles ainda não estão. Aplique manualmente com xmodmap ~/.Xmodmap e / ou adicione isso à sua inicialização.

Cuidado: se você desabilitar quantas chaves eu tiver, você estará basicamente limitado ao mouse!

    
por neo post modern 09.11.2017 / 23:29
0

É uma tela sensível ao toque? Nesse caso, você pode usar um teclado na tela que limita os caracteres que o usuário pode escolher. Eu usei isso em um aplicativo de museu. Ou não use um teclado com uma tela sensível ao toque e apenas use o gxmessage. Eu também usei isso. Startup pessoa viu a tela de login que tinha instruções quanto ao nome de login para entrar e tinha teclado na tela. Na verdade, havia 2 usuários (tempo de execução e "administrador do aplicativo"), com o segundo tendo uma senha, mas sem nenhum prompt para selecioná-lo. Após o login ser feito pelo voluntário que o iniciou, o teclado na tela (com opções limitadas de letras / números / especiais) caracteres) desapareceu e todos os outros prompts e escolhas foram tratados por gxmessage.Nenhum desligamento permitido.Comutador de energia (fisicamente seguro) foi apenas o desligamento.

    
por jpezz 10.11.2017 / 00:35