news 2026/7/15 15:42:18

Linux openWechat打开微信快捷键

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux openWechat打开微信快捷键

之前老版本linux使用x11的可以使用这种,后来这些使用wayland的,可以看后半部分

准备工作

sudoaptinstallxdotool

编写sh脚本

#!/bin/bash# 获取所有微信窗口的ID并存储在数组中wechat_windows=($(xdotool search-name'微信'))# 获取当前活动窗口的IDcurrent_window=$(xdotool getactivewindow)# 初始化标志,判断是否找到匹配的微信窗口found=0# 遍历微信窗口ID数组forwindow_idin"${wechat_windows[@]}"do# 如果当前窗口ID与微信窗口ID匹配if["$current_window"-eq"$window_id"];then# 设置标志为1,表示找到了匹配的微信窗口found=1breakfidone# 如果找到匹配的微信窗口if["$found"-eq1];then# 最小化该微信窗口xdotool windowminimize"$window_id"else# 否则激活微信窗口forwindow_idin"${wechat_windows[@]}"doxdotool windowactivate"$window_id"donefiexit0

快捷键

eg:

openWechat
bash /home/edwin/文档/PilgrimFiles/openWechat.sh


【更新:】由于ubuntu26lts这种默认使用wayland造成基于x11开发的linux原生微信,使用上述方法不能使用,提供以下解决办法(当前办法只能唤醒状态栏里的最小化微信,当微信窗口出现后,最小化还需要win+h这种通用最小化按键,以后如果有更好的解决方案,会同步发布,可以关注后续)

  1. 安装 wmctrl
    这是一个非常小巧的窗口控制工具,在 Ubuntu 下直接安装:
sudoaptinstallwmctrl
  1. 建立快捷键脚本 openWechat.sh
# 1. 检查微信是否在运行ifpgrep-x"wechat">/dev/null;then# 如果运行了,强行将微信窗口激活并推到最前台# 注:wechat 对应微信窗口的 Class 名wmctrl-x-awechatelse# 如果没运行,则冷启动/usr/bin/wechat %U&fi
  1. 赋予执行权限并绑定快捷键
chmod+x openWechat.sh
  1. 使用./openWechat.sh测试完毕后,设置快捷键

【注:】ubuntu26使用wayland可能安装deb包都失败或者打不开微信,所以…看看下文试试

如果你需要解决微信或者其他跨平台软件(如 Qt/Electron 应用)在 Ubuntu 纯 Wayland 或缺少 X11 组件的环境下报错缺少 libxcb-xxx 相关依赖的问题,可以一键安装以下这组最完整的 XCB 图形核心依赖包。

直接在终端复制并运行以下命令:

sudoaptupdate&&sudoaptinstall-y\libxcb-icccm4\libxcb-image0\libxcb-keysyms1\libxcb-render-util0\libxcb-xinerama0\libxcb-xinput0\libxcb-cursor0\libxcb-shape0\libxcb-xfixes0\libxkbcommon-x11-0

同理QQ:

