ubuntu常用软件安装和配置 - zhongjiajie/zhongjiajie.github.com GitHub Wiki

ubuntu常用软件安装和配置

timeline

  • 20180829: 将教程更新到 ubuntu 18.04
  • 20190513: 新增PDF浏览器

简介

文章介绍了自己第一次接触 Linux 系统的软件安装及常用配置,作为一名应届新萌,一直不能流畅的操作服务器,所以决定逼自己一把,直接将自己的操作系统换成 ubuntu

wifi驱动缺失

ubuntu18.04默认没有wifi驱动,安装成功后需要将安装介质插入,然后在里边手动安装驱动,安装过程中可能有依赖,建议此时网线联网

ubuntu国内源

清华大学ubuntu镜像帮助页面选择对应的ubuntu版本,然后将系统原来的/etc/apt/sources.list进行备份,sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup,将页面中的配置覆盖原/etc/apt/sources.list文件的内容,这个运行sudo apt-get update && sudo apt-get upgrade

优化流程的配置

sudo免密

sudo vim /etc/sudoers
your_user_name ALL=(ALL) NOPASSWD: ALL

gnome扩展

打开gnome-extensions在浏览器中添加gnome的插件,然后在terminal中添加gnome-shell

sudo apt-get install chrome-gnome-shell

之后就可以直接在浏览器中搜索插件并安装了

  • Pixel Saver: 减少最大化后的窗口标题大小
  • Dash to Dock: 将会自定折叠dock,调整dock的位置,增加屏幕的大小

应用程序

shadowsocks客户端

外面的世界很精彩,ss自然也会在我的安装清单中,各种系统的安装请参考页面安装指南.

ubuntu推荐用ppa方式安装

sh~~ ~~sudo add-apt-repository ppa:hzwhuang/ss-qt5~~ ~~sudo apt-get update~~ ~~sudo apt-get install shadowsocks-qt5~~ ~~

ppa的源在ubuntu 18.04中已经不管用了,推荐直接用sslocal启动,安装方式如下:

sudo apt install shadowsocks
# 创建 sslocal 本地配置文件
mkdir ~/.sslocal
vim ~/.sslocal/sslocal.json
# {
#     "server": <your_server_ip>,
#     "server_port": <your_port>,
#     "local_address": "127.0.0.1",
#     "local_port": 1080,
#     "password": <your_service_pwd>,
#     "timeout": 300,
#     "method": "RC4-MD5"
# }
sslocal -c ~/.sslocal/sslocal.json

设置开机启动,crontab -e

@reboot /usr/bin/python /usr/bin/sslocal -c /home/zhongjiajie/.sslocal/sslocal.json

ss服务端可以配置多个账户登录,配置方式如下

cat /etc/shadowsocks.json
{
    "server":"your_server_ip",
    # 你的端口对应的密码
    "port_password":{
        "8381":"pass1",
        "8382":"pass2",
        "8383":"pass3",
        "8384":"pass4"
        },
    "timeout":60,
    "method":"rc4-md5",
    "fast_open":false,
    "workers":1
}

Chrome 配置 SwitchyOmega里面介绍了 SwitchyOmega 的简单配置使用,包括设置 ss 代理、配置国家防火墙、配置自动切换代理等

chrome

谷歌浏览器,这个没有什么比较解释,很多插件和google的app都在chrome上面,下载方式有两种

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
sudo apt-get update
sudo apt-get install google-chrome

安装完成后打开chrome发现及时运行了ss客户端还是没有办法翻墙,这个和windows下比较不同,ubuntu下需要手动设置代理才能翻墙,但是发现代理软件需要登陆chrome应用市场下载,后来发现start Google Chrome with proxy command可以在命令行启动chrome,于是在命令行下运行google-chrome --proxy-server="socks5://127.0.0.1:1080"然后chrome就能科学上网了

修改root角色密码

sudo passwd root
# enter root password and repeat it

配置hosts文件

