2018\10\24 今天程序员节,最近自己系统安装了最新版的 elementary os juno 5, 该版本基于 Ubuntu18.04,在ubuntu18.04 的基础上做了深度优化,同时使用了自己开发的桌面环境,相比于 gnome更加美观轻巧,而且无需自己做太多优化,就已经很漂亮了,毕竟号称最美的linux系统。

下面介绍下安装 elementary os后需要做的优化配置

除了安装 wps、搜狗输入法、网易云音乐外,还需自己做一些针对自己所需的优化。

参考教程:
elementary OS 0.4 Loki安装后的配置

内容包括:

  • 使用国内最快的阿里源

  • 安装搜狗输入法

  • 安装chrome浏览器

  • 安装WPS

  • 安装网易云音乐并解决无法启动问题

  • 完美解决linux下Tim的使用问题

  • 安装 Typora 编辑器

  • 安装sublime text3 并解决中文输入问题

  • 安装电源管理

  • 解决高分屏下字体太小问题

  • 安装并配置中文字体

  • 美化grub

  • 设置开机自动挂载 windows 分区

  • docker的简单使用

  • PPA源的操作

  • 使用最新版本 git
  • 安装 R

开始之前的准备

在开始之前,首先更新下系统

  1. sudo apt update -y
  2. sudo apt upgrade -y
  3. sudo apt install vim # 安装完整版Vim
  4. sudo apt install gdebi # 使用gdebi 安装 deb包,能够自动解决复杂的依赖关系
  5. sudo apt install software-properties-common # 若未安装,无法使用添加第三方源的命令

更换阿里源

参考链接:
Ubuntu18.04下更改apt源为阿里云源

首先备份原来的源

  1. sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak

编辑源文件

  1. sudo vim /etc/apt/sources.list

清空原文件内容,将下面的内容复制粘贴到文件中

  1. deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
  2. deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
  3. deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
  4. deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
  5. deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
  6. deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
  7. deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
  8. deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
  9. deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
  10. deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

安装搜狗输入法

首先百度搜索 sogou linux ,进入官网下载好相应版本的 deb包。然后卸载系统自带的ibus输入法和 scim组件,避免和搜狗输入法依赖的 fcitx 输入法框架冲突。然后安装 fcitx 的主要组件,最后安装搜狗输入法。

  1. sudo apt-get remove ibus # 卸载ibus
  2. sudo apt-get remove scim
  3. sudo apt-get autoremove #删除依赖包
  4. sudo apt-get -f install #修正安装过程中出现的依赖性关系
  5. sudo apt-get install fcitx-bin # 安装fcitx
  6. sudo apt-get install fcitx-table
sudo apt install gdebi    # 安装deb包安装器
sudo gdebi sogou*.deb
sudo apt install -f     # 解决依赖关系
im-config  # 打开输入法配置,设置系统默认输入法为 fcitx
fcitx-config-gtk3 # 打开fcitx输入法配置,选择搜狗输入法

chrome浏览器

一条命令搞定

sudo gdebi wps-office_10.1.0.5707-a21_amd64.deb

安装WPS

一条命令搞定

sudo gdebi wps-office_10.1.0.5707-a21_amd64.deb

网易云音乐

  • 安装网易云音乐

首先安装gdebi 软件包安装器,该安装器会自动解决软件的依赖关系,然后从 网易云音乐官网上下载相应的安装包进行安装。

sudo apt install gdebi   # 安装 deb 包安装器
sudo gdebi netease-cloud-music_1.1.0_amd64_ubuntu.deb # 使用 gdebi安装会自动解决依赖关系

解决点击网易云音乐图标无法启动问题:(详情请搜索知乎,此解决方案来源于知乎)

