xdotool 类型需要很长时间并导致整个桌面冻结

2024-05-09

我一直在使用xdotool type过去只能在快捷方式上输入耸肩xdotool type '¯\_(ツ)_/¯'。这可行,但总是需要相当长的时间,并导致整个桌面冻结(完全冻结,而不仅仅是输入)几秒钟。不过并没有太打扰我。

现在我需要一种方法来从文件中读取内容,对其进行操作,然后将其输入。我想使用 xdotool 来完成该任务,如下所示:

while read URL; do
    xdotool type "!play $URL" && sleep 1 && xdotool key Return && sleep 1
done < <(mycommand)

The mycommand输出大约 20 行 URL。一旦我运行该脚本,我的桌面(gnome3.26,archlinux)就完全冻结了。我通过 SSH 连接到机器,杀死了 bash 进程(成功),但这对冻结状态没有任何作用。十分钟后它再次工作,命令确实运行了(如 xdotool 按预期正确输入了所有内容),但我必须重新启动 X 服务器,因为我的鼠标不再工作了。

我需要一种自动输入的方法,例如xdotool type确实有,但没有这种冻结行为。最好的情况是有一个工具可以立即输入我传递的整个文本。我想到了一个解决方案xclip然后只是模拟粘贴和输入的按键,但我认为必须有更好的解决方案。

这个问题与xdotool已经出现在我身边大约两年了(一直在 gnome + archlinux 上),直到现在我除了耸耸肩之外从来不需要它。我猜这不仅仅是我使用的版本中的错误。只是为了完整性:

$ xdotool --version xdotool version 3.20160805.1


我在 Xubuntu 上遇到了同样的问题,所以这不仅仅是 GNOME 的问题。看起来问题出在 xserver、专有 nvidia 驱动程序和一些合成管理器之间的交互中。

在 Xubuntu 中,我通过禁用合成器(设置管理器 > 窗口管理器调整 > 合成器)解决了这个问题。结果,撕裂开始了,这个命令部分地处理了这个问题(在自动启动中添加):nvidia-settings --assign CurrentMetaMode="1920x1080 +0+0 { ForceCompositionPipeline = On }".

理论上,您可以通过更改视频驱动程序或从 X 切换到 Wayland(以及从 xdotool 切换到 ydotool)来解决此问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

xdotool 类型需要很长时间并导致整个桌面冻结 的相关文章

