# wsl-sway **Repository Path**: openbit/wsl-sway ## Basic Information - **Project Name**: wsl-sway - **Description**: wsl+arch+sway(nir) 除了sway的启动脚本,其它的都可以与niri一同使用 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-12-19 - **Last Updated**: 2026-02-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: sway, niri, wm, Linux ## README # WSL2 + Arch Linux + Sway/niri 配置说明文档 ## 概述 本项目提供在 WSL2 (Arch Linux) 中运行 Sway/niri Wayland 合成器的完整方案。传统 WSLg 架构仅支持单层显示合成,本方案通过显示会话虚拟化技术,实现嵌套式 Wayland 合成器的稳定运行,并集成跨系统的剪贴板同步功能。 这个仓库里的配置包括了: - sway - niri - 其它必备工具 - 工具的简单美化文件 视频链接:[Windows 用户无痛体验平铺窗口 | WSL 搭建 Arch + Sway 丝滑 WM](https://www.bilibili.com/video/BV1BdBFBbEEs/#reply115746181024059) ## 系统要求 - Windows 10/11 - 已启用 WSL2 - Arch Linux 发行版 ## 目录结构 ``` ~/ ├── .bashrc # Shell 配置文件 ├── .config │   ├── alacritty │   │   └── alacritty.toml │   ├── btop │   │   ├── btop.conf │   │   └── themes │   ├── fastfetch │   │   ├── config.jsonc │   │   └── openbit.png │   ├── htop │   │   └── htoprc │   ├── kitty │   │   ├── kitty.conf │   │   ├── scroll_mark.py │   │   └── search.py │   ├── niri │   │   └── config.kdl # niri 配置文件 │   ├── sway │   │   └── config # Sway 配置文件 │   └── waybar │   ├── config │   ├── config.bak │   └── style.css ├── .local │   └── bin │   ├── sway-start # Sway 启动脚本 │   └── wsl-clipboard-sync # 剪贴板同步脚本 ├── README.md ├── .vim │   └── colors │   └── gruvbox.vim └── .vimrc ``` ## 安装步骤 ### 1. 安装必要软件包 ```bash # 更新系统 sudo pacman -Syu # 安装基础图形环境所需包 sudo pacman -S sway mesa fuzzel wl-clipboard vim kitty # 安装中文字体(可选) sudo pacman -S noto-fonts-cjk ``` ### 2. 创建启动脚本 创建 Sway 启动脚本:`~/.local/bin/sway-start` ```bash vim ~/.local/bin/sway-start ``` 设置执行权限: ```bash chmod +x ~/.local/bin/sway-start ``` ### 3. 配置剪贴板同步 #### 创建剪贴板同步脚本:`~/.local/bin/wsl-clipboard-sync` ```bash vim ~/.local/bin/wsl-clipboard-sync ``` 设置执行权限: ```bash chmod +x ~/.local/bin/wsl-clipboard-sync ``` ### 4. 配置 Sway 编辑 Sway 配置文件:`~/.config/sway/config` ```bash vim ~/.config/sway/config ``` 加入这一行: ```bash exec ~/.local/bin/wsl-clipboard-sync >/dev/null 2>&1 ``` ## 使用方法 ### 启动 Sway ```bash # 首次启动可能需要创建运行时目录 mkdir -p /run/user/$(id -u) chmod 0700 /run/user/$(id -u) # 启动 Sway sway-start ``` ### 快捷键参考表 |快捷键|功能| |---|---| |`Alt + Enter`|打开终端 (kitty)| |`Alt + Space`|打开应用启动器 (fuzzel)| |`Alt + 1-9`|切换到工作区 1-9| |`Alt + Shift + 1-9`|移动窗口到工作区 1-9| |`Alt + h/j/k/l`|切换窗口焦点(左/下/上/右)| |`Alt + Shift + h/j/k/l`|移动窗口(左/下/上/右)| |`Alt + f`|切换全屏模式| |`Alt + Shift + Space`|切换浮动窗口| |`Alt + Shift + e`|退出 Sway| |`Alt + Shift + q`|关闭当前窗口| ## 常见问题解答 **Q: 为什么 Sway 启动后看不到任何窗口?** A: 可能是显示输出配置问题。检查 `swaymsg -t get_outputs`输出,并调整配置文件中的分辨率设置。 **Q: 如何自定义主题和外观?** A: 可以编辑 `~/.config/sway/config`中的颜色和字体设置,或安装 `swaybg`设置壁纸。 **Q: 剪贴板同步延迟高怎么办?** A: 调整同步脚本中的 `sleep`时间,降低监控间隔,但会增加 CPU 使用率。 **Q: 如何备份配置?** A: 备份以下目录和文件: ``` ~/.config/sway/ ~/.local/bin/ ~/.bashrc ``` ## 相关资源 - [Sway 官方文档](https://swaywm.org/) - [Arch Linux Wiki - Sway](https://wiki.archlinux.org/title/Sway) - [WSL2 文档](https://docs.microsoft.com/zh-cn/windows/wsl/) - [Wayland 协议](https://wayland.freedesktop.org/) --- #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)