https://www.linuxidc.com/Linux/2018-06/152993.htm

初次听说过Linux的时候,是大一计算机课时候老师介绍说除了Windows还有Linux、Unix操作系统。但真正接触Linux是为管理虚拟专用服务器(VPS),都说Ubuntu适合新手于是接触了是Ubuntu 10.10(Maverick Meerkat)。从此爱上了Linux。虽然之后我使用CentOS的时间长于别的Linux Distribution,但Ubuntu从没有离开过我的电脑。如今都发行到了Ubuntu 18.04(Bionic Beaver)。

0x00 Ubuntu 18.04的安装

1.Ubuntu每年都会在4月与10月份发布一个版本的更新,而每两年发布一个LTS长期支援版本,其支援期限长达5年,而非LTS版本的支援通常只有半年。而18.04是2016年之后发行的第一个LTS版本,作为一个喜欢尝鲜的Linuxer来说,肯定第一时间也安装了Ubuntu 18.04 LTS。

2.Ubuntu18.04的安装与之前的发行版并没有什么区别。由于我的生产环境Ubuntu16.10中程序较多,被DIY的较多,因而并没有在实体机中安装Ubuntu 18.04,而是在VirtualBox中安装的。

3.在安装类型中,我选择了其他选项,因为这样可以自己创建、调整分区,或者为Ubuntu选择多个分区。

4.对于分区来说,特别是在虚拟机中,建议/挂载点划分15G左右,/boot大概128MB左右,/swap分区大概2G左右,剩余空间划分为/home。

由于我在虚拟机里分区的划分大小与设备都是很随意的配置了一下,不过还是应该按照个人的实际情况来安装配置。对于初次安装Linux的人来说,机子配置还可以的话,直接划分/与/home即可。

5.之后耐心等待就可以完成Ubuntu 18.04的安装了,总体安装还是非常的快的,当然如果你勾选了网络下载更新的话,那么会根据你的网速来决定你的安装过程。安装完毕后,提示重启,之后就可以进入Ubuntu 18.04的桌面了。

6.进入系统后会发现又是那个熟悉的Gnome图形界面,这里不得不吐槽下从Ubuntu11.04到Ubuntu17.10的过程中图形界面为Unity,我觉得是一个非常不友好的图形界面,反正在Unity统治Ubuntu的6年半时间里,我基本都会在第一时间将其更换为Gnome。

0x01 Ubuntu 18.04新特性与体验

新版Gnome

刚才我还吐槽了Unity的同时赞美了Gnome。而随Ubuntu 18.04一起到来的还有Gnome3.28。

由于在上一个LTS版本的Ubuntu中,Unity依旧为主流的桌面环境,Gnome3.28的到来标志着新统一风格定制的Gnome3.0桌面在长期支援版上的到了支持。

Suru图片的纳入

喜欢Linux的人一定还记得Ubuntu Touch吧!这个由Ubuntu衍生而来的移动操作系统,当初Suru作为一个开源图标项目,就是专门为Ubuntu Touch设计的,如今已经完全的融入到了Ubuntu 18.04LTS,那些当初设计的图标已经被重新用于Gnome主题图标相对应。当然出了之前设计的图标外,此次还在Sura项目中加入了很多文件夹与文件类型的图标。

具体样式可以参考Suru官网。

# Project Suru

https://snwh.org/suru

全新Emoji支援

Firefox最近在about:config中终于可以启开了内置Emoji,而查阅一下关于FirefoxEmoji支援,你会发现其最早是在Mozilla Firefox 50就引入了内置Emoji,不过最先只是给Gnu/Linux与Win8这类原生不带Emoji的系统启用的,你就可以知道Linux对Emoji的支援应该不是那么满意(Fedora除外哈!)该版本的Ubuntu中为了保持平台间的一致性,其默认使用了Noto Color Emoji(AOSP中也使用了该字体)字体,其支援最新的Unicode版本中定义的所有Emoji符号,且在该版本的Ubuntu中GTK程序中添加Emoji非常的简单。

Gnome To Do

作为一个重度健忘症患者,在使用Windows和Android的时候,我一直都是用Microsoft To-Do来最为待办事项管理,不过没有想到在这个版本的Gnome中竟然自带了这个功能。

Minimize on Click

该功能类似于Windows的任务栏,点击软件图标可以最小化窗口或者还原窗口。只不过点击的位置换成了Ubuntu Dock上了。不过略有遗憾的就是该功能默认情况下为关闭的,不过可以通过以下命令启用该功能。

