Linux Mint

komantao 2020-02-21 2020-03-09 字数 30641 阅读量


Linux Mint是一款基于Debian和Ubuntu的再发行版,被很多爱好者誉为“最好的桌面应用系统”,就像是Linux世界中的macOS,非常适合个人日常办公或开发电脑使用。

为了追求易用性和良好的人机交互体验,让用户真正可以“开箱即用”,Linux Mint 集成了大量流行的软件包,包括浏览器、多媒体编解码器、播放器、Java 和其他组件,可以满足大多数桌面用户的基本使用需求而无需花时间去安装。

Linux Mint的软件仓库与Ubuntu完全兼容,同样采用apt管理和.deb软件包,Mint提供了大约30000多的包和一个相当好用的基于Web界面的软件管理器,在Mint中安装GUI软件运行起来要比Ubuntu轻松方便许多。

官网:https://linuxmint.com/

官网教程:https://www.linuxmint.com/documentation.php

一、安装系统

使用虚拟机(VMware Workstation 15.5 Pro)安装Linux Mint 19.3:

  1. Linux Mint官网下载Linux Mint 19.3 - Cinnamon(64-bit)

    代号Tricia,具有Cinnamon 4.4(桌面环境使用Cinnamon)、Linux内核5.3.0-40和Ubuntu 18.04 LTS软件包的基础功能。

    具有许多新的默认应用程序:用Celluloid代替Xplayer作为媒体播放器、用Gnote代替 omboy作为笔记应用程序、用Drawing代替GIMP作为绘图/图像实用程序等。

  2. 通过VMware安装虚拟机

    参阅:新建虚拟机,安装过程中选择了“稍后安装操作系统”,网络类型选择NAT。

    安装成功后,进入VMware Workstation主页:

    image-20200303154614051

    • 点击“CD/DVD(SATA)”,修改连接选项

      “设备状态”选项勾选“启动时连接”;“连接”选项勾选“使用ISO映像文件”,然后点击“浏览”输入已下载的ISO文件的本地路径。

    • 点击“开启此虚拟机”,开启安装Linux Mint之旅

  3. 在虚拟机内安装Linux Mint系统

    首次安装时,将会出现启动选项,选择“Start Linux Mint”:

    image-20200303155048661

    进入桌面,首先关闭网络连接,然后双击“Install Linux Mint”图标:

    image-20200223134836445

    Linux Mint的apt官方源是国外源(速度慢且不稳定),若开启了网络连接,安装时同步更新软件,这严重影响了安装速度(或会导致安装失败)。

    建议:系统安装成功后将apt源切换为国内源,再更新软件。

  4. 根据安装向导提示,自行选择安装选项

    • 语言界面:选择“中文(简体)”

    • 键盘布局:选择“汉语”

    • 准备安装Linux Mint:勾选“为图形或无线硬件……”

    • 安装类型

      1570679225377

      • 清除整个磁盘……(只有一个根分区)

      • LVM(动态分区)

        Logical Volume Manager(逻辑卷管理)的简写,是Linux环境下对磁盘分区进行管理的一种机制。普通家庭用户没必要使用LVM。

      • 其他选项(标准分区)

    • 时区:中国时区只能选择“Shanghai”

    • 用户信息:输入相关信息

Linux Mint 19.3 - Cinnamon(64-bit)安装成功后,占据硬盘容量大概为10G。

二 、磁盘分区

1、标准分区

1.1 系统安装时

新建分区表,对虚拟机硬盘(指物理硬盘划分给Linux系统的空间)进行整体的统一分区。

参阅:linux mint 如何手动分区安装系统

Linux Mint安装过程中,在“安装类型”界面选择“其他选项” — 设备(/dev/sda)后,点击“新建分区表”(若无出现,【首选项】— 【Display】调整分辨率) — 双击设备下面的“空闲”(或移至“空闲”后,点击左下方的“+”)创建分区:

image-20200303160138683

各分区的参数说明:根据自己的需求划分各分区容量(1G=1000M)。

磁盘容量120G 大小 分区类型 新分区位置 分区格式 挂载点
根分区(/) 70G 主分区 空间起始位置 Ext4 /
备份分区(/backup) 15G 主分区 空间起始位置 Ext4 /backup
引导分区(boot) 500M内 逻辑分区 空间起始位置 Ext4 /boot
交换分区(swap) 5G 逻辑分区 空间起始位置 交换区间
用户分区(/home) 剩余 逻辑分区 空间起始位置 Ext4 /home
  • 备份分区:打算用来保存timeshift创建的系统快照

    timeshift建议将系统快照保存在系统硬盘之外的独立存储卷上(例如第二块硬盘或U盘)。若无条件,则在虚拟机硬盘上创建一个独立分区。

  • 若无可选的挂载点,可新建挂载点

点击“现在安装”按钮后,将会格式化分区:

image-20200303161146961

分区后,在普通用户权限下,分区设备在文件系统下以目录名存在;在root用户权限下,分区除了在文件系统下以目录名存在外,还在“设备”下显示出分区名。

image-20200303161958734

1.2 系统安装后

调整分区,因为在实际使用过程中,原来的分区方案已经不适用,需要灵活调整分区大小。

具体的解决方法主要有两种途径:

  • 硬盘扩容(新增物理硬盘)
  • 在原有硬盘内调整分区大小

示例:参阅虚拟机硬盘扩容

2、LVM分区

  1. 安装系统时使用LVM(创建PV、VG、LV)

    Linux Mint安装过程中,在“安装类型”界面选择“在Linux Mint新安装中使用LVM”,弹出信息,表示Linux Mint自动创建了两个LV卷:

    image-20200304135733018

    Linux Mint安装结束后,LVM磁盘进行分区、格式化、挂载等操作。

  2. 查看信息:磁盘分区和LVM的PV、VG、LV

    1. 查看磁盘分区

      • 运行命令:lsblk

        # lsblk
        NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
        sda                   8:0    0  120G  0 disk         // 磁盘sda
        └─sda1                8:1    0  120G  0 part         // 有一个分区sda1
          ├─mint--vg-root   253:0    0  119G  0 lvm  /       // 逻辑卷root
          └─mint--vg-swap_1 253:1    0  976M  0 lvm  [SWAP]  // 逻辑卷swap_1
        sr0                  11:0    1 1024M  0 rom 
        
      • 运行fdisk -l命令

        # fdisk -l
        Disk /dev/sda:120 GiB,128849018880 字节,251658240 个扇区
        单元:扇区 / 1 * 512 = 512 字节
        扇区大小(逻辑/物理):512 字节 / 512 字节
        I/O 大小(最小/最佳):512 字节 / 512 字节
        磁盘标签类型:dos
        磁盘标识符:0xcf4445bd
                
        设备       启动  起点      末尾      扇区  大小 Id 类型
        /dev/sda1  *     2048 251656191 251654144  120G 8e Linux LVM
                
                
        Disk /dev/mapper/mint--vg-root:119 GiB,127775277056 字节,249561088 个扇区
        单元:扇区 / 1 * 512 = 512 字节
        扇区大小(逻辑/物理):512 字节 / 512 字节
        I/O 大小(最小/最佳):512 字节 / 512 字节
                
                
        Disk /dev/mapper/mint--vg-swap_1:976 MiB,1023410176 字节,1998848 个扇区
        单元:扇区 / 1 * 512 = 512 字节
        扇区大小(逻辑/物理):512 字节 / 512 字节
        I/O 大小(最小/最佳):512 字节 / 512 字节
        
    2. 查看已创建的PV、VG、LV

      • 查看详细信息

        # pvdisplay        // 查看已创建的物理卷(PV):/dev/sda1
        # vgdisplay        // 查看已创建的卷组(VG):mint-vg
        # lvdisplay        // 查看已创建的逻辑卷(LV):root、swap_1
        
      • 查看简略信息

        # pvs              // 查看已创建的物理卷(PV):/dev/sda1
          PV         VG      Fmt  Attr PSize    PFree 
          /dev/sda1  mint-vg lvm2 a--  <120.00g 44.00m
        # vgs              // 查看已创建的卷组(VG):mint-vg
          VG      #PV #LV #SN Attr   VSize    VFree 
          mint-vg   1   2   0 wz--n- <120.00g 44.00m
        # lvs              // 查看已创建的逻辑卷(LV):root、swap_1
          LV     VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
          root   mint-vg -wi-ao---- 119.00g                                     
          swap_1 mint-vg -wi-ao---- 976.00m
        

综上可知:使用LVM安装Linux Mint系统时,根分区占满了磁盘空间(逻辑卷root占满了分区sda1的空间;分区sda1占满了磁盘sda的空间)。

根分区缩容和其他分区不同。因为缩容首先要umount(卸载)分区,在开机情况下,无法umount根分区。重启进Grub到resume模式下,经测试还是无法umount根分区。只有使用os光盘(不是ISO文件)进resume,选择光盘挂载根分区。这样就满足了要求。

由于手头上没有os光盘,因此无法对根分区缩容,所以暂时放弃LVM。

三、更换软件源

软件源(又称apt源,软件列表,是指下载软件的渠道)主要有4种:

image-20200223153429589

  • 官方软件仓库:官方认可(指定)渠道,修改为国内源可提高下载速度

    由官方指定版本,通常是稳定版本,但更新时间较为滞后。

  • PPA:由软件厂商或个人统一发布在launchpad网站,同一搜索结果或有多个

    由下载者决定版本,有稳定版或尝鲜(测试)版,更新时间较快。

  • 额外仓库:由下载者指定软件的下载渠道(输入仓库网址)

  • 认证密钥:由下载者指定软件的下载渠道(添加仓库公钥)

更换软件源的方法:左下角【菜单】—【系统管理】— “软件源” — 选择上图中的渠道更换apt源 — 切记:更换apt源后,一定要刷新apt缓存(将远程仓库的软件列表下载到本地)。

image-20200223164359288

  • 或在终端运行sudo apt update命令
  • 更新apt缓存时,若提示“Failed to download repository information”,原因或者是国外源连接失败(更换源时没有同步修改security源)

1、软件源模板

更换软件源后,根据模板文件生成最佳源文件。最佳源文件存放路径为:

  • 官方软件仓库和PPA:etc/apt/sources.list.d/official-package-repositories.list
  • 源代码仓库:etc/apt/sources.list.d/official-source-repositories.list
  • 额外仓库:etc/apt/sources.list

软件源的模板存放在usr/share/mintsources/xxx目录内(xxx为系统代码,19.3为tricia)。

示例:修改官方软件仓库的模板(official-package-repositories.list)。

  1. 模板文件为:

    deb $mirror $codename main upstream import backport $optionalcomponents
       
    deb $basemirror $basecodename main restricted universe multiverse
    deb $basemirror $basecodename-updates main restricted universe multiverse
    deb $basemirror $basecodename-backports main restricted universe multiverse
       
    deb http://security.ubuntu.com/ubuntu/ $basecodename-security main restricted universe multiverse
    deb http://archive.canonical.com/ubuntu/ $basecodename partner
    
    • security源固定为http://security.ubuntu.com/ubuntu(国外源),导致刷新apt缓存时,卡在security这一项,费时较长
    • canonical源:Canonical合作伙伴资源库,包含了免费提供的软件(Skype、VMWare客户端、Flash,Adobe Reader等)
  2. 修改security源为一个变量参数

    deb $basemirror $basecodename-security main restricted universe multiverse
    

    保存后,每次更换apt源时,自动将security源修改为最佳源,不需要手动修改。

2、官方软件仓库

2.1 镜像

  • 主要(tricia):tricia(Linux Mint 19.3)的软件仓库(apt软件源列表)

    官方默认软件源:http://packages.linuxmint.com,位于美国。

  • 基础(bionic):bionic(Ubuntu 18.04)的软件仓库(apt软件源)

    官方默认软件源:http://archive.ubuntu.com/ubuntu,位于英国。

Ubuntu的源镜像列表:https://packages.ubuntu.com/xenial/all/debconf/download

官方默认软件源位于国外(需要翻墙或不稳定),更换为国内源的步骤:

  1. 测速后选择最佳源

    双击上图的软件仓库栏进行测速,然后选择速度最快的源:

    • Linux Mint源(基本不用):建议选择清华源(TUNA),极不稳定
    • Ubuntu源:建议选择阿里源(aliyun),每次测速都是最快(>7MB/s)
    • 更换后,点击“应用”
  2. 修改security源

    每次更换软件源时,Linux Mint都会修改official-package-repositories.list文件。

    若之前没有修改软件源模板,以root身份打开etc/apt/sources.list.d目录,使用文本编辑器编辑official-package-repositories.list文件,修改security源为以下内容后保存退出:

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

2.2 源代码仓库

可选软件源中的源代码仓库默认关闭。

  • 源的模板文件是usr/share/mintsources/xxx/official-source-repositories.list

    xxx为Linux Mint系统代码,上图所示为tricia。需要修改源模板(security源)。

  • 开启后,源代码仓库存储在etc/apt/sources.list.d/official-source-repositories.list

3、PPA源

PPA(Personal Package Archives,个人软件包文档),是指未被包含在Ubuntu中的软件。

