当前位置: 首页 > news >正文

Sway初体验

Sway(缩写自 SirCmpwn’s Wayland compositor[1])是一款专为 Wayland 设计的合成器,旨在与 i3 完全兼容。根据官网所述:
Sway 是 Wayland 的合成器,也是 x11 的 i3 窗口管理器的替代品。它可以根据您现有的 i3 配置工作,并支持 i3 的大部分特性以及一些附加功能

我是怎么知道sway的?

我原本只是想安装 Waydroid,而Waydroid则要求有Wayland,而我又不想安装GNOME、KDE Plasma之类的大型的桌面环境。我就了解到了sway。

短期内我不会主要使用sway的,因为我的awesome wm用的很舒服,磨合的不错,暂时没打算换个环境。

安装sway

我使用的是archlinux。安装如下:

sudo pacman -S sway

显示管理器

我使用的是lxdm显示管理器,我发现识别不到sway,查了一下wiki它可以被 GDM 和 SDDM 等现代显示管理器自动识别。

#关闭lxdm开机启动lxdm显示管理器
systemctl disable lxdm

我就安装了一下gdm

sudo pacman -S gdm

我发现安装了gdm,自动安装了一堆与GNOME的包。

#开机启动gdm显示管理器
systemctl enable gdm

这次开机gdm确实可以识别到sway了。进去以后的感觉与i3wm的界面差不多。

安装 GNOME 和基本应用

既然安装gdm已经安装了不少gnome相关的软件包了,我就打算把gnome安装了吧,这样对于平铺窗口不熟悉的人,就可以使用我的电脑用gnome了。

sudo pacman -S gnome gnome-extra
  • gnome:核心 GNOME 桌面(窗口管理器 Mutter、GNOME Shell 等)
  • gnome-extra(可选):包括许多 GNOME 应用,如计算器、终端、相册、天气、磁盘工具等

如果只想最小化安装,可跳过 gnome-extra

这里我遇到了一个非常奇怪的BUG,没安装gnome 之前浏览器中的在线视频可以正常播放,但是安装后就会出现视频无法播放的问题。
出于这个原因,我只好卸载掉gnome了。

配置

sway 配置文件的建议位置是~/.config/sway/config. .要开始配置 way ,请创建此目录并复制默认配置。

mkdir -p ~/.config/sway
cp /etc/sway/config ~/.config/sway/
$EDITOR ~/.config/sway/config

阅读默认配置 - 它有注释来解释每个选项的作用。阅读man 5 sway有关每个 config 命令的更多信息。

IDEA无法正常使用

我测试了一下在awesome,gnome中idea都是正常使用的,但是在sway中就不行了。
https://github.com/swaywm/sway/issues/595找到了解决办法,在启动idea之前执行

export _JAVA_AWT_WM_NONREPARENTING=1

初体验

使用下来的感觉跟i3wm很像。用起来还可以与awesome差不多。 awesome 在默认不折腾的情况下更简单易用。 sway的配置文件更简洁。与传统的vim配置文件类似。awesome的配置文件是lua脚本,看起来会更乱一些。但是lua脚本更灵活。

sway对来说的好处,就是在接多个屏幕的时候,可以多个屏单独设置DPI。

参考

https://wiki.archlinuxcn.org/wiki/Sway
https://swaywm.org/
https://github.com/swaywm/sway/wiki
https://github.com/swaywm/sway/issues/595

http://www.xdnf.cn/news/282313.html

相关文章:

  • 微软Phi-4-reasoning技术报告解读
  • HTML基础1-元素与页面的结构
  • “链式前向星”等三种存图方式分别输出“无向无权图”的“DFS序列”
  • ABC404E 题解
  • 2025牛客五一集训派对day4
  • 纯继电器电路控制小车自动往复运动
  • (39)VTK C++开发示例 ---选择区域
  • MFiX(Multiphase Flow with Interphase eXchanges)软件介绍
  • 5块钱的无忧套餐卡可以变成流量卡吗
  • Winform(10.常用控件3)
  • ResNet改进(36):ResNeXt与ResNet的混合模型实现
  • Spring AI 实战:第十一章、Spring AI Agent之知行合一
  • 线程与进程深度解析:从fork行为到生产者-消费者模型
  • Raycaster光线投射
  • OPENGLPG第九版学习 -视口变换、裁减、剪切与反馈
  • dpm_sysfs_add
  • 《算法精解:C语言描述》note-2 链表
  • 文章记单词 | 第64篇(六级)
  • 【Godot】使用 Shader 实现可调节的精确切角效果
  • 超详细讲解C语言转义字符\a \b \r \t \? \n等等
  • 数模13种可视化脚本-Python
  • QT设计权限管理系统
  • BUUCTF Pwn wustctf2020_closed WP
  • 【JAVA】String类深度解析:不可变性与常量池(10)
  • 五年级数学知识边界总结思考-上册
  • 含铜废水的资源化利用
  • vue-chat 开源即时聊天系统web本地运行方法
  • python进阶(3)字符串格式化
  • 普通IT的股票交易成长史--20250504实盘记录
  • 【MyBatis-2】深入浅出MyBatis开发流程:从入门到实战