#启用Minimize on Click

gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'

Gstreamer Multimedia Codecs解码器的加入

在安装Ubuntu 18.04的时候就默认加入了第三方解码器Gstreamer Multimedia Codecs,这个让人挺意外的,其可以让我们实现在线视频观看和改进图形显卡的支援。当然不包括那些受限于Adobe Flash和专有驱动程序。

夜间模式

和Windows10 April更新一样,加入了夜间模式,对于在学校半夜断电后,还在玩电脑的同学来说,是一个非常贴心的功能。

除此之外,Ubuntu 18.04还使用Linux Kernel 4.15,并且恢复了Xorg为默认显示服务等。这些新的特性都在预示着新的Ubuntu系统是一个很优秀的桌面Linux Distribution。

0x02 Ubuntu 18.04软件安装与体验

更换更新源

为了让软件下载与系统更新更快点,推荐将更新源改为国内的更新源。这里推荐使用阿里云的更新源。

#阿里云更新源

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

更换方法:

sudo vim /etc/apt/sources.list

将文件的内容替换为阿里云的更新源,:wq保存

sudo apt update
sudo apt upgrade

安装搜狗输入法
其实我感觉Ubuntu现在默认的输入法还是不错的,当然没有搜狗输入法好用,好在搜狗输入法也提供了Linux版本。
#Sogou for Linux

https://pinyin.sogou.com/linux/?r=pinyin
下载后进入下载目录,尝试安装软件,之后安装依赖后重新安装即可。

#搜狗输入法安装

sudo dpkg -i sogoupinyin2.2.0.0108amd64.deb

sudoapt-get install -f

sudo dpkg-i sogoupinyin2.2.0.0108amd64.deb
安装好后,在系统设置中语言部分将键盘输入法系统改为fcitx。之后重启系统。在fcitx的配置中设置搜狗输入法为默认即可。

网易云安装
网易云的安装和搜狗输入法的一样,不过不用配置非常的简单。
#网易云下载

http://music.163.com/#/download
官网下载好后,进入下载目录。
sudo dpkg-i netease-cloud-music1.1.0amd64_ubuntu.deb

sudoapt-get install -f

sudo dpkg-i netease-cloud-music1.1.0amd64_ubuntu.deb
不出意外的话,安装完毕后你是无法打开的,貌似是这个版本的Bug。
不过可以通过修改权限来完成,不过修改后需要重启。
cd ~/.cache

chmod 777netease-cloud-music

reboot

之后就可以在Ubuntu 18.04中欣赏音乐了。

QQ安装

由于QQ没有提供Linux版本的程序,所以一般情况下都用wine来安装,不过wine的配置略麻烦,所以推荐使用appimage的方式来安装。

#QQ Appimage 下载

https://yun.tzmm.com.cn/index.php/s/XRbfi6aOIjv5gwj/download

下载好程序后,右键属性——允许作为程序执行文件勾选即可。或者chmod +x download。

剩下的程序就可以用过APP Store或者Snap Store安装即可。

0x03 关于Snap

Snap是Ubuntu母公司Canonical于2016年4月发布Ubuntu16.04时候引入的一种安全的、易于管理的、沙盒化的软件包格式,与传统的dpkg/apt有着很大的区别。

Snap可以让开发者将他们的软件更新包随时发布给用户,而不必等待发行版的更新周期;其次Snap应用可以同时安装多个版本的软件,比如安装Python2.7和Python3.3。

我初次接触Snap的时候是安装NextCloud,通过Snap的方式来安装NextCloud,很快就可以完成安装与部署。

0x04 使用Snap安装主题与美化

每天都要面对的操作系统,有一个漂亮的主题那么心情会愉悦很多,而我个人使用的是flatabulous-theme。非常的漂亮,不过其没有snap包,所以今天安装另一款也很好看的主题communitheme。

主题安装

方案一:SnapStore

在App Store中搜搜communitheme即可,之后点击安装即可。

方案二:Snap命令安装

这里我通过edge通道进行安装,也可以通过GTK+3、Qt frameworks、stable等通道进行安装。

sudo snapinstall communitheme –edge

sudo snaprefresh

安装好后,重启后在登陆界面选择小齿轮设置为新的主题即可。

是不是发现Theme的风格已经发生了改变,特别是左下角的的Ubuntu Logo特别的帅。

图标安装与设置

图标包我非常喜欢的是Numix这个系列的图标,特别是其中的numix-icon-theme-circle。那么就安装numix-icon-theme-circle这套图标包了。