随机推荐

  • 在 Plotly Density_Mapbox 上添加 GeoJSON 等高线作为图层

    我想在上面添加天气轮廓plotly density mapbox地图 但我不确定必要的步骤 首先 我创建了一个matplotlib等值线图以可视化数据 然后 我用了geojsoncontour创建一个geojson文件来自所说matplot
  • 是否可以在ajax get请求中获取页面的一部分?

    我知道我们可以在向服务器发出 GET 请求时获取整个页面 但是如果我只对该页面上的一个特定 div 感兴趣 或者更准确地说对其内容感兴趣 该怎么办 这里唯一的选择是获取整个页面 例如使用 jquery find 从中获取 div 内容吗 或
  • Oracle 12 对 SQL 中的本地集合类型有问题吗?

    长话短说 我建议讨论下面看到的代码 运行时 Oracle 11 编译器引发 PLS 00306 调用 PIPE TABLE 时参数提示的数量或类型错误 PLS 00642 SQL 语句中不允许使用本地集合类型 Oracle 12编译下面的包
  • 谷歌浏览器自动填充所有密码输入

    我的问题 我必须打开谷歌来自动填充我网站上的登录信息 但是现在每当我想编辑我的帐户信息或编辑其他用户帐户信息 作为管理员 时 它都会尝试自动填充该登录数据 它在奇怪的地方填充了我的数据 问题似乎是 Chrome 会自动用某种密码填充任何输入
  • 如何在 Arduino 中将 char 变量作为数字打印到串行端口?

    我正在使用 Arduino Uno 我正在从 EEPROM 读取一个字节值并将该值存储在类型变量中char 1 字节 我想将变量的值作为数字 而不是相应的 ASCII 代码 打印到串行监视器 例如考虑char val 5 我想查看串行监视器
  • 如何在 winforms 应用程序中设置数据网格滚动条的位置?

    在我的 C winforms 应用程序中 我有一个数据网格 当数据网格重新加载时 我想将滚动条设置回用户设置的位置 我怎样才能做到这一点 编辑 我使用的是旧的 winforms DataGrid 控件 而不是较新的 DataGridView
  • 不支持动态值作为注释中的属性 - AspectJ Android [AOP Android]

    我正在使用自定义注释来记录用户单击的 id 但我收到一个错误 属性值必须是常量 我的代码片段如下 mAssetId Asset getContentId TrackEvent track event ArrayParams Params k
  • mediaelement.js 视频无法在 IE8 中播放

    我已经浏览了这里提出的所有其他问题 但没有什么能真正解决我的问题 目前 视频可以在 Chrome Safari FF 和 IE9 中加载和播放 但不能在 IE8 中加载 这是我需要支持的最后一个浏览器 您可以查看页面here http 20
  • 如何在.NET中扩展环境变量%CommonProgramFiles%\system\

    我遇到一种情况 我需要通过读取注册表设置来返回目录路径 注册表值返回我以下格式的路径 CommonProgramFiles System web32 dll 而消费者代码期望它的格式为 C Program Files Common File
  • ServerSOAPFaultException 以及如何读取它?

    我做了一个请求 我的程序吐出来了 WARNING Input Action on WSDL operation Search and Action on its associated Web Method search did not ma
  • 如何设置itemTouchHelper选择性滑动?

    所以我在 recyclerview rv 上实现了这个 itemtouchhelper simple 回调 现在 在这个 rv 中 我根据内容类型将 2 种布局设置为一行 因此 当我在 rv 上设置此 touchhelper 时 它正在这两
  • 尽早访问控件 | load 与 domready

    我最近访问 jsfiddle net 发现这是一个配置选项 这让我想到这可能有助于解决我遇到的问题 我加载了多个图像 尚未升级到单个精灵 因此在它们全部下载之前我无法使用我的控件 图像占用了大部分下载时间 因此在最初几秒钟我无法访问我的控制
  • 在模型中的方法中捕获异常时重定向

    我正在使用 Authlogic connect 连接各种服务提供商 user rb中有一个方法 def complete oauth transaction token token class new oauth token and sec
  • 应用程序启动时立即隐藏导航栏

    基于以下代码片段 我能够隐藏状态栏当应用程序启动时 但不是导航栏 由后退 主页和任务管理器按钮组成的栏 因为它隐藏了稍后在 MainActivity 的线程完成加载后 这是清单
  • 错误:在 Java 中声明布尔值时不是一个语句

    下面的代码 boolean continue false 返回以下错误 error not a statement boolean continue false 为什么会发生这种情况 我对布尔值非常熟悉 试试这个 boolean cont
  • 有谁知道 Java 中有一个可以解析 ESRI Shapefiles 的库吗?

    我有兴趣为道路数据编写可视化程序2009 Tiger Line 形状文件 http www census gov geo www tiger tgrshp2009 documentation html 我想绘制线路数据来显示我所在县的所有道
  • java.sql.SQLException:在结果集开始之前[重复]

    这个问题在这里已经有答案了 我已尝试使用以下代码来检索存储在数据库中的图像 我创建了一个名为image db包含一个名为的表image details 该表有两个字段 id and image path两者都是类型mediumblob 我在
  • env 配置文件中未初始化的常量 ActiveSupport::EventedFileUpdateChecker

    我是 Ruby on Rails 的新手 运行 捆绑 命令进行更新 安装后 当我尝试执行以下操作时rails s or rails g mongoid config控制台返回以下消息开头 home myUser proyect config
  • Android 视图展开动画

    我正在尝试编辑这些来源 https github com gabrielemariotti androiddev tree master AnimationTest创建一个适用于我所有视图的简单函数 Override public void
  • xdotool 类型需要很长时间并导致整个桌面冻结

    我一直在使用xdotool type过去只能在快捷方式上输入耸肩xdotool type 这可行 但总是需要相当长的时间 并导致整个桌面冻结 完全冻结 而不仅仅是输入 几秒钟 不过并没有太打扰我 现在我需要一种方法来从文件中读取内容 对其进