PPA源存储指定软件的PPA地址(从https://launchpad.net/ubuntu/+ppas网站获取)。

PPA源的表示格式:ppa:user/ppa-name

4、额外的仓库

image-20200223173128116

额外仓库的源文件保存在etc/apt/sources.list文件内。

或者直接修改etc/apt/sources.list文件:

  1. etc/apt/sources.list文件备份后清空内容

  2. 使用lsb_release -a命令查看当前Linux发行版的codename(系统代码)

  3. 使用文本编辑器,在(清空后的)etc/apt/sources.list文件添加某个国内apt源

    apt源通用于Ubuntu的不同版号,但必须修改codename为当前使用版本的系统代码。

    • 阿里源:Ubuntu 18.04 (LTS)的系统代号为:bionic

      apt源地址:http://mirrors.aliyun.com/ubuntu/

      # 软件列表(update)
      deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
      deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
      deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
      deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
      deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
      # 软件仓库(upgrade)
      deb-src http://mirrors.aliyun.com/ubuntu/ bionic 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-backports 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-proposed main restricted universe multiverse
      
    • 清华源:Ubuntu 18.04 (LTS)的系统代号为:bionic

      apt源地址:https://mirrors.tuna.tsinghua.edu.cn/ubuntu/

      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
      deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
      deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
      deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
      deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
      # 预发布软件源,不建议启用
      # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
      # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
      
    • 中科大源:Ubuntu 16.04 (LTS)的系统代号为:xenial

      源地址:https://mirrors.ustc.edu.cn/ubuntu/

      deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
      deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
      deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
      deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
      deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
      deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
      deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
      deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
      # 预发布软件源,不建议启用
      # deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
      # deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
      
    • 网易源:Ubuntu 15.10的系统代号为:wily

      源地址:http://mirrors.163.com

      deb http://mirrors.163.com/ubuntu/ wily main restricted universe multiverse
      deb-src http://mirrors.163.com/ubuntu/ wily main restricted universe multiverse
      deb http://mirrors.163.com/ubuntu/ wily-security main restricted universe multiverse
      deb-src http://mirrors.163.com/ubuntu/ wily-security main restricted universe multiverse
      deb http://mirrors.163.com/ubuntu/ wily-updates main restricted universe multiverse
      deb-src http://mirrors.163.com/ubuntu/ wily-updates main restricted universe multiverse
      deb http://mirrors.163.com/ubuntu/ wily-backports main restricted universe multiverse
      deb-src http://mirrors.163.com/ubuntu/ wily-backports main restricted universe multiverse
      # 预发布软件源,不建议启用
      # deb http://mirrors.163.com/ubuntu/ wily-proposed main restricted universe multiverse
      # deb-src http://mirrors.163.com/ubuntu/ wily-proposed main restricted universe multiverse
      

5、认证密钥

通过添加公钥更新软件源。

四、更新系统

1、更新系统

更换软件源,只是根据apt源刷新了软件列表(记录可更新),但尚未更新软件。

更新软件的方法有:

  • 使用终端命令:

    $ sudo apt update && sudo apt upgrade
    
    • update:更新apt源的软件列表

      将apt源的最新metadata下载到本地仓库:软件列表、软件版号、下载位置等。

    • upgrade:根据metadata(元数据)更新(升级)本地软件

      若不事先update,upgrade就在过时的本地仓库内查找,并更新为旧版本。

  • 使用更新管理器:【开始菜单】—【系统管理】—【更新管理器】

    或无法安装和删除某些更高级的软件包,例如Apache网络服务、PHP或Scribus。

  • 使用新立得软件包管理器:【开始菜单】—【系统管理】—【新立得软件包管理器】

2、清理系统

可以使用应用程序删除软件,比如Synaptic Package ManagerStacer

最简单的方法是通过CLI(command-line interface,命令行界面):

  • 删除软件

    $ sudo apt remove 软件名
    
  • 删除未完全安装的软件包

    $ sudo apt autoclean
    
  • 删除apt-cache

    $ sudo apt clean
    
  • 删除不需要的软件依赖项

    $ sudo apt-get autoremove
    

五、配置系统

1、更换内核

示例:Linux Mint的当前Linux内核是4.15.0-65 ,打算升级到5.0.0-31

【开始菜单】—【系统管理】—【更新管理器】 — 【查看】— “Linux kernels”(Linux内核)— 弹出窗口选择目标内核并安装 — 重启系统。

2、升级版本

参阅:Ubuntu 18.04/18.10升级到Ubuntu 19.04

升级到Linux Mint 19.2相对容易。在更新管理器中,单击“刷新”按钮以检查mintupdate和mint-upgrade-info的任何新版本。如果有这些包的更新,请应用它们。单击“编辑 – >升级到Linux Mint 19.2 Tina”启动系统升级。

3、VMware Tools

官方文档:安装和使用 VMware Tools

VMware Tools是一套可以提高虚拟机客户机操作系统性能并改善虚拟机管理的实用工具。

VMware Tools的部分功能:

  • 支持Aero的操作系统上大大提升的图形性能和Windows Aero体验
  • 使虚拟机中的应用程序像其他任何应用程序窗口一样显示在主机桌面上的Unity功能
  • 主机与客户机文件系统之间的共享文件夹
  • 在虚拟机与主机或客户端桌面之间复制并粘贴文本、图形和文件
  • 改进的鼠标性能
  • 虚拟机中的时钟与主机或客户端桌面上的时钟同步
  • 帮助自动执行客户机操作系统操作的脚本
  • 启用虚拟机的客户机自定义

3.1 Open VM Tools

Open VM Tools是VMware Tools在Linux客户机操作系统的开源实现

VMware建议:在Linux虚拟机中使用Open VM Tools替代VMware Tools。

在终端命令窗口输入如下命令:

$ sudo apt install open-vm-tools
$ sudo apt install open-vm-tools-desktop

重启后(主机和虚拟机最好都重启),就能实现VMware Tools功能。

3.2 VMware Tools

安装步骤:参阅Linux安装VMware tools的方法

Linux卸载VMware Tools:在终端窗口中输入sudo vmware-uninstall-tools.pl

4、汉化和输入法

系统默认没有安装五笔输入法。

  1. 语言设置(完全汉化)

    【开始菜单】— 【首选项】— 【语言】

    • 语言:选择“Chinese,China UTF-8”

    • 地区:选择“Chinese,China UTF-8”

    • 系统区域设置:选择“应用事整个系统”

    • “语言支持”:点击“安装/移除语言”

      “Chinese,China UTF-8”提示“部分语言包丢失”:选择“Chinese,China UTF-8” — 点击“安装语言包” — 安装后,显示“已完全安装”,貌似实现了完全汉化。实际上,Linux Mint尚未完全汉化。

      Linux Mint抛弃了Ubuntu的“语言支持”小工具,使用Cinnamon开发的语言配置工具。这个工具尚未完善,系统的Firefox、Libreoffice、Thunderbird等软件还是英文界面,却显示中文已经完整安装。因此,需要手动安装对应中文语言包。

      $ sudo apt-get install language-pack-zh-hans language-pack-gnome-zh-hans libreoffice-l10n-zh-cn thunderbird-locale-zh-hans firefox-locale-zh-hans
      $ reboot  # 安装后重启
      
  2. 输入法设置

    【开始菜单】— 【首选项】— 【输入法】— 【简体中文】— “安装语言支持包”双击“安装” — 安装后,“输入法框架”切换到Fcitx — 关闭窗口后重启:

    1570689659891

  3. 安装五笔输入法

    • 安装IBus五笔

      重启系统 —【首选项】—【IBus 首选项】— 【输入法】— 点击“添加”— 点击“汉语”,出现了“SunPinyin”、“海峰五笔86”、“极点五笔86” — 选择某一个,点击“添加”

    • 安装Fcitx五笔拼音

      Fcitx(小企鹅)的五笔拼音输入法实现了五笔+拼音的混合输入。

      $ sudo apt install fcitx-table-wbpy    // 安装五笔拼音输入法
      $ reboot                               // 重启Linux,就能使用
      
    • 【首选项】—【Fcitx配置】—【输入法】出现了“五笔拼音”

      删除不需要的输入法。

5、Shell提示符

Linux的配置文件大多以点开头,以rc结尾(示例:.bashrc)。“rc”,是“run command”(运行命令)的简写,是很多脚本类文件的后缀,通常在程序的启动阶段被调用。

  • Shell

    Shell的意思是“壳程序”,指的是能对操作系统和应用程序进行操作的接口程序,狭义的壳程序指的是命令行解释器,提供了一个界面(命令行),用户通过这个界面访问操作系统内核服务,例如bash、zsh等;广义上也包括图形界面下的程序。

    /etc/shells文件记录已安装的Shell,/etc/passwd文件帮助系统控制用户的权限。

  • terminal

    Terminal是一个“终端模拟软件”,指的是可以运行shell命令的软件。它一般捆绑在桌面环境上,例如gnome terminal、iTerm2、cmderConEmuHyper 等。

    Terminal接收命令,Shell负责解释命令。

    /home/<用户名>/.bashrc文件存储并加载终端配置和环境变量。

    对.bashrc所做的修改将在下一次启动终端时生效。若想立刻生效,运行下面的命令:

    $ source ~/.bashrc
    

    编辑.bashrc需要遵循bash 脚本格式,详细方法参阅:介绍指南

查看当前可用的Shell列表(输入shell名,使用不同的shell):

$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/rbash
/bin/dash

查看当前Shell:

$ echo $SHELL
/bin/bash

查看默认Shell:

$ echo $0
bash

使用已有的Shell:

$ sh               // 直接输入shell名

Linux默认Shell是bash(Bourne Again Shell),有一个配置文件(.bashrc),是用户个人的终端配置文件。

修改终端提示符目的:让自己的terminal界面色彩搭配醒目、美观(配置颜色只是觉得好玩,没有实际用处),增加常用访问目标的pwd。

假设原提示符为:

koman@koman-vm:~$

文本编辑器打开~/.bashrc文件(普通和root用户同步修改),将以下内容粘贴到末尾:

PS1="[ \[\033[1;32m\]\u@\h \[\033[1;34m\]\w \[\033[0;36m\]jobs:\j \[\033[0;37m\]]\n\[\033[1;33m\] $\[\033[0m\] "
  • 配置显示颜色

    ANSI色彩控制语法:\033[控制代码;前景;背景m

    示例:\[\033[0;32m\]

    • \[开始定义颜色,\]结束定义颜色

    • \033:声明了转义序列的开始

    • 第一组数字(0):控制代码

      控制代码 意义 控制代码 意义
      0 OFF(普通效果) 1 高亮显示
      4 underline 5 闪烁
      7 反白显示 8 不可见
    • 第二组数字(32):前景顏色代码

      颜色 前景 背景
      黑色 30 40
      紅色 31 41
      绿色 32 42
      黃色 33 43
      蓝色 34 44
      紫紅色 35 45
      青蓝色 36 46
      白色 37 47
      透明色 1
    • \[\033[0m\]:关闭ANSI色彩控制,置于尾端,控制颜色影响的范围

  • 配置显示内容

    参数 描述 参数 描述
    \a ASCII响铃字符 (07) \d “周 月 日”格式的日期
    \D{format} 自定义时间格式:format参数为空时根据本地化设置自动生成格式 \e ASCII转义字符(ESC) (033)
    \h 主机名在第一个点号前的内容 \H 完全主机名
    \j shell当前管理的任务数 \l shell终端设备的基本名称
    \n 新行,换行符 \r 回车
    \s shell的名称,$0的基本名称 \t 当前时间(24小时) HH:MM:SS
    \T 当前时间(12小时) HH:MM:SS \@ 当前时间(12小时) am/pm
    \A 当前时间(24小时) HH:MM \u 当前用户名称
    \v bash版本(如”2.00”) \V bash版本+补丁号(如”2.00.0”)
    \w 完整的当前工作目录路径 \W 当前工作目录路径的最后一个目录
    \! 该命令的历史数(在历史文件中的位置) \# 该命令的命令数(当前shell中执行的序列位置)
    $ 根用户为”#”,其它用户为”$” \nnn 8进制数
    \ 反斜杠 \[ 表示跟在后面的是非打印字符,可用于shell的颜色控制
    \] 表示非打印字符结束

修改后,提示符为:

[ koman@koman-vm ~ jobs:0 ]
 $ 

6、zsh

Linux和OS X默认Shell是bash(Bourne Again Shell),Win10是cmd/powershell,都不好用。推荐Zsh,一个功能强大的交互式shell程序和脚本命令解释器,但没有提供包管理器。

建议使用组合:Zsh(shell程序) + Antigen(zsh包管理器)。

  1. 安装Zsh(Z Shell)

    $ sudo apt install zsh -y
    

    执行文件安装在:/usr/bin/zsh。帮助、插件和主题等安装在:/usr/share/zsh

    安装后,查看shell列表,多了zsh:

    $ cat /etc/shells
    # /etc/shells: valid login shells
    /bin/sh
    /bin/bash
    /bin/rbash
    /bin/dash
    /bin/zsh
    /usr/bin/zsh
    
  2. .安装Antigen

    • 命令行安装

      $ curl -L git.io/antigen > antigen.zsh
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
        0     0    0     0    0    0     0     0 --:--:-- --:--:-- --:--:--     0
        0     0    0     0    0    0     0     0 --:--:--  0:00:01 --:--:--     0
      100 58503  100 58503    0    0   8137    0  0:00:07  0:00:07 --:--:-- 14103
      

      在当前目录(~指**/home/komeny/**)安装Antigen(生成**antigen.zsh**文件)。

    • 系统的软件管理器安装

      安装名称为:Zsh-antigen。

  3. 创建配置文件(.zshrc

    不建议直接配置zsh或使用oh-my-zsh(Zsh的模板化配置脚本),这非常麻烦。若之前使用了oh-my-zsh,需要删除oh-my-zsh和配置文件(.zshrc)。

    文本编辑器新建文件,保存下面内容为:/home/用户名/.zshrc(换行符为Unix/Linux的LF,编码为UTF-8,否则会出现错误“source: no such file or directory:”):

    echo "Loading .zshrc …………"
    # 运行antigen.zsh文件(执行文件内的所有语句),注意修改安装路径
    source /home/koman/antigen.zsh
       
    # 加载oh-my-zsh库
    antigen use oh-my-zsh
       
    # 安装/加载原版oh-my-zsh中的某些子库
    antigen bundle command-not-found
    antigen bundle docker
    antigen bundle docker-compose
    antigen bundle heroku
    antigen bundle gem
    antigen bundle git
    antigen bundle golang
    antigen bundle lein
    antigen bundle ng
    antigen bundle osx
    antigen bundle pip
       
    # 安装/加载语法高亮
    antigen bundle zsh-users/zsh-syntax-highlighting
    # 安装/加载自动补全
    antigen bundle zsh-users/zsh-completions
    # 安装/加载代码提示
    antigen bundle zsh-users/zsh-autosuggestions
       
    # 安装/加载主题
    antigen theme ys
    # antigen theme denysdovhan/spaceship-prompt
    # antigen theme https://github.com/denysdovhan/spaceship-prompt spaceship
        
    # 保存更改
     antigen apply
    
    • antigen use/antigen bundle的安装路径默认为:~/.antigen/bundles

    • 主题安装办法:

  4. 安装git

    sudo apt install git
    

    否则,在执行语句“source /home/koman/antigen.zsh”时,会弹出错误“Antigen: Please install git to use Antigen.”,导致“command not found: antigen”错误。

  5. 运行zsh

    自动运行配置文件(.zshrc)加载软件,若加载的软件不存在,则自动下载。

    koman@KVM:~$ zsh
    Loading .zshrc …………
    Installing robbyrussell/oh-my-zsh!...
    Installing zsh-users/zsh-syntax-highlighting!...
    Installing zsh-users/zsh-completions!...
    Installing zsh-users/zsh-autosuggestions!...
    ......
    # koman @ KVM in ~ [10:51:07]             # 下载安装完毕后,进入zsh的shell界面
    $ 
    
  6. 将zsh设置为默认的shell

    chsh -s /bin/zsh
    

    chsh仅更改当前用户的默认/登录shell,而不会更改当前shell。需要注销然后重新登录,或者手动exec zsh更改活动/当前shell。

    # komeny @ KVM in ~ [10:49:40] 
    $ echo $SHELL                          # 查看当前shell
    /bin/bash
       
    # komeny @ KVM in ~ [10:50:56] 
    $ echo $0                              # 查看默认shell
    zsh
    

    或在~/.bashrc文件的开头添加:

    if [ -t 1 ]; then
        exec zsh
    fi
    
  7. 卸载Zsh

    • 卸载zsh前,先恢复默认shell

      $ chsh -s /bin/bash user   # user改为用户名
      
    • 运行命令卸载zsh

      $ sudo apt purge zsh -y
      
    • 清除不再需要的依赖包

      $ sudo apt autoremove -y
      
  8. 卸载Antigen:直接删除~/antigen.zsh文件

7、开始菜单

7.1 编辑开始菜单

终端运行cinnamon-menu-editor命令,或鼠标右键单击【开始菜单】 — 【配置】 — 【菜单】 — “打开菜单编辑器”:

1570891816186

应用程序(Applications)是所有菜单的总分组:

  • 菜单文件(/ect/xdg/menus/cinnamon-applications.menu)定义了菜单:

    • Name:菜单名称
    • Directory:由指定的配置文件决定“Name”在不同的语言环境下显示何种名称
    • Category:分组名称,定义一个类别存放启动图标,是Name的另一种表现形式
  • 菜单是一些启动图标的分组,启动图标是某个指定程序的启动快捷方式

    Linux桌面系统使用Desktop Entry文件标准来描述程序的启动配置信息:

    • Desktop Entry文件后缀为:.desktop

    • 若为系统菜单,存放路径为:/usr/share/applications,所有用户可用

    • 若为用户菜单,存放路径为:~/.local/share/applications,指定用户可用

      使用应用程序菜单右键的“配置菜单”功能添加启动图标,存放在这个文件夹中。

  • 图标样式文件夹

    • 系统图标:/usr/share/icons
    • 用户图标:~/.local/share/icons

7.2 制作启动器

有些安装程序会提示(或自动)创建启动器(开始菜单内的启动图标),但有些不会创建启动器,每次启动时都需要运行执行文件(.sh文件),非常不方便。

系统菜单目录:/usr/share/applications/

1570889173017

选择启动器 — 鼠标右键单击 — 打开方式 — 其他程序 — 选择“文本编辑器”查看程序:

1570889376842

自定义启动图标(创建Desktop Entry文件)的步骤:

  1. /usr/share/applications目录内创建文件(需要root用户权限,后缀:.desktop

    复制一个desktop程序待用,格式如上图所示。

  2. 使用文本编辑器修改配置文件(.desktop文件)

    • Name:启动图标的英文名称

      中文名称使用:Name[zh_CN]=中文名称

    • Icon:图标路径

      icon可自定义,可以是jpg、png、svg等格式。

    • Exec:执行命令

      可执行文件(.sh文件)的路径切记使用双引号括起。

      Exec常用参数有:%f %F %u %U

      • %f:单个文件名,即使选择了多个文件。如果已选择的文件不在本地文件系统中(比如说在HTTP或者FTP上),这个文件将被作为一个临时文件复制到本地,%f将指向本地临时文件
      • %F:文件列表。用于程序可以同时打开多个本地文件。每个文件以分割段的方式传递给执行程序
      • %u:单个URL。本地文件以文件URL或文件路径的方式传递
      • %U:URL列表。每个URL以分割段的方式传递给执行程序。本地文件以文件URL或文件路径的方式传递
    • comment:注释

    • Categories:分组,放入指定的菜单(分组名称)内

      /ect/xdg/menus/cinnamon-applications.menu文件配置分组名称。

    • Terminal:是否使用终端

  3. 编辑后保存退出

8、桌面美化

美化所需要的主题、图标、字体、shell样式等,可以从https://www.gnome-look.org/ 下载。此网站是gnome美化主题的最大社区之一,拥有非常丰富的美化Ubuntu所需资源,可以选择自己喜欢的美化资源下载。然后把它放在相应的目录下即可:

  • 主题和Shell样式放在:/usr/share/themes/home/用户名/.themes
  • 图标放在:/usr/share/icons/home/用户名/.icons
  • 字体放在:/usr/share/fonts/home/用户名/.fonts

8.1 更换字体

【首选项】—【选择字体】:根据喜好选择字体。字体路径:/usr/share/fonts/

示例:更换为微软的雅黑字体

  • Linux Mint自带的字体没有包含微软的雅黑字体

  • 微软的雅黑字体存放在:C:\Windows\Fonts\Microsoft YaHei UI,将字体文件(.ttc)复制到:/usr/share/fonts/(以root用户权限新建一个目录msyh)

  • 【首选项】—【选择字体】,点击选项,选择微软的雅黑字体

    1571281487033

8.2 安装Dock

任务栏美化增强工具,模仿了经典的macOS程序坞Dock设计,可以在屏幕边缘快速启动程序。在Ubuntu18.04的dock美化过程中试过dash to dock、plank、docky等一系列dock美化工具,最后还是觉得cairo-dock功能较为强大,效果最为炫酷。

  1. Docky

    Ubuntu上最受欢迎的类似MacOS的Dock,包含文档和各种自定义主题。

    $ sudo add-apt-repository ppa:docky-core/stable
    $ sudo apt-get update
    $ sudo apt-get install docky
    
  2. plank

    号称最简单的Dock。

    $ sudo add-apt-repository ppa:ricotz/docky
    $ sudo apt-get update
    $ sudo apt-get install plank
    
  3. Latte Dock

    基于plasma框架,它为所有plasmoid和任务提供了优雅和直观的UI/UX。

    $ sudo add-apt-repository ppa:rikmills/latte-dock
    $ sudo apt update 
    $ sudo apt install latte-dock
    
  4. Cairo Dock

    着重于轻巧,快速和可定制。

    安装Cairo-Dock:

    • 方法一:在软件管理器或新立得包管理器搜索下载(由管理器决定下载途径)

    • 方法二:PPA安装(自己决定下载途径)

      1. Launchpad网站获取Cairo-Dock的PPA

        1. 在搜索框内搜索Cairo-Dock

          匹配结果或有多个,选错,则安装了不恰当软件。假设选择完全匹配结果Cairo-Dock Project

        2. 进入匹配网站,“INSTALLATION”中列示了安装方法

          假设选择stable(稳定)版本的PPA

        3. 进入PPA仓库,仓库统一列示了安装软件的所有命令,按提示操作即可

      2. 终端安装Cairo-Dock(使用认证密钥)

        1. 查看最新版本信息并输出到指定文件

          在终端中执行以下命令(复制粘贴时要小心,这是一行):

          $ echo "deb http://ppa.launchpad.net/cairo-dock-team/ppa/ubuntu $(lsb_release -sc) main ## Cairo-Dock-PPA" | sudo tee -a /etc/apt/sources.list
          
        2. 导入公钥(在软件源内导入了认证密钥):

          $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E80D6BF5
          
        3. 更新软件源的列表

          $ sudo apt-get update
          
        4. 安装Cairo-Dock

          $ sudo apt-get install cairo-dock cairo-dock-plug-ins
          

          安装成功后,在【开始菜单】的【系统管理】中出现了Cairo-Dock的启动图标。

    点击Cairo-Dock启动图标,进入Cairo-Dock,开始个性化配置(右键点击Cairo-Dock的图标栏,弹出右键菜单,选择“Cairo-Dock”):

    1. 设置开机启动

      • Ubuntu15.04与之前,在右键菜单“Cairo-Dock”上选择“开机启动Cairo-Dock”
      • Ubuntu15.10及以后,【首选项】—【开机自启动程序】— 底栏的“+” — 选择程序
    2. 应用主题

      在右键菜单“Cairo-Dock”上选择“配置” — “主题”:左栏显示主题列表,右栏显示选定主题的信息和预览效果 — 选择主题后,点击"apply”。

    3. 其它设置

      • 更换图标

        鼠标移到dock栏的某个图标,弹出右键菜单,选择“xxx”(具体软件名),选择“编辑”,在“图标”中的“Image's name or path”中输入图标路径。

      • dock栏中新增启动器

        1. 将图标(/usr/share/applications/xxx.desktop文件)拖放到dock栏

        2. 更换图标

          Cairo-Dock的图标库太少,缺省时直接显示一个问号图标。

          更换图标的方法:

          1. xxx.desktop文件获取软件的自带图标路径(Icon值)
          2. 在根目录(文件系统)搜索图标路径
          3. 按照上述的更换图标方法进行更换

8.3 更换主题

在Linux Mint和几乎所有其他Linux发行版中,可以使用任何唾手可得的外壳主题、图标主题和游标等对用户界面/用户体验(UI/UX)实行个性化。

Linux Mint基于Ubuntu,与Ubuntu的所有主题、图标和应用程序等兼容。FossMint网站主要涵盖与Ubuntu有关的主题。

下载主题的途径:

  1. Cinnamon Spices主题

    【首选项】—【主题】— 点击“添加/删除” — “选择主题”下载到~/.themes

    所有的主题都可以在Cinnamon Spices网站上获得更多的信息和更大的截图。

  2. 第三方主题

    第三方网站(Cinnamon Look)Download主题,压缩文件下载并解压到~/.themes

在【主题】软件中,点击“桌面”选择已下载的主题。

主题的CSS样式文件路径:/usr/share/themes/主题名/cinnamon/cinnamon.css

切记:主题必须是对应于Cinnamon,并不是所有的GNOME主题都适用于Cinnamon。

9、程序自启

若想程序跟随系统启动而自启的方法有:

  • 【首选项】—【开机自启动程序】

  • 在指定目录内创建一个Desktop Entry文件或符号链接

    /usr/share/applications目录内的xxx.desktop文件或符号链接存放到指定目录:

    • /etc/xdg/autostart/:存放登录桌面后所有用户延迟启动的项目

    • /home/用户名/.config/autostart/:存放登录桌面后指定用户延迟启动的项目

10、root用户登录

Linux Mint默认是以普通用户的权限登录。

  1. 激活root

    sudo passwd root
    

    输入root用户的登录密码,并确认密码。

  2. 编辑文件(/etc/lightdm/lightdm.conf

    [Seat:*]
    autologin-guest=false
    autologin-user=komeny            # 将普通用户名更改为root
    autologin-user-timeout=0
    

    由于安全考虑尽量别使用root账号登陆Linux系统。

11、提升软件权限

在linux的root下安装了一个软件,其他普通用户想使用的方法:

  1. 确定其他用户可否有使用该软件的权限

    直接点击启动器图标或者在该用户路径下直接运行该软件(输入完整安装路径):

    komeny@KVM:~$ /opt/google/chrome/chrome
    

    如果可以运行,则用户可以运行该软件;如果不行,则使用chmod 777获取chrome的权限。

    sudo chmod 777 软件目录     # 权限被修改为777(可读可写可执行)
    
  2. 如何输入matlab直接运行安装好的matlab软件

    1. 如果安装过程中是使用root权限进行安装,并且在写入环境变量时也是在root目录下

      需要在新的用户路径下重新写入环境变量:

      # 打开普通用户下的.bashrc文件
      root@KVM:home/komeny# vim ~/.bashrc
      # 在普通用户的.bashrc文件内写入环境变量
      export PATH="$PATH:/opt/google/chrome/"
      
    2. 重新加载

      source ~/.bashrc
      

12、小技巧

  1. 调节色温

    Night Light已迅速成为桌面操作系统和手持设备的一项必备功能。该功能有助于过滤蓝光,因而减轻视觉疲劳。Linux Mint默认安装了Redshift应用程序(【开始菜单】—【附件】—【红移】),将其设置成自动启动。

  2. 切换工作区:Alt +Tab + 方向键

    Linux Mint共有4个工作区。

  3. 切换面板:Alt +Tab

    同一个应用程序多次打开,将所有窗口最小化后,会在面板折叠显示。点击面板上的图标,只会打开最后一次的。若想打开任意窗口,按键Alt+Tab显示所有窗口,然后移动鼠标选择打开。

  4. 超链接

    为某一个文件或目录在另外一个位置建立一个同步的符号链接(类似Windows的超链接):

    sudo ln -s source_name symbolic_name
    
    • ln -s:给ln命令加上- s选项,则建立符号链接
    • source_name:源文件
    • symbolic_name:目标文件

    删除符号链接(Symbolic Link):

    rm -rf symbolic_name
    
  5. 文件后缀

    Linux显示一切扩展名,但文本文件默认没有扩展名。可使用文本编辑器查看文本文件的后缀。

    Linux下面文件扩展名无意义,目标文件、共享对象文件、可执行文件都是使用ELF文件格式来存储的。程序经过编译之后会输出目标文件,然后经过链接可以产生可执行文件或者共享对象文件。Linux下面使用的ELF文件和Windows操作系统使用的PE文件都是从Unix系统的COFF文件格式演化来的。

    在Linux下安装wine来执行几乎所有的exe等windows可执行文件。

13、多媒体插件

Linux Mint 19整合了多种媒体播放器,但仍缺少一些多媒体代码,因此播放某些媒体文件可能存在问题。运行下列命令来安装媒体插件,享受出色的电影观赏和音乐聆听体验。

$ sudo apt install mint-meta-codecs

14、图形驱动程序

想享受流畅的游戏体验,必须安装最新的驱动程序。

【开始菜单】—【系统管理】—【驱动管理器】,执行操作。

15、安装常用软件

15.1 邮箱客户端

Thunderbird,是一个非常好用的邮箱客户端,Linux mint系统自带。

  • 官网下载

  • 软件管理器下载

  • 命令行安装

    sudo apt install thunderbird
    

15.2 截图工具

使用deepin的截图工具【个人感觉是 Linux 下最好用的,支持涂鸦,安装完成之后

# 卸载自带的截图工具
komeny@KVM:~$ sudo apt purge gnome-screenshot
# 安装deepin的截图工具
komeny@KVM:~$ sudo apt-get install deepin-screenshot

15.3 录屏工具

sudo apt-get install simplescreenrecorder

15.4 Wine

Wine是一个在x86、x86-64上允许类Unix操作系统在X Windows System下运行Microsoft WIndows程序的软件。Wine通过提供一个兼容层来将Windows的系统调用转换成对POSIX标准的调用。

参阅:Linux使用 Wine

15.5 Snap

Snap是Ubuntu开发的通用打包平台,它让用户使用简单的命令即可安装众多应用程序。

Linux Mint默认情况下不提供Snap,因为它使用Fedora开发的替代应用程序打包平台Flatpak。可以使用命令安装snap:

$ sudo apt install snapd

以后,学会如何使用其中一种或两种工具(即Snap和Flatpak)很重要。它们会在将来为你节省大量时间。

16、解决错误

16.1 登录出错

问题描述:电脑安装了Linux Mint 19系统,登录时或会弹出一个提示框"Unable to launch “cinnamon-session-cinnamon " x session “cinnamon-session-cinnamon” not to default session”,点击下面的okay键,然后就黑屏了。

错误原因:Cinnamon屏幕登录时出错了。

解决方法:

  1. 按下”Ctrl+Alt+F1“键进入非图形界面(指令界面)

  2. 输入用户名、密码后,输入指令

    sudo apt-get install cinnamon-screensaver mint-meta-cinnamon nemo nemo-fileroller nemo-share
    
  3. 重启

    sudo reboot
    

    电脑重启,输入密码后成功进入了熟悉的图形化界面。

六、系统快照

Timeshift是一个使用RSYNC或BTRFS + hardlinks快照创建文件系统快照的开源工具,它支持计划的快照,多个备份级别和排除过滤器。备份快照后,可以在系统处于运行状态时或从Live CD/USB恢复快照。

Timeshift将Windows的系统还原功能或macOS的Time Machine工具引入到了Linux中,正是这种工具的存在将桌面世界中Linux推向了一个新的高度,带来了更好的备份还原方案。

Linux Mint内置了Timeshift,作为系统的备份/还原工具。借助Timeshift,可以手动或自动创建系统快照(备份),出现问题时可以从以前保存的快照中恢复操作系统(还原)。

1、安装Timeshift

安装Timeshift:

$ sudo apt-add-repository -y ppa:teejee2008/ppa   # 添加PPA源
$ sudo apt-get update                             # 更新apt源
$ sudo apt-get install -y timeshift               # 安装Timeshift

2、备份

最佳实践建议将系统快照保存在系统硬盘之外的独立存储卷上。

  1. U盘执行LInux分区

    示例:使用16GB闪存作为第二个驱动器,并在该驱动器上保存快照。

    1. 虚拟机加载U盘
    2. U盘制作Linux文件系统
  2. Timeshift配置选项

    1. 启动Timeshift

    2. 选择快照类型:RSYNC或BTRFS

    3. 选择快照保存位置:快照应该保存在单独分区(非系统或外部磁盘)

    4. 选择快照等级:快照的自动维护周期

    5. 是否排除用户主目录:慎重选择

      排除,则用户数据不备份;包含,则还原时,最新数据丢失(被还原数据覆盖)。

    6. 配置完成,跳转到Timeshift窗口

      image-20200229100952131

      • “创建”:为当前系统创建快照
      • “恢复”:恢复选中的快照
      • “删除”:选中的快照
  3. 创建快照

    进入Timeshift窗口,点击“创建”按钮,开始创建快照:

    image-20200229101056984

  4. 恢复快照

    选择已创建的快照,点击“恢复”按钮:

    1. 首先,选择目标设备

      image-20200229104420828

    2. 点击“下一步”,Timeshift将在执行实际恢复之前执行Dry run

      image-20200229105103308

    3. 比较文件后,确认操作

      image-20200229105228321

    4. 点击“下一步”,出现“警告”提示信息,然后点击“下一步”,Timeshift将开始将快照同步(还原)到根文件系统,过程完成后,自动重启操作系统

3、还原

假设Linux系统出现故障,无法启动:

  1. VMware挂载光盘(ISO文件)后进入BIOS

    方法参阅:进入BIOS

  2. 按Esc键进入Boot Menu

    上/下方向键移动,按Enter选择启动项:

    image-20200305155843449

    • Removable Devices:可移动设备(例如:U盘)
    • Hard Drive:硬盘
    • CD-ROM Drive:光盘(ISO文件)
    • Network boot from Intel E1000:网络启动
  3. 选择CD-ROM Drive后,选择“Start Linux MInt”

    image-20200303155048661

  4. 进入Linux Mint开始界面(安装程序的初始界面),打开Timeshift

    点击“Settings” — “Location”选择备份分区(例如:sda2)— 关闭“Settings”,Timeshift显示出之前已备份的快照 — 选择快照,点击“Restore” — 弹出窗口,点击“Next”

    image-20200303152607591

  5. 还原后,重启

七、安装软件

方法 描述 下载渠道
第三方工具 图形化操作,可模糊搜索 工具指定
Linux的apt命令 命令行执行。难点:获取软件在apt源中的名称 apt源指定
PPA 可下载测试版或个人改装版。难点:渠道是否为官方 下载者指定
.deb包 官网下载.deb包 下载者指定
.sh文件 官网下载安装文件(.sh) 下载者指定
.tar.gz包(源代码) .tar.gz是一个压缩包,内含.sh文件 下载者指定
  • 第三方工具:指Linux内置的下载工具(例如:软件管理器、新立得)
  • 软件的安装路径大部分由包维护者决定(已预设安装路径),但 .sh文件可自定义安装路径

Linux系统如何改变软件的安装位置?

解决方法:手动安装软件,首先进入目标目录(cd 目标安装目录),然后运行安装文件。

  • 软件管理器默认安装至/usr

  • deb包的安装位置由包维护者决定,用户不能自定义安装路径

    已预设好了安装路径,安装过程中,有些包或有自定义安装路径的选项。

  • sh包、源代码包(例如:.tar.gz包)、通过apt install命令安装的软件

    1. 首先进入目标目录(cd 目标安装目录

      将sh包或源代码包解压后的文件夹放入目标目录,在终端cd进入目标目录

    2. 运行安装命令

备注:软件安装好后不要乱改路径。如果非要改,卸载重装,在安装时更改安装路径。

软件快速启动的方法有2种:

  • 制作启动器

  • 首先在配置文件设置环境变量,然后在终端输入软件名称

    环境变量配置有两种,一种是用户级别的环境变量(/home/用户名/.bashrc),一种是系统级别的环境变量(/etc/profile)。

    使用文本编辑器打开配置文件,在文件末尾添加语句:

    export PATH=$PATH:可执行文件    # 可执行文件使用绝对路径表示
    

1、新立得包管理器

新立得(Synaptic Package Manager)是Ubuntu的apt包管理工具的图形化前端,通过鼠标操作就能安装、删除、配置、升级软件包,对软件包列表进行浏览、排序、搜索以及管理软件仓库或者升级整个系统。相当于终端里的apt命令。

1570687554334

新立得的主窗口分为四部分:

1571657018707

  1. 最上面是菜单栏和工具栏

  2. 左边是一个包浏览器

    分为组别、状态、来源、自定义过滤器、搜索结果、Architecture。单击可以分类浏览软件包。

  3. 右上方是包列表

  4. 右下方是包的详细信息

1.1 安装/删除包

安装包(删除包同理操作):

点击工具栏中的“搜索”,输入搜索关键字 — 右键点击需要的软件包 — 选择“标记以便安装” — 弹出一个对话框,点击“标记” — 包列表的“状态”变更为已标记 — 点击工具栏中的“应用”(应用全部标记的变更)— 弹出“摘要”对话框,点击“Apply”。

1571659064961

1.2 管理apt源

管理更新软件包列表:点击菜单栏的“设置” — 选择“软件库”,弹出“软件源”。

升级已安装的软件包:点击工具栏中的“刷新”(相当于运行了“软件源”)— 选择“状态” — 选择“已安装(可升级)” — 标记包列表中的所有软件 — 点击“应用”。

1571718330342

2、软件管理器

【开始菜单】— 【系统管理】— 【软件管理器】— 搜索框输入模糊名称,支持模糊查询,但不支持翻译为中文。若搜索“谷歌”,会显示“找不到匹配的软件包”。

1570690551151

备注:不清楚来源,与官网Google官网下载的stable版本有区别。

3、Linux命令

(通过apt install命令安装的)软件的安装路径由包的维护者确定(用户不能自定义),默认安装在当前路径(输入命令时的路径)。

  1. 查找软件的包名称

    参阅:Ubuntu安装软件以及查看已安装软件的几种方式

    使用命令apt-cache search 软件包名模糊搜索,根据结果判断软件的包名称:

    $ apt-cache search chrom
    …………
    chroma - general purpose syntax highlighter in pure Go
    chrome-gnome-shell - GNOME Shell extensions integration for web browsers
    chromium-browser - Chromium web browser, open-source version of Chrome
    chromium-browser-l10n - chromium-browser language packages
    …………
    
  2. 安装Chrome浏览器

    sudo apt install chromium-browser
    

    Linux命令不会自动安装依赖包,但会在安装过程提示。

4、PPA

PPA(Personal Package Archives,个人软件包文档),是未被包含在Ubuntu中的软件。

众所周知,Ubuntu操作系统每半年发布一次,包含了各个软件更新。软件更新比操作系统更新快,可能每个月发布一次,如果你想更新软件,依然要等半年随着操作系统发布时才可以用,因此,针对这个情况,Ubuntu采用PPA方式解决,所有PPA都寄存在Launchpad网站上。Launchpad是Canonical公司(Ubuntu背后的公司)架设的网站,是一个为Ubuntu软件开发者提供的平台,Ubuntu软件开发者将最新版软件添加到PPA供用户下载和更新,这样用户可以不用等操作系统发布即可用上最新版本的软件。

PPA的最大风险是很难确定哪一个才是官方源,若下载个人的PPA,风险自负。

  1. 先安装python-software-properties,才能使用add-apt-repository

    apt install python-software-properties
    
  2. 注册为launchpad用户

    Launchpad网站注册(账号使用Ubuntu one账号),才能使用PPA安装软件。

  3. 获取指定软件的PPA源

    1. 进入搜索网址

      进入路径:https://launchpad.net/ →→ Ubuntu →→ Personal Package Archives。最终网址是:https://launchpad.net/ubuntu/+ppas

    2. search搜索框中输入软件名称(支持模糊输入)

      1570774402719

    3. 选择某个软件(或会选错),点击进入

      1570863476377

    4. 获取PPA源(PPA源的表示格式:ppa:user/ppa-name):

      1570863733296

  4. 往系统添加某个软件的PPA源

    • 使用Linux命令

      sudo add-apt-repository ppa:chromium-team/stable  # 添加某个软件的PPA源
      sudo apt update                                   # 添加后一定要刷新软件列表
      
    • 使用系统自带的软件源

      1571305387251

  5. 安装Chrome浏览器

    sudo apt install chromium-browser
    

    PPA显示安装包的名称:

    1571581656300

  6. 添加桌面快捷方式

    软件安装后添加桌面快捷方式:进入 /usr/share/applications,找到要添加的应用程序,复制到桌面,点击复制到桌面的应用程序,选择信任即可。

  7. 删除Chrome浏览器:

    1. 在apt源中删除PPA源

      sudo add-apt-repository -r ppa:user/ppa-name
      
    2. 删除ppa源的保存文件

      进入 /etc/apt/sources.list.d目录,将相应ppa源的保存文件删除。

    3. 更新apt源

      sudo apt update
      
    4. 删除Chrome浏览器

      sudo apt remove 软件包名称
      

备注:PPA方式安装软件,或者需要翻墙。

5、.deb软件包

  • .deb文件是Debian/Ubuntu系统的软件安装包
  • .rpm文件(Red Hat Package)是Fedora/openSUSE系统的软件安装包
  • 在需要的情况下,可以通过程序alien.rpm文件转换为 .deb文件。
  1. 下载 .deb文件

    Google官网下载google-chrome-stable_current_amd64.deb文件。

    备注:Chrome的语言设置跟随Linux的系统语言。

  2. 安装 .deb文件

    • 鼠标双击或右击 .deb文件“使用GDebi软件包安装程序打开”,点击“安装软件包”

      1571282967230

    • 在终端安装 .deb文件

      sudo dpkg -i 软件包名.deb   # 将.deb文件拖放到~(当前目录),实现快捷输入路径
      

      安装后可删除 .deb文件。

  3. 卸载Chrome浏览器

    sudo apt remove 软件包名称
    

6、.sh文件

示例:安装Anaconda3 2019.10 for Linux(Anaconda3-2019.10-Linux-x86_64.sh)。官网下载 .sh文件,假设存放在用户指定目录(/home/koman/下载)内。

在Linux内,.sh文件是可执行的脚本文件。

最简单的安装方法是双击 .sh文件,选择“在终端中运行”,然后自动执行脚本安装程序。

1572187833920

或者使用bash命令运行 .sh文件(可安装到普通用户):

  1. 打开终端,启动 .sh文件

    $ cd /home/koman/下载                           # 进入存放.sh文件的目录
    $ bash Anaconda3-2019.10-Linux-x86_64.sh        # 启动脚本安装(.sh文件)
    
  2. 进入Anaconda安装过程

    Anaconda安装脚本(.sh文件)没有图形化界面,安装提示都是在终端以命令行的形式显示。根据每一次暂停时的提示,按Enter(确定默认选项)或输入yes/no(选择选项),直至结束。

    • Please, press ENTER to continue:按键Enter,阅读License

    • Do you accept the license terms? [yes|no]:按键yes,接受License

    • Anaconda3 will now be installed into this location:可自定义位置安装Anaconda

    • Do you wish the installer to initialize Anaconda3 by running conda init? [yes|no]:按键yes,初始化Anaconda环境(默认添加到 root/.bashrc)。

      备注:若输入yes,上一步骤的Anaconda就不应该安装在普通用户目录(/home/普通用户名)内,因为这导致了执行文件和配置文件分别存放在不同用户内。

      若想添加到 ~/.bashrc(普通用户),则输入no,在安装结束后输入以下命令:

      koman@KVM:~$ source /home/koman/program/anaconda3/bin/activate root   # 在普通用户权限下,启动Anaconda Prompt,此处的root不是指Linux的root用户
      

    (base) koman@KVM:~$ conda init # 在Anaconda Prompt下初始化conda

    
    conda初始化后,会将当前用户的shell默认设置为Anaconda Prompt:
       
    - 若当前用户是普通用户:则将普通用户的shell设置为Anaconda Prompt
    - 若当前用户是root:则将root用户的shell设置为Anaconda Prompt
    
    
  3. 添加启动器

    参阅:制作启动器

    [Desktop Entry]
    Type=Application
    Name=Anaconda-Navigator
    Icon=/home/koman/program/anaconda3/pkgs/anaconda-navigator-1.9.7-py37_0/lib/python3.7/site-packages/anaconda_navigator/app/icons/Icon1024.png
    Exec="/home/koman/program/anaconda3/bin/python" "/home/koman/program/anaconda3/bin/anaconda-navigator"
    Comment=Anaconda Developers
    Categories=Development;IDE;
    Terminal=false
    

    制作Desktop Entry文件的关键是找到可执行文件(Exec),图标(Icon)若找不到程序自带的图标,可使用自定义图标。

    点击图标运行Anaconda Navigator后,根据~/.bashrc创建了配置文件(~/.condarc)。

  4. 卸载Anaconda

    删除以下目录即可:

    • 程序文件目录

      所有的相关文件都保存在安装目录(/home/koman/program/anaconda3)中。

    • 配置文件

      /home/koman/.bashrc:包含conda初始化的相关设置

      /home/koman/.condarc:conda的配置文件

    • 快捷方式文件

      Ubuntu应用程序的启动图标通常保存在 /usr/share/applications目录内。

7、源代码文件

.tar.gz.tar.bz2 (压缩包)是基于源代码(tarballssource )发行的安装包文件。

示例:安装PyCharm-Professional for Linux(pycharm-professional-2019.3.3.tar.gz)。

  1. 下载 .tar.gz 文件

    官网下载 pycharm-professional-2019.3.3.tar.gz,存放在当前用户的目标安装目录(/home/koman/program)内,目的是解压时不需要输入路径。

  2. 解压 .tar.gz文件至当前目录(/home/koman/program

    koman@KVM:~$ cd /home/koman/program                         # 进入存放源代码文件的目录
    koman@KVM:~$ tar -xvf pycharm-professional-2019.3.3.tar.gz  # 解压源代码文件到当前目录
    

    解压后,目录(更名为pycharm)内有一个Install-Linux-tar.txt文件,提示安装操作。

  3. 进入解压后目录的bin文件夹,运行安装文件(pycharm.sh

    在Linux内,.sh文件是可执行的脚本文件,可以使用bash命令来进行安装。

    koman@KVM:~$ cd /home/koman/program/pycharm/bin
    koman@KVM:~/program/pycharm/bin$ bash pycharm.sh
    
  4. 进入PyCharm的图形化安装过程

    启动PyCharm的图形化安装程序,同时初始化~/. pycharm2019.3目录中的各种配置文件。

    1. 安装时使用试用码激活

      image-20200304001154704

      直接点击“Continue”:

      image-20200304001409266

    2. 配置选项

      image-20200304001612075

      • 破解

        1. 下载破解文件jetbrains-agent.jar

          放到安装路径(/home/koman/program/pycharm/bin)内。路径不能有中文,否则或会导致无法打开PyCharm。

        2. 点击【Configure】 (上图)或进入IDE后点击菜单【Help】 — “Edit Custom VM Options …” — vmoptions编辑窗口末行添加:-javaagent:/安装路径名/jetbrains-agent.jar — 保存

      • 设置Python解释器(interpreter)

        点击“Create New Project” — 点击“Pure Python”

        image-20200304002405297

        • 项目路径(Location):只能为空白目录
        • 虚拟环境(New environment using):建议勾选Virtualenv
          • Conda:使用conda安装第三方包,初始只安装常规的几个包,例如:没有安装numpy
          • Virtualenv:使用pip安装第三方包,在指定Python解释器下,继承基本的binary、一部分库和在用户目录安装的第三方包包,例如:有安装numpy
          • Pipenv:pip的一个管理模块
        • 虚拟环境路径(Location):可选择与项目路径不一样的路径
        • 基础解释器(Base interpreter):建议选择Anaconda的Python 3.7
        • Inherit global site-packages:勾选,使用Anaconda解释器下自带的所有包
        • Make available to all projects:勾选,其它项目可使用此虚拟环境
    3. 设置启动图标

      【Tools】— “Create Desktop Entry… ” — 勾选Create the entry for all users

      1570871821241

      进入PyCharm工作界面 — 点击【Help】— “About” — PyCharm是试用版:

      image-20200304003225730

    4. 继续破解

      重启PyCharm后,弹出破解文件jetbrains-agent.jar加载成功的信息:

      image-20200304003450383

      【Help】— “Register..” — 选择“License server”,地址填入:http://fls.jetbrains-agent.com — 点击“Activate”。(详细破解方法参阅压缩包内的README.txt)

      image-20200306194204096

      破解成功后,显示:

      image-20200306194407029

      进入PyCharm工作界面 — 点击【Help】— “About” — 显示永久激活:

      image-20200306194540108

  5. 卸载PyCharm

    删除以下目录即可:

    • 程序文件目录(/home/koman/program/pycharm

      所有的相关文件都保存在解压目录中。

    • 配置文件目录(/home/koman/.PyCharm2019.3

      PyCharm启动后,在用户目录内自动建立一个配置目录 ,该目录保存PyCharm相关的配置信息。

    • 快捷方式文件(/usr/share/applications/xxx

      应用程序的启动快捷方式通常保存在 /usr/share/applications目录内。

8、zip文件

Linux安装zip压缩包。终端输入命令,解压到当前路径

unzip zip包名

后续流程参阅上述的安装源代码文件

9、.elf文件

PE(Portable Executable),意为可移植的可执行的文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL)。

ELF文件在计算机科学中,是一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格式文件。是UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface,ABI)而开发和发布的,也是Linux的主要可执行文件格式。

七、Python开发环境

Linux Mint已预装Python2.7(/usr/bin/Python 2.7)和Python3(/usr/bin/Python 3.6)。

1、Anaconda

.sh文件安装方法参阅上述的安装Anaconda

假设在安装过程已执行了conda init命令配置了Anaconda环境。

安装后首先更新包:conda update --all

备注:Anaconda Prompt与zsh不兼容,不能在zsh运行conda命令。若已设置zsh为默认shell — 解除zsh — 注销并重启 —- shell恢复默认为Anaconda Prompt:(base)为起始标志。

2、PyCharm

安装PyCharm有2种方法:

  1. .tar.gz压缩包安装方法参阅上述的安装PyCharm

  2. 在终端用指令通过第三方源安装pycharm

    sudo add-apt-repository ppa:viktor-krivak/pycharm/pycharm   # 添加ppa源
    sudo apt update
    sudo apt install pycharm                                    # 安装收费的专业版
    

恢复PyCharm的初始设置:删除PyCharm的配置目录(~/.PyCharm2019.3)。

将配色方案(示例:Atom.icls)放入配置目录(~/.PyCharm2019.3/config/colors/)—【File】—【Settings】—【Editor】—【Color Scheme】— 导入配色方案文件。

<scheme name="Atom" version="142" parent_scheme="Darcula">
  <option name="FONT_SCALE" value="1.0" />
  <metaInfo>
    <property name="created">2017-01-30T19:23:19</property>
    <property name="ide">Idea</property>
    <property name="ideVersion">2016.3.3.0.0</property>
    <property name="modified">2019-08-31T09:28:19</property>
    <property name="originalScheme">One Dark</property>
  </metaInfo>
  <option name="LINE_SPACING" value="1.0" />
  <option name="EDITOR_FONT_SIZE" value="18" />
  <option name="EDITOR_FONT_NAME" value="Monospaced" />
  <option name="CONSOLE_FONT_NAME" value="Monospaced" />
  <colors>
    <option name="ADDED_LINES_COLOR" value="94bd76" />
    <option name="ANNOTATIONS_COLOR" value="abb2bf" />
    <option name="CARET_COLOR" value="3f5e9b" />
    <option name="CARET_ROW_COLOR" value="2c3238" />
    <option name="CONSOLE_BACKGROUND_KEY" value="282c31" />
    <option name="DELETED_LINES_COLOR" value="abb2bf" />
    <option name="GUTTER_BACKGROUND" value="323234" />
    <option name="INDENT_GUIDE" value="2c3238" />
    <option name="LINE_NUMBERS_COLOR" value="4b5261" />
    <option name="METHOD_SEPARATORS_COLOR" value="abb2bf" />
    <option name="NOTIFICATION_BACKGROUND" value="5c6370" />
    <option name="RIGHT_MARGIN_COLOR" value="2c3238" />
    <option name="SELECTED_INDENT_GUIDE" value="2c3238" />
    <option name="SELECTION_BACKGROUND" value="78839c" />
    <option name="SELECTION_FOREGROUND" value="ffffff" />
    <option name="TEARLINE_COLOR" value="555c6e" />
  </colors>
  <attributes>
    <option name="ABSTRACT_METHOD_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="61afef" />
      </value>
    </option>
    <option name="BAD_CHARACTER">
      <value>
        <option name="EFFECT_COLOR" value="e06c75" />
        <option name="EFFECT_TYPE" value="2" />
      </value>
    </option>
    <option name="COFFEESCRIPT.GLOBAL_VARIABLE">
      <value>
        <option name="FOREGROUND" value="e5c07b" />
      </value>
    </option>
    <option name="CONSOLE_BLUE_BRIGHT_OUTPUT">
      <value>
        <option name="FOREGROUND" value="61afef" />
      </value>
    </option>
    <option name="CONSOLE_BLUE_OUTPUT">
      <value>
        <option name="FOREGROUND" value="61afef" />
      </value>
    </option>
    <option name="CONSOLE_ERROR_OUTPUT">
      <value>
        <option name="FOREGROUND" value="e06c75" />
        <option name="BACKGROUND" value="2c3238" />
      </value>
    </option>
    <option name="CONSOLE_GREEN_BRIGHT_OUTPUT">
      <value>
        <option name="FOREGROUND" value="94bd76" />
      </value>
    </option>
    <option name="CONSOLE_GREEN_OUTPUT">
      <value>
        <option name="FOREGROUND" value="94bd76" />
      </value>
    </option>
    <option name="CONSOLE_MAGENTA_BRIGHT_OUTPUT">
      <value>
        <option name="FOREGROUND" value="c678dd" />
      </value>
    </option>
    <option name="CONSOLE_MAGENTA_OUTPUT">
      <value>
        <option name="FOREGROUND" value="c678dd" />
      </value>
    </option>
    <option name="CONSOLE_NORMAL_OUTPUT">
      <value>
        <option name="FOREGROUND" value="abb2bf" />
      </value>
    </option>
    <option name="CONSOLE_RED_BRIGHT_OUTPUT">
      <value>
        <option name="FOREGROUND" value="e06c75" />
      </value>
    </option>
    <option name="CONSOLE_RED_OUTPUT">
      <value>
        <option name="FOREGROUND" value="e06c75" />
      </value>
    </option>
    <option name="CONSOLE_SYSTEM_OUTPUT">
      <value>
        <option name="FOREGROUND" value="abb2bf" />
      </value>
    </option>
    <option name="CONSOLE_USER_INPUT">
      <value>
        <option name="FOREGROUND" value="98c379" />
      </value>
    </option>
    <option name="CONSOLE_YELLOW_BRIGHT_OUTPUT">
      <value>
        <option name="FOREGROUND" value="e5c07b" />
      </value>
    </option>
    <option name="CONSOLE_YELLOW_OUTPUT">
      <value>
        <option name="FOREGROUND" value="e5c07b" />
      </value>
    </option>
    <option name="CONSTRUCTOR_CALL_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="abb2bf" />
      </value>
    </option>
    <option name="CONSTRUCTOR_DECLARATION_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="61afef" />
      </value>
    </option>
    <option name="CSS.COLOR">
      <value>
        <option name="FOREGROUND" value="61afef" />
      </value>
    </option>
    <option name="CSS.FUNCTION">
      <value>
        <option name="FOREGROUND" value="56b6c2" />
      </value>
    </option>
    <option name="CSS.IMPORTANT">
      <value>
        <option name="FOREGROUND" value="c678dd" />
      </value>
    </option>
    <option name="CSS.PROPERTY_NAME">
      <value>
        <option name="FOREGROUND" value="56b6c2" />
      </value>
    </option>
    <option name="CSS.TAG_NAME">
      <value>
        <option name="FOREGROUND" value="e06c75" />
      </value>
    </option>
    <option name="CSS.URL">
      <value>
        <option name="FOREGROUND" value="61afef" />
      </value>
    </option>
    <option name="CTRL_CLICKABLE">
      <value>
        <option name="FOREGROUND" value="61afef" />
        <option name="EFFECT_COLOR" value="61afef" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="CUSTOM_KEYWORD1_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="e5c07b" />
      </value>
    </option>
    <option name="CUSTOM_KEYWORD2_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="c678dd" />
      </value>
    </option>
    <option name="CUSTOM_KEYWORD3_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="98c379" />
      </value>
    </option>
    <option name="CUSTOM_KEYWORD4_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="e06c75" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="CUSTOM_NUMBER_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="61afef" />
      </value>
    </option>
    <option name="CUSTOM_STRING_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="98c379" />
      </value>
    </option>
    <option name="CUSTOM_VALID_STRING_ESCAPE_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="c678dd" />
      </value>
    </option>
    <option name="DEFAULT_BLOCK_COMMENT">
      <value>
        <option name="FOREGROUND" value="5c6370" />
      </value>
    </option>
    <option name="DEFAULT_CLASS_NAME">
      <value>
        <option name="FOREGROUND" value="e5c07b" />
      </value>
    </option>
    <option name="DEFAULT_CLASS_REFERENCE">
      <value>
        <option name="FOREGROUND" value="61afef" />
      </value>
    </option>
    <option name="DEFAULT_COMMA">
      <value>
        <option name="FOREGROUND" value="abb2bf" />
      </value>
    </option>
    <option name="DEFAULT_CONSTANT">
      <value>
        <option name="FOREGROUND" value="e5c07b" />
      </value>
    </option>
    <option name="DEFAULT_DOC_COMMENT">
      <value>
        <option name="FOREGROUND" value="5c6370" />
      </value>
    </option>
    <option name="DEFAULT_DOC_COMMENT_TAG">
      <value>
        <option name="FOREGROUND" value="c678dd" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="DEFAULT_DOC_COMMENT_TAG_VALUE">
      <value>
        <option name="FOREGROUND" value="5c6370" />
      </value>
    </option>
    <option name="DEFAULT_DOC_MARKUP">
      <value>
        <option name="FOREGROUND" value="5c6370" />
      </value>
    </option>
    <option name="DEFAULT_FUNCTION_CALL">
      <value>
        <option name="FOREGROUND" value="61afef" />
      </value>
    </option>
    <option name="DEFAULT_FUNCTION_DECLARATION">
      <value>
        <option name="FOREGROUND" value="61afef" />
      </value>
    </option>
    <option name="DEFAULT_IDENTIFIER">
      <value>
        <option name="FOREGROUND" value="98c379" />
      </value>
    </option>
    <option name="DEFAULT_INSTANCE_FIELD">
      <value>
        <option name="FOREGROUND" value="c678dd" />
      </value>
    </option>
    <option name="DEFAULT_INTERFACE_NAME">
      <value>
        <option name="FOREGROUND" value="e5c07b" />
      </value>
    </option>
    <option name="DEFAULT_INVALID_STRING_ESCAPE">
      <value>
        <option name="FOREGROUND" value="94bd76" />
        <option name="EFFECT_COLOR" value="e06c75" />
        <option name="EFFECT_TYPE" value="2" />
      </value>
    </option>
    <option name="DEFAULT_KEYWORD">
      <value>
        <option name="FOREGROUND" value="c678dd" />
      </value>
    </option>
    <option name="DEFAULT_LINE_COMMENT">
      <value>
        <option name="FOREGROUND" value="5c6370" />
      </value>
    </option>
    <option name="DEFAULT_METADATA">
      <value>
        <option name="FOREGROUND" value="c678dd" />
      </value>
    </option>
    <option name="DEFAULT_NUMBER">
      <value>
        <option name="FOREGROUND" value="e5c07b" />
      </value>
    </option>
    <option name="DEFAULT_PARAMETER">
      <value>
        <option name="FOREGROUND" value="e06c75" />
      </value>
    </option>
    <option name="DEFAULT_PREDEFINED_SYMBOL">
      <value>
        <option name="FOREGROUND" value="56b6c2" />
      </value>
    </option>
    <option name="DEFAULT_SEMICOLON">
      <value>
        <option name="FOREGROUND" value="abb2bf" />
      </value>
    </option>
    <option name="DEFAULT_STATIC_FIELD">
      <value>
        <option name="FOREGROUND" value="e06c75" />
        <option name="FONT_TYPE" value="2" />
      </value>
    </option>
    <option name="DEFAULT_STATIC_METHOD">
      <value>
        <option name="FOREGROUND" value="e5c07b" />
      </value>
    </option>
    <option name="DEFAULT_STRING">
      <value>
        <option name="FOREGROUND" value="98c379" />
      </value>
    </option>
    <option name="DEFAULT_VALID_STRING_ESCAPE">
      <value>
        <option name="FOREGROUND" value="56b6c2" />
      </value>
    </option>
    <option name="DELETED_TEXT_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="abb2bf" />
        <option name="BACKGROUND" value="5d2d2d" />
        <option name="EFFECT_COLOR" value="abb2bf" />
        <option name="EFFECT_TYPE" value="3" />
      </value>
    </option>
    <option name="DEPRECATED_ATTRIBUTES">
      <value>
        <option name="EFFECT_COLOR" value="abb2bf" />
        <option name="EFFECT_TYPE" value="3" />
      </value>
    </option>
    <option name="DUPLICATE_FROM_SERVER">
      <value>
        <option name="BACKGROUND" value="3e4451" />
      </value>
    </option>
    <option name="ERRORS_ATTRIBUTES">
      <value>
        <option name="EFFECT_COLOR" value="e06c75" />
        <option name="ERROR_STRIPE_COLOR" value="e06c75" />
        <option name="EFFECT_TYPE" value="2" />
      </value>
    </option>
    <option name="FOLDED_TEXT_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="abb2bf" />
        <option name="BACKGROUND" value="2c3238" />
      </value>
    </option>
    <option name="FOLLOWED_HYPERLINK_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="61afef" />
        <option name="EFFECT_COLOR" value="61afef" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="HAML_RUBY_CODE">
      <value>
        <option name="FOREGROUND" value="abb2bf" />
      </value>
    </option>
    <option name="HTML_ATTRIBUTE_NAME">
      <value>
        <option name="FOREGROUND" value="e5c07b" />
      </value>
    </option>
    <option name="HTML_CODE">
      <value>
        <option name="FOREGROUND" value="abb2bf" />
        <option name="BACKGROUND" value="282c31" />
        <option name="EFFECT_TYPE" value="5" />
      </value>
    </option>
    <option name="HTML_TAG_NAME">
      <value>
        <option name="FOREGROUND" value="e06c75" />
      </value>
    </option>
    <option name="HYPERLINK_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="61afef" />
        <option name="EFFECT_COLOR" value="61afef" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="IDENTIFIER_UNDER_CARET_ATTRIBUTES">
      <value>
        <option name="BACKGROUND" value="3e4451" />
        <option name="ERROR_STRIPE_COLOR" value="94bd76" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="INFO_ATTRIBUTES">
      <value>
        <option name="ERROR_STRIPE_COLOR" value="756d56" />
        <option name="EFFECT_TYPE" value="2" />
      </value>
    </option>
    <option name="INHERITED_METHOD_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="61afef" />
      </value>
    </option>
    <option name="INJECTED_LANGUAGE_FRAGMENT">
      <value>
        <option name="BACKGROUND" value="2c323e" />
      </value>
    </option>
    <option name="INSTANCE_FIELD_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="e06c75" />
      </value>
    </option>
    <option name="JAVA_KEYWORD">
      <value>
        <option name="FOREGROUND" value="c678dd" />
      </value>
    </option>
    <option name="LOCAL_VARIABLE_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="abb2bf" />
      </value>
    </option>
    <option name="LOG_ERROR_OUTPUT">
      <value>
        <option name="FOREGROUND" value="e06c75" />
      </value>
    </option>
    <option name="MATCHED_BRACE_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="98c379" />
        <option name="BACKGROUND" value="5c6370" />
        <option name="FONT_TYPE" value="1" />
      </value>
    </option>
    <option name="METHOD_CALL_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="61afef" />
      </value>
    </option>
    <option name="NOT_USED_ELEMENT_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="abb2bf" />
        <option name="EFFECT_COLOR" value="abb2bf" />
        <option name="EFFECT_TYPE" value="2" />
      </value>
    </option>
    <option name="PARAMETER_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="abb2bf" />
      </value>
    </option>
    <option name="PHP_CONSTANT">
      <value>
        <option name="FOREGROUND" value="e5c07b" />
      </value>
    </option>
    <option name="PHP_EXEC_COMMAND_ID">
      <value>
        <option name="FOREGROUND" value="98c379" />
        <option name="BACKGROUND" value="4b5261" />
      </value>
    </option>
    <option name="PHP_HEREDOC_CONTENT">
      <value>
        <option name="FOREGROUND" value="e5c07b" />
      </value>
    </option>
    <option name="PHP_HEREDOC_ID">
      <value>
        <option name="FOREGROUND" value="e5c07b" />
      </value>
    </option>
    <option name="PHP_VAR">
      <value>
        <option name="FOREGROUND" value="e06c75" />
      </value>
    </option>
    <option name="PHP_VAR_VAR">
      <value>
        <option name="FOREGROUND" value="e06c75" />
      </value>
    </option>
    <option name="REASSIGNED_LOCAL_VARIABLE_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="abb2bf" />
      </value>
    </option>
    <option name="RUBY_BAD_CHARACTER">
      <value>
        <option name="EFFECT_COLOR" value="e06c75" />
        <option name="EFFECT_TYPE" value="2" />
      </value>
    </option>
    <option name="RUBY_CONSTANT">
      <value>
        <option name="FOREGROUND" value="94bd76" />
      </value>
    </option>
    <option name="RUBY_IDENTIFIER">
      <value>
        <option name="FOREGROUND" value="e5c07b" />
      </value>
    </option>
    <option name="RUBY_LINE_CONTINUATION">
      <value>
        <option name="FOREGROUND" value="abb2bf" />
      </value>
    </option>
    <option name="RUBY_PARAMDEF_CALL">
      <value>
        <option name="FOREGROUND" value="abb2bf" />
      </value>
    </option>
    <option name="RUBY_SPECIFIC_CALL">
      <value>
        <option name="FOREGROUND" value="61afef" />
      </value>
    </option>
    <option name="RUBY_SYMBOL">
      <value>
        <option name="FOREGROUND" value="56b6c2" />
      </value>
    </option>
    <option name="SASS_MIXIN">
      <value>
        <option name="FOREGROUND" value="e06c75" />
      </value>
    </option>
    <option name="SASS_PROPERTY_NAME">
      <value>
        <option name="FOREGROUND" value="56b6c2" />
      </value>
    </option>
    <option name="SASS_TAG_NAME">
      <value>
        <option name="FOREGROUND" value="e06c75" />
      </value>
    </option>
    <option name="SASS_VARIABLE">
      <value>
        <option name="FOREGROUND" value="e06c75" />
      </value>
    </option>
    <option name="SEARCH_RESULT_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="98c379" />
        <option name="BACKGROUND" value="4b5261" />
      </value>
    </option>
    <option name="SQL_COLUMN">
      <value>
        <option name="FOREGROUND" value="abb2bf" />
      </value>
    </option>
    <option name="SQL_SCHEMA">
      <value>
        <option name="FOREGROUND" value="61afef" />
      </value>
    </option>
    <option name="STATIC_FIELD_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="e06c75" />
        <option name="FONT_TYPE" value="2" />
      </value>
    </option>
    <option name="TEMPLATE_VARIABLE_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="c678dd" />
      </value>
    </option>
    <option name="TEXT">
      <value>
        <option name="FOREGROUND" value="abb2bf" />
        <option name="BACKGROUND" value="282c31" />
        <option name="EFFECT_TYPE" value="5" />
      </value>
    </option>
    <option name="TEXT_SEARCH_RESULT_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="98c379" />
        <option name="EFFECT_COLOR" value="94bd76" />
        <option name="ERROR_STRIPE_COLOR" value="61936f" />
      </value>
    </option>
    <option name="TODO_DEFAULT_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="98c379" />
        <option name="ERROR_STRIPE_COLOR" value="61afef" />
      </value>
    </option>
    <option name="TYPO">
      <value>
        <option name="EFFECT_COLOR" value="98c379" />
        <option name="EFFECT_TYPE" value="2" />
      </value>
    </option>
    <option name="UNMATCHED_BRACE_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="e06c75" />
      </value>
    </option>
    <option name="WARNING_ATTRIBUTES">
      <value>
        <option name="BACKGROUND" value="3e4451" />
        <option name="ERROR_STRIPE_COLOR" value="e5c07b" />
        <option name="EFFECT_TYPE" value="2" />
      </value>
    </option>
    <option name="WRITE_IDENTIFIER_UNDER_CARET_ATTRIBUTES">
      <value>
        <option name="BACKGROUND" value="3e4451" />
        <option name="ERROR_STRIPE_COLOR" value="b56277" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="WRITE_SEARCH_RESULT_ATTRIBUTES">
      <value>
        <option name="BACKGROUND" value="3e4451" />
      </value>
    </option>
    <option name="WRONG_REFERENCES_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="e06c75" />
      </value>
    </option>
  </attributes>
</scheme>
  • 【Editor】—【Color Scheme】— 【Python】— “Scheme”选择“Atom” — “Built-in name”的"Foreground"更改为3087FF

3、kivy

官网提供了安装方法。kivy应该安装到虚拟环境内,每一个虚拟环境都应该安装kivy。从1.9.1版本开始,kivy可以安装到常规Python解释器中(然后,项目调用此Python解释器创建虚拟环境)。

  • 使用conda在线安装:安装到Anaconda的主环境

    1. 搜索包名称

      (base) komeny@KVM:~$ anaconda search -t conda kivy
      Using Anaconda API: https://api.anaconda.org
      Packages:
        Name         |  Version | Package Types | Platforms   | Builds    
        ------------ |   ------ | ------------- | ----------- | ----------
        akode/kivy   |    1.9.1 | conda         | osx-64      | py27_0 
        …………
      
    2. 获取USER/PACKAGE的安装信息

      (base) komeny@KVM:~$ anaconda show conda-forge/kivy
      Using Anaconda API: https://api.anaconda.org
      Name:    kivy
      Summary: Open source UI framework written in Python, running on Windows, Linux, macOS, Android and iOS.
      Access:  public
      Package Types:  conda
      Versions:
         + 1.10.1
         + 1.11.0
         + 1.11.1
           
      To install this package with conda run:
           conda install --channel https://conda.anaconda.org/conda-forge kivy
      
    3. 安装conda-forge/kivy

      因为安装kivy时指定channel为conda-forge,因此必须确保当前的Anaconda(更新conda和Anaconda为conda-forgechannel下的最新版)满足kivy的安装要求。

      • 在conda的配置文件(.condarc)中添加channel:conda-forge

        Anaconda默认使用的channel是default,conda-forge内的软件版本比default的更新的快,建议在配置文件中设置优先级高于default。添加channel后,执行更新:

        conda update conda
        conda update anaconda
        conda update --all
        
      • 未更新conda时

        安装kivy时,触发错误“Solving environment: failed with initial frozen solve”。原因是:kivy默认调用Anaconda的最新版本(示例:2019.10)创建kivy的虚拟环境,但目前使用了过低的Anaconda版本(示例:2019.07)。

        (base) komeny@KVM:~$ conda install --channel https://conda.anaconda.org/conda-forge kivy
        Collecting package metadata (current_repodata.json): done
        Solving environment: failed with initial frozen solve. Retrying with flexible solve.
        
      • 更新后,安装conda-forge/kivy

        (base) komeny@KVM:~$ conda install --channel https://conda.anaconda.org/conda-forge kivy
        Collecting package metadata (current_repodata.json): done
        Solving environment: done
               
        ## Package Plan ##
               
          environment location: /home/komeny/anaconda3
          added / updated specs:
            - kivy
               
        The following NEW packages will be INSTALLED:
               
          kivy               conda-forge/linux-64::kivy-1.11.1-py37h2394fcc_0
          sdl2               conda-forge/linux-64::sdl2-2.0.10-he1b5a44_0
          sdl2_image         conda-forge/linux-64::sdl2_image-2.0.5-h0e9dbb3_0
          sdl2_mixer         conda-forge/linux-64::sdl2_mixer-2.0.4-he1b5a44_0
          sdl2_ttf           conda-forge/linux-64::sdl2_ttf-2.0.15-h7d98c4e_0
          smpeg2             conda-forge/linux-64::smpeg2-2.0.0-hfc679d8_1
               
        Proceed ([y]/n)? y
               
        Preparing transaction: done
        Verifying transaction: done
        Executing transaction: done
        

        备注:若使用-c conda-forge,则**.condarc**文件必需已添加了**- conda-forge**。

  • 使用conda在线安装:安装到项目的虚拟环境

    (base) komeny@KVM:~$ conda install kivy --prefix=/home/komeny/PycharmProjects/venv_Anaconda/ -c conda-forge
    Collecting package metadata (current_repodata.json): done
    Solving environment: done
      
    ## Package Plan ##
      
      environment location: /home/komeny/PycharmProjects/venv_Anaconda/lib/python3.7/site-packages
      
      added / updated specs:
        - kivy
      
    The following packages will be downloaded:
      
        package              |            build
        ---------------------|-----------------
        kivy-1.11.1          |   py37h2394fcc_0        20.6 MB  conda-forge
    
  • 使用conda离线安装:可自由安排安装路径

    # Anaconda官网(http://Anaconda.org下载安装包存放到虚拟环境目录
    conda install --use-local 下载的安装包名    # 离线安装默认路径
    
  • 使用PPA源安装:安装到Python的主环境

    sudo add-apt-repository ppa:kivy-team/kivy
    sudo apt-get update
    sudo apt-get install kivy
    

    PyCharm若选择Anaconda的Python作为解释器,import kivy时出现“ModuleNotFoundError: No module named ‘kivy._clock’”错误。因此,在PyCharm中添加此路径作为第三方包的路径。

    1571484117841

KV Lang自动补全和突出显示

Xuton开发了一种文件类型扩展名,它为您提供KV文件的完整语法突出显示和自动完成功能。

  • 下载此文件
  • 在Pycharm的主菜单上,单击File -> Import (or Import Settings)
  • 选择您刚下载的jar文件,PyCharm将显示一个对话框,其中勾选了文件类型。单击确定
  • 重新启动PyCharm以使更改生效

4、Eric6

确定已安装了Python的发行版本,例如:Linux Mint 19.3(自带Python 2.7和Python 3.6)或Anaconda(Python 3.7.3)。

安装Qt工具(即Qt5 Designer):

# Linux平台
sudo apt-get install qttools5-dev-tools
# 在终端输入命令,即可进入Qt Designer界面
designer

4.1 Python 3环境

使用PyPi渠道安装Eric6的依赖包。

  1. 安装python3-pip

    由于新装系统,尚未安装Python 3的pip:

    root@KVM:/usr/local# apt install python3-pip
    
  2. 安装PyQt5和sip(sip是PyQt5的依赖包,安装PyQt5时自动安装)

    root@KVM:/usr/local# pip3 install PyQt5
    Collecting PyQt5
      Downloading https://files.pythonhosted.org/packages/12/63/a7a32557fdce42b1ddf2353d9e2a576143376046ead0b1918fd4cfe01b90/PyQt5-5.13.1-5.13.1-cp35.cp36.cp37.cp38-abi3-manylinux1_x86_64.whl (62.1MB)
        100% |████████████████████████████████| 62.2MB 16kB/s 
    Collecting PyQt5_sip<13,>=4.19.19 (from PyQt5)
      Downloading https://files.pythonhosted.org/packages/69/d2/92d85b0865fe68755488a30eec1c2b1b14da6c96c74441dc1c88e0659397/PyQt5_sip-12.7.0-cp36-cp36m-manylinux1_x86_64.whl (260kB)
        100% |████████████████████████████████| 266kB 65kB/s 
    Installing collected packages: PyQt5-sip, PyQt5
    Successfully installed PyQt5-5.13.1 PyQt5-sip-12.7.0
       
    
  3. 安装QScintilla(包含QSic模块)

    root@KVM:/usr/local# pip3 install QScintilla
    Collecting QScintilla
      Downloading https://files.pythonhosted.org/packages/61/40/942a155ac1476861befbcff8ab7f73e233aba48f88af1bf58e98f9794ec3/QScintilla-2.11.2-5.12.4-cp35.cp36.cp37.cp38-abi3-manylinux1_x86_64.whl (2.7MB)
        100% |████████████████████████████████| 2.7MB 167kB/s 
    Requirement already satisfied: PyQt5>=5.10.1 in /usr/local/lib/python3.6/dist-packages (from QScintilla)
    Requirement already satisfied: PyQt5_sip<13,>=4.19.19 in /usr/local/lib/python3.6/dist-packages (from PyQt5>=5.10.1->QScintilla)
    Installing collected packages: QScintilla
    Successfully installed QScintilla-2.11.2
    
  4. 安装PyQtWebEngine

    root@KVM:/usr/local# pip3 install PyQtWebEngine
    Collecting PyQtWebEngine
      Downloading https://files.pythonhosted.org/packages/6f/f7/4d0c6b5fcb93a2e0067f2618638d4c46aa5286e96a9236c40269e6c5c5ee/PyQtWebEngine-5.13.1-5.13.1-cp35.cp36.cp37.cp38-abi3-manylinux1_x86_64.whl (64.9MB)
        100% |████████████████████████████████| 64.9MB 17kB/s 
    Requirement already satisfied: PyQt5>=5.13 in /usr/local/lib/python3.6/dist-packages (from PyQtWebEngine)
    Requirement already satisfied: PyQt5_sip<13,>=4.19.19 in /usr/local/lib/python3.6/dist-packages (from PyQt5>=5.13->PyQtWebEngine)
    Installing collected packages: PyQtWebEngine
    Successfully installed PyQtWebEngine-5.13.1
    
  5. 安装PyQtChart

    root@KVM:/usr/local# pip3 install PyQtChart
    Collecting PyQtChart
      Downloading https://files.pythonhosted.org/packages/90/33/77ed419724840bc6d2a2ff4e62722ee38476b23c254b37d5b5c8253af2b2/PyQtChart-5.13.0-5.13.1-cp35.cp36.cp37.cp38-abi3-manylinux1_x86_64.whl (1.1MB)
        100% |████████████████████████████████| 1.1MB 41kB/s 
    Requirement already satisfied: PyQt5>=5.13 in /usr/local/lib/python3.6/dist-packages (from PyQtChart)
    Requirement already satisfied: PyQt5_sip<13,>=4.19.19 in /usr/local/lib/python3.6/dist-packages (from PyQt5>=5.13->PyQtChart)
    Installing collected packages: PyQtChart
    Successfully installed PyQtChart-5.13.0
    
  6. 安装Eric6

    1. Eric官网下载eric6-19.10.tar.gz,假设放到路径:/usr/local/

    2. 解压eric6-19.10.tar.gz至当前路径,假设重命名为eric6

      root@KVM:/usr/local# tar -xvf eric6.tar.gz
      
    3. 运行解压目录内的install.py,安装Eric6

      root@KVM:/usr/local/eric6# python3 install.py
      Checking dependencies
      Python Version: 3.6.8
      Found PyQt5
      Found pyuic5
      PyQtWebEngine could not be detected.
      Error: cannot import name 'QtWebEngineWidgets'
            
      Shall 'PyQtWebEngine' be installed using pip? (Y/n) y
      …………
      Installing eric6 ...
      Installing Python API files to '/usr/local/lib/python3.6/dist-packages/PyQt5/Qt/qsci/api/python'.
      Installing Ruby API files to '/usr/local/lib/python3.6/dist-packages/PyQt5/Qt/qsci/api/ruby'.
      Installing QSS API files to '/usr/local/lib/python3.6/dist-packages/PyQt5/Qt/qsci/api/qss'.
            
      Installation complete.
            
      

      备注:安装过程,Eric6会自动检测依赖包并提示从PyPi渠道(位于国外)安装,但此种方法有时会出现ReadTimeoutError的错误,还是单独下载模块比较好一点。

4.2 Anaconda环境

Anaconda环境下,尽量使用conda安装包,但由于conda渠道比PyPi渠道的包少且更新的慢,因此,或者会混合conda和PyPi渠道来下载包。这样操作,非常容易出现问题。

  1. 安装PyQt5和sip(sip是PyQt5的依赖包,安装PyQt5时自动安装)

    若直接运行conda install PyQt5,触发了环境错误:

    (base) komeny@KVM:~$ conda install PyQt5
    Collecting package metadata (current_repodata.json): done
    Solving environment: failed with initial frozen solve. Retrying with flexible solve.
    

    查看PyQt5在conda内的channel列表,得知PyQt5的“Builds”最高只支持到py35_0(当前Anaconda的Python版本为3.7.3),所以触发了环境错误。

    (base) komeny@KVM:~$ anaconda search -t conda PyQt5
    Using Anaconda API: https://api.anaconda.org
    Packages:
      Name              |Version | Package Types | Platforms   | Builds    
     ------------------ |   ---- | --------- | --------------- | ----------
     nicoddemus/pyqt5   |  5.4.1 | conda     | linux-64        | py34_0, py27_0
     nmearl/pyqt5       |  5.5.0 | conda     | linux-64, osx-64 | py35_0, py27_0
     tballance/pyqt5    |  5.4.1 | conda     | linux-armv7l    | py35_0  
    ......
    

    若直接运行pip install PyQt5

    (base) komeny@KVM:~$ pip install PyQt5        # PyPi分发渠道的最新版本号为5.13.1
    Requirement already satisfied: PyQt5 in ./anaconda3/lib/python3.7/site-packages (5.12.3)
    

    Anaconda自带pyqt(5.12.3,conda-forge分发渠道,spyder要求版本号<5.13)。若PyQt5由旧版本(5.12.3)升级为新版本(5.13.1)后,破坏了旧包的依赖平衡(对版本的要求),导致spyder等无法启动:

    ERROR: spyder 3.3.6 requires pyqtwebengine<5.13; python_version >= “3”, which is not installed. ERROR: spyder 3.3.6 has requirement pyqt5<5.13; python_version >= “3”, but you'll have pyqt5 5.13.1 which is incompatible.

    可以使用Anaconda Navigator查看已安装包的版本号:

    1572070916375

  2. 安装QScintilla(包含QSic模块)

    使用conda安装QScintilla,触发环境冲突:

    (base) komeny@KVM:~$ conda install QScintilla
    Collecting package metadata (current_repodata.json): done
    Solving environment: failed with initial frozen solve. Retrying with flexible solve.
    

    使用conda安装QScintilla2,导致pyqt(5.12.3)和qt(5.9.7)被DOWNGRADED了

    (base) komeny@KVM:~$ conda install --channel https://conda.anaconda.org/conda-forge qscintilla2
    Collecting package metadata (current_repodata.json): done
    Solving environment: done
       
    ## Package Plan ##
       
      environment location: /home/komeny/anaconda3
       
      added / updated specs:
        - qscintilla2
       
    The following packages will be downloaded:
       
        package                    |            build
        ---------------------------|-----------------
        pyqt-5.9.2                 |   py37hcca6a23_4         5.7 MB  conda-forge
        qscintilla2-2.11.2         |   py37h279c94e_0         2.0 MB  conda-forge
        qt-5.9.7                   |       h0c104cb_3        80.8 MB  conda-forge
        ------------------------------------------------------------
                                               Total:        88.5 MB
       
    The following NEW packages will be INSTALLED:
       
      qscintilla2        conda-forge/linux-64::qscintilla2-2.11.2-py37h279c94e_0
       
    The following packages will be SUPERSEDED by a higher-priority channel:
       
      sip                conda-forge::sip-4.19.18-py37he1b5a44~ --> pkgs/main::sip-4.19.8-py37hf484d3e_0
       
    The following packages will be DOWNGRADED:
       
      pyqt                                5.12.3-py37hcca6a23_0 --> 5.9.2-py37hcca6a23_4
      qt                                      5.12.5-h0c104cb_0 --> 5.9.7-h0c104cb_3
       
    Proceed ([y]/n)? 
    

    使用pip安装QScintilla

    (base) komeny@KVM:~$ pip install QScintilla
    Collecting QScintilla
      Downloading https://files.pythonhosted.org/packages/61/40/942a155ac1476861befbcff8ab7f73e233aba48f88af1bf58e98f9794ec3/QScintilla-2.11.2-5.12.4-cp35.cp36.cp37.cp38-abi3-manylinux1_x86_64.whl (2.7MB)
         |████████████████████████████████| 2.7MB 56kB/s 
    Requirement already satisfied: PyQt5>=5.10.1 in ./anaconda3/lib/python3.7/site-packages (from QScintilla) (5.12.3)
    Installing collected packages: QScintilla
    Successfully installed QScintilla-2.11.2
    
  3. 安装PyQtChart

    跟随PyQt5的版本

    (base) komeny@KVM:~/eric6$ pip install PyQtChart==5.12
    
  4. 安装eric6

    1. Eric官网下载eric6-19.10.tar.gz,假设放到路径:/home/komeny

    2. 终端输入命令,解压zip压缩包到当前路径

      (base) komeny@KVM:~$ tar -xvf eric6.tar.gz
      

      可对解压后的目录重命名。

    3. 进入解压后的目录,查看文件结构

      Eric6完全由Pyhton语言,安装只需要运行install.py文件即可。

    4. 安装Eric6

      运行安装程序

      (base) komeny@KVM:~/eric6$ python install.py
      Checking dependencies
      Python Version: 3.7.3
      Found PyQt5
      Found pyuic5
      PyQtChart could not be detected.
      Error: cannot import name 'QtChart' from 'PyQt5' (/home/komeny/anaconda3/lib/python3.7/site-packages/PyQt5/__init__.py)
            
      Shall 'PyQtChart' be installed using pip? (Y/n) y
      Collecting PyQtChart
        Downloading https://files.pythonhosted.org/packages/90/33/77ed419724840bc6d2a2ff4e62722ee38476b23c254b37d5b5c8253af2b2/PyQtChart-5.13.0-5.13.1-cp35.cp36.cp37.cp38-abi3-manylinux1_x86_64.whl (1.1MB)
           |████████████████████████████████| 1.1MB 27kB/s 
      Collecting PyQt5>=5.13
        Downloading https://files.pythonhosted.org/packages/12/63/a7a32557fdce42b1ddf2353d9e2a576143376046ead0b1918fd4cfe01b90/PyQt5-5.13.1-5.13.1-cp35.cp36.cp37.cp38-abi3-manylinux1_x86_64.whl (62.1MB)
           |█▊                              | 3.2MB 7.5kB/s eta 2:10:18
            
      
      • 提示需要安装PyQtChart:
        • 若输入Y,则会从PyPi的分发渠道安装PyQtChart(5.13.1)和升级PyQt5为最新版本(5.13.1),从而破坏了旧包的依赖平衡,导致spyder等无法启动
        • 若输入N,则无法启动Eric6

      正确安装过程:

      1. Ctrl + C退出当前安装过程

      2. 安装PyQtChart==5.12

        附带安装了PyQt5==5.13.1,同时破坏了旧包的依赖平衡,导致spyder等无法启动。

        (base) komeny@KVM:~/eric6$ pip install PyQtChart==5.12
        Collecting PyQtChart==5.12
          Downloading https://files.pythonhosted.org/packages/30/a4/36b3da9621c68eb8e4730f943e69d349b7ecaa9ec0cd65f7b2001fa4d2ff/PyQtChart-5.12-5.12.5-cp35.cp36.cp37.cp38-abi3-manylinux1_x86_64.whl (1.1MB)
             |████████████████████████████████| 1.1MB 144kB/s 
        Collecting PyQt5>=5.12
          Downloading https://files.pythonhosted.org/packages/12/63/a7a32557fdce42b1ddf2353d9e2a576143376046ead0b1918fd4cfe01b90/PyQt5-5.13.1-5.13.1-cp35.cp36.cp37.cp38-abi3-manylinux1_x86_64.whl (62.1MB)
             |████████████████████████████████| 62.2MB 141kB/s 
        Collecting PyQt5_sip<13,>=4.19.19
          Downloading https://files.pythonhosted.org/packages/fb/93/5b0b61b461a7772a7c5c08d8f49b75e3abab3dfc84318b55e24e194c1274/PyQt5_sip-12.7.0-cp37-cp37m-manylinux1_x86_64.whl (261kB)
             |████████████████████████████████| 266kB 61kB/s 
        ERROR: spyder 3.3.6 requires pyqtwebengine<5.13; python_version >= "3", which is not installed.
        ERROR: spyder 3.3.6 has requirement pyqt5<5.13; python_version >= "3", but you'll have pyqt5 5.13.1 which is incompatible.
        Installing collected packages: PyQt5-sip, PyQt5, PyQtChart
        Successfully installed PyQt5-5.13.1 PyQt5-sip-12.7.0 PyQtChart-5.12
        
      3. 安装PyQt5==5.12

      4. 安装PyQtWebEngine==5.12

      5. 安装Eric6

4.3 汉化

Eric6支持中文的最后版本是17.12,之后的已停止维护中文支持包,官网已删除17.12版本的存档。

  1. 提取eric6-17.12/eric/i18n/文件夹内的eric6_zh_CN.qmeric6_zh_CN.ts文件,复制到已安装的eric6/i18n文件夹内

  2. 运行install-i18n.py

    komeny@KVM:/opt/eric6$ sudo python3 install-i18n.py
    
  3. 重启后即为中文

总结:

  • 不建议在Anaconda环境下安装Eric6,需要考虑冲突
  • 千万不能在安装Eric6(python install.py)时使用pip自动安装依赖包,pip会自动从PyPi渠道下载最新版本,这些新包或者会破坏Anaconda的环境

5、Android打包环境

5.1 JAVA

参阅:Ubuntu 18.04下JDK与Eclipse安装配置

Ubuntu配置Java SE(Java Platform,Standard Edition)有两种方式:

  • 直接下载JDK,然后配置环境变量实现,适用于所有Linux

    1. 官网选择版本下载JDK,假设下载文件为jdk-13.0.1_linux-x64_bin.deb

    2. 双击安装文件(格式为**.deb**),将会自动安装到**/usr/lib/jvm/**

    3. 添加环境变量(设置为默认JDK),编辑配置文件

      环境变量配置有两种,一种是用户级别(当前用户或root用户)的环境变量(~/.bashrc),一种是系统级别的环境变量(/etc/profile)。

      使用文本编辑器打开配置文件,在末尾添加以下内容:

      export JAVA_HOME=/usr/lib/jvm/jdk-13.0.1    # JDK的安装路径
      export JRE_HOME=${JAVA_HOME}/jre
      export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
      export PATH=${JAVA_HOME}/bin:$PATH
      

      保存后更新配置文件:

      source ~/.bashrc    # 或者是source /etc/profile, 根据你修改的文件而定
      
    4. 验证是否安装成功

      未安装JDK前:

      komeny@KVM:~$ java -version
      openjdk version "11.0.4" 2019-07-16
      OpenJDK Runtime Environment (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3)
      OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3, mixed mode, sharing)
      

      安装JDK且重新加载配置文件(/etc/profile)后:

      komeny@KVM:~$ java -version
      java version "13.0.1" 2019-10-15
      Java(TM) SE Runtime Environment (build 13.0.1+9)
      Java HotSpot(TM) 64-Bit Server VM (build 13.0.1+9, mixed mode, sharing)
      

      显示版本信息,表示配置成功。

  • 使用ppa,仅限于Ubuntu和基于Ubuntu的再发行版

    1. 添加PPA

      sudo add-apt-repository ppa:linuxuprising/java
      sudo apt-get update
      
    2. 安装oracle-java-installer

      sudo apt-get install oracle-java13-installer
      

      将被要求接受Oracle许可协议。

    3. 添加环境变量(设置为默认JDK),编辑配置文件

      安装完成后,需要在Ubuntu 18.04上设置JAVA_HOME路径。

5.2 Android Studio

官方文档:https://developer.android.com/studio/intro?hl=zh-cn

Android Studio是Android应用程序开发的官方IDE。

安装过程:

  1. 必须在桌面上拥有具有sudo权限的非root用户帐户

  2. 在Ubuntu桌面上安装了Java

  3. 如果您使用的是64位版本的Linux,请确保首先安装64位计算机所需的库

    • 若运行的是64位版本Ubuntu,需要使用以下命令安装一些32位库:

      sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386
      
    • 若运行的是64位版本的Fedora,则所用命令为:

      sudo yum install zlib.i686 ncurses-libs.i686 bzip2-libs.i686
      
  4. 安装Android Studio(SDK,包括了build-tools)和NDK

    • .tar.gz安装

      1. 官网下载Android Studio的**.tar.gz**文件(也可仅下载命令行工具)

      2. 将下载的**.tar.gz**文件解压到安装路径,例如:**/usr/local/**(对于用户个人资料)或者**/opt/**(对于共享用户)

        komeny@KVM:~$ cd /usr/local
        komeny@KVM:/usr/local$ sudo tar -xvf android-studio-ide-191.5900203-linux.tar.gz
        
      3. 安装Android Studio

        komeny@KVM:/usr/local$ cd android-studio/bin/
        komeny@KVM:/usr/local/android-studio/bin$ bash studio.sh
        

        启动设置向导(图形化安装过程):

        1. 选择是否想要导入之前的Android Studio设置,然后点击OK

          1571621874527

        2. Android Studio设置向导将指导您完成余下的设置步骤,包括下载开发所需的Android SDK组件(默认安装路径:~/Android/Sdk)

          出现“无法访问Android SDK加载项列表”错误:

          1571621998304

          需要设置代理,设置自动代理或手动代理配置(翻墙,端口号设置为SSR的本地端口1080,主机名设置为当前网络的IPv4地址192.168.0.101)。

          1571835989540

      4. 创建启动器

        要使 Android Studio 出现在您的应用列表中,请从 Android Studio 菜单栏中依次选择 Tools > Create Desktop Entry

    • PPA安装

      1. 添加PPA源
         sudo add-apt-repository ppa:maarten-fonville/android-studio
      sudo apt update
      
      1. 安装android-studio

        sudo apt install android-studio
        

6、MySQL

参阅:Ubuntu 18.04 安装 MySQL 5.7

参考资料

操作环境

  • 操作系统:Win 10

感谢您的赞赏支持:

Copyright © 2020 komantao. All Rights Reserved.