#Numix-icon-theme-circle

sudoadd-apt-repository ppa:numix/ppa

sudoapt-get update

sudoapt-get install numix-icon-theme-circle

图标包安装好了设置使用上该套图标包还需要使用Gnome Tweak,安装方法也是通过到AppStore中搜索Gnome Tweak即可,也可以通过sudo apt-get install gnome-tweak-tool来完成安装。由于系统是中文系统,该软件中文名叫做“优化”。

在图标部分选择Numix-Circle即可。

总体来说这套图标还是颜值很高的。

0x05 使用Snap安装软件及基础教程

Snap安装软件也是非常的方便仅仅需要一个命令即可完成安装,当然如果这样做你就不能完全理解Snap的设计的完美。

Snap安装软件

VLC安装

一般怎么用Snap安装软件呢?这里以VLC为例。

1.首先查看你是否通过Ubuntu One登陆Snap。

snap whoami

2.如果显示空邮箱的话,那么说明你没有登陆,你可以通过一下命令通过Ubuntu One登陆Snap。

snap login

3.此处分割线,其实以上过程可以省略,只是为了更加标准一点啦!

4.首先在SnapStore中寻找VLC。

snap find vlc

可以通过结果看出,VLC的Snap包的确就叫vlc,这个就很尴尬了,感觉多弄了一步,不顾没关系这里主要是告诉你如何使用Snap搜索软件。

5.为了在次确认VLC的软件包,我可以查询更多的信息。

snap info vlc

在确定了vlc的信息后,还可以看到各个通道中的Snap包的情况。

6.安装VLC,如果你已经通过Ubuntu One登陆了Snap,一下命令可以省略了sudo。其默认是通过stable通道进行下载安装的。

snap install vlc

安装好后也可以通过vlc –version来查看VLC的版本。

7.默认情况下,是通过stable的通道进行安装的(还记得之前安装communitheme时候我用的edge通道吗?)。当然即使你安装好了stable通道的VLC,当然也还可以切换到别的通道。

snap switch–channel=candidate vlc

snap refresh

之后就切换到了candidate(候选发行版)的vlc了,你可以通过刚才的vlc –-version来查看你你的vlc版本。

8.看似很简单的Snap是不是就完了呢?基本可以这么说吧!不过还有一个snap run -shell的命令呢。通过snap run -shel vlc可以给你一个shell让你拥有更多的snap权利。

你可以在/snap中找到snap的文件。再其二级目录中有一个和snap软件包一样的目录,如/snap/vlc/。由于之前我也说了,Snap的一个优点就是可以安装不同版本的同一个软件,至于你现在使用的版本的文件其在/snap/vlc/current/中。在meta/snap.yaml中,我可以可以获取到snapcraft的配置文件。

Telegram

Telegram是近年来比较流行的即使聊天软件,也是非常完美的融入了我的生活,至于这个软件怎么使用呢?自己Google吧!!!安装的方法和VLC一样,不过我觉得你都会来安装Telegram,那么Snap你估计也很熟悉了吧!这里直接安装Telegram。

#Telegram Snap App

sudo snap install telegram-sergiusens

Snap安装软件时候,终端会有白色进度条显示下载百分比,非常的人性。

Snap基础教程

其实基础教程应该在实战之前,不过我觉得实战才是最好的学习方法,所以先写了Snap安装软件的方法。相比你现在都已经学会了几个Snap的基本用法了。

#查询已经安装了的软件

sudo snap list

#搜索要安装的Snap软件包

sudo snap find xxxx

#查看Snap软件的更多信息

sudo snap info xxxx

#安装Snap软件包

sudo snap install xxxx

#更换软件安装通道

sudo snap switch –channel=xxxx xxxx

#更新Snap软件包

sudo snap refresh xxxx

#还原到之前版本

sudo snap revert xxxx

#卸载Snap软件

sudo snap remove xxxx

当然光靠命令你想搜索什么snap软件包也是一头雾水吧!可以去uappexplorer里查询下,有什么snap软件包呢!喜欢的就都安装上。

#Uappexplorer

https://uappexplorer.com/snaps

0x06 将软件打包为Snap软件

Snapcraft是用来构建snaps的软件,他使用也非常的简单,我们仅仅需要写一个snapcraft.yaml的配置文件即可。接下来就用Snapcraft打包一下GNU项目里的hello和bash。先从hello开始。

