Não permitir a mudança para outras janelas

1

Estou trabalhando em um projeto python no qual estou exibindo uma janela gráfica com uma tela de login. Eu desativei os botões fechar, redimensionar e minimizar. O sistema operacional é o Ubuntu.

Eu tenho que desabilitar todas as interrupções, incluindo desabilitar os atalhos do sistema como Alt + Tab , Alt + F4 , etc., para que um usuário possa fazer o login somente depois de digitar o nome de usuário e as senhas na tela.

    
por pavan 27.10.2013 / 05:28

1 resposta

1

Acho que você pode usar o comando trap para fazer isso. Você pode ver mais sobre isso aqui nos documentos intitulados: Guia Bash para Iniciantes - 12.2. Armadilhas .

Exemplo

Aqui está um exemplo que captura Ctrl + C .

#!/bin/bash
# traptest.sh

trap "echo Booh!" SIGINT SIGTERM
echo "pid is $$"

while :         # This is the same as "while true".
do
        sleep 60    # This script is not really doing anything.
done

Info do sinal

Você pode dar os nomes dos sinais para interceptar. A lista de nomes de sinais está disponível através do comando kill -l .

$ kill -l
 1) SIGHUP   2) SIGINT   3) SIGQUIT  4) SIGILL
 5) SIGTRAP  6) SIGABRT  7) SIGBUS   8) SIGFPE
 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT
17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG  24) SIGXCPU
25) SIGXFSZ 26) SIGVTALRM   27) SIGPROF 28) SIGWINCH
29) SIGIO   30) SIGPWR  31) SIGSYS  34) SIGRTMIN
35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3  38) SIGRTMIN+4
39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12
47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14
51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7  58) SIGRTMAX-6
59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX    
    
por 27.10.2013 / 06:45