cd /usr/share/applications
sudo vi netease-cloud-music.desktop   # 修改 Exec行为如下文件所示
[Desktop Entry]
Version=1.0
Type=Application
Name=NetEase Cloud Music
Name[zh_CN]=网易云音乐
Name[zh_TW]=網易雲音樂
Comment=NetEase Cloud Music
Comment[zh_CN]=网易云音乐
Comment[zh_TW]=網易雲音樂
Icon=netease-cloud-music
Exec=sh -c "unset SESSION_MANAGER && netease-cloud-music %U"
Categories=AudioVideo;Player;
Terminal=false
StartupNotify=true
StartupWMClass=netease-cloud-music
MimeType=audio/aac;audio/flac;audio/mp3;audio/mp4;audio/mpeg;audio/ogg;audio/x-ape;audio/x-flac;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-vorbis;audio/x-vorbis+ogg;audio/x-wav;

完美解决linux下Tim的使用问题

linux下使用QQ是众所周知的难题,在此推荐一个个人认为的最佳解决方案,docker-QQ,无需个人复杂配置,而且稳定可靠,能使用完整QQ功能。

参考链接:http://blog.cumtpn.com/Linux/Linux-ubuntu-qq.html

安装Typora编辑器并配置中文

# or run:
# sudo apt-key adv --keyserver keyserver.ubuntu.com--recv-keys BA300B7755AFCFAE
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -
# add Typora's repository
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt-get update
# install typora
sudo apt-get install typora

安装好 Typora 后,因为其默认调用的系统字体很难看,因此我们在此通过修改其css样式来配置我们想要的字体。

打开theme主题,修改css文件,在body标签中的font family,将自己想要的字体放最前,这里选择了放三个字体,以防某个字体失效。

body {
    font-family: "Microsoft YaHei","YaHei Consolas Hybrid","YaHei Consolas Hybrid YaHei Consolas Hybrid Regular","Open Sans","Clear Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
    color: rgb(51, 51, 51);
    line-height: 1.6;
}

安装sublime text3 并配置中文输入

原文地址: sublime中文问题解决

git clone https://github.com/lyfeyaj/sublime-text-imfix.git
cd sublime-text-imfix
./sublime-imfix

安装完成后,打开 sublime,安装sublime的包管理工具,安装 Boxy theme,安装完成后,配置自己想要的主题。

安装电源管理

sudo apt-get install tlp   # 安装tlp电源管理
sudo tlp start
sudo systemctl enable tlp  # 设置开机启动

解决高分屏下字体太小问题

sudo apt install dconf-editor  # 安装修改系统配置软件

从左上角 Applications中找到 dconf图标并启动,点击软件右上角的搜索框,搜索 text-scaling-factor , 自己设置合适的值,可以看到系统字体变大了,调到自己喜欢的大小,一般设置 1.3左右较为合适。

截图软件

安装 flame-shot 并配置快捷键截图。

  • github 项目主页: flameshot
  • 下载 deb 安装包或者 appImage 安装,打开配置启用所有功能

    flameshot config

  • 进入系统配置快捷键,快捷键命令如下

    flameshot gui

安装中文字体

  • 一键安装YaHei Consolas Hybrid字体
wget -qO- https://raw.githubusercontent.com/yakumioto/YaHei-Consolas-Hybrid-1.12/master/install.sh | sudo sh
  • 安装文泉驿字体:
sudo apt-get install ttf-wqy-microhei #文泉驿-微米黑 
sudo apt-get install ttf-wqy-zenhei  #文泉驿-正黑
sudo apt-get install xfonts-wqy #文泉驿-点阵宋体
  • 设置中文字体:

这里通过安装elementary-tweaks工具来设置中文字体

# 1、更新软件源
sudo apt update

# 2、安装add-apt-repository命令所在的软件包
sudo apt install software-properties-common

# 3、使用add-apt-repository命令添加ppa
sudo add-apt-repository ppa:philip.scott/elementary-tweaks

# 4、再次更新软件源
sudo apt update

# 5、安装elementary-tweaks
sudo apt install elementary-tweaks

安装好 tweak后,进入系统设置,找到 tweak后设置 YaHei Consolas Hybrid 字体。

解决解压后中文字体乱码问题

unzip -O cp936 xxx.zip

安装snap

sudo apt install snapd

安装snap 应用程序

sudo proxychains snap install termius-app  # 这里使用Proxychains 代理来提高下载速度

