最近因为要使用 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 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

找到 标签, 在 和 之间插入一组新的标签

gmrun
xfce4-terminal
thunar
north
south
west
east

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

找到下面内容删除即可。

true
Konqueror
kfmclient openProfile filemanagement

这是一个 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 下的缩放功能)即可。

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 根据自己的分辨率来设置

完成

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