Ubuntu 桌面 Web 应用程序 - 无法粘贴

Ubuntu 桌面 Web 应用程序 - 无法粘贴

语境

我使用密码管理器,所有登录密码都是随机生成的。这些密码非常长,包含各种字符/符号/数字,以增加强度。这使得它们非常难以输入/乏味,我总是粘贴它们。

问题

Ubuntu 桌面应用程序(例如下面显示的 Google 日历)不允许我粘贴密码。有什么方法可以启用这些应用程序中的文本粘贴功能吗?

在此处输入图片描述

与此同时,我一直只是使用浏览器。

答案1

无法粘贴密码可能是为了安全起见。不过我可以想象,如果你想使用更复杂的密码,这会适得其反。

欺骗系统

但是,通过下面的选项,我们可以稍微欺骗系统,让它相信您自己输入了密码,但实际上您将其粘贴在了中间窗口中。

实际运作方式:

  • 首先,单击桌面应用程序窗口的输入框(密码输入)。
  • 然后按下您选择的组合键(在系统设置中设置,见下文)来调出一个小窗口,您可以在其中粘贴复杂的密码:

    在此处输入图片描述

  • 单击“确定”,您的密码将被“输入”在桌面应用程序的输入框中。

如何使用

  • 该脚本使用xdotool

    sudo apt-get install xdotool
    
  • 将以下脚本粘贴到空文件中,并将其另存为paste_password.py

  • 将其添加到您选择的快捷键:选择:系统设置>“键盘”>“快捷键”>“自定义快捷键”。单击“+”并添加命令:

    python3 /path/to/paste_password.py
    

剧本

#!/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+"'"])

相关内容