目录

**前言 **

Ubuntu是一个基于Debian发行版和Gnome桌面环境,以桌面应用为主的Linux操作系统。相较于RHEL、CentOS、Fedora等发行版,Ubuntu似乎更适合已经熟悉Windows系统的用户入门Linux,日常使用也更为方便。

Ubuntu 20.04 LTS在今年(2020年)4月23日发布。LTS(Long Term Support)是指长期演进版,Ubuntu会对这一版本的支持时间更长。

正好最近饱受win10频繁卡顿的困扰,于是时隔一年多我又装回了ubuntu系统。所以在这里记录一下ubuntu20.04安装与环境搭建的过程。很久没写过如此长篇的文章了,文中所有内容都是根据我的需求进行安装和配置,大家按自己的需要查看就行。


关于系统安装配置与软件安装

一、Win10安装ubuntu20.04双系统

关于这一部分,包括U盘启动盘制作,硬盘分区,双系统安装等内容,百度上已经有很多文章,只需要搜索“win10安装ubuntu20.04双系统”,"win10 unbuntu双系统“等关键词即可。

这里提供几篇可以参考的文章:

【Linux基础】Windows10安装Ubuntu20.04双系统

win10安装ubuntu20.04双系统

windows10安装ubuntu双系统教程(绝对史上最详细)

这里有两点可以简单提一下:

1.按照自己的需求分区

因为是双系统,win10对我来说还是比较常用,所以我只能将60G分配给Ubuntu,我的分区如下所示(这里文件系统我都选择使用ext4,也可根据需要选择ext3、xfs等):

大小 类型 空间 类型
20G ext4 / primary(主分区)
8G swap 交换空间 logical(逻辑分区)
512M ext4 /boot logical(逻辑分区)
剩余空间(这里接近30G) ext4 /home logical(逻辑分区)

其中:

  • / :根目录,是linux的系统分区,ubuntu安装在这个分区下,类似于windows的C盘。一般至少预留20G以上
  • /boot:引导分区,用于存放开机所需的文件——内核、开机菜单及其配置文件等。网上很多教程说只需要100M-200M就足够,但根据我使用的经验来看,至少需要分配到300M以上,否则甚至没有足够的空间给内核进行升级(即使清理干净了旧的内核文件)。这里我选择给它分配512M。
  • swap交换空间:类似于windows的虚拟内存,一般可以分配为物理内存的两倍。限于可用的硬盘空间,这里我之分配了8个G
  • /home:用户的家目录,是用于存放个人文件的地方,是一般用户使用的主要目录。这个分区越大越好,因此可以将所有剩余空间全部分配给它。

一般来说只需要手动分配这四个空间即可,但也可以根据需要添加更多分区(例如自行分配/root等),具体操作自行百度。

2.配置软件镜像源

软件包管理工具介绍

说到软件的安装就不得不介绍一下linux的软件包管理工具(使用Ubuntu系统请务必了解一下apt):

  • APT:是Debian Linux发行版中的APT(Advanced Packaging Tool)软件包管理工具。所有基于Debian的发行都使用这个包管理系统。不过APT工具与现在常用的apt 命令不是同一个东西,apt命令是一种与APT交互的工具。

    在基于 Debian 的 Linux 发行版中,有各种工具可以与 APT 进行交互,以方便用户安装、删除和管理的软件包。apt-get 便是其中一款广受欢迎的命令行工具,以前使用过ubuntu的用户应该对apt-get很熟悉。apt-get、apt-cache 和 apt-config 这三条命令当中包含了最常用的 Linux 包管理命令 。但这也使得命令太过分散,不便于使用。

    apt 命令的引入就是为了解决命令过于分散的问题,它为用户提供了更加结构化的包管理方式。可以说:

    apt = apt-get、apt-cache 和 apt-config 中最常用命令选项的集合。

    详细内容可以参考这篇文章:Ubuntu中apt与apt-get命令的区别

    • 基于Debian的发行版中的deb包(以deb为后缀的文件)可以把一个应用的文件包在一起,大体就如同Windows上的安装文件。可以通过dpkg命令对deb包进行安装卸载等操作。
  • RPM:是RedHat Package Manager(RedHat软件包管理工具),它也是一种软件包管理工具,类似Windows控制面板里面的“添加/删除程序“。比较常见于Redhat系的Linux系统。它能够帮助建立统一的数据库文件、详细记录软件信息并能够自动分析依赖关系。可以使用rpm命令操作RPM系统。RPM虽然能够帮助用户查询软件相关依赖,但依赖问题还是需要使用者自行解决。于是,YUM应运而生。

    • Redhat系的linux系统,如服务器最常见的CentOS,其中都使用rpm包(以rpm为后缀的文件)作为软件包,也类似于Windows的安装文件。可以使用rpm命令进行安装等操作。
  • YUM:是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,后经杜克大学的Linux@Duke开发团队进行改进,因此得名。YUM在RPM系统的基础上增加了自动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决等功能。

    YUM的关键之处是要有可靠的repository,它能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。自己本身也可以做YUM服务器,本身可以根据光盘镜像做YUM服务器。在一定程度上,YUM软件仓库是向APT进行了学习,把RPM纳入了repository的管理。

    类似的,yum命令即为用户与YUM系统进行交互的工具命令,可以实现软件包下载、安装卸载等功能。