#!/bin/bash# 1. 确保系统安装了 wmctrlif!command-vwmctrl&>/dev/null;thensudoapt-getinstall-ywmctrl>/dev/null2>&1fi# 2. 检查 QQ 进程是否存在 (匹配 qq 或 linuxqq)ifpgrep-x"qq">/dev/null||pgrep-x"linuxqq">/dev/null;then# 3. 使用 wmctrl 寻找 QQ 的窗口# -l 列出所有窗口,-x 显示类名,-i 打印出十六进制窗口 ID# 微信/QQ 等软件类名大小写敏感,这里同时匹配 qq, QQ, linuxqqQQ_WINDOW_ID=$(wmctrl-lx|grep-i-E"qq|linuxqq"|awk'{print $1}'|head-n1)if[-n"$QQ_WINDOW_ID"];then# 4. 获取当前最前台(获得焦点)的窗口 ID(转换为十六进制小写格式,方便对比)ACTIVE_WINDOW_ID=$(printf"0x%08x"$(xdotool getactivewindow2>/dev/null)2>/dev/null)# 如果没有 xdotool,可以用 wmctrl 替代获取当前激活窗口(部分环境适用)[-z"$ACTIVE_WINDOW_ID"]&&ACTIVE_WINDOW_ID=$(wmctrl-v-a:ACTIVE:2>&1|grep"Active window"|awk'{print $NF}')# 场景 A:如果当前活动窗口就是 QQ,则将其最小化if["$ACTIVE_WINDOW_ID"="$QQ_WINDOW_ID"];then# -i 代表使用窗口 ID 操纵,-r 指定目标,:ACTIVE: 表示将其最小化/隐藏wmctrl-i-r"$QQ_WINDOW_ID"-badd,hidden# 场景 B:如果 QQ 窗口在后台,将其激活并推到最前台elsewmctrl-i-a"$QQ_WINDOW_ID"fielse# 场景 B 兜底:如果进程在,但 wmctrl 找不到窗口(比如缩进了托盘)# 此时直接运行 QQ 命令,利用 QQ 自身的单实例检测去唤醒托盘中的界面/usr/bin/qq %U&fi# 场景 C:如果 QQ 压根没运行,直接冷启动else/usr/bin/qq %U&fiexit0
chmod+x ~/EdwinFiles/open_qq_wmctrl.sh
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/15 15:41:44

GraphRAG 很性感,但权限与日志缺失,让你的“智能”在协作中裸奔

聊《GraphRAG真能提效吗?先看流程里最慢的那一步》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。摘要先把这篇文章的目标说清楚:看完之后,你应该能判断这件事值不值得做&#xf…

作者头像 李华
网站建设 2026/7/15 15:40:13

ChatGPT写产品文案:如何让AI输出符合FDA/ISO/GB标准的合规文案?——医疗器械与金融行业实操白皮书(限时开放前100份)

更多请点击: https://codechina.net 第一章:ChatGPT写产品文案:合规性挑战的底层逻辑 当企业将ChatGPT用于生成面向公众的产品文案时,表面是效率提升,深层却直指法律与伦理的结构性张力。合规性并非技术附加项&#…

作者头像 李华
网站建设 2026/7/15 15:40:13

2026年AI爆款实操:3大工程细节让“智障“Agent秒变神助攻!

一、引子:模型够聪明了,为什么做出来的东西还是"人工智障"? 2026 年大家都感受到了——Claude Opus 4.x 系列、GPT-5.x、Gemini 3 Pro 在推理和编程上已经相当能打。但现实很骨感:你接一个企业知识库问答,Ag…

作者头像 李华
网站建设 2026/7/15 15:39:58

CANN/asc-devkit向量填充API文档

VectorPadding(ISASI) 产品支持情况 产品 是否支持 Ascend 950PR/Ascend 950DT x Atlas A3 训练系列产品/Atlas A3 推理系列产品x Atlas A2 训练系列产品/Atlas A2 推理系列产品x 功能说明 根据padMode(pad模式)与padSide(pad方向&#x…

作者头像 李华
网站建设 2026/7/15 15:36:49

CANN/asc-devkit TensorDesc.GetDataObj API文档

GetDataObj 产品支持情况产品 是否支持 Ascend 950PR/Ascend 950DT x Atlas A3 训练系列产品/Atlas A3 推理系列产品 √ Atlas A2 训练系列产品/Atlas A2 推理系列产品 √ Atlas 200I/500 A2 推理产品 x Atlas 推理系列产品AI Core √ Atlas 推理系列产品Vector Core √ Atlas …

作者头像 李华
网站建设 2026/7/15 15:36:22

OpenMTP终极指南:如何在macOS上实现高效的Android文件传输

OpenMTP终极指南:如何在macOS上实现高效的Android文件传输 【免费下载链接】openmtp OpenMTP - Advanced Android File Transfer Application for macOS 项目地址: https://gitcode.com/gh_mirrors/op/openmtp 还在为macOS与Android设备之间的文件传输问题而…

作者头像 李华