配置和美化Arch Linux

2023-11-05

前面说了如何安装一个最小化的Arch Linux。现在来说说如何配置。

配置网络

如果使用有线网络的话,将dhcp服务开机启动:

# systemctl enable dhcpcd

如果使用无线网络的话,使用wifi-menu命令连接网络。如果在使用wifi-menu命令连接网络的时候选择保存配置,那么就可以下次让其自动连接。要让其自动连接,使用以下命令:

# systemctl enable netctl@保存的网络配置名.service

要管理无线网络的话使用netctl命令。详情可以查阅其手册页。如果在使用netctl命令连接某个无线网的时候出现了类似The interface of network profile '网络名' is already up错误,将网络设备关闭并再次运行命令通常可以解决问题。如果不知道无线网卡的名字,直接使用ip命令就可以列出所有的网络接口了。

# ip link set 无线网卡名 down
# netctl start profile

配置区域和时间

配置区域

打开/etc/locale.gen文件,取消掉en_US.UTF-8zh_CN.UTF-8的注释:

# nano /etc/locale.gen

然后重新生成一下区域信息:

# locale-gen

然后再配置一下/etc/locale.conf文件。将区域信息写入:

# echo LANG=en_US.UTF-8 > /etc/locale.conf

这里要注意,如果/etc/locale.conf文件使用非英语区域的话,会导致tty,也就是我们目前使用的全屏黑色命令行界面乱码。另外还有一种解决方案是使用fbterm。接下来会说到。

配置时区

将时区设置为中国上海:

# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

或者这个命令也可以达到相同的目的:

# timedatectl set-timezone Asia/Shanghai

配置时间

推荐将硬件时间修改为UTC时间,这样各个linux系统都会完美协调,不过需要修改Windows操作系统。

# hwclock --systohc --utc

开启网络对时功能:

# timedatectl set-ntp true

要查看现在的时间,直接使用timedatectl命令就可以。

下面是Windos下的修改:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation下新建一个DWORD类型的名字为RealTimeIsUniversal的项,并将值修改为十六进制的1。如果无效并且Windows是64位的话,新建一个QWORD类型的值或许有效。

用户和权限设置

添加用户

添加用户的命令格式如下,-m选项表示在创建用户组的同时创建用户目录。

# useradd -m -g 初始用户组 -G 额外用户组 -s 登陆shell 用户名

例如,我要添加一个test用户,让他隶属于users用户组,并且同时在wheel用户组,使用zsh作为登陆shell,那么命令就是这样的:

# useradd -m -g users -G wheel -s zsh test

删除用户

如果不小心添加了一个不需要的用户,可以将其删除。-r选项表示再删除的时候同时删除其用户目录。

# userdel 用户名 -r

允许提权

在一般情况下,如果要将一个用户设为管理员,就将其加入到wheel用户组中,这样就可以使用su和sudo命令执行需要高级权限的操作。但是在Arch中,wheel用户组默认没有提权的权限。这就需要编辑/etc/sudoers文件:

# nano /etc/sudoers

然后找到wheel ALL=(ALL) ALL一行,并取消前面的注释,保存即可。这样,wheel用户组中的用户就可以利用su或者sudo命令来提权了。

安装桌面

安装xorg

所有桌面环境都需要依赖xorg。所以先要安装xorg组。

# pacman -S xorg

输入命令之后首先会询问要安装xorg组下的哪些包,选择全部。然后对于libgl包有个四个不同的实现,选择mesa-libgl。
然后再安装xorg-xinit和xterm:

# pacman -S xorg-xinit xterm

安装完成之后就可以使用startx命令启动xorg的简易界面了。进入成功的话会显示出几个简陋的窗口。然后按Ctrl+D就可以退出了。

安装显示管理器

这里安装的是sddm显示管理器,配合plasma桌面使用效果更佳。

# pacman -S sddm

安装完成之后,可以运行一下systemctl start sddm命令来查看一下sddm是否能够正常运行。如果正常显示出来的话,就说明安装成功了。安装成功的话就可以按Ctrl+Alt+F数字来切换到其他tty,继续进行配置。如果安装成功,就可以使用systemctl enable sddm来让其开机启动。

默认的sddm是没有配置文件的,需要先生成一个:

# sddm --example-config > /etc/sddm.conf

生成完成之后就可以编辑配置文件了。

比如,要修改主题为Breeze,打开配置文件找到[Theme]下的Current,然后修改成Current=breeze。默认情况下主题都在目录/usr/share/sddm/themes/下。运行ls /usr/share/sddm/themes/命令就可以查看现在安装的主题。breeze主题默认情况下没有,在安装plasma桌面的时候会附带安装。

如果想要开机时候启用数字锁定键,找到Numlock条目并改为Numlock=on

sddm默认情况下会从tty1启动,如果想要传统的从tty7启动,找到MininumVT并改为MininumVT=7

