窗口管理器 dwm安装
上一篇博文中,已经完成了archlinux的安装,但是进去仅仅是一个冰冷冷的交互式命令窗口。没有图像,也无法打开浏览器。离日常使用还差的很远,接下来首先需要做的就是安装桌面环境。这里我不打算使用诸如gnome或者kde之类的桌面环境,一来这些桌面环境会自动帮我们把所有的给配置好,这不符合深度定制或者说折腾的本意,而来它们的体量相对来说还是比较大的,我想实现最小化安装,这里只需要一个窗口管理器就够了
桌面环境与窗口管理器简述
要将它作为日常使用来说,需要一个图形化的操作界面,与Windows不同的是,Linux自身并不包含图形操作界面,需要额外安装,而Windows是将图形操作界面作为内核的一部分。
为了完成图形化的安装,可以使用桌面环境或者窗口管理器。桌面环境桌面环境结合X客户端,提供通用图形用户界面元素,如图标、工具栏、壁纸,桌面小部件。 大多数桌面环境包括提供一套整合的应用程序和实用工具。桌面环境包含了自己的一套窗口管理器,但是这个可以被替换。为了维持我们进行折腾的目的,这里采用仅仅安装窗口管理器的方式,后面陆续针对它仅配置,以达到和桌面环境差不多的效果
安装前的准备工作
在安装前需要做一些额外的工作,先下载安装好一些必备组件。
sudo pacman -S net-tools man-db man-pages man-pages-zh_cn texinfo ntfs-3g tree pacman-contrib neofetch wget git usbutils pciutils acpi
- net-tools: 一个包含各种网络工具的库,像
ifconfig
或者netstat
,官方目前使用ip address
命令来获取本机的IP地址,但是我仍然喜欢使用ifconfg
所以这里我安装上这个包 - man-db: 提供man命令
- man-pages: 提供man页面内容
- man-pages-zh_cn: 提供man中文页面內容,这个包下载下來不能直接用,后面改別名会提到
- texinfo: info帮助文档的包
- ntfs-3g: 对NTFS文件系統提供支持
- tree: 以树形结构显示目录中各种文件的依附关系
- pacman-contrib: pacman包管理器的扩展好像是,我主要用裡面的那个pactree命令
- neofetch: 一个显示系统信息的工具
- wget: 一个用來下载的工具
- git: 这个就不用说了,做程序员的都知道这个
- usbutils: 查看系统USB设备
- pciutils: 查看系统PCI设备
- acpi: 用來查看电池电量的工具
一些基础工具安装好后,下面来安装中文和其他语言的字体包,防止后续出现乱码的情况
sudo pacman -S adobe-source-han-serif-cn-fonts wqy-zenhei
sudo pacman -S noto-fonts-cjk noto-fonts-emoji noto-fonts-extra
## 这里我把官方推荐的所有带unicode标识的全装上了,这样后续就不太会出现乱码的情况了
yay -S ttf-ubraille ttf-symbola otf-cm-unicode ttf-arphic-ukai ttf-arphic-uming ttf-dejavu gnu-free-fonts ttf-google-fonts-git nerd-fonts-complete ttf-hack ttf-joypixels
接着安装一下驱动
sudo pacman -S alsa-utils sof-firmware alsa-ucm-conf xf86-video-intel mesa xf86-input-libinput
- alsa-utils:声卡驱动
- sof-firmware:声卡驱动,如果你的机器比较新,那么你可能需要安裝。
- alsa-ucm-conf: 声卡驱动,如果你的机器比较新,那么你可能需要安裝。
- xf86-video-intel: Intel核显的渠道,这里我只安装了核心显卡的驱动,如果你有另外的独立显卡,请参考官方文档中的相关内容
- mesa: 用來配合显卡的另一种上层驱动
- xf86-input-libinput: 笔记本触摸板的驱动
窗口管理器是搭载在x窗口系统之上的,安装窗口管理器之前需要先安装上x窗口系统的相关服务
sudo pacman -S xorg xorg-xinit nitrogen picom
- xorg: x服务,用来显示图形界面
- xorg-init: x服务的启动程序
- nigrogen: 设置背景图片
- picom: 窗口渲染,后面做半透明渲染
安装窗口管理器
接下来就正式开始安装窗口管理器了,这里使用suckless
全家桶,窗口管理器采用dwm
, 程序启动器采用dmenu
, 终端程序采用st
git clone https://git.suckless.org/dwm --depth=1
git clone https://git.suckless.org/st --depth=1
git clone https://git.suckless.org/dmenu --depth=1
分别切换到这几个下载下来的目录中,依次执行 sudo make clean install
进行编译安装
接着在用户的家目录下新建一个 .xinitrc 文件(ps: 也可以将 /etc/X11/xinit/xinitrc
拷贝到家目录下并改名为.xinitrc
,但是这个文件里面内容太多了,显的有点乱,所以我直接新建一个自己往里面加想要的内容)
在文件中添加一行
exec dwm
保存退出后,输入命令 startx
即可看到dwm
的窗口了
dwm 基本用法
dwm中最重要的键是 Mod1
键,这个键默认映射到了 Alt
键,使用 Mod1 + p
可以启动 dmenu
, 然后只需要在上边出现的工具条中输入你想运行的程序的前几个字母,也可以按左右箭头在进行选择,按回车键完成,即可启动想要的程序
可以使用 Shift + Mod1 + x
来将当前的活动窗口移到其他的标签页,其中x是标签页的编号
关闭当前窗口可以使用 Mod1 + Shift +c
可以使用 Mod1 + Shift + q
来退出 dwm
到现在已经完成了dwm的基本安装以及使用,但是它看起来是那样的不起眼,比起刚开始来说仅仅是多了几个可以运行的终端而已,后面将会介绍如何对它进行美化和相应的改造,让它变得漂亮起来