更换APT源——使用国内镜像

由于Ubuntu默认的软件源是境外的,下载软件时速度堪忧,因此需要更换成国内镜像。

修改软件源有两种方式,

  • 一种是在Software&Updates(软件和更新)中,“下载自”选择“其他站点”,然后“选择最佳服务器”,更换服务器即可。


  • 第二种方式,因为linux的一切都是文件,所以可以采用修改配置文件的方式。这里我选择配置aliyun的镜像

    (1)进入镜像站,选择ubuntu。

    (2)查看aliyun网站提供的配置文件的内容,如图:

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

(3)使用编辑器打开配置文件(ubuntu20.04自带nano和gedit),替换默认的http://archive.ubuntu.com/mirrors.aliyun.com。也可将原有的内容用#注释掉之后,再将以上配置内容直接粘贴到文件末尾(nano可使用Ctrl+O写入,Ctrl+X保存离开)

sudo nano /etc/apt/source.list

(4)配置完成后执行如下命令,更新本地数据库

sudo apt update    #更新本地软件包数据库
sudo apt upgrade #更新已安装的包
sudo apt autoremove #移除不需要的包

3.解决win10与unbuntu20.04系统时间相差8小时的问题

这也是windows和ubuntu双系统的老问题了:Linux(这里指ubuntu)的时间总是比windows快8个小时,每次使用完linux之后windows的时间都是错误的,需要重新设置(或同步)时间。这让人使用起来很不愉快。

如何解决呢?

从百度谷歌中我们可以得到答案,这几篇文章比较清晰的描述了这个问题:

解决ubunt18.04LTS与Win10相差8小时的问题

Windows和Ubuntu双系统时间相差8个小时的问题

Ubuntu16.04与Win10时间差8个小时问题解决方案

简单来说就是,两种思路,一是对windows进行修改(在这里我们不讨论),二是对Ubuntu进行修改,即禁用其UTC:

过去的做法是,在确认ubuntu当前系统时间无误的情况下

用文本编辑器编辑 /etc/default/rcS 将UTC=yes改成UTC=no

但Ubuntu 16.04使用systemd启动之后,就找不到这个UTC参数了。因为其时间改成了由timedatectl来管理。因此,在我们Ubuntu20.04的shell中执行如下代码,再重启即可。

timedatectl set-local-rtc 1 --adjust-system-clock

ok,现在我们解决了这个问题。

But Why?

相信常用数据库的朋友已经发现了,8小时的问题就出在时区上。

在于widows认为BIOS时间是本地时间,系统直接以本地硬件时间作为基准,也就是CMOS中的时间,这个时间通常就是我们设置的GTM+8(即东八区北京时间)。但是Ubuntu认为BIOS时间是UTC时间(世界协调时间),是先以本地硬件时间作为UTC,然后在加上时区的时间差后,作为当前系统时间的,并且会将时间信息写回到BIOS。而且Ubuntu会经常与NTP服务器时间进行同步,但Windows不会(虽然其可以手动使用网络同步)。这样从Ubuntu重启到windows时,会发现时间相差8小时。

因此,上述的解决方案其实就是,将windows改为使用UTC时间或者将ubuntu的UTC禁用,总之就是将二者时间的计算方式统一。

4.修改双系统启动项为win10默认启动

安装win10与ubuntu20.04双系统之后,一般默认通过ubuntu引导windows(通过grub界面),此时Ubuntu为默认启动项,而Windows Boot Manager在第三位。也就是说开机不进行选择就会自动进入ubuntu系统(图片来自网络)。

但对我来说,linux并不能完全取代windows,所以希望能够默认进入win10,有两种方法:

一是使用EasyBCD等工具修复Windows的引导,使用Windows引导ubuntu(通过Windows Boot Manager)。这种方法可行但暂时没必要,这里就不讨论了。

二是修改grub引导的默认启动项,默认win10启动。这个方法更简单直接,具体做法如下:

打开终端,编辑grub引导文件

sudo nano /etc/defaut/grub

找到GRUB_DEFAULT=0 这一项,如果win10启动项在第三位,则将他改成

GRUB_DEFAULT=2

保存修改之后,更新grub文件,重启即可。

sudo update-grub

二、chrome浏览器与代理配置

chrome作为非常好用的浏览器,同时也是web开发的重要工具,因此我们首先就来讨论其安装与配置。当然,chrome还有其开源开发版本——chromium,它经常被作为内核用在国产的“双核浏览器”中,在ubuntu下安装chromium相当方便(apt包名为chromium-browser),不过在这里我们不过多讨论了,有兴趣的朋友可以自行了解,例如这篇文章:Chrome 和 Chromium 区别

安装chrome

1.在官网下载deb安装包google-chrome-stable_current_amd64.deb

2.终端中进入下载目录,执行dpkg命令安装

sudo dpkg -i google-chrome-stable_current_amd64.deb

配置代理

开发过程中不可避免需要科学的上网,特别是android开发还需要访问google配置环境,因此需要代理。至于如何科学优雅上网在这里就不讨论了。

这里说一下ubuntu以及chrome配置代理的方式。

1.ubuntu系统代理(全局代理)

在右上角设置-网络中找到代理配置,自动或手动配置相关参数即可:


2.chrome中配置代理

chrome不像firefox那样可以直接配置浏览器代理,在chrome中配置浏览器代理需要安装一些扩展插件。这里推荐使用proxy SwitchyOmega,可以在chrome的扩展商店下载。当然,如果打不开扩展商店,那就找一些国内的网站下载crx文件安装到chrome中。

SwitchyOmega中可以直接配置proxy,使用auto switch自动切换,也可以配置PAC情景模式。


在auto switch自动切换模式中可以通过规则列表来指定哪些域名通过proxy代理,哪些域名通过直接连接访问。关于规则列表,可以使用github上的项目提供的list:

https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt

三、配置开发环境

1.Java与Maven

Java JDK

Linux系统有两个版本的JDK可以使用,一个是oracle的官方版本JDK,可以通过ppa源命令进行下载安装(oracle-java8-installer);也可以在官网下载压缩包,但需要自行配置环境变量,比较麻烦而且容易出错,某些程序甚至找不到自行配置的jdk,所以不太推荐

如果想安装Oracle jdk可以看看这篇文章:Linux之Ubuntu18.04安装Java JDK8的三种方式

第二种是安装开源版本Openjdk,因为openjdk与oraclejdk不存在太大差别,而且据说从java 13开始二者的源码已经完全相同了,再加上linux上安装openjdk非常简单,所以这也是笔者最推荐的方式

有兴趣了解openjdk与oraclejdk的区别可以看看这篇文章:Oracle JDK 和 OpenJDK 有什么区别?

这里以openjdk8为例,其安装过程如下:

更新软件包列表

sudo apt update

安装openjdk-8-jdk

sudo apt install openjdk-8-jdk

查看java版本,检查是否安装成功

java -version

Maven

maven是Apache提供的一个项目管理和自动构建工具,通过它能从maven仓库自动下载项目中需要的各种包。它不仅可以用于java项目,还能使用在例如C#RubyScala和其他语言编写的项目中。

(1)在官网下载压缩包apache-maven-3.6.3-bin.tar.gz

(2)移动到下载位置解压

sudo tar -xvf apache-maven-3.6.3-bin.tar.gz

我这里解压后得到的文件夹名目录在:/home/bear/apache-maven-3.6.3

(3)编辑用户配置文件,配置环境变量(适用于当前用户)

sudo vim ~/.bashrc

如果需要添加全局环境变量可以自行百度(例如修改/etc/bash.bashrc或者/etc/profile),这里有一张关于各种系统环境变量文件家在顺序的图。

添加如下配置信息:

export MAVEN_HOME=/home/bear/apache-maven-3.6.3
export PATH=${MAVEN_HOME}/bin:$PATH

保存后,执行如下命令使配置生效:

source ~/.bashrc

检验是否安装成功

mvn -v

2.Anaconda安装与配置

Anaconda是一个免费开源的Python发行版,常用于数据科学、机器学习、大数据处理等,它简化了Python包管理和部署,非常方便。

尽管Ubuntu20.04中已经内置安装了python3.8,但因为使用anaconda不需要自行管理非常多的包及其依赖,可以管理虚拟环境,而且还附带了非常适用的Jupyter等工具,所以我还是比较喜欢使用anaconda的python环境。

(1)在官网下在安装包,可以自行选择python3.x还是python2.x