$ cat /etc/hosts
# 微软onedrive的DNS被污染,增加两行
204.79.197.217    onedrive.live.com
134.170.108.152   skyapi.onedrive.live.com

# IntelliJ Pycharm 检测是注册url
0.0.0.0           account.jetbrains.com
192.168.0.253     slave.isoft
192.168.0.252     hdp.isoft

zsh

zsh被称为终极shell,比ubuntu默认的bash要强大不少。根据Installing ZSH安装zsh

sudo apt-get install zsh
# check if installed
zsh --version
# check default shell in system
echo $SHELL

# 下载 oh-my-zsh 项目来配置 zsh 会自动读取环境变量并且自动帮 zsh 进行设置
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

# make zsh as your default shell
chsh -s $(which zsh)

thefuck

thefuck 是自动纠正上一个命令的命令行工具,经常用命令行的同学怎么可以错过

sudo apt update
sudo apt install python3-dev python3-pip
sudo pip3 install thefuck

# 修改 .zshrc 文件
eval $(thefuck --alias fuck)
source ~/.zshrc

tmux

管理多个窗口的工具

# 安装
sudo apt-get install tmux

indicator-sysmonitor

indicator-sysmonitor是资源监控的小工具,会常年在任务栏中显示当前资源消耗.一般indicator-sysmonitor的设置为cpu: {cpu} mem: {mem}

# 安装
sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor
sudo apt-get update
sudo apt-get install indicator-sysmonitor
# 启动
indicator-sysmonitor &
# 设置开机启动
# 点击任务栏indicator-sysmonitor -> Preferences -> General -> run on startup

jq

jq是是linux下的json格式化神器,如果有安装python的情况下也可以使用json.tool完成.echo '{"one": 1, "two": 2}' | python -m json.tool

# install
sudo apt-get install jq
# qiuck start
echo '{"one": 1, "two": 2, "name": "zhongjiajie"}' | jq
# 获取key
echo '{"one": 1, "two": 2, "name": "zhongjiajie"}' | jq '.name'
# 嵌套解析
cat json_test.txt | jq '.location.city'
# 内建函数
  # 获取所有的key
cat json_test.txt | jq 'keys'
  # 判断某个可以是否存在
cat json_test.txt | jq 'has("location")'

pv

复制时候显示完成百分比、传输速度、剩余时间、已用时间,用法和cp类似: pv src_file > dest_file,参照如何使用 pv 命令监控 linux 命令的执行进度

guake

update at 201812-03:有了tmux之后guake很少用了

F12可以快速生成一个terminal,然后失去焦点后会自动缩进去的终端,在临时处理事情的时候非常有用sudo apt-get guake这里给了一些**Guake can not init!**问题的处理方式。

Python

Python虚拟环境的安装

ubuntu 系统内置两个版本的 Python ,之前一直用py2,但是考虑到20年py2就要停止维护了,所以打算上py3, ubuntu 16.04 默认两个版本的 python 都有安装,开发的时候一般都会用虚拟环境以免 ubuntu 原生的工具被破坏

# 安装 pip3
sudo apt-get install python-pip3
pip3 --version

# 安装 virtualenv
pip install virtualenv
virtualenv --version

# 安装 virtualenvwrapper
pip install virtualenvwrapper

# 编辑你的 .bashrc 或者 .zshrc 在最后面添加
VIRTUALENVWRAPPER_PYTHON=$(which python3)    # 这句一定要添加,不然会默认用python2 来解析
# 或者加 VIRTUALENVWRAPPER_PYTHON='/path/to/python3'
export WORKON_HOME=$HOME/.virtualenvs
source $(which virtualenvwrapper.sh)

# virtualenvwrapper 使用
mkvirtualenv venv
deactivate
rmvirtualenv venv

pip 换国内源

官方源很好,但是下载速度比较慢,所以把 pip 默认的源从官方源改成国内源提高速度,等国内源下载确实有问题时再去官方源下载,国内源用的是清华大学pypi源

