Ubuntu20.04安装记录

在Ubuntu下将iso文件刻录到U盘, 可以使用系统自带的Startup Disk Creator.

分区方式

使用整个硬盘, 一个512G SSD, 使用默认的分区方式, 会创建一个512M的EFI分区, 剩下的全部分为根目录.

这里有一个坑需要留意一下, 如果机器是双硬盘并且一块硬盘已经安装了Linux且有引导区, 你希望新系统安装在另一块硬盘上并且互不干扰, 那么在安装时一定要选对从安装的目标硬盘引导, 否则不小心选错了你会发现还必须从另一块硬盘启动才能引导这个系统.

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.8G     0  7.8G   0% /dev
tmpfs           1.6G  1.9M  1.6G   1% /run
/dev/sdb2       468G   18G  427G   4% /
tmpfs           7.8G   26M  7.8G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sdb1       511M  7.8M  504M   2% /boot/efi
tmpfs           1.6G   84K  1.6G   1% /run/user/1000

如果使用自定义安装, 如果是一个机械硬盘, 可以划分两个分区, 一个/boot, 1024M(或者512M), 另一个/, 使用剩下所有, 两个区都用ext4. 引导区直接选中这块硬盘(本例是/dev/sdb). 而如果是SSD, 就不需要分了, 将整个硬盘作为一个区挂载到/就可以了, 现在的SSD上划分区是没什么意义的.

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.7G     0  7.7G   0% /dev
tmpfs           1.6G  1.9M  1.6G   1% /run
/dev/sdb2       937G  7.1G  883G   1% /
tmpfs           7.7G  170M  7.6G   3% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           7.7G     0  7.7G   0% /sys/fs/cgroup
/dev/loop0       55M   55M     0 100% /snap/core18/1705
/dev/loop1      241M  241M     0 100% /snap/gnome-3-34-1804/24
/dev/loop2       63M   63M     0 100% /snap/gtk-common-themes/1506
/dev/loop3       28M   28M     0 100% /snap/snapd/7264
/dev/loop4       50M   50M     0 100% /snap/snap-store/433
/dev/sdb1       945M  137M  744M  16% /boot
tmpfs           1.6G   52K  1.6G   1% /run/user/1000

使用USTC镜像替换自带的软件源

自带的软件源为http://cn.archive.ubuntu.com/ubuntu/ , 因为支持ipv6, 所以在某些ipv6配置有问题的网络下, 更新容易出错, 可以使用 -o Acquire::ForceIPv4=true 参数强制指定IPv4, 或者更改为USTC等其他镜像源. 更改之后的 /etc/apt/sources.list 内容为(已过滤注释和空行)

deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted
deb https://mirrors.ustc.edu.cn/ubuntu/ focal universe
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates universe
deb https://mirrors.ustc.edu.cn/ubuntu/ focal multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu focal-security main restricted
deb http://security.ubuntu.com/ubuntu focal-security universe
deb http://security.ubuntu.com/ubuntu focal-security multiverse

小红点中键禁用粘贴

这个问题在20.04中依然存在, 和18.04一样的解决办法