安装程序是一个Anaconda3-2020.07-Linux-x86_64.sh文件

(2)打开终端,执行即可

bash Anaconda3-2020.07-Linux-x86_64.sh

安装界面一路回车或者yes就行(除非你有特别需求)

其中,可以自行设置安装路径,也可以使用默认路径(图片来自网络):

(3)如果安装器没有让你选择是否配置PATH环境变量,那么就需要手动配置

编辑用户环境变量配置文件:

sudo vim ~/.bashrc

在其中加入如下内容,/opt/anaconda3是你的安装路径:

export PATH=/opt/anaconda3/bin:$PATH

保存并退出,注入环境变量,使配置生效:

source ~/.bashrc

在终端查看是否安装成功,显示Anaconda即成功:

python

(4)更换镜像源

为了下载速度,最好更换成国内镜像源,我选择使用清华镜像源,进入他们的官网可以查看最新的更换镜像源的方法。

各系统都可以通过修改用户目录下的 .condarc 文件。Windows 用户无法直接创建名为 .condarc 的文件,可先执行 conda config --set show_channel_urls yes 生成该文件之后再修改。

在Ubuntu中只能修改用户自己的镜像源,即修改~/.condarc文件,似乎无法配置全局镜像源。修改配置文件内容如下:

channels:
- defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

即可添加 Anaconda Python 免费仓库。

运行 conda clean -i 清除索引缓存,保证用的是镜像站提供的索引。

运行 conda info 测试是否替换成功。

3.Node.js与npm

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。而NPM是则是随同Node.js一起的包管理工具,能解决Node.js代码部署上的很多问题。相信熟悉Javascript的朋友应该不陌生。

下载

node.js官方网站下载合适的node.js安装包,下载完成后得到一个名为node-v12.18.3-linux-x64.tar.xz的压缩包

安装

将文件移动到想解压的目录中并解压

tar -xvf node-v12.18.3-linux-x64.tar.xz

进入解压后的文件夹中的bin目录下,会看到有一个可执行文件node,在当前目录下的命令行中,输入./node,即可启动node,也可以将node配置到path中。

编辑用户环境变量

vim ~/.bashrc

将如下内容添加到文件中,/opt是你的node.js的所在目录:

export PATH=/opt/node-v12.18.0-linux-x64/bin:$PATH

注入环境变量

source ~/.bashrc

测试是否生效

在终端输入如下命令查看环境变量是否生效

node -v
npm -v

4.Git

ubuntu安装git比较容易,只需要在终端执行如下命令:

sudo apt install git

之后就可以在终端上,像使用windows上的git bash一样执行git命令了。这部分就是git的使用方法了,具体可以看看廖雪峰git教程,我在此就不赘述了。

四、常用软件安装

1.百度网盘

相比于腾讯的很多应用不提供linux版,百度在这方面做得还挺不错的。

百度网盘官网下载安装包,官网提供了rpm和deb两种格式,这里我们选择deb。

下载好之后,直接安装即可:

dpkg -i baidunetdisk_3.3.2_amd64.deb

可以看到,跟Windows端的百度网盘差不多,界面之类做得还是很不错的。

2.网抑云 网易云音乐

网易云官网也提供了linux版本的客户端,虽然官方显示的只有ubuntu18.04版,但亲测ubuntu20.04也是可用的。因此只需要下载安装即可。

使用dpkg安装即可:

dpkg -i netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb

需要注意的是:

安装网易云之后可能会出现音乐无法播放,但网络正常的情况。

在这种情况之下,通过终端执行网易云sudo netease-cloud-music ,可以监视其运行状态。

不难看到,当我们点击播放音乐的时候,会提示HTTP connection failure,这意味着没办法我们的客户端向网易云的服务器发送http请求。

[00007f15d000a3c0] access stream error: HTTP connection failure
[00007f15d000a3c0] http stream error: cannot connect to m7.music.126.net:80

其实仔细的朋友已经发现问题了,在于第一行的提示语句,缺少模块:

Failed to load module "canberra-gtk-module"

显然,这是缺少依赖的问题:

根据打开网易云音乐提示Gtk-Message: Failed to load module "canberra-gtk-module"这一篇博客,只需要安装对应的依赖即可:

sudo apt-get install libcanberra-gtk-module

如果安装之后还是有这个提示,则安装32位版本的依赖

sudo apt-get install libcanberra-gtk-module:i386

3.文本编辑器Vim

ubuntu自带文本编辑工具gedit,nano和Vi(在终端中可以输入命令即可打开空的编辑器)。gedit可以根据代码内容显示高亮,比较像windows上的编辑器神器notepad++(相信大家不陌生),使用起来还是不错的。而nano是直接显示在终端内的文本编辑器,可以使用相应的快捷键(ctrl+各种按键)来完成各种工作,不过我个人是不太喜欢使用它。