美化grub

这里我们通过安装 grub-customizer 这一软件来实现编辑 grub 启动项条目和配置grub主题。

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

设置开机自动挂载 windows 分区

因为自己电脑是 windows 和 linux 双系统,需要两个系统协同工作,而windows 下无法读取 linux 文件系统,而 linux 系统可以使用 windows 系统下的分区,因此在linux 下设置自动挂载一个 windows 分区,实现两系统文件共享。

sudo fdisk -l  # 查看系统磁盘号
sudo blkid     # 获取分区的 uuid 号
sudo vi /etc/fstab # 打开配置文件

在最后加入下面一行,分别为分区识别号,挂载目录,文件系统类型,后面的 defaults 0 0 无需修改

UUID=46CA5A93CA5A7F5D /media/liu/docs/ ntfs defaults 0 0

PPA源的操作

1、添加 PPA 源
添加 PPA 源的命令为:sudo add-apt-repository ppa:user/ppa-name
添加好记得要更新一下: sudo apt-get update

2、删除 PPA 源
删除 PPA 源的命令格式则为:sudo add-apt-repository -r ppa:user/ppa-name
然后进入 /etc/apt/sources.list.d 目录,将相应 ppa 源的保存文件删除。
最后同样更新一下:sudo apt-get update

安装最新版 git

sudo add-apt-repository ppa:git-core/ppa
sudo apt update
sudo apt install git

ZSH

zsh 安装

sudo apt install zsh tmux

oh-my-zsh

https://ohmyz.sh/

安装 oh-my-zsh 配置 zsh.
github地址: https://github.com/ohmyzsh/ohmyzsh

sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Plugins

安装一些好用的 zsh 插件。

zsh-autosuggestions

https://github.com/zsh-users/zsh-autosuggestions

克隆仓库到本地 ~/.oh-my-zsh/custom/plugins 路径

git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

~/.zshrc 中添加

plugins=(
    git
  zsh-autosuggestions
)

autojump

sudo apt install autojump

~/.zshrc 中添加

plugins=(
    git
  zsh-autosuggestions
  autojump
)

安装成功后,打开/usr/share/doc/autojump/README.Debian文件,此文件是教你如何配置autojump的。

由于使用的shell是zsh,因此需要在.zshrc配置文件的最后一行加上. /usr/share/autojump/autojump.sh以使得autojump生效,最后再source ~/.zshrc重新编译zsh,此时autojump已经生效。

zsh-syntax-highlighting

命令语法高亮

https://github.com/zsh-users/zsh-syntax-highlighting

安装

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

在 ~/.zshrc 文件中添加 zsh-syntax-highlighting,注意要写在最后。如:

plugins=( [plugins…] zsh-syntax-highlighting)

最终插件列表

plugins=(
    git
    tmux
    autojump
    zsh_reload
    zsh-autosuggestions
    colored-man-pages
    zsh-syntax-highlighting
    )

docker的简单使用

安装docker

这里直接使用系统包管理器安装docker,也可选择按照官网教程手动编译docker

sudo apt install docker.io

将当前用户加入docker组:

sudo gpasswd -a ${USER} docker
systemctl restart dock

然后注销本次登录方能生效

使用阿里云docker加速器

国内访问docker网站,拉取镜像的速度很慢,这里使用阿里云的加速器加速。

1. 安装/升级Docker客户端
推荐安装1.10.0以上版本的Docker客户端,参考文档 docker-ce

2. 配置镜像加速器
针对Docker客户端版本大于 1.10.0 的用户

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xbagkcb9.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

docker 的简单使用

docker ps # 查看当前运行的容器
# docker容器操作
docker container ls -a # 查看所有容器
docker container prune # 删除所有处于终止状态的容器
docker container rm container_name # 删除某容器
docker container stop cd7565   # 停止容器
# docker images 操作
docker images # 查看当前所有镜像
docker rmi  im_id      # 删除某镜像

安装R