如果要为用户添加头像的话,照一张png格式的图片,重命名为username.face.icon,然后放到/usr/share/sddm/faces/目录即可。如果不能识别,使用ls -l /usr/share/sddm/faces/查看一下是否是用户权限的问题。如果是的话使用chmod 744 /usr/share/sddm/faces/username.face.icon把所有用户的读权限加上,应该就可以了。

安装桌面环境

如果想要轻巧的话使用xfce桌面,如果想要华丽效果的话使用plasma桌面。

安装xfce4桌面和附带的软件包:

# pacman -S xfce4 xfce4-goodies

安装plasma桌面和附带的软件包:

# pacman -S plasma kde-applications kde-l10n-zh_cn

系统中文化

这一部分最好在桌面环境安装好之后进行,一来桌面环境方便进行各种操作,二来可能需要编辑一些由桌面环境生成的文件。

安装中文字体

首先使用pacman搜索一下所有字体,然后安装所需的字体:

# pacman -Ss font

设置中文区域

/etc/locale.conf文件中的区域设置是全局设置,会影响到所有的程序。如果在这里把区域设置为中文,虽然桌面环境下可以正常显示,但是进入tty的话就会出现乱码现象。所以推荐的方法是在启动图形界面的时候加入中文区域设置,打开~/.xprofile文件加入以下几行即可,注意文件名称全部是小写的。

export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en_US
export LC_CTYPE=en_US.UTF-8

安装fcitx输入法

# pacman -S fcitx fcitx-cloudpinyin  fcitx-im fcitx-fbterm kcm-fcitx

安装完成之后还需要配置一下。打开~/.xprofile文件并加入以下几行:

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

安装fbterm

安装fbterm并将当前用户添加到video用户组中:

$ pacman -S fbterm
$ gpasswd -a username video

其他美化

设置pacman彩色输出

打开/etc/pacman.conf文件,找到被注释的#Color,改为Color。pacman就会输出彩色信息,方便查看。

终端美化

首先安装zsh,z shell以最后一个字母z命名,意为终极shell。配合oh-my-zsh一起使用效果更佳。安装完成之后将其设置为默认shell,重新登录即可生效。另外还要安装git。

# pacman -S zsh git
# chsh -s $(which zsh)

然后安装oh-my-zsh,可以从curl或者wget安装。

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

安装完成之后打开.zshrc文件配置。我喜欢将主题设置为random,启用几个插件,并添加vim的简化命令。

ZSH_THEME="random"

plugins=(git archlinux history mvn python git-extras textmate lighthouse autojump)

# Example aliases
alias zshconfig="mate ~/.zshrc"
alias ohmyzsh="mate ~/.oh-my-zsh"
alias vi=vim

有些主题需要破解过的字体,需要安装git来同步这些字体:

git clone https://github.com/powerline/fonts.git
cd fonts
./install.sh

还有更多奇妙的主题,这里是其中的两个,在这里还可以找到更多:
* powerlevel9k
* lambda-mod

其他设置

科学上网

最简单的是使用hosts文件,克隆项目并替换hosts文件:

$ git clone https://github.com/racaljk/hosts.git
$ sudo bash ~/hosts/hosts_tools/scripts/script_tool_for_linux.sh

这样,Arch的美化就基本完成了。等到我学的差不多了。在写一个美化脚本,自动完成上面的所有事情。敬请期待吧。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

配置和美化Arch Linux 的相关文章

