CentOS 7 极简桌面环境

作者: BroQiang

发布于 2019-06-13 | 最后更新 2019-06-13


最近因为要使用 Windows 操作系统, 在虚拟机中使用 Ubuntu 18.04 感觉有些卡, 比物理机直接使用反应慢了很多, 所以决定搞个轻量一点的, 最终决定安装 CentOS7 的 Minimal 包, 然后配个 Openbox 桌面。

初始配置

关闭 SELinux , 开发环境最好关上, 避免不少麻烦。 生产环境也看需求, 个人也不推荐打开。

sudo sed -i 's/SELINUX=.*$/SELINUX=disabled /' /etc/selinux/config

安装 epel 源、 bash 自动完成工具、 网络工具,开发工具等常用的工具,可以根据实际需要安装。

将操作系统更新到最新, 重启。

sudo yum install -y epel-release bash-completion net-tools gcc gcc-c++ make cmake autoconf
sudo yum update -y
reboot

因为个人习惯不直接使用 root 用户, 所以配置了一个 sudo 权限的用户, 如果使用的是 root 用户, 后面命令中的 sudo 全部可以省略

配置个 PS1 , 为了叫命令行的前缀短一点, 这个看个人喜好去配置, 或者不配置也什么都不影响

echo "export PS1='[\[\033[1;34m\]\w\[\033[0m\]]\$ '" >> ~/.bashrc

编译安装 git

CentOS7 自带的 git 有点老, 所以采用源码安装。

可以参考 官方文档 安装, 源码可以从 官方仓库 下载, 这里采用的是写此文档时的最新版本。

# 安装依赖关系
sudo yum install -y curl-devel expat-devel gettext-devel \
    openssl-devel zlib-devel

# 下载源码
curl -fO https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.22.0.tar.xz

# 解压安装包
tar xf git-2.22.0.tar.xz && cd git-2.22.0/

# 编译安装
make configure
./configure --prefix=/usr
make all
make install

安装完成后可以查看下版本, 显示下面信息及安装成功

$ git --version
git version 2.22.0

安装完成后可以按照需要做一些简单的配置。

# 提交数据的时候的用户邮箱和用户名
git config --global user.email "broqiang@qq.com"
git config --global user.name "Bro Qiang"
# 保存密码
git config --global credential.helper store

# 设置使用 vim 作为默认文本编辑器,nano 实在是用不习惯……
git config --global core.editor vim

# 配置方便使用的别名, 根据个人习惯, 也可以不配置
echo -e "\n\nalias gs='git status' \
\nalias gaa='git add . \
'\nalias ga='git add ' \
\nalias gp='git push' \
\nalias gc='git commit -m ' \
\nalias gl='git log' \
\nalias grao='git remote add origin ' \
\nalias gpo='git push origin ' \
\nalias gb='git branch'" >> ~/.bashrc

安装 vim

CentOS 7 自带的 vim 版本太低了, 很多 vim 插件都不支持或支持的不好, 比如 YouCompleteMe , 所以就直接编译安装最新版本了。

可以从 github.com/vim/vim 找到最新的版本, 我这里使用的是 release 中的最新版, 没有使用 master

编译安装 vim

curl -fLO https://github.com/vim/vim/archive/v8.1.1523.tar.gz
tar xf v8.1.1523 && cd vim-8.1.1523/

# 安装依赖关系
sudo yum install -y gcc-c++ ncurses-devel python-devel

# 编译安装
./configure \
  --disable-nls \
  --enable-cscope \
  --enable-gui=no \
  --enable-multibyte  \
  --enable-pythoninterp \
  --enable-rubyinterp \
  --with-features=huge  \
  --with-python-config-dir=/usr/lib64/python2.7/config \
  --with-tlib=ncurses \
  --without-x
make
make install

编译完成后输入下面命令查看是否安装完成

$ vim --version
VIM - Vi IMproved 8.1 (2018 May 18, compiled Jun 12 2019 22:29:49)
...... 省略更多信息

配置 vim

# 安装插件管理工具
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

# 下载 .vimrc 配置文件
curl -fLo ~/.vimrc \
    https://raw.githubusercontent.com/BroQiang/vim-go-ide/master/vimrc-centos-base

上面配置完成后, 直接打开 vim , 输入 :PlugInstall , 慢慢等待插件安装, 看网络状况, 有可能会要等很久。

插件下载安装完成后,需要编译下 YouCompleteMe

cd ~/.vim/plugged/YouCompleteMe
python install.py

编译完成后就可以比较优雅的使用 vim 了,这里没有写具体步骤,直接使用的我自己的配置,更多的配置可以参考 vim-go-ide

安装桌面环境

为了方便, 安装一个极简的 openbox 桌面 , 可以保证虚拟机中桌面环境的性能, 同时又能做一些桌面下的操作,如果物理机安装的话个人还是更喜欢 Ubuntu + GNOME 桌面。

# 安装 X Window 环境
sudo yum groupinstall -y "X Window System"

# 安装 openbox 桌面环境和一些相关软件, 加--exclude 选项, 过滤开发相关的包
sudo yum install -y xfce4-terminal wqy-* \
    lightdm openbox gmrun tint2 obconf-qt thunar

# 安装登录管理器LightDM
sudo systemctl enable lightdm

# 配置开机默认启动图形界面
sudo systemctl set-default graphical.target

sudo reboot

