作者: Sagar Sharma 译者: ChatGPT
| 2023-06-30 10:26 评论: 3
在这份超详细的指南中了解如何通过 i3 窗口管理器来自定义系统的外观和体验。
你可能在网上(尤其是通过 r/unixporn
子区)看到过很多炫酷的截图,用户可以根据个人喜好自定义他们的桌面并与大家分享。
这是因为 Linux 允许你自定义桌面体验的方方面面。
而结果?就是比任何 Mac 或 Windows 系统更具视觉和感知效果。
来看一下这个 😌
看起来像一个 Linux Mint 系统吗? 😲
但是你怎样才能做到这样呢?自定义你的 Linux 桌面外观是很困难的。
答案就在于 窗口管理器。如果你能配置好窗口管理器,你就能自定义外观。
在本指南中,我将引导你完成使用 i3 窗口管理器 进行基本配置。它是 Linux 上最好的窗口管理器之一。
💡 “加料Rice” 是一个常用的词汇,用来指代在桌面上进行视觉改进和自定义。引用自 /r/unixporn (LCTT 译注:“加料”一词来自于购买便宜的亚洲汽车,并给它们安装售后零件,以让它更好地类似于赛车。)
在遵循本指南之前,你需要了解以下内容:
- 在本指南中,我将使用 Arch Linux 来演示步骤,但你可以使用你喜欢的任何发行版,结果也是一样的。
- 请记住,本指南是 对 i3 进行“加料”定制的基础。
在按照本指南进行操作后,你应该得到以下预期结果:
📥 为了节省你的时间,我已经在 GitHub 上上传了与本文相关的所有 i3 配置文件,你可以通过这些文件实现我们在本文中所期望的最终外观。
首先,让我们开始安装 i3 窗口管理器。
在 Linux 上安装 i3 窗口管理器
基于 Ubuntu/Debian:
1 | sudo apt install xorg lightdm lightdm-gtk-greeter i3-wm i3lock i3status i3blocks dmenu terminator |
Arch Linux:
1 | sudo pacman -S xorg lightdm lightdm-gtk-greeter i3-wm i3lock i3status i3blocks dmenu terminator |
当你完成安装后,使用以下命令启用 lightdm 服务:
1 | sudo systemctl enable lightdm.service |
然后启动 lightdm 服务:
1 | sudo systemctl start lightdm.service |
这将启动 lightdm 登录界面,并要求你输入用户名密码。
如果你安装了多个桌面环境,你可以从选择菜单中选择 i3:
当首次登录 i3 时,它会询问你是否要创建一个 i3 配置文件。
按下回车键创建一个新的 i3 配置文件:
接下来,它会询问你选择 Win
或 Alt
键哪个作为修饰键(mod
)。
我建议你选择 Win
(或者 Super
键),因为大多数用户已经习惯将其用作快捷键:
现在你可以开始使用 i3 窗口管理器了。
但在我们开始定制之前,让我先介绍一下你如何使用 i3。
i3 窗口管理器的按键绑定
让我们从基础知识开始。
窗口管理器的基本功能是将多个窗口水平和垂直地组合在一起,这样你就可以同时监视多个进程。
结果是这样的:
你可以使用以下按键绑定执行更多操作:
按键绑定 | 描述 |
---|---|
Mod + Enter |
打开终端。 |
Mod + ← |
切换到左侧窗口。 |
Mod + → |
切换到右侧窗口。 |
Mod + ↑ |
切换到上方窗口。 |
Mod + ↓ |
切换到下方窗口。 |
Mod + Shift + ← |
将窗口移动到左侧。 |
Mod + Shift + → |
将窗口移动到右侧。 |
Mod + Shift + ↑ |
将窗口移动到上方。 |
Mod + Shift + ↓ |
将窗口移动到下方。 |
Mod + f |
将焦点窗口切换到全屏模式。 |
Mod + v |
下一个窗口将垂直放置。 |
Mod + h |
下一个窗口将水平放置。 |
Mod + s |
启用堆叠式窗口布局。 |
Mod + w |
启用选项卡式窗口布局。 |
Mod + Shift + Space |
启用浮动窗口(针对焦点窗口)。 |
Mod + 鼠标左键单击 |
使用鼠标拖动整个窗口。 |
Mod + 0-9 |
切换到另一个工作区。 |
Mod + Shift + 0-9 |
将窗口移动到另一个工作区。 |
Mod + d |
打开应用程序启动器(D 菜单)。 |
Mod + Shift + q |
关闭焦点窗口。 |
Mod + Shift + c |
重新加载 i3 配置文件。 |
Mod + Shift + r |
重启 i3 窗口管理器。 |
Mod + Shift + e |
退出 i3 窗口管理器。 |
我知道按键绑定很多,但如果你每天练习它们,你很快就会习惯。
如果你想知道,你可以根据需要更改按键绑定,后面的指南中我会分享如何做到这一点。
现在,让我们来看看配置部分。
在 Arch Linux 中启用 AUR
如果你刚刚安装了 Arch Linux,可能还没有启用 AUR。
这意味着你错过了 Arch Linux 最重要的特性。
要 启用 AUR,你需要使用 AUR 包管理器。在这里,我将使用 yay
。
首先,安装 git
:
1 | sudo pacman -S git |
现在,克隆 yay
存储库并切换到 yay
目录:
1 | git clone https://aur.archlinux.org/yay-git.git && cd yay |
最后,构建包:
1 | makepkg -si |
还有其他一些 AUR 包管理器,比如 Paru,如果你想使用除 yay
之外的其他工具,你可以继续或者探索其他选项。
更改 i3 窗口管理器的分辨率
如果你使用虚拟机运行窗口管理器,可能会遇到问题,尤其是显示分辨率可能被锁定在 1024x768
上,就像我一样。
因此,你需要执行以下命令,指定所需的显示分辨率:
1 | xrandr --output [显示名称] --mode [分辨率] |
要找到已连接显示器的名称,你需要使用以下形式的 xrandr
命令:
1 | xrandr | grep -w 'connected' |
在我的情况下,显示名称是 Virtual-1
。
因此,如果我想将分辨率更改为 1920*1080
,我需要执行以下命令:
1 | xrandr --output Virtual-1 --mode 1920x1080 |
但这只是暂时生效。要使其永久生效,你需要在 i3 配置文件中进行更改。
首先,打开配置文件:
1 | nano ~/.config/i3/config |
通过按下 Alt + /
来在 nano
中 跳到文件末尾,并使用以下语法来永久更改显示分辨率:
1 | # 显示分辨率 |
结果应该是这样的:
完成后,保存更改并退出 nano 文本编辑器。
现在,使用 Mod + Shift + r
重新启动 i3 窗口管理器,以使你对配置文件所做的更改生效!
在 i3 窗口管理器中更改壁纸
默认情况下,i3 的外观比较陈旧,你可能想切换回之前的桌面环境。
但是通过更改壁纸,你可以改变整个系统的氛围。
在 i3 中有多种方式可以更改壁纸,但在这里,我将向你展示如何使用 feh
实用工具。
首先,让我们从安装开始:
对于基于 Arch 的发行版:
1 | sudo pacman -S feh |
对于 Ubuntu/Debian 系的发行版:
1 | sudo apt install feh |
安装完成后,你可以从互联网上下载你喜欢的壁纸。接下来,打开 i3 配置文件:
1 | nano ~/.config/i3/config |
跳到文件的末尾,使用如下所示的 feh
命令:
1 | # 显示壁纸 |
在我的情况下,壁纸位于 Downloads
目录中,所以我的命令如下:
保存更改并退出 nano
文本编辑器。
为了使配置文件的更改生效,使用 Mod + Shift + r
重新启动 i3 窗口管理器。
我的效果如下:
自定义 i3 锁屏界面
默认情况下,如果你想锁定系统,你需要执行以下命令:
1 | i3lock |
锁屏界面如下所示:
下面,我将向你展示:
- 如何创建自定义快捷方式以锁定 i3 会话
- 如何更改锁屏界面的壁纸
为了使锁屏界面更加美观,你需要使用 i3lock-color
包。
但首先,你需要移除现有的 i3lock
,因为它会与 i3lock-color
冲突:
在 Arch Linux 上移除它:
1 | sudo pacman -R i3lock |
对于 Ubuntu/Debian 用户:
1 | sudo apt remove i3lock |
完成后,你可以使用 AUR 包管理器安装 i3lock-color
:
1 | yay i3lock-color |
如果你使用的是基于 Ubuntu 的系统,你需要从头编译它。你可以在他们的 GitHub 页面上找到 详细的说明。
安装完成后,让我们创建一个新目录并创建一个新文件来存储锁屏界面的配置:
安装好 i3lock-color
后,你可以创建一个新目录并创建一个新文件来存储锁屏界面的配置:
1 | mkdir ~/.config/scripts && nano ~/.config/scripts/lock |
将以下文件内容粘贴到文件中,定义锁屏界面的样式:
1 | #!/bin/sh |
保存更改并退出文本编辑器。
📋 在网上可以找到各种不同的 i3 锁屏样式的 bash 脚本。这只是一个示例,对于大多数情况来说是一个较为简单的选项。
现在,使用 chmod 命令 将该文件设置为可执行文件:
1 | sudo chmod +x .config/scripts/lock |
接下来,你需要对配置文件进行一些更改,以添加该配置文件的路径以使其生效。
此外,我将向你展示如何使用自定义键盘快捷键锁定屏幕。
首先,打开配置文件:
1 | nano ~/.config/i3/config |
使用 Alt + /
跳至行尾并粘贴以下内容:
1 | # 锁屏快捷键 |
在上面的示例中,我将 mod + x
作为锁定屏幕的快捷键,你可以选择任何你喜欢的快捷键。
最后的配置文件将如下所示:
相当不错,不是吗?
在 i3 窗口管理器中更改主题和图标
我知道你可能会想到这个问题。
你为什么需要图标呢?你并不仅仅使用窗口管理器来使用命令行工具。
有时候,使用图形界面更加方便,比如使用文件管理器。所以,在处理这些工具时,你希望界面看起来更好看?
因此,在本部分中,我将向你展示:
- 如何在 i3 中更改主题
- 如何在 i3 中更改图标
让我们从安装主题开始。
在这里,我将使用 materia-gtk-theme
和 papirus
图标,但你可以使用任何你喜欢的主题和图标。
在 Arch 中安装主题,使用以下命令:
1 | sudo pacman -S materia-gtk-theme papirus-icon-theme |
在 Ubuntu/Debian 系统中:
1 | sudo apt install materia-gtk-theme papirus-icon-theme |
但仅仅安装还不能完成任务。你需要像使用 GNOME “调整Tweaks” 应用更改主题一样来应用主题。
在 i3 中,你可以使用 lxappearance
工具 来更改主题和图标。
在 Arch 中安装 lxappearance
,使用以下命令:
1 | sudo pacman -S lxappearance |
在 Ubuntu/Debian 系统中:
1 | sudo apt install lxappearance |
安装完成后,使用 Mod + d
启动 D 菜单,然后输入 lxappearance
,并在第一个结果上按回车键。
在这里,选择你喜欢的主题。我这里选择 Materia-dark
。
选择主题后,点击应用按钮以应用更改:
同样地,要更改图标,选择 “图标主题Icon Theme”,选择图标主题,然后点击应用按钮:
应用主题和图标后,我的文件管理器如下所示:
在 i3 窗口管理器中为工作区设置图标
默认情况下,工作区仅由数字表示,这并不是你想要使用工作区的最理想方式。
因此,在本部分中,我将引导你如何使用合适的图标更改工作区的名称。
为了在配置文件中使用图标,首先你需要安装名为 Awesome
的新字体:
对于基于 Arch 的发行版:
1 | sudo pacman -S ttf-font-awesome |
对于 Ubuntu/Debian 系统:
1 | sudo apt install fonts-font-awesome |
安装完成后,打开 i3 配置文件:
1 | nano ~/.config/i3/config |
在这个配置文件中,找到工作区的部分,你将会看到为每个工作区给出的变量:
在这个部分,你需要用你想要的名称替换给出的工作区数字。
我将把第一个工作区命名为 “programs”,因为在本教程的后面部分,我将展示如何将特定的应用程序分配到特定的工作区。
我主要使用前 5 个工作区,所以我会相应地命名它们:
1 | # 定义默认工作区的名称,稍后我们将在其中配置键绑定。 |
现在让我们为配置文件中提到的每个应用程序添加图标。
你可以 参考 awesome 字体的备忘单 来找到合适的图标。
将图标复制粘贴到名称前面:
1 | # 定义默认工作区的名称,稍后我们将在其中配置键绑定。 |
不要担心它看起来可怕!
完成后,使用 Mod + e
退出 i3,然后再次登录以应用你刚刚所做的更改。
我的效果如下图所示:
字体看起来太小?是时候解决这个问题了!
在 i3 中更改标题窗口和状态栏的字体
首先,让我们安装新的字体(我将在这里使用 Ubuntu 字体)。
要在 Arch 上安装 Ubuntu 字体,请执行以下操作:
1 | sudo pacman -S ttf-ubuntu-font-family |
如果你使用的是 Ubuntu,你已经安装了这些字体!
安装完成后,打开配置文件:
1 | nano ~/.config/i3/config |
在配置文件中,找到 font pango:monospace 8
这一行,这是默认字体。
找到那行后,添加字体名称和大小,如下所示:
1 | font pango:Ubuntu Regular 14 |
然后,使用 Mod + Shift + r
重新启动窗口管理器,这样就完成了工作:
在 i3 窗口管理器中分配应用程序到工作区
在给工作区命名之后,你会想要将特定的软件分配到相应的工作区中。
例如,如果我将第二个工作区命名为 “Firefox”,那么我只想在该工作区中使用 Firefox。
那么要如何实现呢?
为了做到这一点,你需要找到每个要分配的应用程序的类名。
听起来复杂? 让我告诉你如何做。
首先,将应用程序和终端并排打开。例如,在这个例子中,我将 Firefox 和终端并排打开:
现在,在终端中执行 xprop
命令,它会改变鼠标指针的形状:
1 | xprop |
接下来,将鼠标悬停在应用程序上,并在应用程序窗口内的任何位置单击,如图所示:
类名将在以下行的最后一个字符串中找到:
1 | WM_CLASS(STRING) = "Navigator", "firefox" |
在我的情况下,Firefox 浏览器的类名将是 firefox
。
对所有你想要分配到工作区的应用程序重复这个过程。
一旦你知道每个你想要分配到工作区的应用程序的类名,打开配置文件:
1 | nano ~/.config/i3/config |
使用 Alt + /
将 nano
定位到文件末尾,并使用以下语法将应用程序分配到工作区:
1 | # 分配应用到工作区 |
作为参考,下面是我为不同应用程序分配了 4 个工作区后的配置文件示例:
现在,无论在哪个工作区打开任何应用程序,它都会自动放置在配置的工作区中。非常方便! 😊
在 i3 窗口管理器中让终端变透明
要启用透明效果,你需要安装 picom
合成器并对配置文件进行一些更改。
让我们从安装开始。
对于基于 Arch 的发行版:
1 | sudo pacman -S picom |
对于基于 Ubuntu/Debian 的发行版:
1 | sudo apt install picom |
安装完成后,你需要告诉系统使用 picom
。
首先打开配置文件:
1 | nano ~/.config/i3/config |
在配置文件的末尾插入以下行:
1 | # 使用 picom 合成器实现透明效果 |
这里,我使用 -f
标志来在切换工作区、打开新应用程序等时启用淡入淡出效果。
保存并退出文本编辑器。
现在,使用 Mod + Shift + r
重新启动 i3。
接下来,打开终端,打开 “首选项Preference”,然后选择“配置文件Profiles”,选择“背景Background”,然后选择“透明背景Transparent background”选项。
从这里,你可以调整透明度:
在 i3 窗口管理器中自定义状态栏
默认情况下,状态栏显示各种信息,但没有图标。
因此,在这个部分,我将展示如何从状态栏中删除一些元素以及如何为它们添加图标。
但是,在这里,我将在 /etc/i3status.conf
中创建一个原始状态栏的副本,以便如果出现任何错误,你可以随时恢复到默认配置。
首先,在 .config
目录下创建一个新的目录:
1 | mkdir .config/i3status |
在以下命令中,我使用了 cp 命令来复制文件:
1 | sudo cp /etc/i3status.conf ~/.config/i3status/i3status.conf |
接下来,使用 chown 命令更改所有者,以便你可以进行所需的更改:
1 | sudo chown $USER:$USER ~/.config/i3status/i3status.conf |
现在,你需要通过修改 i3 配置文件来指示窗口管理器使用新的 i3status 配置文件。首先打开配置文件:
1 | nano ~/.config/i3/config |
在该配置文件中查找 status_command i3status
这一行。这是你将提供新状态配置文件路径的行。
找到该行后,进行以下更改:
1 | bar { |
最终的结果应该如下所示:
保存更改并退出文本编辑器。
现在,让我们从状态栏中删除不必要的指示器。
首先,打开 i3status 配置文件:
1 | nano .config/i3status/i3status.conf |
在这里,你可以将以 order
开头的行注释掉,这些行实际上是指示器的变量。
例如,在这里,我禁用了 ipv6
、wireless _first_
、battery all
和 load
这些对我来说不必要的指示器:
1 | #order += "ipv6" |
然后,在浏览器中打开 awesome font 列表,找到与状态栏中列出的项目相关的适当图标。
在我的设置中,我删除了以下内容:
- 删除了显示可用内存的行
- 删除了显示以太网连接速度的行
最终,我的状态栏如下所示:
在 i3 窗口管理器中改变颜色方案
更改 i3 窗口管理器中的颜色方案是这个指南中最重要的部分,因为窗口管理器最吸引人的地方就是你选择的窗口装饰颜色。
📋 我将为每个颜色声明变量,这样你只需更改变量本身的值,就可以轻松地获得新的颜色方案。
首先,打开 i3 配置文件:
1 | nano ~/.config/i3/config |
使用 Alt + /
快捷键到达文件末尾,并使用以下语法添加变量来存储颜色:
1 | # 窗口的色彩方案 |
在这里:
-
bgcolor
表示背景色。 -
in-bgcolor
表示非活动窗口的背景色。 -
text
是文本颜色。 -
u-bgcolor
表示紧急操作的背景色。 -
indicator
是标示下一个窗口位置的线条的颜色。 -
in-text
是非活动窗口的文本颜色。
对于本指南,我仅使用了四个基本类别:
-
client.focused
定义了焦点窗口的颜色。 -
client.unfocused
定义了失去焦点时窗口的装饰。 -
client.focused_inactive
当其中一个容器处于焦点但当前没有焦点时,显示的颜色。 -
client.urgent
定义了紧急操作时的颜色。
💡 除了这四个类别,还有更多类别,请参考 官方 i3 配置手册 以了解更多信息。
一旦你对配置文件进行了更改,请使用 Mod + Shift + r
重新启动 i3。
如果你按照我的颜色方案,设置应该如下所示:
那么,状态栏的颜色怎么办?当然可以改!
更改 i3 窗口管理器中状态栏的颜色方案
在本节中,你将意识到为什么我使用变量来存储颜色,因为我将使用相同的变量来为我的状态栏上色!
要在状态栏中使用颜色,你需要在 i3 配置文件的 bar {...}
部分进行更改。
首先,打开配置文件:
1 | nano ~/.config/i3/config |
在配置文件中查找 bar {...}
部分。
找到该部分后,创建一个颜色部分,并为状态栏定义颜色和类别,与你为窗口所做的相同:
1 | bar { |
在这里,我使用了 focused_workspace
、inactive_workspace
和 urgent_workspace
这三个类别,根据需要定义了相应的颜色。
保存更改后,重新启动 i3,状态栏也会显示颜色。
设置 i3 状态栏的透明度
本节将向你展示如何使 i3 状态栏透明。
在此之前,让我们先更改 i3 状态栏的字体。
这里,我将使用 Droid 字体,使其看起来干净而带有一种极客风格。
要在 Arch Linux 上安装 Droid 字体,请使用以下命令:
1 | sudo pacman -S ttf-droid |
对于 Ubuntu/Debian 系统,请使用以下命令:
1 | sudo apt install fonts-droid-fallback |
安装完成后,打开配置文件:
1 | nano ~/.config/i3/config |
进入 bar {...}
部分,并按下面的示例输入字体名称和大小:
1 | font pango: Droid Sans Mono 11 |
完成后,请重新启动 i3,字体将会被更改!
要使状态栏透明,你可以使用现有十六进制代码中的额外两个数字来定义透明度。
如果你想要控制透明度,我建议你查看 此指南,其中提供了从 0 到 100% 透明度的代码范围。
为此,我将在配置文件中使用两个新变量。首先,打开配置文件:
1 | nano ~/.config/i3/config |
在这里,我为背景颜色添加了 60% 的透明度,并为非活跃背景颜色添加了 30% 的透明度:
1 | set $bgcolor #523d6499 |
如果你仔细观察,我在现有的十六进制颜色代码中添加了两位数字来定义透明度。例如,使用 99
来表示 60%
的透明度,而使用 4D
来表示 30%
的透明度。
此外,我添加了两个新变量,透明度不同但颜色相同,作为背景使用,使其看起来更好:
1 | set $focused-ws #523d6480 |
完成后,让我们修改 bar {...}
部分来应用透明度。
在 bar {...}
中添加两行代码:
1 | i3bar_command i3bar --transparency |
请注意,使用 tray_output none
,它将不会在托盘中显示任何图标。如果你不希望出现这种行为,则可以跳过此行,只添加第一行以实现透明度。
一旦完成,修改状态栏的颜色方案,例如更改背景颜色、边框和活动工作区的背景。
修改后,配置文件应如下所示:
为了使你所做的更改生效,请重新启动 i3,你将得到透明的窗口和状态栏:
在窗口管理器中使用 i3blocks
默认的 i3 状态栏在我看来毫无用处;怎么样让它变得有用起来呢?
在本部分,我将解释如何添加以下功能:
- 软件包更新
- 内存使用情况
- 磁盘使用情况
- 音量指示器
- Spotify 指示器
📋 要实现这些功能,你需要使用一些脚本,这些脚本将允许你向状态栏添加所需的操作。不用担心,我不会让你手动输入脚本;GitHub 上有各种脚本可供选择,几乎涵盖了你所需的所有方面。
但在此之前,你需要进行一些配置,以存储脚本并指示 i3 使用 i3block 的配置,而不是使用 i3bar。
如果你在本指南的开头按照给定的说明进行操作,那么 i3blocks 已经安装好了,并且配置文件位于 /etc/i3blocks.conf
。
如果你希望快速下载块配置文件以进行设置而不阅读其他内容,请点击以下链接:
在本教程中,我将创建一个副本,使用它代替原始的配置文件,因此首先我们要创建一个目录来存储配置文件的副本:
1 | mkdir ~/.config/i3blocks |
现在,创建一个原始配置文件的副本:
1 | sudo cp /etc/i3blocks.conf ~/.config/i3blocks/ |
最后,使用 chown
命令更改文件的所有者,以便你进行所需的更改:
1 | sudo chown $USER:$USER ~/.config/i3blocks/i3blocks.conf |
要启用 i3blocks,在 i3 配置文件中进行一些更改:
1 | nano ~/.config/i3/config |
进入 bar {...}
部分,在这里,你需要将 status_command
更改为 i3blocks
并添加 i3blocks 配置文件的路径,如下所示:
完成后,使用 Mod + Shift + r
重新启动 i3 窗口管理器,整个状态栏都会被更改,并显示如下:
不要担心,你将很快使状态栏比以前的 i3bar 更有价值和好看。
添加磁盘块
如果你想要显示磁盘剩余空间,可以添加此块。
在这里,我将使用 nano
创建并打开用于磁盘块的配置文件。
1 | nano ~/.config/scripts/disk |
然后粘贴以下行:
1 | #!/usr/bin/env sh |
保存更改并从文本编辑器中退出。
现在,将此文件设置为可执行:
1 | sudo chmod +x ~/.config/scripts/disk |
接下来,打开 I3blocks 配置文件:
1 | nano ~/.config/i3blocks/i3blocks.conf |
根据你想要放置磁盘块的位置,粘贴以下行:
1 | [disk] |
完成后,保存更改并使用 Mod + Shift + r
重新启动 i3,状态栏中将显示带有磁盘图标的可用磁盘空间。
添加内存块
这将是状态栏中指示系统中已使用内存的块。
首先,创建并打开一个新文件用于新的块:
1 | nano ~/.config/scripts/memory |
然后在新文件中粘贴以下行:
1 | #!/usr/bin/env sh |
保存更改并从文本编辑器中退出。
现在,要使其生效,你需要使用以下命令将此文件设置为可执行:
1 | sudo chmod +x ~/.config/scripts/memory |
接下来,打开 i3blocks 配置文件:
1 | nano ~/.config/i3blocks/i3blocks.conf |
并将以下内容粘贴到你希望在状态栏中显示内存使用情况的位置:
1 | [memory] |
保存更改并从文本编辑器中退出。重新启动 i3 以使更改生效!
添加更新指示块
这是最有帮助的指示器,它显示需要更新的旧软件包数量。
首先,使用以下命令安装依赖项以使其正常工作:
1 | sudo pacman -S pacman-contrib |
现在,创建一个新文件来存储脚本:
1 | nano ~/.config/scripts/arch-update |
然后粘贴以下内容:
1 | #!/usr/bin/env python3 |
保存更改并从文本编辑器中退出。
现在,使用以下命令将此文件设置为可执行:
1 | sudo chmod +x ~/.config/scripts/arch-update |
接下来,打开 i3blocks 配置文件:
1 | nano ~/.config/i3blocks/i3blocks.conf |
并将以下内容粘贴到所需的位置:
1 | [arch-update] |
保存更改并重新加载 i3 窗口管理器,它将显示需要更新的软件包数量。
如果你正在使用 Ubuntu,你可以 按照 GitHub 页面上的说明 进行操作。
添加音量指示块
添加音量指示块需要一些努力,因为你希望它的行为符合预期。你需要实现以下功能:
- 使用媒体控制键管理音量的键绑定
- 添加一个指示音量的音量块
但要做到这一点,首先你需要安装一些依赖项。
如果你使用的是 Arch Linux,请使用以下命令:
1 | sudo pacman -S pulseaudio-alsa pulseaudio-bluetooth pulseaudio-equalizer pulseaudio-jack alsa-utils playerctl |
如果你使用的是 Ubuntu/Debian 系统,请使用以下命令:
1 | sudo apt install pulseaudio-module-bluetooth pulseaudio-equalizer pulseaudio-module-jack alsa-utils playerctl |
接下来,让我们看看如何在 i3 窗口管理器中启用媒体控制键。
首先,打开 i3 配置文件:
1 | nano ~/.config/i3/config |
转到文件的末尾,并粘贴以下内容:
1 | # Key bindings for Media control keys |
现在,让我们为此块创建一个新文件:
1 | nano ~/.config/scripts/volume |
然后粘贴以下内容:
1 | #!/usr/bin/env bash |
保存更改并退出配置文件。
接下来,打开 I3blocks 配置文件:
1 | nano ~/.config/i3blocks/i3blocks.conf |
然后粘贴以下内容:
1 | [volume] |
保存更改并重新加载 i3,从现在开始,音量快捷键将起作用,并且指示器将按预期工作!
💡 如果遇到音频/视频不工作等问题,请使用此命令,它应该解决该问题:
1 | systemctl --user disable --now pipewire.{socket,service} && systemctl --user mask pipewire.socket |
添加 Spotify 块
我将使用 firatakandere 的脚本来添加此功能。在继续之前,你可以先查看一下该脚本。
首先,创建并打开一个用于 Spotify 块的新文件:
1 | nano ~/.config/scripts/spotify.py |
然后粘贴以下内容:
1 | #!/usr/bin/python |
完成后,使用以下命令使其可执行:
1 | sudo chmod +x ~/.config/scripts/spotify.py |
现在,打开 I3blocks 配置文件:
1 | nano ~/.config/i3blocks/i3blocks.conf |
然后粘贴以下内容(建议将其粘贴到块的开头):
1 | [spotify] |
保存更改,退出配置文件,并重新启动 i3。
添加了我提到的块后,状态栏将如下所示:
你可以查看我的主屏幕,其中包含这些块(点击下方的图片查看)。
📋 如果你对那些默认块(文档和问候语)的位置感到困惑,我用了几个注释将它们禁用以实现所示的外观!
在 Linux 中使用 i3gaps
如果你想在窗口之间添加间隙,可以使用 i3gaps
。在颜色方案之后,i3gaps
是这个指南中最关键的元素。
要使用间隙,你必须对 i3 配置文件进行一些更改。
打开 i3 配置文件:
1 | nano ~/.config/i3/config |
转到文件的末尾,并粘贴以下内容:
1 | # default gaps |
保存更改并退出配置文件。
使用 Mod + Shift + r
重新加载 i3,并会看到窗口之间的间隙:
但是,如果你想调整间隙的大小怎么办?这非常简单,只需要简单的步骤即可完成:
- 按下
Mod + Shift + g
进入间隙模式 - 使用给定的选项选择要更改的内容
- 使用
+
或-
增加/减小间隙 - 完成后,按
Esc
键退出间隙模式
就是这样!
我们忘记自定义终端了吗?
不用担心;你可以 切换到 Zsh,这是一个不同的 shell,使终端看起来与众不同,或者探索一些鲜为人知的 Linux Shell。
无论如何,你都可以 自定义现有终端,或选择不同的 终端模拟器。
我希望你不再畏难如何美化系统! 😎
如果你有任何建议或想展示你的配置,请在评论部分留言。
(题图:MJ/2874542d-6a8f-4b27-8e65-477389a0dcca)
via: https://itsfoss.com/i3-customization/
作者:Sagar Sharma 选题:lkxed 译者:ChatGPT 校对:wxy