三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

kanshi:Wayland下的终极显示配置神器,自动切换多显示器从未如此简单

kanshi:Wayland下的终极显示配置神器,自动切换多显示器从未如此简单

kanshi:Wayland下的终极显示配置神器,自动切换多显示器从未如此简单

【免费下载链接】kanshiDynamic display configuration (mirror)项目地址: https://gitcode.com/gh_mirrors/ka/kanshi

kanshi是一款专为Wayland桌面环境设计的动态显示配置工具,它能让你定义输出配置文件并在设备热插拔时自动启用或禁用。无论是笔记本电脑对接扩展坞时自动关闭内置屏幕,还是外接显示器时自动切换分辨率,kanshi都能轻松应对,堪称Wayland下的显示配置终极解决方案。

为什么选择kanshi?简单高效的多显示器管理方案

在Wayland生态中,kanshi填补了自动显示配置的空白,相当于Wayland版的autorandr工具。它通过wlr-output-management协议与Wayland合成器通信,能够智能检测显示器连接状态并应用预定义的配置文件。

🌟 核心优势:

  • 自动切换:显示器插拔时无感切换配置,无需手动调整
  • 灵活配置:支持多场景配置文件,满足办公、家庭、移动等不同使用场景
  • 轻量高效:作为后台服务运行,资源占用低,响应迅速
  • Wayland原生:专为Wayland设计,完美支持符合协议的合成器(如sway、wlroots等)

快速上手:3步安装并运行kanshi

📦 安装依赖

kanshi的构建依赖包括:

  • wayland-client
  • scdoc(可选,用于生成man pages)
  • libvarlink(可选,用于远程控制功能)

⚙️ 编译安装

meson build ninja -C build

🚀 启动服务

mkdir -p ~/.config/kanshi && touch ~/.config/kanshi/config kanshi

配置指南:打造个性化显示方案

kanshi的配置文件采用简洁直观的语法,让你轻松定义多种显示场景。配置文件位于~/.config/kanshi/config,由多个配置文件组成,每个配置文件用大括号{}分隔。

基础配置示例:

# 对接扩展坞时禁用笔记本屏幕 profile { output LVDS-1 disable output "Some Company ASDF 4242" mode 1600x900 position 0,0 } # 移动办公时启用高分辨率屏幕 profile nomad { output LVDS-1 enable scale 2 }

高级配置技巧:

1. 多显示器布局
profile multihead { output eDP-1 enable output DP-1 enable transform 270 output HDMI-A-1 mode 1920x1080@60Hz position 1600,0 }
2. 执行命令触发

配置文件支持exec指令,可在配置应用后自动执行命令:

profile work { output eDP-1 disable output DP-1 enable mode 2560x1440 exec swaymsg workspace 1, move workspace to DP-1 }
3. 包含外部配置

使用include指令可以组织复杂配置:

include /etc/kanshi/config.d/* include ~/.config/kanshi/work-profiles/*

深入了解:配置文件语法详解

🔑 核心指令

profile指令

定义一个配置文件,可选择指定名称:

profile [名称] { ... }
output指令

配置显示输出,语法:

output <条件> <命令...>
  • 条件可以是输出名称、描述或*(匹配所有输出)
  • 命令包括enable/disable、mode、position、scale、transform等
exec指令

配置文件应用后执行命令:

exec <命令>

📊 输出命令详解

  • enable/disable:启用或禁用输出设备
  • mode:设置分辨率和刷新率,如mode 1920x1080@60Hz
  • position:设置输出位置,如position 1920,0(水平排列)
  • scale:设置缩放因子,如scale 1.5
  • transform:设置旋转或翻转,可选值:90、180、270、flipped等

常见问题解决

Q: 如何获取输出设备的名称和描述?

A: 在sway环境中,可使用swaymsg -t get_outputs命令查看

Q: 如何让kanshi在系统启动时自动运行?

A: 在桌面环境的启动配置中添加kanshi命令,如在sway配置中添加exec kanshi

Q: 配置文件修改后如何生效?

A: 发送SIGHUP信号给kanshi进程:pkill -SIGHUP kanshi

总结:提升Wayland显示体验的必备工具

kanshi通过简洁的配置和自动切换功能,彻底解决了Wayland环境下多显示器管理的痛点。无论是专业开发者还是普通用户,都能通过kanshi轻松打造个性化的显示方案,让多显示器切换变得前所未有的简单。

现在就尝试使用kanshi,体验Wayland下智能显示配置的便捷与高效吧!

【免费下载链接】kanshiDynamic display configuration (mirror)项目地址: https://gitcode.com/gh_mirrors/ka/kanshi

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

← 返回列表