java

Java JDK有两个版本,一个开源版本Openjdk,还有一个oracle官方版本jdk。下面记录在Ubuntu 16.04上安装Java JDK的步骤

# 开源版openjdk
sudo apt-get update
sudo apt-get install openjdk-8-jdk
java -version

# oracle Java JDK
# 安装依赖包
sudo apt-get install python-software-properties
# 添加仓库源
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

gradle

根据gradle-instal方式,推荐手动安装,然后将安装路径的bin子路径放在环境变量中vim ~/.zshrc; export PATH=$PATH:/opt/gradle/gradle-4.10.2/bin,测试是否存在gradle -v

maven

安装mavensudo apt-get install mvn,测试是否成功及版本mvn -v

vscode

文本编辑器,根据官网Running VS Code on Linux的介绍,建议直接下载deb包并且安装

Pycharm

JetBrains 出品的 Python IDE,可直接在 ubuntu software中下载

Idea

JetBrains 出品的 Java IDE,可直接在 ubuntu software中下载

数据库管理工具

  • datagrip: 跨三个平台的 jetbrains 独立出来的数据库管理工具,可以除了配置指定的数据源之外,还可以配置驱动链接 hive kylin 等数据源.但是 NoSQL 还没有很好的解决方案,可直接在ubuntu software中下载
  • dbeaver: 跨三个平台的数据库管理工具,天生支持 hive sparkhive neo4j Greenplum等数据库,但是不支持 mongo,同样是需要下载jar包通过jdbc进行链接

docker

docker 是非常好用的容器技术,可以说是改变了软件的交付和部署方式,docker 的安装如下

# 卸载旧版本的docker
sudo apt-get remove docker docker-engine docker.io

# docker 可选的内核模块
sudo apt-get update
sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual

# 使用 apt 镜像源安装
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

# 通过国内源安装
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 向 source.list 添加 docker 软件源
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

# 安装 Docker CE
sudo apt-get update
sudo apt-get install docker-ce

# 启动 docker ce
sudo systemctl enable docker
sudo systemctl start docker

# 建立 docker 用户组
sudo groupadd docker
sudo usermod -aG docker $USER
# 重启之后可以在普通用户运行 docker

# 国内镜像加速
vim /etc/docker/daemon.json   # 输入你用的国内镜像加速器 这里以docker中国为例
# {
#   "registry-mirrors": [
#       "https://registry.docker-cn.com",
#       "https://<your-specific-key>.mirror.aliyuncs.com"
#   ]
# }
sudo service docker restart

其中国内镜像加速器有 docker中国 阿里云 daocloud

输入法

update: 20180829,使用rime输入法替代搜狗输入法,用的是 fcitx-rime

sudo apt-get install fcitx-rime
im-configsudo reboot
fcitx-config-gtk3
# 重启后便可

搜狗输入法是我下载的第一个应用,他是和计算机交流的重要途径。直接前往搜狗for linux进行下载,安装指南直接看官网的安装指南。因为我是ubuntu 16.04.LTS,所以我更新了upgrade了系统的软件后直接双击.deb文件就完成了安装过程。

微信

可直接在 ubuntu 18.04的 ubuntu software下载

生活沟通必备,主要是QQ被我用烂了,不想用了。两种方式可以实现微信的安装,一种是在chrome插件里面安装,直接页面操作不多解释。另一种是第三方的安装方式electronic-wechat,如果是简单的交流肯定是用第一种方式更加简单粗暴,如果希望有更多的功能就要选择第二中方式。

shutter

截图软件,直接在ubuntu software搜索安装

网易云音乐

听歌必备神器,直接在网易云音乐下载安装点击deb包就可以安装

VLC

视频播放软件,直接在ubuntu software搜索安装

Tweaks

直接在ubuntu software安装

  • 配置开关在左边: windows->titlebar buttons->placement->left
  • 显示电池百分比: top bar->battery percentage
  • 不显示应用菜单: top bar->application menu
  • 调整显示时间相关: top bar
  • 桌面不显示icon: desktop->show icon