上图即为nano编辑器界面。

相比之下,我比较习惯使用Vim。Vim是Vi的升级版,很多人觉得Vim是“人类史上最好的文本编辑器”,不过也有很多人觉得不好用。我个人是觉得,Vim的入门成本比较高,但使用习惯之后确实会觉得简洁高效,至少我很喜欢。

Ubuntu20.04安装Vim也很简单

sudo apt install vim

4.deepin-wine与QQ、微信、QQ音乐等软件

前面说完了网易、百度的软件,下面轮到我们常用的腾讯软件了。

先说QQ,在2019年,腾讯终于推出了QQ for linux的2.0.0 Beta版本(并在2020年4月9日推出了Beta2版本),距离上一次更新已经过去了10年之久。这个消息虽然听起来激动人心,不过,让我们先看看官网,给人一种颇为简陋的第一印象。

再看看实际使用的效果(图片来自网络),这UI简直不忍直视,仿佛梦回2G时代 ,你也网上冲浪啊,让人年轻了十多岁的感觉。而且linux版QQ的功能也比Windows和Mac OS上的功能更少。据说使用的时候会经常性的崩溃。给人一种半成品的感觉,这确实让人不太能接受呢。

这一版的QQ for linux与其说是linux版的qq,还不如说是敷衍了事的“QQ怀旧服",唯一"与时俱进"的地方可能在登录界面(下图来自网络)。学什么不好,非要学微信,搞个饱受诟病的只能用二维码登录。

上面说了这么一大堆,其实总结下来就是一句话:

不要用腾讯官方的linux版QQ

至于微信,QQ音乐,Tim这些软件,官方似乎也没打算提供linux版本。

所以,就需要用到容器来解决这个问题了。

首先介绍一下wine和Deepin-wine:

Wine容器是一个能够在多种 POSIX-compliant 操作系统(诸如 Linux,macOS 及 BSD 等)上运行 Windows 应用的兼容层。Wine 不是像虚拟机或者模拟器一样模仿内部的 Windows 逻辑,而是將 Windows API 调用翻译成为动态的 POSIX 调用,免除了性能和其他一些行为的内存占用,让你能够干净地集合 Windows 应用到你的桌面。

不过wine的部署比较麻烦,因此,我个人不太愿意使用wine,除非是deepin-wine没有的软件,可以尝试用wine来运行。

所谓的Deepin-wine就是国内的Deepin的团队开发的一个win32程序运行环境,跟原生的wine类似,但是免去了很多配置的麻烦。可以在github上找到这个项目:https://github.com/wszqkzqk/deepin-wine-ubuntu

它提供了很多支持deepin-wine软件的安装包,可以在aliyun的镜像站中下载

现在让我们通过deepin-wine安装QQ等应用

我们先把deepin-wine-ubuntu的仓库clone下来,这里选择使用码云的仓库,比github快很多。

git clone https://gitee.com/wszqkzqk/deepin-wine-for-ubuntu.git

移动到下载目录,为安装脚本添加执行权限并执行脚本

cd deepin-wine-for-ubuntu/
chmod +x install_2.8.22.sh
sh ./install_2.8.22.sh

deepin-wine安装完成后,从镜像站下载需要的应用,例如QQ。

wget https://mirrors.aliyun.com/deepin/pool/non-free/d/deepin.com.qq.im/deepin.com.qq.im_9.1.8deepin0_i386.deb

安装即可:

sudo dpkg -i deepin.com.qq.im_9.1.8deepin0_i386.deb

同理,可以下载安装微信,Tim,迅雷等Windows端常用应用。

至于QQ音乐,在镜像站上没有,但可以使用deepin论坛上某个大佬自己打包的安装包:https://bbs.deepin.org/forum.php?mod=viewthread&action=printable&tid=181461

5.安装Typora并使用Picgo配置gitee图床

Typora是一款非常好用的“所见即所得”的Markdown编辑器,参考Typora官网的安装方法,复制到终端执行即可安装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

PicGo是一个快速上传图片并获取图片URL的工具,是写博客必备的工具。详见github项目:https://github.com/Molunerfinn/PicGo

Typora中可以配置使用PicGo实现图片自动上传,这一点对于写图片很多的博客非常方便。

因为PicGo提供的GUI软件不能支持typora使用,所以只能使用picgo-core来进行配置。

可以参考这篇博客:ubuntu下typora的gitee图床配置,讲的比较详细,我就不赘述了。