由于Ubuntu 18.04LTS中已经安装有Snapcraft了,我们就不需要在去apt安装了。可以直接开始打包我们的snap软件。

初始打包

1.创建一个打包snap的目录hello。

mkdir hello

cd hello

2.初始化snapcraft。

snapcraft init

3.使用vim编辑配置文件snapcraft.yaml。

vim snap/snapcraft.yaml

将其修改为以下内容。

name:描述这个snap软件的名称

version:描述这个软件的版本,可以用ascii码。

summary:对软件的一个总结。

Description:对软件进行一个描述。

grade:软件的发行通道。

confinement:对软件做一个限制,如devmode或者strict。

之后按照格式定义以下parts。

其中source表示打包软件的来源,plugin表示此软件安装时候需要的一些依赖关系,使用autotools即可。

4.编译snap打包软件。

snapcraft

由于我们的source需要从GNU的ftp服务器上下载程序,待下载好后,其会自动打包编译。

5.之后进行测试安装。

sudo snap install --devmode hello2.10amd64.snap

可以通过snap list查看是否安装成功,注意看Notes部分,其为devmode。

6.进行测试,输入hello命令。

神马??竟然抱错了。当然你肯定会想用which hello进行检查。不过我可以告诉你答案,hello的二进制文件在/snap/bin里,是不是明白哪里出问题了?

Snap全局命令

我们已经知道了为什么hello不能成为全局命令了,当然也还是只能通过修改snapcraft.yaml配置文件来使之成为全局命令。

1.修改snapcraft.yaml,添加一个apps部分,使命令hello指向bin/hello即可。

2.迭代你的snap打包软件。

snapcraft prime

3.之后再次尝试hello命令,终于生效了。

Snap打包进阶

1.为了让我们的snap更有意思一点,我们添加一个新的parts和apps。

2.之后我们重新执行。

Snapcraft prime

毫无疑问你肯定会报错失败。为什么呢??因为gnu-hello和gnu-bash两个不同的parts都将定向到了一个share/info/dir里,这里就发生了冲突。

3.其实在执行snapcraft的时候,类似于执行./configure,这里只用给./configure一个参数即可。那么snapcraft.yaml配置文件可以这么修改。

这相当于将—infodir=/var/bash/info作为一个参数传递给了./configure。

3.之后重新编译。

snapcraft clean gnu-bash -s build

这里的clean只是相当于重新构架了一下gnu-bash,并不需要重新下载gnu-bash,当然可以snapcraft成功了。

4.之后重新测试。

sudo snap try --devmode prime

5.之后再次测试hello和hello.bash命令,看看是否能进入这个子shell。

之后通过env查询当前的环境,确认进入子shell,要退出的话,按q哦!

删除devmode

之前通过snap list可以看出Notes部分标记hello为devmode,既然我们都测试完毕了,那么是时候改为strict了。

1.修改配置文件snapcraft.yaml。

将devmode修改为strict;其实也可以将grade后面的devel修改为stable了。

2.再次snapscraft一下。

3.你可以尝试安装它。

sudo snap install hello2.10amd64.snap

不出意外会报错:error: cannot find signatures with metadata for snap "hello2.10amd64.snap"。

4.为什么会报错呢?是由于我们的软件没有经过Snap Store签名,而之前的安装是因为是devmode所以可以被安装,因而要在本地安装非devmode的snap时候,需要加入—dangerous选项。

之后snap打包后的hello即可被安装,在通过snap list看一下,Notes部分已经没有devmode的字样了。而程序也可以正常的运行。

0x07 总结

Ubuntu 18.04 LTS经过开源社区及个人开发者的努力已经越来越完善了,软件数量丰富,美化资源也不少。虽然具有革命意义的Snap软件格式包的出现,让我们对Linux的上手更加的容易。