pdf

Okular,比较推荐的pdf浏览器,直接在应用商城下载

WPS

先在WPS-社区下载对应的安装包,到对应的下载目录安装sudo dpkg -i wps-office_10.1.0.5672_a21_amd64.deb,如果此时安装出错要用sudo apt-get install -f.安装成功打开回提示部分字体缺失,可以到https://pan.baidu.com/s/1eS6xIzo下载字体,解压字体并sudo mv wps_symbol_fonts /usr/share/fonts移动到对应的文件夹.运行命令生成字体索引信息sudo mkfontscale;sudo mkfontdir更新字体缓存sudo fc-cache

FBReader

轻量级的阅读器,支持多种电子书籍格式,直接在应用中心下载

钉钉

平时工作交流用钉钉,所以装了个钉钉 for linux,只需要按照README文档中介绍在relase页面下载相应的deb包进行安装就行

有道翻译

翻译软件,直接有道翻译页面下载deb然后安装,建议下载deepin版本

数据库客户端

Oracle client - sqlplus

安装 Oracle client 参见 Installing Oracle SQL*Plus client on Ubuntu 以及 How to install SqlPlus

设置开机启动,进入search your computer,就是按Windows键或者ubuntu建,输入startup

Remmina远程桌面客户端

ubuntu自带软件,支持多个远程协议 RDP SFTP SSH VNC

迅雷

通过迅雷固件制作而成的前端,需要自己编译,但是教程已经比较完整,详情查看Ubuntu上编译安装说明,安装成功启动后请看使用说明,因为有部分注意事项要遵守

由于迅雷前端固件经常会报错,所以直接用 xware + 迅雷远程下载网页版进行下载

docker pull zhongjiajie/docker-xware
docker-compose up -d
docker logs -f
# 可以在日志中看到对应的 `THE ACTIVE CODE IS`,将

百度网盘客户端

百度网盘和迅雷在国内都比较常用,百度网盘 Linux 客户端在 github 上主要是三个bypyBaiduPCSYufeikang/bcloud,其中前两个是命令行客户端,后面是图形化界面。本来考虑图形化界面,但是看到 README 说作者不维护了,Yufeikang/bcloud 就是因为原作者没有维护所以才拿过来修改的,现在 Yufeikang 也弃坑了,所以只能转战命令行客户端了。两个来选,当然选择我更加熟悉的 Python 版的 bypy 了。说不定还能提几个 issue 和 PR 呢。

# 我放在了虚拟环境中运行
workon venv
pip3 install bypy

bypy list # 在命令行界面会给出提示,让你去指定的网址进行登录注册,并将授权码复制到命令行

桌面美化相关

部分的桌面美化对于ubuntu来说还是有必要的,毕竟原来的桌面真的有点丑,我选择了大众而简单的美化路线,ubuntu tweakflatabulous-theme以及ultra-flat-icons。

# ubuntu tweak
sudo apt-get install unity-tweak-tool

# flatabulous-theme 主题
sudo add-apt-repository ppa:noobslab/themes
sudo apt-get update
sudo apt-get install flatabulous-theme

# flatabulous配套图标
sudo add-apt-repository ppa:noobslab/icons
sudo apt-get update
sudo apt-get install ultra-flat-icons

安装完成后就可以启动ubuntu tweak,然后在Tweak -> Theme中的GTK和windows主题中选择flatabulous,icon主题中选择ultra-flat

pandoc

格式转换工具pandoc,直接通过apt安装sudo apt-get install pandoc,将markdown转成HTML的例子如下pandoc -o test.html test.md

rdesktop

rdesktop is an open source client for Windows Remote Desktop Services, capable of natively speaking Remote Desktop Protocol (RDP) in order to present the user's Windows desktop.

sudo apt-get install rdesktop
rdesktop [hostname]

⚠️ **GitHub.com Fallback** ⚠️