需要注意的几点:

  1. ~/.picgo/config.json对于每一个用户而言都不同,一定要注意自己配置的是哪个用户的配置文件。而关于配置文件的具体内容,可以参考官方文档:https://picgo.github.io/PicGo-Core-Doc/zh/guide/config.html

  2. Typora中的配置方法可以参考typora官方的教程:https://support.typora.io/Upload-Image/

    要注意的是,这里需要选custom command。而且,因为Picgo依赖于Node.js,自定义命令必须包含node的目录picgo的目录,以及upload命令这三段。

6.输入法安装

(1)安装搜狗输入法

虽然目前百度提供了可以直接安装的百度输入法,不需要像搜狗输入法那样需要fcitx,但很多人还是反应百度输入法存在乱码等问题。

所以还是选择安装比较“老牌”的搜狗输入法。但是ubuntu20.04砍掉了qt4,导致官方的搜狗输入法缺少依赖包,无法安装。可以看到,官方并没有支持ubuntu20.04.

因此,我们只能另辟蹊径。根据ubuntu20.04上安装搜狗输入法博客的说法,搜狗企业定制版提供了优麒麟社区定制版(Kylin系统),而由于Kylin系统是基于ubuntu的,所以能够用于ubuntu20.04。项目可见码云:https://gitee.com/laomocode/fcitx-sogouimebs

也可以使用apt来安装,参考Ubuntu20.04LTS安装搜狗输入法

添加ubuntukylin源
curl -sL 'https://keyserver.ubuntu.com/pks/lookup?&op=get&search=0x73BC8FBCF5DE40C6ADFCFFFA9C949F2093F565FF' | sudo apt-key add
sudo apt-add-repository 'deb http://archive.ubuntukylin.com/ukui focal main'
sudo apt upgrade
安装搜狗输入法
sudo apt install sogouimebs
设置默认输入法

在设置中,选择区域和语言,管理已安装的语言,把默认输入法设置为fcitx,重启电脑即可。

题外话其一:如果使用安装包dpkg安装时缺少依赖

关于安装时依赖关系出错:

可能导致后来的软件无法安装,则需要卸载(修复)之前依赖关系错误的软件。

apt --fix-broken install

也可以使用Gdebi来分析安装包的依赖关系,并自动解决其依赖问题。Gdebi 是一个安装.deb软件包的工具。它提供了图形化的使用界面,但也有命令行选项。

如果系统没有自带Gdebi,可以使用如下命令安装

sudo apt install gdebi

之后就可以使用Gdebi 安装包名称来分析并安装相应的deb软件了。对于某些依赖,它会帮助我们安装,如果依赖已经不支持当前版本,则会提示软件包不可安装,如下图:

题外话其二:由于安装搜狗拼音导致启动ubuntu登录用户之后黑屏

关于这个问题,可能是由于桌面扩展插件与搜狗拼音冲突,或其他原因导致gnome桌面无法显示。则需要重新安装桌面。详细的解决方法可以参考这篇文章:ubuntu由于安装搜狗拼音导致的黑屏(或屏幕显示异常)

(2)安装anthy日语输入法

