A configuração a seguir é adequada para uso em "casa, jardim e cozinha", quando nenhuma segurança específica é necessária. Eu também preciso dizer que ainda é possível abrir o aplicativo através da linha de comando; é estritamente para uso "indoor", para evitar que as crianças acessem um aplicativo, por exemplo.
O truque é redirecionar o comando no arquivo da área de trabalho do aplicativo para um script que chama o aplicativo, desde que a senha correta seja fornecida. A configuração pode ser desfeita facilmente.
Abaixo estão dois scripts, um para chamar a janela para inserir a senha (script1) e um para processar a senha fornecida (script2).
Prepare os scripts:
script1, chame a janela do zenity para digitar a senha:
#!/bin/sh
if zenity --entry \
--title="Restricted!" \
--text="Enter your _password:" \
--entry-text "password" \
--hide-text
then echo $?
else echo "No password entered"
fi
Copie o texto acima, cole-o em um documento vazio, salve-o em ~/
como "passwordwindow" e torne-o executável.
script2 para processar a senha fornecida:
#!/usr/bin/python3
import subprocess
# application_name = the command to start the application:
application_name = "application_name"
# enter the required password here:
password = "password"
# enter the path to script1 here (for example ~/passwordwindow):
path_to_script1 = "path_to_script1"
getpassword = subprocess.Popen([path_to_script1], stdout=subprocess.PIPE)
passwordinput = getpassword.communicate()[0].decode("utf-8").replace("\n0\n", "")
if passwordinput == password:
subprocess.call([application_name])
else:
pass
Copie o texto acima, cole-o em um documento vazio e substitua as seguintes entradas no cabeçalho do script:
- substitua no script o "application_name" pelo comando para abrir o aplicativo. Se você não sabe, abra o arquivo da área de trabalho do aplicativo, localizado em
/usr/share/applications
, com gedit e copie o que vem depois de "Exec=". - substitua "senha" pela senha exigida.
- substitua "path_to_script1" pelo caminho real para script1 (por exemplo, "/ home / yourname / passwordwindow").
inclua as citações.
Salve o arquivo (oculto) como .myownpassword.py em ~/
Prepare o arquivo .desktop:
Para finalizar a configuração:
- copie o arquivo da área de trabalho do aplicativo em
/usr/share/applications to
~ / .local / share / applications ' - abra o arquivo com gedit e substitua o comando depois de "Exec=" por:
python3 /path_to_script2/.myownpassword.py
(sem cotação)
Agora, após o próximo logout / login, se você iniciar o aplicativo, será solicitada sua senha, conforme definido no script2:
Como remover:
Para desfazer a configuração, basta remover o arquivo da área de trabalho local em /.local/share/applications
e os dois scripts no diretório ~/
.