随机推荐

  • 《写给大家看的设计书(第4版)》读书笔记

    文章目录 前言 设计原则 亲密性 对齐 重复 对比 结语 前言 设计类的书籍看过一些 大多分为两类 一类是讲基础的 构图 明暗 色彩等基础理论 还有一类是分享介绍具体案里的 这两类书籍对于大多数并不想真正成为设计师的人来说很多时候并没有什么
  • 位置无关码介绍

    1 基本概念 应用程序必须经过编译 汇编和链接后才变成可执行文件 在链接时 要对所有目标文件进行地址重定位 建立符号引用规则 同时为变量 函数等分配运行地址 当程序执行时 系统必须把代码加载到链接时所指定的地址空间即链接地址 链接地址介绍在
  • 使用C写Python的模块

    使用C写Python的模块 2012 12 21 23 49 更新 邹业盛 概述 引入 Python h 头文件 编写包装函数 处理从 Python 传入的参数 实现逻辑功能 处理 C 中的返回值 注册函数 注册模块 编译 原文发于2010
  • 【开发工具】【make】make 3.82源码编译安装

    摘要 通过下载make 3 82源码 再编译机上安装make 3 82版本 解决make版本过高的问题 1 下载make 3 82 下载地址为 wget ftp ftp gnu org gnu make make 3 82 tar gz 我
  • 全局监控 click事件的四种方式

    本文主要给大家分享如何在全局上去监听 click 点击事件 并做些通用处理或是拦截 使用场景可能就是具体的全局防快速重复点击 或是通用打点分析上报 用户行为监控等 以下将以四种不同的思路和实现方式去监控全局的点击操作 由简单到复杂逐一讲解
  • Linux学习笔记-----网络编程套接字

    目录 一 概念 一 端口号概念 二 套接字概念 三 套接字 socket 编程接口 四 sockaddr结构 五 网络字节序 二 基于UDP的相关理解 一 UDP协议 二 编写简单的UDP服务端和客户端 三 小结 三 基于TCP的相关理解
  • iOS 自动构建命令——xcodebuild

    想想当初天天来到公司 每天需要做一件事就是打开Xcode打包ipa 上传到fir 日复一日月复一月年复一年的做着同样的事情 作为有志成为优秀工程师的我来说 这是必须要解决的问题 所以决定自动化解决问题 简介 xcodebuild 是苹果发布
  • Qt环境变量配置

    在桌面找到 此电脑 右击 找到属性 点击属性 找到高级系统设置 点击 选中环境变量 选中path 点击编辑 进入环境变量是这个样子的 下一步找到Qt安装的位置复制路径 这个是2015 64的 2015 32和2017 64的路径都要 然后
  • 如何选择期权品种,是做期货期货还是做期权

    有朋友问 国内的疫情目前得到较好的控制 经济也在逐渐恢复运行 国外的疫情在加重 也许会有部分国家经济做阶段停摆 假如上面的成立 我们是不是可以选择一种套利 买入国内经济需求会带动上涨的商品 卖出国外经济下滑会带动下跌的商品 如果这个方案可行
  • 分布式系统下的纠删码技术(一) -- Erasure Code (EC)

    近几个月主要参与一个分布式存储系统的纠删码部分 用于数据容错 纠删码在学术界出现比较早 现在ceph 微软的存储系统 Hadoop 3 0等都用了EC 文章会分为多篇 主要将Erasure Code LRC 以及相关的数学基础 作为学习总结
  • 前端技术搭建贪吃蛇小游戏(内含源码)

    功能介绍 以下是贪吃蛇小游戏的玩法和规则 游戏开始时 玩家控制一条小蛇在游戏区域内移动 通过吃食物来增加分数 小蛇的移动方向由玩家控制 可以使用键盘上的方向键来控制小蛇的移动方向 当小蛇吃到食物时 它会变长 并且玩家的分数会增加 如果小蛇撞
  • 拷贝构造函数(默认的,自定义的,什么时候一定要自定义,什么时候系统会自动调用)

    为什么有指针成员的类 要自定义拷贝构造函数 参考了 https blog csdn net caoshangpa article details 79226270 没有拷贝构造函数的类 系统会创建默认的拷贝构造函数 默认拷贝构造函数是浅拷贝
  • 【JSON 初级】

    概述 前后台数据交换的格式标准 一种优秀的 数据格式 采用键值对的方式 取数据 用键 优势 比XML更小 更快 更容易解析 JSON是存储和交换文本信息的语法 类似XML 工具 网上有校验json数据 并提示错误 将数据转化为json数据
  • 深入理解java虚拟机【并发编程缓存】

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 随着多核CPU的高速发展 为了充分利用硬件的计算资源 操作系统的并发多任务功能正变得越来越重要 但是CPU在进行计算时 还需要从内存读取输出 并 将计算结果存放到内存中 然
  • 【华为OD机试】分苹果(C++ Python Java)2023 B卷

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 语言限定 C clang11 C clang 11 Pascal fpc 3 0 2 Java jav
  • 闲聊:自动化到底是干什么的?

    很多人会问 自动化到底是干什么的 也许是因为这个专业所要学习和掌握的知识太庞杂了 以至于自动化被称之为万能胶 干什么都行 却又都不专业 很大一部分同学上到大二大三还不知道自己具体能做什么 迷茫中便选择了转行 希望还在迷茫中的低年级的同学看了
  • C++11变长模板解析(深入理解C++11)

    参考自 深入理解C 11 变长模版 变长函数和变长的模版参数 变长函数 double sum int n 求n个double数据之和 double sum 0 va list args 接受输入数据的数据结构 需声明stdarg h va
  • 3D游戏设计作业9:游戏智能

    坦克对战游戏 AI 设计 游戏截图 1 作业要求 从商店下载游戏 Kawaii Tank 或 其他坦克模型 构建 AI 对战坦克 具体要求 使用 感知 思考 行为 模型 建模 AI 坦克 场景中要放置一些障碍阻挡对手视线 坦克需要放置一个矩
  • python 点名程序(随机点名不重复 可定义名字列表 语音播报 免费下载 多线程打包)

    python点名小程序 含有 调用windows本地语音播报 python多线程打包 等小技巧 软件获取 点击下方地址直接下载压缩包 免费为大家提供 软件获取地址 大家拿了软件别忘了给博主一个免费的赞 谢谢 解压压缩包 里面的MyAPP e
  • 配置和美化Arch Linux

    前面说了如何安装一个最小化的Arch Linux 现在来说说如何配置 配置网络 如果使用有线网络的话 将dhcp服务开机启动 systemctl enable dhcpcd 如果使用无线网络的话 使用wifi menu命令连接网络 如果在使