# 查看xinput设备列表
$ xinput list
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                  id=11    [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                       id=12    [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Power Button                                id=6    [slave  keyboard (3)]
    ↳ Video Bus                                   id=7    [slave  keyboard (3)]
    ↳ Sleep Button                                id=8    [slave  keyboard (3)]
    ↳ Integrated Camera: Integrated C             id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=10    [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                      id=13    [slave  keyboard (3)]
 
# 对应指点杆的设备是id=12
# 查看按键, 其中1, 2, 3分别对应的 左, 中, 右键
milton@milton-X240:~$ xinput get-button-map 12
1 2 3 4 5 6 7
 
# 将中键禁用
milton@milton-X240:~$ xinput set-button-map 12 1 0 3 4 5 6 7

将最后这行加到 .bashrc

输入法

自带的默认输入法为ibus. ibus在18.04的时候就已经是默认自带, 但是当时还是安装使用了fcitx, 这次直接使用ibus, 感觉也很不错, 配置在 Settings-> Region & Language-> Input Sources, 添加 Chinese (Intelligent Pinyin). 如果没有这个选项, 说明中文相应的软件还没有安装, 点击下面的Manage Installed Languages, 在打开的对话框里会提示要安装新的软件, 一路安装完, 再重启, 就可以选择智能拼音的输入法了.

为什么不使用fcitx而使用ibus呢? 因为在一些软件里, 默认是没法使用fcitx输入中文的, 例如sublime text, qt creator, 而ibus就不存在这个问题. 在使用上, 两者并无区别.

配置的时候, 要勾选 Candidates下面的三个选项: Dynamic adjust ..., Remember every input ..., Show suggestions, 将Sort candidates by 设为 Frequency, 这样才能在打字中将输入历史中的常用词提前.

字体

将自定义的TTF字体放到/usr/share/fonts/truetype/下的新建字体目录,

cd /usr/share/fonts/truetype/
sudo mkdir custom
cd custom/
sudo cp ~/Backup/fonts/*.* .
sudo fc-cache -f -v

APT使用Socks5代理

从18.04开始, 支持使用socks5代理, 命令参数参考下面安装Sublime Text的例子

sudo apt -o Acquire::http::Proxy="socks5h://127.0.0.1:1090" install sublime-text

安装Sublime Text

参考官网的安装说明 http://www.sublimetext.com/docs/3/linux_repositories.html

# Install the GPG key:
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
 
# Ensure apt is set up to work with https sources:
sudo apt install apt-transport-https
 
# Stable
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
 
#
sudo apt update
sudo apt install sublime-text

中文输入法: iBus工作正常

安装Package Control: 参考官网 https://packagecontrol.io/installation 安装说明, 直接在菜单Tool -> Install Package Control, 或者Shift+Ctrl+P, 输入Install Package Control回车. 安装过程无动静(就像回车无效一样), 安装完成后会有弹出提示框.

在Package Controll: Install Package 里安装 Codecs33 和 ConvertToUTF8, 后者依赖于前者的编解码. 此插件是必装插件, 用于查看GBK编码的文件. 安装Sublimerge 3用于对比文件.
Update 2021-06-30: 升级到Sublime Text 4之后, 不再需要安装Codecs33

Note: For those who upgrade to Sublime Text 4, please remove or disable Codecs33 plugin which files are included in embedded Python 3.8.

Sublime Text 的垂直选择功能不像其他文本编辑器那样通过按钮开关,而是通过鼠标右键+Shift组合按键就可以进行选择。

GNOME Tweaks

Tweaks还是必装的, 可以使带鱼屏显示得更紧凑, 另外再下载安装 Unit-shell https://github.com/hardpixel/unite-shell 可以将顶栏的时钟右移, 并使顶栏右侧的图标更紧凑(不显示展开的小三角).

apt install gnome-tweaks

dconf-editor

安装dconf-editor用于隐藏Dock上显示的外部存储图标. 从19.0x开始, 会默认展示这些图标, 可以通过命令行或者dconf-editor将这些图标关闭

gsettings set org.gnome.shell.extensions.dash-to-dock show-mounts false

如果使用dconf-editor界面工具, 需要浏览到 org > gnome shell > extensions > dash-to-dock page, 将 show-mounts 设置为off

网络

系统默认安装就已经自带了openwpn, 所以不需要任何额外安装, 直接新增打开配置文件就可以添加.

V2R安装

下载 https://install.direct/go.sh 后, 直接通过 sudo bash go.sh 安装, go.sh 支持如下参数, 可以下载到本地后进行安装

-p 或 --proxy: 使用代理,格式与 curl 接受的参数一致,比如 "socks5://127.0.0.1:1080" 或 "http://127.0.0.1:3128"。
-f 或 --force: 强制安装。在默认情况下,如果当前系统中已有最新版本的 V2R,go.sh 会在检测之后就退出。如果需要强制重装一遍,则需要指定该参数。
--version: 指定需要安装的版本,比如 "v1.13"。默认值为最新版本。
--local: 使用一个本地文件进行安装。如果你已经下载了某个版本的 V2R,则可通过这个参数指定一个文件路径来进行安装。
 
# 示例:使用地址为 127.0.0.1:1080 的 SOCKS 代理下载并安装最新版本:
./go.sh -p socks5://127.0.0.1:1080
 
# 安装本地的 v1.13 版本:
./go.sh --version v1.13 --local /path/to/v2r.zip

用于管理v2r订阅, 生成config.json并启动v2r的工具脚本: https://github.com/MiltonLai/python-tools/tree/master/v2sub , 如果需要界面工具, 可以使用这个 https://github.com/IOsetting/v2rock

Update 20201107: 安装方式已经更新, 软件维护团队使用了新的github地址 github.com/v2fly/, 在releases中下载最新的打包文件后, 解压, 将两个可执行文件复制至 /opt/v2rock/ (如果目录不存在就创建)就可以了, 然后安装v2rock, 在v2rock的settings中, 将可执行文件的路径配置好就可以了.

Update 一个服务器端的设置

因为V2R运行在服务端和客户端的实例是一样的, 区别就在于配置不同的inbounds和outbounds, 在Ubuntu Server下配置的明细:

  1. 防火墙开启端口

  2. 安装V2R, 配置, 在测试阶段可以用 /usr/bin/v2r/v2r -c /etc/v2r/config.json , 注意要配置listen, 看netstat -lnp, 如果没配置listen, 可能会被绑到ipv6网口.

$ more /etc/v2r/config.json
{
  "log": {
    "loglevel": "info",
    "access": "/var/log/v2r-access.log",
    "error": "/var/log/v2r-error.log"
  },
 
  "inbounds": [{
    "port": 59000,
    "listen": "192.168.13.25",
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "55f20598-87c6-4a60-b472-81ccfddce81f"
        }
      ]
    }
  }],
  "outbounds": [{
    "protocol": "freedom",
    "settings": {}
  },{
    "protocol": "blackhole",
    "settings": {},
    "tag": "blocked"
  }],
  "routing": {
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "blocked"
      }
    ]
  }
}
  1. 因为V2R配置在内网节点, 还需要在网关机器配置转发, 这个网关机器是Centos7
firewall-cmd --zone=public --add-port=50000/tcp --permanent
firewall-cmd --permanent --zone=public --add-forward-port=port=50000:proto=tcp:toaddr=192.168.13.25:toport=59000
firewall-cmd --reload
  1. 对应客户端的配置
$ more /etc/v2r/config.json
{
  "policy": null,
  "log": {
    "loglevel": "info"
  },
  "inbounds": [
    {
      "tag": "socks-inbound",
      "port": 1090,
      "listen": "127.0.0.1",
      "protocol": "socks",
      "settings": {
        "udp": true
      }
    }
  ],
  "outbounds": [
    {
      "tag": "proxy",
      "protocol": "vmess",
      "settings": {
        "vnext": [
          {
            "address": "123.123.123.123",
            "port": 50000,
            "users": [
              {
        "id": "55f20598-87c6-4a60-b472-81ccfddce81f"
              }
            ]
          }
        ],
        "servers": null,
        "response": null
      }
    },
    {
      "tag": "direct",
      "protocol": "freedom",
      "settings": {
        "vnext": null,
        "servers": null,
        "response": null
      },
      "streamSettings": null,
      "mux": null
    },
    {
      "tag": "block",
      "protocol": "blackhole",
      "settings": {
        "vnext": null,
        "servers": null,
        "response": {
          "type": "http"
        }
      },
      "streamSettings": null,
      "mux": null
    }
  ],
  "stats": null,
  "api": null,
  "dns": null,
  "routing": {
    "domainStrategy": "IPOnDemand",
    "rules": [
        {
            "type": "field",
            "ip": [
                "geoip:private"
            ],
            "outboundTag": "direct"
        }
    ]
  }
}

电池管理

只需要安装tlp就可以查看电池充电阈值了.

sudo apt install tlp
# 查看电池状态
sudo tlp-stat -b
--- TLP 1.3.1 --------------------------------------------
 
+++ Battery Features: Charge Thresholds and Recalibrate
natacpi    = active (data, thresholds)
tpacpi-bat = inactive (kernel module 'acpi_call' not installed)
tp-smapi   = inactive (kernel module 'tp_smapi' not installed)
 
+++ ThinkPad Battery Status: BAT0
/sys/class/power_supply/BAT0/manufacturer                   = SANYO
/sys/class/power_supply/BAT0/model_name                     = 42T4845
/sys/class/power_supply/BAT0/cycle_count                    = (not supported)
/sys/class/power_supply/BAT0/charge_full_design             =   3963 [mAh]
/sys/class/power_supply/BAT0/charge_full                    =   3177 [mAh]
/sys/class/power_supply/BAT0/charge_now                     =   2246 [mAh]
/sys/class/power_supply/BAT0/current_now                    =      0 [mA]
/sys/class/power_supply/BAT0/status                         = Unknown
 
/sys/class/power_supply/BAT0/charge_start_threshold         =     39 [%]
/sys/class/power_supply/BAT0/charge_stop_threshold          =     70 [%]
 
Charge                                                      =   70.7 [%]
Capacity                                                    =   80.2 [%]

设置充电阈值使用 setcharge命令

sudo tlp setcharge 50 80 BAT0

文件管理

20.04的Nautilus还是一样的难用, 而且还出现了一个新的问题, 就是桌面上的文件, 不能通过Del键删除了. 必须打开文件管理窗口在里面删除.

Update 2020-07-14: 系统自动更新Files升级到3.36.3-stable后, 在桌面上可以直接按Del键删除文件了, 但是按Shift + Del时没有弹出确认框.

WPS

直接通过官网下载的deb 11.1.0.9505版, 安装后, 启动非常慢, 需要20多秒才能打开窗口, 通过apt purge wps-office卸载后, 通过snap安装wps-office 10.1.0.6757 from liuyang8, 这个版本启动非常快.

sudo snap install wps-office

注:对HiDPI支持不好

Update 2020-07-14: 安装7月9日发布的 Version 11.1.0.9604后, 启动正常, 对HiDPI的支持也正常.

WPS字体还是要单独安装, 否则启动后会弹出报字体缺失错误. 需要补充的字体是

  • mtextra.ttf
  • symbol.ttf
  • webdings.ttf
  • wingding.ttf
  • wingdng2.ttf
  • wingdng3.ttf

SSH终端管理Asbru

在官网 https://github.com/asbru-cm/asbru-cm/ 参考安装说明进行安装

curl -s https://packagecloud.io/install/repositories/asbru-cm/asbru-cm/script.deb.sh | sudo bash
sudo apt-get install asbru-cm

使用正常

邮件客户端Thunderbird

通过apt install安装, 使用正常

设置邮箱顺序

默认安装的Thunderbird, 邮箱顺序是固定的, 不能编辑, 需要安装Add-on:
Tools->Add-ons->Find more add-ons, 输入Manually sort folders, 安装. 安装完成后, 在Tools下面会增加一个Manually Sort Folders菜单, 在里面可以调整邮箱顺序.

备份邮件,导出邮件

  • 普通方式: 在邮箱里全选邮件, 通过File->Save as->File导出为单个的eml文件
  • 工具方式: 安装Add-on:ImportExportTools NG, 通过工具导出. 选中要导出的目录后, Tools->ImportExportTools NG->Export Remote Folder, 会将这个目录下所有邮件, 以文本的形式导出成单个文件.

腾讯QQ

通过 https://im.qq.com/linuxqq/download.html 下载对应的64位安装包直接安装. 这个QQ实际上是web包装的版本, 功能上相对简陋, 和微信一样必须通过手机扫码才能登录. 对Ubuntu20.04的暗色风格支持不好, 点击关闭不是最小化而是直接关闭. 好在是个官方维护的版本, 期待后续版本改进吧.

Transmission Remote GUI

可以直接通过 apt install transgui安装了, 版本就是最新的5.18, 不需要到github项目去下载64位压缩包, 那个解压完反而是不能运行的(在19.xx和20.xx上都不能运行), 因为GTK2和GTK3不兼容.

默认启动级别

# 命令行状态
systemctl set-default multi-user.target
 
# 图形界面状态
systemctl set-default graphical.target

在命令行下启动图形界面

sudo systemctl start lightdm

命令行状态启动后, 切换到登录提示符按 Ctrl + Alt + (F1~F6) 进入.

图形界面状态启动后, 按Ctrl+Alt+(F3~F6)进入命令行, 按Ctrl+Alt+F2返回图形界面.

安装黑屏问题

在一台2013年的Atom N2800机器上安装Ubuntu20.04 Server时, 在安装界面选择安装后, 读安装盘数秒即黑屏, 再无反应. 更换其他发行版包括Ubuntu18.04, Lubuntu, Linux Mint, Debian, 均出现同样情况. 用Live CD试运行也是一样的情况. 但是用Win PE盘可以正常启动.

经各种尝试, 最终发现是ACPI相关的问题. 解决的方法是:

  1. 在使用安装盘启动时, 需要选择非UEFI的安装盘
  2. 在选择完安装盘后, 立即按F11, 进入Ubuntu的安装选项界面
  3. 在选项界面, 按F6, 调出选项菜单, 在里面勾选 ACPI=off, noapic 和 nolapic 这三个选项,

然后选择Install就能正常启动安装界面了.

Update:

在已经安装的系统, 如果要在启动时进入Grub界面并修改参数, 要修改/etc/default/grub, 将hidden一行注释, 并将timeout的时间修改成正整数, 然后再执行 sudo update-grub.

在启动时, 进入Advance菜单, 在启动项上按e, 如果要修改acpi=off, noapic, nolapic这些参数, 在出现的编辑界面中, 修改linux开头的那行

Update:

经过上面的处理, 可以正常安装和启动, 但是启动后查看cpuinfo可以看到, 只认出了一个核. 经过各种尝试, 可以用下面的参数组合, 既能启动, 又能识别多核

noapic pci=assign-busses apicmaintimer idle=poll reboot=cold,hard

posted on 2020-05-04 13:36  Milton  阅读(4963)  评论(0编辑  收藏  举报

导航