抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

manjaro 真好用 arch 再见!

推荐 manjaro-deepin 对中文的支持比较好

桌面环境真的是个大坑啊

现在觉得折腾确实挺有趣的, 但以后有机会还是配一个 mbp 吧, Linux 的桌面环境是真的烦人..aur 和稳定的桌面环境感觉还是后者比较重要。

争取能做出来一个安装 + 部署配置的脚本

Arch 踩坑笔记

记录一下从 0 开始玩 Linux 的经历

其实之前已经有了一点 Ubuntu 的使用经验 但是很浅

Arch 作为'最难'安装的 Linux 系统 通过它可以更好的了解 Linux

这里是 VMware 安装的 Arch 虚拟机
配置和美化 Arch Linux

安装:

这里参考

注意引导方式建议使用 rEFInd 代替教程里采用的 grub

这是最全面的安装指南

如果进入不了 [root@archiso ] 是物理机安装时 u 盘的卷标不是 `ARCH_20XXYY

基础设置:

创建新用户

1
2
# useradd -m -G wheel <username> (请自行替换username为你的用户名)
# passwd <username> (请自行替换username为你的用户名)

开机自动联网

1
# systemctl enable dhcpcd

网络工具

1
# pacman -Syy net-tools

时间

装完 archlinux,因为时区的问题,时间总是比实际快了 8 个小时,找了各种办法,最终使用了 openNTPD 的方法

设置时区:sudo ln sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

安装 openNTPD:sudo pacman -S openntpd

重启 openNTPD:systemctl restart openntpd

设置开机启动:systemctl enable openntpd

SSH

安装 SSH

1
# pacman -Syy openssh

启动服务

1
# systemctl start sshd

开机启动

1
# systemctl enable sshd.service

启用中国源

1
sudo pacman-mirrors -c China

添加 archlinuxcn 源

archlinuxcn 源至您的 /etc/pacman.conf

1
2
3
4
[archlinuxcn]
#The Chinese Arch Linux communities packages.
SigLevel = Optional TrustAll
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch

aur 助手

yay 是下一个最好的 AUR 助手。它使用 Go 语言写成,宗旨是提供最少化用户输入的 pacman 界面、yaourt 式的搜索,而几乎没有任何依赖软件。

yay 的特性:

  • yay 提供 AUR 表格补全,并且从 ABS 或 AUR 下载 PKGBUILD
  • 支持收窄搜索,并且不需要引用 PKGBUILD 源
  • yay 的二进制文件除了 pacman 以外别无依赖
  • 提供先进的包依赖解决方案,以及在编译安装之后移除编译时的依赖
  • 当在 /etc/pacman.conf 文件配置中启用了色彩时支持色彩输出
  • yay 可被配置成只支持 AUR 或者 repo 里的软件包

安装 yay:

现在 yay 已经添加到官方源中

sudo pacman -S yay

VPN

electron-ssr : GUI 的界面的 ssr.很好用

中文字

[参考 ArchWiki](https://wiki.archlinux.org/index.php/Font_Configuration/Chinese_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

1
yay -S ttf-ms-fonts ttf-roboto noto-fonts noto-fonts-cjk adobe-source-han-sans-cn-fonts adobe-source-han-serif-cn-fonts ttf-dejavu

添加配置文件,~/.config/fontconfig/fonts.conf or /etc/fonts/local.conf

命令行

Linux 强大的命令行操作,使效率倍增,所以配置好命令行,并安装实用命令行软件是必要的

zsh1

1
2
3
4
5
sudo pacman -S zsh zsh-completions

# 将zsh设为默认shell
chsh -s /bin/zsh
#其他发行版可先用chsh -l 查看zsh安装位置
oh-my-zsh
  • curl 和 Git 应该已被安装(若没有 Arch 用 sudo pacman -S curl Git 安装,其他发行版类似。)

  • Oh-my-zsh 是一个傻瓜化的 zsh 配置管理框架,提供了大量实用的功能,主题等。做到开箱即用,现在基本成为了 Zsh 的标配。

  • 安装

    1
    sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
  • 配置文件位置: ~/.zshrc

  • 主题
    oh-my-zsh 自带大量 Themes,默认为 robbyrussell。你也可以选择 random,即每次打开终端随机选一个主题。

    ZSH_THEME=”你喜欢的主题名”
    themes

  • 常用插件

    • git: 提供大量 Git 的 Aliases,详情

    • archlinux: 提供一些 pacman 包管理器的 Aliases,详情

    • z:经常使用 cd 切换路径,积累一定数据后可用 z 快速跳转到指定位置

    • sudo:按两次[Esc]自动在前面加 sudo

    • pip: 补全 pip 命令

    • zsh-autosuggestions: 根据历史记录进行智能提示(按 ctrl+E 是正确姿势)。非 oh-my-zsh 自带,用 Git 下载安装

      1
      git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
    • zsh-syntax-highlighting:命令高亮,正确显示绿色,错误为红色。非 oh-my-zsh 自带,用 Git 下载安装

      1
      git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

      plugins=( 你想启用的插件,空格分隔 )
      plugins

    • 重新加载配置文件,立刻生效。

      source ~/.zshrc

  • 其他插件请参见官方 wiki

  • 少即是多,启用大量插件会严重拖慢 zsh 启动速度


我这里采用的是 agnoster 主题
为在使用 tmux 时不重复显示 whoami@whereami 做两处修改

  • /etc/profile 中添加环境变量
    1
    DEFAULT_USER=$USER
  • agnoster 主题文件 91 行中做如下修改
    1
    2
    - if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT"]]; then
    + if [[ "$USER" != "$DEFAULT_USER" || (( -n "$SSH_CLIENT" && -z "$TMUX" )) ]]; then
    这样在本地初始打开一个 terminal 时不会显示,ssh 远程连接是时显示
    进入 tmux 时不会显示

原因是
Archlinux 下安装和配置 zsh

tmux

安装 tmux

1
sudo pacman -S tmux

在这里配置 tmux
https://github.com/gpakosz/.tmux 这个简单好看,且对 true color 支持很好, .tmux.conf.local 配置文件很方便

为 vim + tmux 开启真彩色(true color)

tmux 进阶之 tmuxinator

FAQ:

  1. tmux 嵌套使用的话,如何将 tmux 命令发送到嵌套内的会话窗口?转载自

    很常见的例子是,在本地用 tmux 登陆远程服务器,服务器上又使用了 tmux。问题是,在这种情况下,tmux 指令被外层会话窗口捕获(本地 tmux),根本无法控制服务器上运行的 tmux。例如,想退出服务器上的会话,ctrl + b, d, 结果退出的是本地 tmux 连接, sh*t。

    介绍一个简单方法:按着 ctrl,点击两次 b 键,这样发出的 tmux 指令就是发送到内层窗口会话!如此简单!


neovim

neovim 属于 VIM 的加强版 功能更加强大

注意的是启动 neovim 的命令式 nvim 而不是 neovim

同时安装 nerd-fonts

如果安装 spacevim 则不需要手动安装 nerd-fonts

spacevim

一个定制化的 VIM 配置,支持 vim,neovim

官网

初学的时候可以使用这个省事儿些,但是后面学习使用 VIM 最好采用自己的配置,按需添加插件配置。

*Xshell 下 256/真色支持

检查当前是否为 256/真色参考本篇文章

我这里的 xshell 只能支持 256 色

这时 xshell 中只有在 tmux 下 spacevim 才能显示 256 色,不支持真色

在。zshrc 文件头添加

1
sh /${.zshrc的目录}/.change_term.sh

.change_term.sh 文件内容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
echo "before: $TERM"
if [ "$TERM" = "linux" ]
then
echo "export TERM=xterm-256color"
export TERM=xterm-256color
elif [ "$TERM" = "xterm" ]
then
echo "export TERM=tmux-direct"
export TERM=tmux-direct
elif [ "$TERM" = "xterm-256color" ]
then
echo "export TERM=xterm-direct"
export TERM=xterm-direct
else
echo "export TERM=tmux-256color"
export TERM=tmux-256color
fi
echo "now: $TERM"
# 如果是ssh自动启用tmux
if [ -n "$SSH_CLIENT" ]
then
tmux
fi

clear

glances: 代替 htop 的资源监控工具

ranger: ranger 是一个以 GPL 许可证发放源码,默认使用 VIM 风格键盘绑定、curses 图形库,基于字符终端的文件管理器,是自由免费软件。

tig: Git 的命令行管理软件

dockly: docker 的命令行管理软件,ranger 就可以显示 docker 容器运行状况,轻量使用就没必要用它了

wtfutil: 基于 Terminal 的个人 dashboard 实用程序,专为显示不常用的但非常重要的日常数据而设计

常用软件

编辑器&IDE

JetBrains ToolBox: JB 全家桶,管理 Clion,IDEA,PyCharm 项目

code::blocks

vscode:

Typora: Markdown 编辑器

终端

Yakuake: 悬挂式命令行,很方便

termite:

alacrity: 一个 GPU 渲染的终端工具,感觉现在比较火,但是个人还没怎么用过,不过还是推荐一下

开发工具

GitKraken: Git 的图形化管理软件

影音

网易云音乐

浏览器

google-chrome

通讯工具

deepin.com.qq.office: tim

deepin-wechat: 微信

wine 程序字体 dpi 太小导致视觉观感很难受

调整 DPI 字体

1,先退出 deepin-tim 或 deepin-qq,否则会提示错误。

2,运行 env WINEPREFIX="$HOME/.deepinwine/Deepin-TIM" winecfg(如果是修改 QQ 界面字体大小,就把 Deepin-TIM 改成 Deepin-QQ),然后将屏幕分辨率拖放到合适的大小(一般 120 就可以了)。

gitter:

telegram:

虚拟机

docker

VirtualBox

helper

albert: Linux 下的启动器

桌面环境

参考

如果安装 manjaro 就不需要手动安装这些了

1、安装显卡驱动

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# lspci | grep VGA    # 确定显卡型号
# pacman -S <驱动包>
#
# # 官方仓库提供的驱动包:
# # +----------------------+--------------------+--------------+
# # | | 开源 | 私有 |
# # +----------------------+--------------------+--------------+
# # | 通用 | xf86-video-vesa | |
# # +----------------------+--------------------+--------------+
# # | Intel | xf86-video-intel | |
# # +--------+-------------+--------------------+--------------+
# # | | GeForce 9+ | | nvidia |
# # + +-------------+ +--------------+
# # | nVidia | GeForce 8/9 | xf86-video-nouveau | nvidia-340xx |
# # + +-------------+ +--------------+
# # | | GeForce 6/7 | | nvidia-304xx |
# # +--------+-------------+--------------------+--------------+
# # | AMD/ATI | xf86-video-ati | |
# # +----------------------+--------------------+--------------+12345678910111213141516171819

2、安装桌面环境

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

1
pacman -S xorg

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

1
pacman -S xorg-xinit xterm

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

3、安装 xfce4 桌面

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

1
pacman -S xfce4 xfce4-goodies

4、安装 LightDM 登录管理器(显示管理器)

详细安装和配置看 arch-wiki-lighdm
我没有通过 startx 的方式启动桌面环境,而是使用了登录管理器 lightdm
安装:

1
pacman -S lightdm lightdm-gtk-greeter

其配置文件为:
/etc/lightdm/lightdm.conf
安装好之后测试启动:

1
systemctl start lightdm.service1

如果正常就会看到熟悉的登录界面了,不过不要登录,现在只是测试 lightdm 是否可以正常启动
点击画面上的关机小图标,弹出关机对话,选择注销!
注销之后就回到之前的 tty 命令行模式了,可以看到相关的启动信息
一切正常,所以设置 lightdm 为开机自动启动,这样以后开机就不会出现 tty 命令行界面了,而是直接进入登录界面:

1
systemctl enable lightdm.service

之后你可以重启进入 xfce4 图形界面,然后在图形界面中使用终端来继续以下配置步骤,也可以不重启,直接继续

进入 xfce4 图形界面的命令为 startxfce4

桌面美化

好好干活,美化个屁。

评论