You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

求助:在Ubuntu 24默认桌面实现双击Ctrl-C触发剪贴板内容搜索的方法

求助:在Ubuntu 24默认桌面实现双击Ctrl-C触发剪贴板内容搜索的方法

嘿各位大佬,我刚换到Ubuntu 24默认桌面,想复刻一个在Windows上用惯的超方便功能:选中任意应用里的文本后,快速按两次Ctrl-C(间隔和鼠标双击时间差不多就行),就能直接调用默认浏览器搜索选中的内容。之前Windows上用一款工具实现的,那工具靠的是Windows特有的全局键盘钩子,到Ubuntu上完全摸不着头脑了,有没有谁知道怎么实现这个需求呀?


给你一套亲测有效的实现方案(针对GNOME桌面)

我之前帮朋友折腾过类似的需求,用全局快捷键监听工具加自定义脚本就能搞定,具体步骤如下:

  • 第一步:安装必要工具
    打开终端,先更新软件源再安装工具:

    sudo apt update && sudo apt install xbindkeys wl-clipboard
    

    这里xbindkeys用来全局监听Ctrl-C按键,wl-clipboard是Wayland环境下的剪贴板操作工具(Ubuntu 24默认是Wayland会话),如果你的系统用的是X11,换成xclip就行。

  • 第二步:编写监听双击Ctrl-C的脚本
    在你的主目录下创建一个叫double_ctrl_c_search.sh的脚本,把下面的内容粘进去:

    #!/bin/bash
    
    # 设定双击的时间阈值,这里用300毫秒,和系统默认双击时间一致
    THRESHOLD=300
    
    # 获取当前时间(毫秒级)
    current_time=$(($(date +%s%N)/1000000))
    
    # 检查临时文件里记录的上次Ctrl-C时间
    if [ -f /tmp/last_ctrl_c_timestamp ]; then
        last_time=$(cat /tmp/last_ctrl_c_timestamp)
        time_gap=$((current_time - last_time))
    
        # 如果两次按键间隔小于阈值,就触发搜索
        if [ $time_gap -lt $THRESHOLD ]; then
            # 读取剪贴板内容(Wayland用wl-paste,X11换成xclip -o -selection clipboard)
            selected_text=$(wl-paste --no-newline)
            # 对文本做URL编码,避免特殊字符出问题
            encoded_text=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$selected_text'))")
            # 用默认浏览器打开搜索页面,这里以Google为例
            xdg-open "https://www.google.com/search?q=$encoded_text"
            # 删除临时文件,防止连续触发
            rm /tmp/last_ctrl_c_timestamp
            exit 0
        fi
    fi
    
    # 把当前时间写入临时文件,记录这次按键
    echo $current_time > /tmp/last_ctrl_c_timestamp
    
  • 第三步:给脚本添加执行权限
    终端里执行这个命令:

    chmod +x ~/double_ctrl_c_search.sh
    
  • 第四步:配置xbindkeys绑定Ctrl-C
    在家目录下创建~/.xbindkeysrc文件,添加以下内容:

    "bash ~/double_ctrl_c_search.sh"
      Control + c
    

    然后重启xbindkeys让配置生效:

    pkill xbindkeys && xbindkeys
    
  • 第五步:设置开机自启
    打开GNOME的「设置」,找到「应用」里的「开机启动应用」,点击「添加」:

    • 名称:双击Ctrl-C搜索
    • 命令:xbindkeys
    • 描述:监听快速双击Ctrl-C,触发剪贴板内容搜索
      这样每次开机后这个工具会自动运行,不用手动启动。

功能测试

现在随便选中一段文本,先按一次Ctrl-C复制,然后快速按第二次(300ms内),默认浏览器应该就会自动弹出搜索页面啦!如果间隔太长,就只会正常复制文本,不会触发搜索,完全不影响平时的Ctrl-C使用。

备注:内容来源于stack exchange,提问作者charlie skilbeck

火山引擎 最新活动