转载请注明原文地址:程序员的 Ubuntu 19.10 配置与优化指南
目录
0x00 环境
CPU: Intel Core i9-9900k
GPU: GeForce RTX 2070 SUPER
RAM: DDR4 16GBx2
OS 1: Ubuntu 19.10 eoan
OS 2: Windows 10 1909
Disk 1: Samsung SSD 970 EVO Plus 500GB - GUID Partition Table(/dev/nvme0n1)
Disk 2: ST4000VX007-2DT166 - GUID Partition Table(/dev/sda)
Disk 3: Samsung SSD 850 EVO M.2 250GB - GUID Partition Table(/dev/sdb)
Ubuntu Partition 1: 1G - Ext4 - /boot/ - 逻辑分区(/dev/sdb1)
Ubuntu Partition 2: 2G - Swap - swap - 逻辑分区(/dev/sdb2)
Ubuntu Partition 3: 40G - Ext4 - /home/ - 逻辑分区(/dev/sdb3)
Ubuntu Partition 4: 206G - Ext4 - / - 主分区(/dev/sdb4)
0x01 前言
阅读顺序
强烈建议先仔细阅读一遍本文,了解注意事项及大概流程后,再应用到实际部署中
开发环境
本文中配置的开发环境主要面向 web 开发及运维,主要包括 NodeJs, Go, Nginx, PHP, MySQL, Python
由于 C 的开发环境笔者主要依靠 VSCode + gcc + gbd,每个人有不同的配置习惯且不同需求的环境相差较大,这里不做详细描述
本机配置
本文所有操作基于 Win10 + Ubuntu 双系统,先安装 Win10,再安装 Ubuntu。安装 Ubuntu 时使用单块硬盘(Disk 3)配置分区,将 Ubuntu 引导系统放在 Windows Boot Manager(/dev/nvme0n1p2),也就是 Windows 的 EFI 分区中,安装完成后该分区将作为引导分区被挂载到 /boot/efi/ 目录
如果不使用双系统
单独安装 Ubuntu 或在虚拟机中安装,并不影响本文中大部分操作,唯一需要注意的是不需要在 Grub 中调整引导顺序
为什么使用 Ubuntu 19.10
在所有 Linux 发行/衍生版本中,Ubuntu 是唯一适合日常开发使用,环境较为成熟,社区论坛较多,软件支持全面并且符合用户操作习惯的版本
在笔者尝试安装 Ubuntu 19.04 的过程中,发现部分硬件打不上驱动,导致了安装后有很多关于底层驱动的操作不适合普通用户,并且 19.10 与 19.04 差距并不大,很多适用于 19.04(disco) 的软件源同样也适用于 19.10(eoan),所以最后选择了 Ubuntu 19.10
有哪些用户
文中主要涉及三个用户
root根用户,在系统中拥有最高权限user系统用户,笔者使用的用户名是 simonriley ,文中为便于辨认使用 user 代替www-data大部分 web 服务使用的用户,由 Nginx 或 PHP-FPM 自动创建,只有 web 服务需要使用该用户用户与系统环境变量配置
按照笔者的习惯,为保证 root 与 user 使用相同的环境,/root/ 目录下 .bashrc,.dircolors 和 .condarc 三个配置文件均使用 /home/user/ 目录下同名文件的软连接
实际部署中发现 root 用户可能不会从 /etc/profile 读取环境变量配置,所以在 .bashrc 中添加如下配置
source /etc/profile注意:在 .bashrc 配置中,为保证后续添加的配置不会被覆盖,默认将新增的配置写在该行下面文件权限配置
使用软件包管理器安装的包,管理器会自动配置权限,但有些包是我们手动下载并配置的,例如 /usr/local/node/ 目录,对于这类包,建议在配置完成后使用下面的命令手动将其权限修改为 user
sudo chown user:user -R /usr/local/node/在终端中使用的用户
终端默认使用的用户是 user ,但实际操作中会遇到很多需要使用 root 权限的命令,在本文中调用该权限的方式为 sudo <command>
注意:在对系统没有足够了解的情况下不建议直接使用 root 用户操作,即使足够了解也请先确认自己知道每一步操作的作用和可能造成的后果。使用 root 用户进行操作所造成的任何损失(包括但不限于文档资料损坏或丢失及硬件损坏)笔者不承担任何责任如果您认为自己有一定 Linux 操作知识,也可以直接使用 sudo -s 切换到 root 用户进行操作,只要保证创建一些需要从桌面启动的文件/文件夹时能够将其权限设置为 user ,或出现权限问题能够通过查看和理解错误输出及时意识到问题所在即可
注意:在对系统没有足够了解的情况下不建议直接使用 root 用户操作,即使足够了解也请先确认自己知道每一步操作的作用和可能造成的后果。使用 root 用户进行操作所造成的任何损失(包括但不限于文档资料损坏或丢失及硬件损坏)笔者不承担任何责任文中有些文件名为什么和我下载的不一样
文中下载的有些文件名是带有版本号的,例如 software-1.12.1.tar.gz,这里所有版本号均使用 “x” 代替:software-x.xx.x.tar.gz
配置的应用及重启
文中很多配置在完成后需要重启才会被应用,为减少重启次数,本文将所有重启应用的配置都放在 0x02 步骤中,完成该步骤后只需重启一次
0x02 安装后保证系统能够正常使用
系统使用 RTC 时间
Ubuntu 安装完成后会出现系统时间与硬件时间不同步的情况,导致 Windows 时间不正确,Windows 端无法进行加密相关的验证
timedatectl set-local-rtc 1 --adjust-system-clock更换国内软件源
软件源分别来自 TUNA(清华大学 TUNA 协会 创建的 清华大学开源软件镜像站)和 OPSX(阿里云 创建的 阿里巴巴开源镜像站)
编辑 /etc/apt/sources.list
删除原本的源,添加如下
## TUNA debeoan main restricted universe multiverse deb-srceoan main restricted universe multiverse debeoan-updates main restricted universe multiverse deb-srceoan-updates main restricted universe multiverse debeoan-backports main restricted universe multiverse deb-srceoan-backports main restricted universe multiverse debeoan-security main restricted universe multiverse deb-srceoan-security main restricted universe multiverse ## OPSX debeoan main restricted universe multiverse deb-srceoan main restricted universe multiverse debeoan-security main restricted universe multiverse deb-srceoan-security main restricted universe multiverse debeoan-updates main restricted universe multiverse deb-srceoan-updates main restricted universe multiverse debeoan-proposed main restricted universe multiverse deb-srceoan-proposed main restricted universe multiverse debeoan-backports main restricted universe multiverse deb-srceoan-backports main restricted universe multiverse更改完成后检查所有软件包的更新并升级
sudo apt update sudo apt upgrade使 root 与 user 配置同步
将 /home/user/ 目录下的配置建立到 /root/ 目录的软链接
sudo ln -sf /home/user/.bashrc /root/ sudo ln -sf /home/user/.dircolors /root/安装常用软件包
sudo apt install curl git htop fcitx-googlepinyin gnome-tweak-tool gnome-shell-extensions chrome-gnome-shell vim hwinfo| 软件包 | 用途 | | :----: | :--: | | curl | 基于 URL 的文件传输/请求模拟 | | git | GitHub 命令行客户端 | | htop | 进程管理 | | fcitx-googlepinyin | Google 拼音输入法 | | gnome-tweak-tool | Gnome 优化工具 | | gnome-shell-extensions | Gnome 扩展管理 | | chrome-gnome-shell | Chrome 的 Gnome 扩展管理插件 | | vim | 基于命令行的文本编辑器 | | hwinfo | 查看硬件信息 |
安装语言支持并修改输入法
从应用菜单中找到 语言支持 ,打开后会提示 系统中安装的语言支持不完整 ,点击 安装 ,等待安装完成
安装完成后,将键盘输入法系统更改为 fcitx
此时输入法修改并不会立即生效
0x03 优化显示
优化 Grub 显示
Grub 实际的配置文件是由多个配置自动生成的,所以这里需要修改多个文件
修改 Grub 分辨率
Grub 默认会使用硬件能够输出的最小分辨率,导致 Grub 界面模糊
查看显卡在 Grub 中能够输出的分辨率
sudo hwinfo --framebuffer笔者该命令的输出中,最大分辨率 1920x1080,实际使用中可能会出现更高的分辨率
在 /etc/default/grub 中修改 Grub 显示分辨率为刚才查询到的最大分辨率
GRUB_GFXMODE=1920x1080[可选] 修改 Grub 中显示的操作系统顺序
/etc/grub.d/ 目录中存放的是 Grub 能够引导的操作系统的配置文件,按照 启动顺序_操作系统名 生成实际的启动顺序
这里由于笔者习惯,需要将第一启动项修改为 Windows,直接将 30_os-prober 前的数字改到小于 10_linux 即可
注意:该目录下有一些需要在所有操作系统前启动的配置,例如 00_header 和 05_debian_theme,修改的数字要大于这些为 Grub 安装主题
在 grub2-themes - GitHub 下载 Release 包
解压后运行 install.sh,通过参数选择主题及支持的分辨率,具体请参考上面的 GitHub 项目主页
这里安装的是 vimix 主题
sudo ./install.sh --vimix修改 Grub 背景颜色
虽然已经设置了 Grub 主题,但实际上它只是在默认的紫色背景上显示了一张图片进行覆盖,当选择操作系统退出 Grub 后,有些主板仍然会显示默认的紫色背景
这可能导致启动系统时屏幕出现 黑 -> Grub -> 黑 -> 紫 -> 黑 -> OS ,影响美观,所以这里将背景修改为黑色
编辑 /usr/share/plymouth/themes/default.grub 文件,将原本的脚本注释并写入新的
#if background_color 79,25,76,0; then if background_color 0,0,0; then应用以上 Grub 更改
上面说过 Grub 的配置是由多个文件生成的,系统提供了升级 Grub 重新生成配置文件的命令
update-grub优化终端显示
修改终端配色
这里先修改 /home/user/ 目录下的 .bashrc 和 .dircolors,然后在 /root/ 目录下建立软链接,确保能够同步
在 ~/.bashrc 中注释掉如下配置
#if [ "$color_prompt" = yes ]; then #PS1=${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ #else #PS1=${debian_chroot:+($debian_chroot)}\u@\h:\w\$ #fi #unset color_prompt force_color_prompt # If this is an xterm set the title to user@host:dir #case "$TERM" in #xterm*|rxvt*) #PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" #;; #*) #;; #esac并添加如下配置
PS1=${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[38;5;39m\]\w\[\033[00m\]\$但此时使用 ls 命令显示的文件夹颜色较深,使用下面的命令修改
dircolors -p > ~/.dircolors sed -ie s/DIR 01;34/DIR 38;5;39/g ~/.dircolors优化 Terminal 窗口显示
Ctrl + Alt + T 打开 Terminal 窗口
右上角设置配置文件首选项常规关闭 启用菜单快捷键(影响 htop 退出)配置文件未命名文本文本外观终端起始尺寸 140 列 40 行颜色文本和背景颜色关闭 使用系统主题中的颜色内置方案 -> Tango 暗色关闭 使用系统主题的透明度开启 使用透明背景 ,将其调整为约 15%滚动关闭 回滚限制到 10000 行0x04 日常使用优化
修改用户 home 目录下文件夹名为英文
由于日常使用终端使用的都是英文,切换到中文目录中比较麻烦,并且中文可能会导致一些问题
注意:该步骤所有命令使用 user 用户操作通过以下命令修改系统语言
export LANG=en_US更新 GTK 语言
xdg-user-dirs-gtk-update弹出 Update standard folders to current language? 对话框,选择 Update Names
一下命令将系统语言重新修改为中文
export LANG=zh_CN此时该步骤并未结束,重启后会提示 将标准文件夹更新到当前语言吗? ,先选择 不要再次询问我 ,再点击 保留旧的名称
重启
以上大部分更改都是重启后才被应用,为减少重启次数,本文先完成以上所有配置,至此重启一次即可
注意:此时重启后默认启动项是 Windows0x05 桌面优化
卸载不需要的软件
打开 Ubuntu 软件
卸载如下软件包
AisleRiot 纸牌游戏AmazonGNOME 扫雷GNOME 数独GNOME 麻将牌Firefox 网络浏览器或者您习惯使用 Firefox 浏览器可以留下它,但强烈推荐您使用 Chrome 浏览器
安装 Chrome 请参考步骤 0x07
卸载预装扩展
删除/usr/share/gnome-shell/extensions/目录下的ubuntu-dock扩展(该扩展会与 Dash to Dock 产生冲突导致安装失败)
Alt + F2,输入 r 并回车重载桌面
在 Chrome 中安装扩展
在 Chrome 中安装 GNOME Shell integration 扩展
安装完成后访问 Gnome Extensions
进入扩展页面后开启扩展即可自动安装,在 优化 应用中可以管理扩展
推荐如下扩展
User ThemesDash to DockTop Icons PlusTop Icons Plus 扩展需要使用包管理器安装
sudo apt install gnome-shell-extension-top-icons-plus安装 Gnome Shell 主题
访问 Gnome Look - Gnome Shell Themes 下载更多,各主题安装方式可能不同,请参考主题页面
推荐 Flat-Remix 主题
sudo add-apt-repository ppa:daniruiz/flat-remix sudo apt update sudo apt install flat-remix-gnome安装图标主题
推荐 Paper 图标主题
sudo add-apt-repository -u ppa:snwh/ppa该源中并不包含 Ubuntu 19.10(eoan),但 Ubuntu 19.04(disco)的主题包也可以应用在 19.10 中,这里手动更改版本
编辑 /etc/apt/sources.list.d/snwh-ubuntu-ppa-eoan.list
将链接后的 eoan 修改为 disco
更新软件包列表并安装图标主题
sudo apt update sudo apt install paper-icon-theme修改 Gnome 桌面设置
打开 Gnome Tweak Tool(优化)
外观主题应用程序 -> Adwaita-dark图标 -> PaperShell -> Flat-Remix-Darkest-fullPanel开机启动程序 -> 添加 Clash配置 Dash to dock 扩展
打开 Gnome Tweak Tool(优化)
扩展配置 Dash to dock位置和大小智能隐藏设置自动隐藏开启 在全屏模式下启用避开窗口 -> 选择 仅最大化窗口 启动器开启 隔离工作区外观Customize windows counter indicators -> Dashes自定义透明度 -> 固定20%Alt + F2,输入 r 并回车重载桌面
0x06 开发环境安装及配置
[可选] Clash 或 ClashR
下载 Clash 各组件
如果您有服务商或自建节点,该步骤将帮助您使用 Clash 或 ClashR 连接 Vmess 及 SSR 节点
该步骤使用 Clash 举例,ClashR 相同
在 Clash - GitHub 下载 Release 包
注意:下载 clash-linux-amd64-vx.xx.x.gz 格式的包或在 ClashR - GitHub 下载 Release 包
注意:下载 clashr-linux-amd64-vx.xx.x.x.gz 格式的包解压后重命名为 clash 或 clashr 并赋予执行权限
mv clash-linux-amd64-vx.xx.x clash chmod +x clash在 maxmind-geoip - GitHub 下载 Country.mmdb 文件,该文件提供基于 IP 的定位
在Clash GitHub 源码 中下载 Clash 的 Logo,作为桌面图标
在您的服务商处下载 Clash 或 ClashR 节点列表,并更名为 config.yaml
将以上四个文件放到 /usr/local/clash/ 目录中
启动脚本
该脚本实现了以下功能
检查正在运行的 Clash 客户端并关闭为 Clash 生成运行日志启动新的 Clash 客户端每次启动时检查日志是否超过 15 份,超出删除在该文件夹下建立 Clash 的启动脚本 clash_startup.sh
注意:脚本中变量值根据实际情况配置#!/bin/bash CLASH_APP_NAME="clash" CLASH_APP_PATH="/usr/local/clash" CLASH_CONFIG_PATH="/usr/local/clash" CLASH_LOG_PATH="/usr/local/clash/log" LOG_DATE=$(date +%Y%m%d) CHECK_CLASH_PID=$(ps aux | grep "./$CLASH_APP_NAME -d $CLASH_CONFIG_PATH" | grep -v grep | awk {print $2}) mkdir -p $CLASH_LOG_PATH LOG_NUM=$(ls -lR $CLASH_LOG_PATH | wc -l) LOG_NUM_MAX=15 if [ -n "$CHECK_CLASH_PID" ]; then for clash_pid in $CHECK_CLASH_PID; do kill -9 $clash_pid done fi cd $CLASH_APP_PATH && nohup ./$CLASH_APP_NAME -d $CLASH_CONFIG_PATH 2>&1 >>$CLASH_LOG_PATH/$CLASH_APP_NAME-$LOG_DATE.log & if [ $LOG_NUM -gt $LOG_NUM_MAX ]; then for i in $(seq 1 $(($LOG_NUM-$LOG_NUM_MAX))); do log_old=$(ls $CLASH_LOG_PATH | sort -n | head -1) rm -f $CLASH_LOG_PATH/$log_old done fi为脚本添加执行权限
chmod +x clash_startup.shClash 桌面图标
在 /usr/share/applications/ 目录中 创建 Clash 桌面图标文件 clash.desktop 并写入如下配置
注意:配置值根据实际情况填写[Desktop Entry] Version=1.0 Name=Clash GenericName=Clash Comment=Clash Exec=/usr/local/clash/clash_startup.sh Terminal=false Icon=/usr/local/clash/logo.png Type=Application Categories=NetworkClash 管理界面的桌面图标
在 /usr/share/applications/ 目录中 创建 Clash 管理界面的桌面图标文件 clash-panel.desktop 并写入如下配置
注意:配置值根据实际情况填写 注意:该配置是使用 Chrome 打开 ,如果使用其他浏览器,将 Exec 项的值修改为您使用的浏览器打开指定链接的命令即可[Desktop Entry] Version=1.0 Name=Clash Panel GenericName=Clash Panel Comment=Clash admin GUI Exec=/usr/bin/google-chrome-stable Terminal=false Icon=/usr/local/clash/logo.png Type=Application Categories=Network配置系统和应用代理
Clash 默认使用 7890 端口进行 HTTP/HTTPS 代理,使用 7891 端口进行 SOCKS5 代理
系统设置 -> 网络 -> 网络代理 -> 手动 ,设置为如下值
HTTP 代理 127.0.0.1 7890 HTTPS 代理 127.0.0.1 7890 Socks 主机 127.0.0.1 7891此时即可配置应用代理为以上对应的地址和端口实现代理(Chrome 默认使用系统的配置)
配置命令行代理
但有些命令行不使用 Gnome 中设置的代理,可以通过软件包 Proxychains 设置
sudo apt install proxychains编辑 /etc/proxychains.conf
注释掉最后一行的 socks4 配置,添加 socks5 配置
#socks4127.0.0.1 9050 socks5 127.0.0.1 7891使用方法
proxychains <command>测试
proxychains curl google.comMySQL 8.0
从 官网 下载安装包
注意:该安装包的作用是将 MySQL 官方源列表安装到本地,并非直接安装 MySQL点击 Download 后在跳转的页面中选择 No thanks, just start my download
下载完成后使用 apt 安装
sudo apt install ./mysql-apt-config_0.8.15-1_all.deb在弹出的 mysql-apt-config 中选择 OK
安装完成后更新软件包列表并安装 mysql-server 包
注意:建议先使用 apt show mysql-server 查看包信息,确认 APT-Source 项为 MySQL 官网(http://repo.mysql.com)sudo apt update sudo apt install mysql-server根据提示输入 MySQL root 用户的密码
注意:该用户是 MySQL 的根用户,与系统 root 用户不同在 Select default authentication plugin 中有以下两个选项,如果想使用新版加强的密码加密插件,可以选择第一个。想使用 5.x 版本的认证方法,选择第二个。他们的区别主要在于对密码强度的要求
Use Strong Password Encryption (RECOMMENDED) Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)
这里建议选择第二个,在实际测试中发现第一项可能导致某些客户端无法登录的问题
Anaconda3
Anaconda 是一个很方便的 Python 包和虚拟环境管理器,详情请参考 Anaconda Doc
安装 Anaconda3
从 TUNA 下载 Anaconda3-xxxx.xx-Linux-x86_64.sh 格式的安装脚本
赋予执行权限并安装
chmod +x Anaconda3-xxxx.xx-Linux-x86_64.sh ./Anaconda3-xxxx.xx-Linux-x86_64.sh安装过程中会询问安装位置,填写为 /usr/local/anaconda3 即可
安装最后一步会询问 Do you wish the installer to initialize Anaconda3 by running conda init? [yes|no]
建议输入 yes
更换为 TUNA 源
换 TUNA 源
首先使用 user 用户执行 conda config --set show_channel_urls yes 命令生成配置文件
修改 user 用户 home 目录下的 .condarc 文件为如下
channels: - defaults show_channel_urls: true channel_alias: default_channels: - /pkgs/main - /pkgs/free - /pkgs/r - /pkgs/pro - /pkgs/msys2 custom_channels: conda-forge: /cloud msys2: /cloud bioconda: /cloud menpo: /cloud pytorch: /cloud simpleitk: /cloud在 root 用户 home 目录下建立软连接
sudo ln -sf /home/user/.condarc /root/Anaconda 默认使用 Python 3.7,但实际开发中多使用 Python 3.6
清除索引缓存并将当前 conda 环境下 python 版本替换为 3.6
conda clean -i conda install python=3.6Java SE 8u241
截至目前(2020年4月12日),Oracle 发布的最新 Java SE 版本为 14,但为了兼容旧项目以及其他应用,这里仍然选择安装配置 Java SE 8u241
访问 Java 官网
点击 Java SE Development Kit 8u241 下的 Linux x64 Compressed Archive 右侧链接下载
在弹出的对话框中选中 I reviewed and accept ... ,然后点击 下载
在跳转的页面中登录 Oracle 帐号
解压后将其移动到 /usr/local/ 目录下
编辑 /etc/profile 文件,增加如下配置
export PATH=$PATH:/usr/local/jdk1.8.0_241/bin export JAVA_HOME=/usr/local/jdk1.8.0_241 export JRE_HOME=/usr/local/jdk1.8.0_241/jreGo
访问 GoLang 官网
点击 Linux 开始下载
解压后移动到 /usr/local/ 目录下
在 /etc/profile 中添加以下配置
export PATH=$PATH:/usr/local/go/bin export GOROOT=/usr/local/go export GOPATH=/usr/local/go/srcNodeJs
安装 NodeJs
访问 NodeJs 官网
点击 长期支持版 开始下载
解压后重命名为 node 并移动到 /usr/local/ 目录下
在 /etc/profile 中添加以下配置
export PATH=$PATH:/usr/local/node/bin安装 cnpm
由于 npm 官方源位于国外,这里安装 cnpm,使用淘宝源进行 nodejs 包管理,在之后的使用中可以直接使用 cnpm 替换 npm
npm install -g cnpm --registry=https://registry.npm.taobao.orgPHP 7.3
安装 PHP 7.3
sudo apt install php7.3-fpm使 FastCGI 监听端口
FastCGI 默认监听 /run/php/php7.3-fpm.sock 文件,按照习惯这里修改为监听 9000 端口
将 /etc/php/7.3/fpm/pool.d/www.conf 中 listen 的值修改为 9000
Nginx
安装 Nginx
sudo apt install nginx配置 Nginx 解析 PHP
编辑 /etc/nginx/site-enabled/default,在 server {} 块中添加如下配置
location ~ \.php(.*)$ { fastcgi_pass 127.0.0.1:9000; fastcgi_indexindex.php; fastcgi_split_path_info^(.+\.php)(.*)$; fastcgi_paramPATH_INFO$fastcgi_path_info; fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name; fastcgi_paramPATH_TRANSLATED$document_root$fastcgi_path_info; includefastcgi_params; }替换将 server {} 块中的 index 配置替换为如下
index index.php index.html index.htm;使用以下命令重启 Nginx 和 php-fpm
systemctl restart nginx systemctl restart php7.3-fpm访问 测试 Nginx 是否配置成功
Nginx 的 web 根目录默认位于 /var/www/html/ 目录,在该目录下创建 index.php 文件,写入如下代码并访问 测试 php 可用性
<?php phpinfo(); ?>测试完成后删除 index.php 中的内容
0x07 应用安装及配置
Chrome 浏览器
下载 Chrome 并安装
wget sudo apt install ./google-chrome-stable_current_amd64.debFree Download Magager 5
FDM5 是一个开源下载器
访问 FDM5 官网 下载安装包
sudo apt install ./freedownloadmanager.deb在 Chrome 中安装 Free Download Manager 扩展,可接管浏览器下载行为
Sarasa Term SC 字体
这是一个开源的等宽字体,中文名为 更纱黑体 ,该字体可以解决在 Chromium 内核中等宽字体渲染错误导致不等宽的问题(例如 YaHei Consolas Hybrid 在 VSCode 中)
虽然这个字体一开始用会觉得很奇怪,用习惯了还挺好看
访问 Sarasa GitHub 下载 sarasa-gothic-ttf-x.xx.x.7z 格式的 Release 包
注意:该字体包中包含了多种字体,我们只需要双击 sarasa-term-sc 开头的字体并点击右上角 安装 即可MySQL Workbench
sudo apt install mysql-workbenchVSCode
安装 VSCode
访问 VSCode 官网 点击 .deb 开始下载
sudo apt install ./code_x.xx.x-xxxxxxxxxx_amd64.deb插件推荐
Chinese (Simplified) Language Pack for Visual Studio CodeC/C++ESLintMarkdown All in OnemarkdownlintPolacodeProject ManagerPythonRemote DevelopmentRemote - ContainersRemote - SSHRemote - SSH: Editing Configuration FilesRemote - WSLTodo Tree将以下配置写入 setting.json(VSCode 的用户配置文件)
{ "editor.fontFamily": "Sarasa Term SC", "editor.mouseWheelZoom": true, "editor.fontSize": 16, "todo-tree.tree.showScanModeButton": false }网易云音乐
访问 网易云音乐官网
右上角 下载全部客户端 -> Linux版 -> ubuntu 18.04(64位)
sudo apt install ./netease-cloud-music_x.x.x_amd64_ubuntu_xxxxxxxx.debVLC
开源播放器
sudo apt install vlcFileZilla
开源 FTP 客户端
sudo apt install filezillaTelegram
加密即时通讯
sudo apt install telegram-desktopPostman
HTTP 请求模拟/测试
安装 Postman
访问 Postman 官网,点击 Download 下载
将解压后的文件夹移动至 /usr/local 下
Postman 桌面图标
在 /usr/share/applications/ 目录下为其建立桌面图标 postman.desktop 并写入如下配置
[Desktop Entry] Version=1.0 Name=Postman GenericName=Postman Comment=Postman Exec=/usr/local/Postman/Postman Terminal=false Icon=/usr/local/Postman/app/resources/app/assets/icon.png Type=Application Categories=Development修改 Postman 工作目录
Postman 默认将工作文件放在用户 home 目录下且不隐藏
这里将 settings -> General -> WORKING DIRECTORY -> Location 修改为 /home/user/.postman/ 目录
Meld
开源文件/文件夹 Diff + Merge 工具
sudo apt install meldHMCL
Minecraft 第三方启动器
注意:确保本地配置了 jdk 环境且 java 命令可用安装 HMCL
访问 HMCL 官网 下载.jar 包
下载后将其重命名为 HMCL.jar
创建启动脚本
创建启动脚本 hmcl.sh,便于桌面调用
#!/bin/bash HMCL_PATH="/usr/local/minecraft" HMCL_NAME="HMCL.jar" cd $HMCL_PATH && java -jar $HMCL_NAME赋予其执行权限
chmod +x hmcl.sh下载 logo 并将其重命名为 logo.png
Logo 来自 HMCL 官方 Github 的资源目录,同级目录下有其他 Logo 可供使用,以下为可用的 Logo 链接列表
书架鸡命令方块工作台FabricForge熔炉草方块在 /usr/local 目录下建立 minecraft 文件夹,将 HMCL 的 jar 包,启动脚本和 logo.png 移动到该目录中
HMCL 桌面图标
在 /usr/share/applications/ 目录下为其建立桌面图标 hmcl.desktop
[Desktop Entry] Version=1.0 Name=HMCL GenericName=Hello Minecraft! Launcher Comment=A Minecraft Launcher which is multi-functional, cross-platform and popular Exec=/usr/local/minecraft/hmcl.sh Terminal=false Icon=/usr/local/minecraft/logo.png Type=Application Categories=Game修改下载缓存位置
启动器设置 -> 文件下载缓存目录 修改为 /usr/local/minecraft/.minecraft/ 目录
注意:需要将 HMCL 下载源修改为官方源才能正常安装 fabricJetbrains 系列 IDE
这里使用 idea 举例
访问 JetBrains 官网,顶部 Tool 选择要下载的 IDE,跳转后点击 Download ,下载 Ultimate 或 Professional 版本
解压后将其放在 /usr/local/ 目录下,其可执行程序一般位于 ide文件夹/bin/ 目录下,例如 idea/bin/idea,使用 user 用户运行,在配置过程中会自动创建桌面图标,无需用户配置
开始配置前请务必参考 知了 Blog