Webapps do Ubuntu Desktop - Não é possível colar

1

Contexto

Eu uso um gerenciador de senhas com senhas geradas aleatoriamente para todos os logins. Essas senhas são incrivelmente longas e possuem uma grande variedade de caracteres / símbolos / números para aumentar a força. Isso torna incrivelmente difícil / tedioso digitar, e eu sempre os colo.

Pergunta

Os aplicativos para desktop do Ubuntu, como o Google Agenda mostrado abaixo, não me permitem colar senhas. Existe alguma maneira de permitir a colagem de texto nesses aplicativos?

Nesse meio tempo, sempre usei o navegador.

    
por Programster 16.01.2015 / 14:19

1 resposta

1

A impossibilidade de colar uma senha é provavelmente uma medida de segurança. Eu posso imaginar, no entanto, que é contra-produtivo se você quiser usar senhas mais complicadas.

Enganando o sistema

MAS, com a opção abaixo, podemos enganar o sistema um pouco e fazê-lo acreditar que você digitou a senha você mesmo, mas você realmente a colou em uma janela intermediária.

Como funciona na prática:

  • Primeiro, clique na caixa de entrada (entrada de senha) da janela do aplicativo da área de trabalho.
  • Em seguida, você pressiona uma combinação de teclas de sua escolha (definida em Configurações do sistema, veja mais abaixo) para chamar uma pequena janela, na qual você pode colar sua senha complicada:

  • Cliqueem"OK", sua senha será "digitada" na caixa de entrada do aplicativo da área de trabalho.

Como usar

  • O script usa xdotool

    sudo apt-get install xdotool
    
  • Cole o script abaixo em um arquivo vazio, salve-o como paste_password.py

  • Adicione-o a uma tecla de atalho de sua escolha: escolha: Configurações do sistema > "Teclado" > "Atalhos" > "Atalhos personalizados". Clique no botão "+" e adicione o comando:

    python3 /path/to/paste_password.py
    

O script

#!/usr/bin/env python3
import subprocess
import time

try:
    command = 'zenity --entry --text "Password" --title "Password paste"'.strip()
    passwd = subprocess.check_output(["/bin/bash", "-c", command]).decode("utf-8").strip()
except subprocess.CalledProcessError:
    pass
else:
    time.sleep(0.5)
    subprocess.Popen(["/bin/bash", "-c", "xdotool type '"+passwd+"'"])
    
por Jacob Vlijm 17.01.2015 / 09:13