Ubuntu 18.04及Snap体验——让Linux入门更简单(转))的更多相关文章

  1. win10 linux Ubuntu 18.04更换国内源

    安装了win10的linux bash 版本为ubuntu 18.04 首先查询自己的linux版本信息 cat /etc/issue   然后对系统的镜像源文件进行备份,再修改镜像源文件/etc/a ...

  2. How to install the NVIDIA drivers on Ubuntu 18.04 Bionic Beaver Linux

    Objective The objective is to install the NVIDIA drivers on Ubuntu 18.04 Bionic Beaver Linux. This a ...

  3. Linux (Ubuntu 18.04) 安装vim编辑器

    大家可以去Ubuntu官网下载桌面系统:https://ubuntu.com/download/desktop,虽然最新版是19.04,但是建议大家下载稳定版18.04.安装过程非常简洁,我使用的是V ...

  4. Ubuntu 18.04 Linux上安装Etherpad,基于Web的实时协作编辑器

    介绍 Etherpad是一个开源的,基于Web的实时协作编辑器(http://www.0834nanke.com) 它允许多个人使用他们的Web浏览器同时编辑文档. 它还提供了一些很酷的功能,如富文本 ...

  5. 【机器学习 Azure Machine Learning】使用Aure虚拟机搭建Jupyter notebook环境,为Machine Learning做准备(Ubuntu 18.04,Linux)

    问题描述 在Azure的VM中已经安装好Jupyter,并且通过jupyter notebook --port 9999 已经启动,但是通过本机浏览器,访问VM的公网IP,则始终是不能访问的错误.(T ...

  6. Ubuntu 18.04 安装、配置和美化

    本文章修改自inkss的博文 为什么要修改原文? 本来我是想自己写这么一篇的,但是没想到在百度一搜,居然一篇好文.我之前没看到,真是可惜. 这篇文章主要是帮助我记录一些东西,如题. 原文虽然不错,但是 ...

  7. Ubuntu 18.04 LTS 常用软件安装杂记

    之前个人笔记本装的是 Linux Mint,用了一段时间但是体验不佳,所以打算换成 Ubuntu .作为一个 Linux 小白,当时配置一些软件环境费了不少时间.这次打算简单记录下,和大家分享一下我的 ...

  8. Ubuntu 18.04下安装Steam顶级在线游戏平台

    Ubuntu 18.04下安装Steam顶级在线游戏平台 原创: 聆听世界的鱼 Linux公社 今天 Steam是由Valve公司开发的顶级在线游戏平台,是目前全球最大的综合性数字发行平台之一.它让你 ...

  9. 从Ubuntu 18.04 LTS升级到Ubuntu 18.10版本的方法

    从Ubuntu 18.04 LTS升级到Ubuntu 18.10版本的方法 2018-10-18 21:08:39作者:ywnz稿源:云网牛站 本文提供从Ubuntu 18.04 LTS(Bionic ...

随机推荐

  1. spring data jpa查询部分字段、多余附加字段

    spring data jpa查询部分字段 第一种方法:使用 model 查询时转化 首先建立一个 model ,写上自己想要查询的字段,然后写上构造函数,这步很重要,因为spring jpa 转化时 ...

  2. 【UVA514】铁轨

    题目大意:给定 N 个数,编号从 1 到 N,现需要判断,利用一个无限大的栈结构,能否实现到给定序列的转换. 题解:本题一共涉及三个部分的交互,分别是目标序列,栈和初始序列,由栈的顶端进入,顶端弹出性 ...

  3. 写一个栈,实现出栈、入栈、求最小值,时间复杂度为O(1)

    #-*-coding:utf-8-*- ''' 需求:写一个栈,实现出栈.入栈.求最小值,时间复杂度为O(1) 思路:通过两个栈实现,一个栈stack,一个辅助栈min_stack,记录stack中的 ...

  4. [ASP.NET]初试Web API

    Web API 1: 需要环境(VS2010/.Net4.0/MVC4 ) http://www.asp.net/web-api/overview/creating-web-apis/creating ...

  5. 第11月第8天 ffmpeg ffplay

    static int ffplay_video_thread(void *arg) { FFPlayer *ffp = arg; VideoState *is = ffp->is; AVFram ...

  6. 第5月第13天 node cnpm安装 babel

    1. https://nodejs.org/en/download/ http://www.runoob.com/react/react-install.html 2. npm install --s ...

  7. Java给图片和PDF文件添加水印(图片水印和文字水印)

    有时候我们看到的图片或者PDF文件会自动加上水印.分为文字水印和图片水印. ----------------------------图片水印---------------------------- 1 ...

  8. Linux中普通用户提权为超级用户

    首先创建一个普通用户,并且给普通用户设置一个密码,保证能用su 命令能用普通用户登录 [root@ahu ~]# useradd test [root@ahu ~]# passwd test New ...

  9. jdk1.8源码Synchronized及其实现原理

    一.Synchronized的基本使用 关于Synchronized在JVM的原理(偏向锁,轻量级锁,重量级锁)可以参考 :  http://www.cnblogs.com/dennyzhangdd/ ...

  10. Submatrix Sum

    Given an integer matrix, find a submatrix where the sum of numbers is zero. Your code should return ...