这里使用 docker 安装R,同时配置Rstudio server来通过浏览器访问。使用docker的方式可以避免污染本机环境,在不需要时只需删除对应的容器和镜像即可。

参考链接: Installing R Packages

下面的命令会在当前系统安装 docker rstudio镜像,如果已安装,则会启动该环境,若未安装,则会从服务器拉取该镜像到本地

  • password 选项是设置 rstudio server 的浏览器登录密码。默认用户为 rstudio ,登录密码为下面所设置的。
docker run -e PASSWORD=rstudio2018 --rm -p 8787:8787 -v /home/liu/Documents/code/r:/home/rstudio rocker/verse

注意冒号前的目录最好使用普通用户创建,如果该目录为 root 用户所有,则在后续步骤会报错。若本机只有root用户,可新建一普通用户。

假如你已经按上一节中提到的那样安装好了docker中的 R 容器,可以通过浏览器访问 http://127.0.0.1:8787 来进入Rstudio的图形界面。

# install R packages
install.packages('gapminder')
# load library
library(gapminder)

查看 docker中容器的哈希值

docker ps

保存最新版本镜像

docker commit -m "verse + gapminder" 8d1c03d74d9 verse_gapminder

查看所有镜像

docker images

R 的使用

在使用 R 时,默认的源下载速度很慢,在安装软件前可以使用如下命令设置源

options(download.file.method="https://mirrors.tuna.tsinghua.edu.cn/CRAN")

安装 R 实用机器学习一书所需包

# install neccessary packages for machine learning

# set tsing source
options(repos=structure(c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))) 

install.packages("glmnet",dependencies = T)
install.packages("rpart",dependencies = T)
install.packages("partykit",dependencies = T)
install.packages("mlbench",dependencies = T)
install.packages("pROC",dependencies = T)
install.packages("caret",dependencies = T)
install.packages("recommenderlab",dependencies = T)
install.packages("adabag",dependencies = T)
install.packages("gbm",dependencies = T)
install.packages("Rcurl",dependencies = T)
install.packages("e1071",dependencies = T)
install.packages('rpart.plot',dependencies = T)
install.packages('rattle',dependencies = T)
install.packages('randomForest',dependencies = T)

# load plotly lib and see the version
library(plotly)
packageVersion('plotly')

备份已安装软件

由于linux 系统经常崩溃,为了巩固我们的成果,我们将已安装软件备份,以防万一

apt-clone 在默认仓库中有。要安装它,只需在终端输入以下命令:

$ sudo apt install apt-clone

安装后,只需创建已安装软件包的列表,并将其保存在你选择的任何位置。

$ mkdir ~/mypackages
$ sudo apt-clone clone ~/mypackages

上面的命令将我的 Ubuntu 中所有已安装的软件包保存在 ~/mypackages 目录下名为 apt-clone-state-ubuntuserver.tar.gz 的文件中。

要查看备份文件的详细信息,请运行:

$ apt-clone info mypackages/apt-clone-state-ubuntuserver.tar.gzHostname: ubuntuserverArch: amd64Distro: bionicMeta:Installed: 516 pkgs (33 automatic)Date: Sat Sep 15 10:23:05 2018

如你所见,我的 Ubuntu 服务器总共有 516 个包。

现在,将此文件复制到 USB 或外部驱动器上,并转至要安装同一套软件包的任何其他系统。或者,你也可以将备份文件传输到网络上的系统,并使用以下命令安装软件包:

$ sudo apt-clone restore apt-clone-state-ubuntuserver.tar.gz

请注意,此命令将覆盖你现有的 /etc/apt/sources.list 并将安装/删除软件包。警告过你了!此外,只需确保目标系统是相同的 CPU 架构和操作系统。例如,如果源系统是 18.04 LTS 64 位,那么目标系统必须也是相同的。

如果你不想在系统上恢复软件包,可以使用 --destination /some/location 选项将克隆复制到这个文件夹中。

$ sudo apt-clone restore apt-clone-state-ubuntuserver.tar.gz --destination ~/oldubuntu

在此例中,上面的命令将软件包恢复到 ~/oldubuntu 中。