如果桌面不能最大化, 可以安装 VMtools

配置 tint2 托盘自动启动

tint2 就是一个简易的系统托盘, 可以显示一些基本的内容, 如果不需要的话也可以不配置。

编辑 autostart

sudo vim /etc/xdg/openbox/autostart

在下面写入下面内容

tint2 &

autostart 是一个配置文件, 想要什么程序在启动 openbox 的时候自己启动, 写入这里就可以了。

配置快捷键

配置 gmrun (这是一个运行可执行程序的一个工具, 和 GNOME 桌面下的 Alt+F2 的功能类似, 所以这里也给它配置一个 Alt + F2 的快捷键) 、 xfce4-terminal (终端)和 thunar (轻量级的文件管理器)。

编辑 rc.xml (一般都会有, 如果不存在的话就自己从 /etc/xdg/openbox/rc.xml 复制一个即可)

vim ~/.config/openbox/rc.xml

找到 <keyboard> 标签, 在 <keyboard></keyboard> 之间插入一组新的标签

<keybind key="A-F2">
  <action name="execute">
    <execute>gmrun</execute>
  </action>
</keybind>
<keybind key="C-A-T">
  <action name="execute">
    <execute>xfce4-terminal</execute>
  </action>
</keybind>
<keybind key="W-E">
  <action name="execute">
    <execute>thunar</execute>
  </action>
</keybind>
<keybind key="A-Return">
  <action name="ToggleDecorations"/>
  <action name="ToggleMaximizeFull"/>
</keybind>
<keybind key="W-Up">
  <action name="GrowToEdge">
    <direction>north</direction>
  </action>
</keybind>
<keybind key="W-Down">
  <action name="GrowToEdge">
    <direction>south</direction>
  </action>
</keybind>
<keybind key="W-Left">
  <action name="GrowToEdge">
    <direction>west</direction>
  </action>
</keybind>
<keybind key="W-Right">
  <action name="GrowToEdge">
    <direction>east</direction>
  </action>
</keybind>

删除另外一个已经存在的 W-E , 这个默认的貌似是个 kde 的文件管理器, 包有点多, 就直接把他删了, 找到下面内容删除即可。

<!-- Keybindings for running applications -->
<keybind key="W-e">
  <action name="Execute">
    <startupnotify>
      <enabled>true</enabled>
      <name>Konqueror</name>
    </startupnotify>
    <command>kfmclient openProfile filemanagement</command>
  </action>
</keybind>

这是一个 xml 格式的配置文件, 注意下标签的闭合, 只要不放在其他子标签中即可。

安装 google chrome 浏览器

curl -fO https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

sudo yum localinstall -y google-chrome-stable_current_x86_64.rpm

安装 sogou 拼音

虽然也有一些其他输入法, 不过都用不太习惯, 还是习惯 sogou 输入法, 不过官方只有 dep 包, 只能自己处理下了。

安装 fcitx

sudo yum -y  install fcitx fcitx-pinyin fcitx-configtool qtwebkit

处理 dep 包

先从 搜狗官方 将 dep 包下载, 这里下载的是 64 位的包, 32 位没测试过。

# 下载 dep 包
curl -O http://cdn2.ime.sogou.com/dl/index/1524572264/sogoupinyin_2.2.0.0108_amd64.deb

# 将 dep 包解包
mkdir sogou
mv sogoupinyin_2.2.0.0108_amd64.deb sogou
cd sogou
ar vx sogoupinyin_2.2.0.0108_amd64.deb

# 将上面打开的 data 包解压, 手动复制 sogoupinyin 的文件
tar xf data.tar.xz

# 复制搜狗拼音的文件, 需要注意, 是相对路径的 user , 不是从 / 开始的,
# 文件是从 data.tar.gz 中解压出来的
sudo cp usr/lib/x86_64-linux-gnu/fcitx/* /usr/lib64/fcitx/
sudo cp -r etc/* /etc/
sudo cp -r usr/bin/* /usr/bin/
sudo cp -r usr/share/* /usr/share/

配置 fcitx 自动启动

编辑配置文件 autostart

sudo vim /etc/xdg/openbox/autostart

在末尾添加下面内容

fcitx &

注销, 下次重新登录 openbox 桌面的时候就会自动启动 fcitx 输出法

配置 fcitx 加载 sogoupinyin

打开 fcitx 配置管理工具, 可以通过也右下角的键盘图标,或直接输入 fcitx-config-gtk3 命令, 点击左下角的 + 号, 找到 Sogou Pinyin , 添加即可。 一般保留一个英文输入法和一个 Sougou 输入法, 使用 Ctrl + 空格就可以切换了。

DPI 设置

如果是高分屏, 默认显示会非常的小, 设置下 dpi (类似 Windows 下的缩放功能)即可。

参考: https://wiki.archlinux.org/index.php/HiDPI#X_Resources

vim ~/.Xresources (~/.Xresources 如果不存在就新建一个)

写入下面内容, 然后重新登录桌面即可生效

Xft.dpi: 130
Xft.autohint: 0
Xft.lcdfilter:  lcddefault
Xft.hintstyle:  hintfull
Xft.hinting: 1
Xft.antialias: 1
Xft.rgba: rgb

上面的 Xft.dpi: 130 根据自己的分辨率来设置

完成

到这里基本就完成了, 为了虚拟机的性能, 没有配置过多花哨的东西, 可以满足基本的开发就可以了。