关于日语输入法,ibus可以使用mozc,但由于搜狗拼音需要默认输入框架为fcitx(关于fcitx输入框架可以参考wiki百科https://zh.wikipedia.org/wiki/Fcitx),所以选择安装anthy输入法

添加PPA源,安装anthy
sudo add-apt-repository ppa:fcitx-team/nightly
sudo apt-get update
sudo apt-get install fcitx-anthy

然后重启系统即可。

7.WPS与字体安装

安装WPS

WPS官网下载wps for linux,为了避免依赖问题,使用gdebi来安装deb

gdebi wps-office_11.1.0.9615_amd64.deb

安装字体

安装完成后,运行wps会被提示缺少字体。这就需要从windows系统拷贝需要的字体了。

如果是双系统,则直接用mount命令挂载Windows的系统盘(C盘),然后从C盘的Fonts文件夹拷贝字体。

红色的字体为必须的字体,当然还可以根据自己的需要进行复制:

  • 宋体:simsunb.ttf 和 simsun.ttc
  • 微软雅黑:msyhbd.ttf
  • Courier New:courbd.ttf、courbi.ttf、couri.ttf 和 cour.ttf
  • WPS Office 所需字体:wingding.ttf、webdings.ttf、symbol.ttf、WINGDNG3.TTF、WINGDNG2.TTF、MTExtra.ttf

为了方便,我将必须的几种字体上传到了:链接: https://pan.baidu.com/s/1BgZcsuSeMcosBi7K4hkl6g 提取码: nqfw

新建字体存放目录
sudo mkdir /usr/share/fonts/truetype/windows-font
拷贝字体到window-font下
sudo cp -r /home/bear/fonts/* /usr/share/fonts/truetype/windows-font
修改权限,并更新字体缓存
sudo chmod -R 777  /usr/share/fonts/truetype/windows-font
cd /usr/share/fonts/truetype/windows-font
sudo mkfontscale
sudo mkfontdir
sudo fc-cache -fv

然后重启系统即可

8.VS code

VS code应该不用多介绍了,在vscode官网下载deb,然后安装即可

gdebi code_1.47.3-1595520028_amd64.deb

9.关于JetBrains全家桶

可以在JetBrains官网下载Toolbox App,一键安装JetBrains的各种软件。

当然,也可以单独下载,例如IntelliJ IDEA,在官网下载需要的IDEA

将下载的idea解压之后,执行sh脚本根据引导进行安装即可:

tar -zxvf ideaIU-2020.2.tar.gz -C ~/app
cd ~/app/idea-IU-202.6397.94/bin
sudo ./idea.sh

关于系统界面美化

网上优秀而且详细的教程实在是太多了,在这里我也不打算赘述,可以参考这几篇文章(这几篇就足够了),笔者亲测好用:

史上最良心的Ubuntu desktop美化优化指导

Ubuntu 20.04桌面优化

Ubuntu 20.04美化及QQ、微信安装

别人已经将美化的过程和操作方法描述的非常清楚了,所以这里我想分享一些别人没提到的,有意思点的东西。(在看下去之前务必确保自己已经明确美化ubuntu系统需要做些什么)

一、关于themes和icons

主题的组合使用

在优化中可以看到,主题可以分为五个部分,除开声音,关于显示的实质上分为四个部分。

应用程序和shell即为放在/.themes目录下的内容控制,光标和图标为放在/.icons目录下的内容控制。

  • 应用程序主要控制窗口的样式,例如最大最小化按钮,选项颜色和样式等。

  • shell控制系统的dock样式(包括dash-to-dock)、top-bar、以及shell终端的样式等。

  • 图标控制应用程序的图标

  • 光标控制的是鼠标光标样式

由于我们网站上很多主题和icons模板都只有一部分比较好看,我们就可以尝试使用不同的模板构成主题的不同部分。

但不仅如此,根据这一点,我们还可以单独修改模板中的各种样式

自定义修改主题模板的样式

以shell部分为例,打开下载好的主题或者icons,可以看到里面有一个index.theme,这个文件是tweak-tool读取主题和icons需要的文件(可以用记事本打开查看,其中包括在tweak-tool中显示的名称等),而gnome-shell很明显就是shell的部分。

再打开gnome-shell,assets中存放的是主题需要的各种图片,可以根据自己的需要进行替换(保证名称相同即可)。同时,还能看到两个css文件,看到这里,详细熟悉前端开发的朋友已经明白了,只要修改gnome-shell.css中的代码,就能实现自定义修改主题模板的样式了。

让我们打开gnome-shell.css看一看,熟悉的css选择器以及各种样式配置。举个例子,比如我要将dash-to-dock的border样式改成圆弧形,只需要找到dash-to-dock容器的选择器,然后修改border-radius即可。

二、关于扩展组件

扩展组件虽然很不错,但需要注意如果扩展装太多或者导致其与某些软件冲突(例如输入法),可能会出现一些意想不到的问题,例如我遇到过,登录用户之后桌面一闪而黑屏,无法正常进入gnome桌面也无法进行任何操作。这种时候就只能尝试,使用ctrl+alt+F1回到用户登录界面并选择重启电脑。如果重启仍然黑屏,就得尝试ctrl+alt+F5进入命令行模式或者在grup进入安全模式重装gnome桌面。关于这个问题的解决方法(当时我应该是输入法与桌面冲突造成的问题),这里有一篇相关博客:

ubuntu由于安装搜狗拼音导致的黑屏(或屏幕显示异常) 可供参考

从零开始安装搭建win10与ubuntu20.04双系统开发环境——集安装、配置、软件、美化、常见问题等于一体的——超详细教程的更多相关文章

  1. 沉淀,再出发——安装windows10和ubuntu kylin15.04双系统心得体会

    安装windows10和ubuntu kylin15.04双系统心得体会 一.安装次序      很简单,两种安装次序,"先安装windows后安装linux:先安装linux后安装wind ...

  2. 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  3. 安装 Win10 & Ubuntu 16.04 双系统以及 Ubuntu 配置深度学习环境记录

    0. 前言 坑爹的Ubuntu晚上运行还是好好的,第二天中午的时候打开机器发现屏幕分辨率不正常了:2K屏显示800*600左右的分辨率(无法调节),一个图标一拳头大,窗口和网页显示不全.Google查 ...

  4. 固态+机械双硬盘分别安装Win10和Ubuntu16.04双系统

    博主的笔记本是256G固态+1T机械,固态事先已经安装好了Win10系统,想着把机械硬盘分出500G用来安装Ubuntu16.04,剩余的继续用作Win下的资料盘.这里不介绍安装Win10过程,也不记 ...

  5. UEFI+GPT下安装Win10和Ubuntu16.04双系统相关问题(引导、无线连不上网)

    1.安装双系统 1)先制作U盘启动,制作过程不再赘述 2)进入bios,设置从U盘启动 3)如下图,选择第二项为安装Ubuntu 4)前几不没什么问题,就直接往下走,选择语言,往下拉有中文选项 5)下 ...

  6. win10和ubuntu16.04双系统时间同步

    在win10安装了ubuntu双系统,发现在两个系统见时间相差8个小时,这是由于windows和和ubuntu对于从主板取得时间后的处理方式不同,如果你把位置设为上海,ubuntu总是把主板时间当作u ...

  7. Windows 7/8/8.1 硬盘安装法实现 ubuntu 14.04 双系统

    一.软件准备 1. 下载 Ubuntu 系统镜像:http://www.ubuntu.com/download/desktop/ : 这里使用的是 ubuntu 14.04.1 LTS 64bit 版 ...

  8. 【转】Windows 7/8/8.1 硬盘安装法实现 ubuntu 14.04 双系统

    原文网址:http://www.cnblogs.com/chenguangqiao/p/4219532.html 一.软件准备 1. 下载 Ubuntu 系统镜像:http://www.ubuntu. ...

  9. win10、Ubuntu14.04双系统正确卸载Ubuntu的方法

    参考博客:http://www.cnblogs.com/xia-Autumn/p/6294055.html 问题描述:由于python问题Ubuntu系统崩了,登录之后无法进入桌面.重装桌面时报错,无 ...

随机推荐

  1. 为什么你需要在用 Vue 渲染列表数据时指定 key

    本文改写整理自一篇博文,原文链接如下: Why you should use the key directive in Vue.js with v-for Application state and ...

  2. 你如何确保 main()方法所在的线程是 Java 程序最后结束 的线程?

    我们可以使用 Thread 类的 join()方法来确保所有程序创建的线程在 main()方法退出前结束.

  3. 什么是 bean 装配?

    装配,或 bean 装配是指在 Spring 容器中把 bean 组装到一起,前提是容器需要 知道 bean 的依赖关系,如何通过依赖注入来把它们装配到一起.

  4. 解决MySQL报错ERROR 2002 (HY000)

    今天在为新的业务线搭架数据库后,在启动的时候报错 root@qsbilldatahis-db01:/usr/local/mysql/bin# ./mysql ERROR 2002 (HY000): C ...

  5. spring 中有多少种 IOC 容器?

    BeanFactory - BeanFactory 就像一个包含 bean 集合的工厂类.它会在客户端 要求时实例化 bean.ApplicationContext - ApplicationCont ...

  6. github 编写README时常用的写法

    参考:https://github.com/HeTingwei/ReadmeLearn#%E7%BC%96%E5%86%99readme%E6%97%B6%E5%B8%B8%E7%94%A8%E7%9 ...

  7. Kube-OVN:大型银行技术团队推荐的金融级云原生网络方案

    近日,由TWT社区主办的2021容器云职业技能大赛团队赛的冠军作品:<适用于大中型银行的云原生技术体系建设方案>中,Kube-OVN成为银行技术团队推荐的金融级云原生网络最佳实践.本文部分 ...

  8. BMZCTF WEB_ezeval

    WEB_ezeval 进入环境,源码给出 <?php highlight_file(__FILE__); $cmd=$_POST['cmd']; $cmd=htmlspecialchars($c ...

  9. 微信小程序开发:python+sanic 实现小程序登录注册

    开发微信小程序时,接入小程序的授权登录可以快速实现用户注册登录的步骤,是快速建立用户体系的重要一步.这篇文章将介绍 python + sanic + 微信小程序实现用户快速注册登录全栈方案. 微信小程 ...

  10. 破解浏览器同源政策利器之JSONP

    本文是在了解了浏览器的同源规则之后,学习了破解这个规则的一个简单有效的方法->JSONP.主要通过阮一峰老师的博客学习 浏览器的同源规则 有这样一个背景,如果你通过银行的网站进行的取钱的交易,而 ...