上一篇博文中,已经完成了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的基本安装以及使用,但是它看起来是那样的不起眼,比起刚开始来说仅仅是多了几个可以运行的终端而已,后面将会介绍如何对它进行美化和相应的改造,让它变得漂亮起来


窗口管理器 dwm安装的更多相关文章

  1. debian安装dwm窗口管理器

    我安装debian版本是debian-8.8.0-i386-netinst最小安装 首先去官网下载源代码 http://git.suckless.org/dwm #安装x-window环境 $sudo ...

  2. DWM 窗体玻璃效果实现

    我一直盼望着 Windows 新版本的发布.令人感兴趣的事情莫过于浏览 MSDN® 和 SDK 文档,查找一些可以利用和依赖的最新创新,然后让朋友和同事以及您的老板(如果幸运的话)大开眼界.Windo ...

  3. 【转】DWM 窗体玻璃效果实现

    我一直盼望着 Windows 新版本的发布.令人感兴趣的事情莫过于浏览 MSDN® 和 SDK 文档,查找一些可以利用和依赖的最新创新,然后让朋友和同事以及您的老板(如果幸运的话)大开眼界.Windo ...

  4. 在浏览器中输入Google.com并且按下回车之后发生了什么(转载)

    原文地址:https://github.com/skyline75489/what-happens-when-zh_CN#id9 本文试图回答一个古老的面试问题:当你在浏览器中输入google.com ...

  5. 在浏览器中输入Google.com并且按下回车之后发生了什么?

    作者: skyline75489  来源: skyline75489的博客  发布时间: 2015-03-26 16:57  阅读: 4163 次  推荐: 23   原文链接   [收藏]      ...

  6. 【计算机基础】当你在浏览器中输入Google.com并且按下回车之后发生了什么?

    本文转载自:https://github.com/skyline75489/what-happens-when-zh_CN#id9 按下"g"键 接下来的内容介绍了物理键盘和系统中 ...

  7. C# WinForm实现Windows 7 Aero磨砂玻璃效果

    在Vista系统之后,微软为窗体程序提供了Aero磨砂的效果,如下图.那么用C#如 何来实现这种磨砂效果呢? 代码: using System; using System.Collections.Ge ...

  8. ArchLinux dwm的安装和配置

    dwm官网:https://dwm.suckless.org/ dwm是一个简洁的平铺式窗口管理器 配置简单,使用便捷,没有多少依赖,占用内存非常小 总之dwm正合口味 安装方法 首先在官网下载dwm ...

  9. [ubuntu]给ubuntu server安装xubuntu(xfce)窗口管理器

    1.安装基本图形 $ sudo apt-get install x-window-system-core 2.安装窗口管理器 $ sudo apt-get install xubuntu-deskto ...

  10. blfs(systemv版本)学习笔记-编译安装i3-wm平铺式窗口管理器

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! i3-wm项目的官网:https://i3wm.org/ 首先需要lfs基础上编译安装完整的xorg服务 我的xorg服务编译安 ...

随机推荐

  1. MyBatis batchInsert 批量插入数据

    mybatis 是一个 Java 的持久层框架,它支持定制化 SQL.存储过程以及高级映射.通过 MyBatis,开发者可以直接编写原生态 SQL,避免了 JDBC 代码的繁琐. 如何在 MyBati ...

  2. CO01/CO02生产订单组件库存地点替换

    一.生产订单组件库存地点替换 当生产订单维护组件点击保存时,根据对应的工厂和工作中心,到配置表中查询对应的库存地点,并将自动带出的库存地点替换 二.隐式增强 在函数CO_VB_ORDER_POST中添 ...

  3. JSP | Web 应用开发概述

    原作者为 RioTian@cnblogs, 本作品采用 CC 4.0 BY 进行许可,转载请注明出处. 前文提示,本文基于 <JSP 应用开发与实践>-- 刘乃琦老师的书籍以及 C语言中文 ...

  4. 如何绕过某讯手游保护系统并从内存中获取Unity3D引擎的Dll文件

    ​ 某讯的手游保护系统用的都是一套,在其官宣的手游加固功能中有一项宣传是对比较热门的Unity3d引擎的手游保护方案,其中对Dll文件的保护介绍如下, "Dll加固混淆针对Unity游戏,对 ...

  5. 2023 中国 Serverless 用户调查,邀您填写!

    当前云计算已成为数字时代的基础设施,支撑众多企业进行数字化转型升级.随着企业上云的范围更加广泛,国内云计算正在迈向云原生时代.Serverless技术因其以应用为中心.屏蔽底层复杂逻辑,灵活扩展,按需 ...

  6. vue学习笔记 二、环境搭建+项目创建

    系列导航 vue学习笔记 一.环境搭建 vue学习笔记 二.环境搭建+项目创建 vue学习笔记 三.文件和目录结构 vue学习笔记 四.定义组件(组件基本结构) vue学习笔记 五.创建子组件实例 v ...

  7. Eureka相关相关接口和代码位置

    1.服务注册:com.netflix.eureka.registry.AbstractInstanceRegistry#register(InstanceInfo registrant, int le ...

  8. S3C2440移植uboot之编译烧写uboot

    目录 移植环境 获取uboot 更新交叉编译工具 配置环境变量 移植环境 主 机:VMWare--ubuntu16.04 开发板:S3C2440 编译器:arm-linux-gcc-4.3.2.tgz ...

  9. spring boot 集成配置阿里 Druid监控配置

    本文为博主原创,转载请注明出处: github 地址如下:https://github.com/alibaba/druid/wiki 其相关问题也可参考:https://github.com/alib ...

  10. cout对象在全局只能拥有一个

    1.问题 在学习符号重载的过程中,有一个想法 std::ostream& operator<<(std::ostream &cout, Person &p); 中s ...