安装桌面环境
阅读
2024-10-26更新
最新编辑:贪睡的小爱
阅读:
更新日期:2024-10-26
最新编辑:贪睡的小爱
上一页: Pacman包管理器与密钥管理
下一页: None
DM,显示服务器,WM,DE简介
启动一个小型的图形化界面以供用户登陆,常用的DM有:sddm,gdm,xdm等。
在右上角,并且以图标的形式出现。没错,这就是窗口管理器干的事儿。常见的WM有:i3, hyprland等
多于的配置即可使用,类似于windows系统,安装好直接就可以使用,常见的DE有:kde, gnome等
- 由systemd启动DM, DM使用内置的可视化来显示一个登陆界面供用户登陆
- 当用户成功登陆后,DM会启动显示服务器
- 显示服务器启动后,紧接着会自动启动WM
- 初始化桌面环境(启动开机自启程序,面板等)
安装KDE
kde是一个DE(DesktopEnvironment),之前说过,DE是一系列组件的集合,也就是说我们无
需关心怎么安装配置DM,显示服务器,WM这些东西。
安装kde很简单,只需要安装以下包即可:
# 安装基础的kde桌面环境 sudo pacman -S plasma-meta konsole dolphin
# 开机自启sddm systemctl enable sddm
自定义桌面
- DM: xdm
- 显示服务器: xorg (X11的实现)
- WM: i3
- xdm: 一个显示管理器,拥有一个简洁的界面,响应快速, 也可以高度定制。
- xorg: xorg是X11的一个实现,
- i3: 一个轻量级的平铺式窗口管理器
安装xdm
# 安装xdm sudo pacman -S xorg-xdm
安装i3
# 安装i3 pacman -S i3-wm
安装和配置显示服务器(xorg)
# 安装xorg pamcan -S xorg # 编写 ~/.xsession 配置文件 vim ~/.xsession # ~/.xsession 是x服务器用来初始化环境,类似于 ~/.bashc # 在 ~/.xsession 写启动i3的脚本,直接写入 i3 即可, 等同于以下命令: echo "i3" > ~/.xsession # 给 .xsession 执行权限 chmod +x ~/.xsession
# 启动xdm systemctl start xdm # 如果想要自启也可以设置 systemctl enable xdm
配置i3
~/.config/i3下创建config文件,如果选择no,则自行创建该文件即可。
# 设置变量 set $VARIABLE_NAME VALUE #参数解释 VARIABLE_NAME: 变量名 VALUE: 变量值 # 示例 set $ctrl control 含义: 定义一个变量ctrl,其值为control (注: 如果需要引用变量,那么应该写成 $VARIABLE_NAME 的形式,类似php的变量引用) # 绑定快捷键 bindsym KEY_CODE KEY ACTION # 参数解释 KEY_CODE: 键盘的按键代码 KEY: 关键字,如exec, move, focus等 ACTION: 需要执行的动作 # 示例 bindsym Mod1 exec firefox 含义: 当按下Mod1键时执行firefox (注: Mod1是i3特定的键盘按键代称,详细请查看https://i3wm.org/docs/userguide.html#binding_modes) # 当启动i3时,自启动软件 exec [PARAMETER] COMMAND # 参数解释 PARAMETER: 执行的参数,如 --no-startup-id可以禁止软件启动的通知,输出 COMMAND: 执行的软件命令 # 示例 exec --no-startup-id firefox 含义: i3启动的时候,自启动firefox,并且没有任何提示信息和终端输出。 (注: COMMAND命令部分,如果有参数,可以直接接着写,如 exec --no-startup-id start NetworkManager)
i3-msg reload
xorg详解(可选读)
再识xorg
服务端,然而这种CS架构不是大家想象的那样子。
也就是各种基于x的软件,包括但不限于qq,wps,终端模拟器,vmware等等,你没听错,就是我们日常用的所有软件,都属于x客户端。到这里肯定还是很糊,没关系,有个印象就行, 接下来我会给大家梳理x服务器和x客户端之间的交互过程,看完也许就会恍然大悟了。
- 鼠标按下: x服务端监测到鼠标按下事件, 并获取鼠标当前位置。
- 客户端处理: x服务器把鼠标按下事件等信息发送给对应客户端进程并执行按下后的相应逻辑,例如鼠标在qq里点击一个按钮,那么x服务端 会把信息发送给qq, 并且执行按下 按钮后的代码,然后客户端(qq)根据处理结果生成新的窗口内容或者状态。
- 服务端渲染: 客户端再把需要更新的内容发送给服务端,由服务端控制屏幕更新这些内容。