最近 Ubuntu 发布了 20.04 LTS 版本,我也在第一时间安装体验。因为各类 Linux 发行版本并不像 MacOS、Windows 同样开箱即用,所以须要作不少配置。每次配置都须要查阅各类资料,虽然网络上有不少配置文章,但基本上都会存在一些问题:php
所以我但愿整理一份最佳配置指南,除了记录须要作什么,还会说明背后的原理和技术背景。一方面方便本身从此查阅,另外一方面也想将这份指南分享给你们,并和你们一块儿逐步完善它。因此,这是一份会持续更新的、有实操有原理、内容丰富的最佳配置指南。python
关注公众号 BaronTalk,回复 Ubuntu 便可下载最新的 PDF 版本配置文档。
为了不每次使用 sudo 命令时都输入密码,咱们能够将密码关闭。操做方法:linux
sudo visudo
,打开 visudo;%sudo ALL=(ALL:ALL) ALL
这一行修改成%sudo ALL=(ALL:ALL) NOPASSWD:ALL
Ubuntu 默认的软件源是境外的,速度上会有些问题,咱们能够在「Software & Updates」(软件和更新)中选择国内的镜像。git
# 更新本地包数据库 sudo apt update # 更新全部已安装的包(也可使用 full-upgrade) sudo apt upgrade # 自动移除不须要的包 sudo apt autoremove
这里补充几个经常使用的清理命令:github
默认状况高分屏下 UI 元素显得太小,所以须要调整界面的缩放比例。Ubuntu20.04 默认是 GNOME 桌面,GNOME 能够在 Settings>Displays(设置>显示)中开启 HiDPI 支持,以整数倍来调整屏幕比例。也能够经过以下命令的来设置:chrome
# scaling-factor 仅能设置为整数 1=100%,2=200% 3=300% ...... gsettings set org.gnome.desktop.interface scaling-factor 2
整数倍的缩放设置,在部分设备上 UI 元素要么显得过大,要么显得太小,所以咱们须要进一步调整。shell
使用下面的命令查看你 Linux 设备上的 Window System(图形接口协议),一般是 Wayland/X11数据库
echo $XDG_SESSION_TYPE
Waylandubuntu
若是是 wayland,使用下面的命令启动实验性的非整数倍缩放功能。vim
gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"
以后再次打开 Settings>Displays,就能够选择非整数倍缩放(125%、150%、175%)。Ubuntu20.04 已经在 Settings>Displays 中提供了图形化的界面来开启实验性的非整数倍的缩放功能,所以无需经过上面的命令来开启。
我试验下来,这种方式没法在个人设备上正常设置非整数倍缩放。我判断是由于 Ubuntu20.04 默认的 Window System 是 X11 而不是 Wayland,若是你的设备上是 Wayland,应该是能够正常设置的。或者你在登录桌面系统时选择 Ubuntu On Wayland 理论上也是能够的。
X11
对于 X11,咱们能够同时使用 scaling-factor 和 xrandr 来实现非整数倍缩放,这可使 TTF 字体被正确缩放,防止单独使用 xrandr 时出现的模糊现象。你可使用 gsettings 或者在 Settings>Displays 中来指定放大系数,并用 xrandr 指定缩小系数。
首先将界面缩放系数设置为「UI看起来太大」的最小系数,一般是 2(200%),若是不够大就继续尝试 3 甚至更大的系数。而后使用 xrandr 来设置缩小系数,我本身设置的是 1.25,若是 UI 看起来太大就提升系数,反之就下降系数。命令以下:
xrandr --output DP-4 --scale 1.25x1.25
使用上述命令你可能会遇到 warning: output DP-4 not founnd; gnoring
的提示,或者执行命令后界面无任何变化。此时你须要执行 xrandr
命令来查看你的 output 参数(也就是当前显示接口的名称,日志中显示 connected 的就是),好比我设备上的是 DP-4。
正确执行完命令后可能会出现 UI 元素太小的状况,回去 Settings>Displays 中看看,是否是整数倍缩放被还原成了 100%,若是是从新选择合适的缩放比例便可(好比 200%)。
重启后 xrandr 的设置会失效,咱们能够设置个启动自动执行的脚本,好比 start-service.sh :
# start-service.sh #!/bin/bash xrandr --output DP-4 --scale 1.25x1.25 exit 0
接着给 start-service.sh 授予执行权限
bash sudo chmod +x start-service.sh
而后在 Ubuntu 中搜索「sartup Applications」(启动应用程序) ,将脚本添加进去:
至此就能完美的支持 4K 屏显示了。
Ubuntu20.04 自带了 python3,可是某些第三方工具或者脚本仍是用的 python2,所以咱们须要自行安装
apt install python
apt install git
因为搜狗输入法目前还不支持Ubuntu20.04,加之其对高分屏支持不太友好,所以再也不折腾选择了 ibus-libpinyin。
# 安装 sudo apt install ibus-libpinyin sudo apt install ibus-clutter
接着在应用程序中找到「Language Support」(语言支持),更改「Keyboard input method system」(键盘输入法系统)为「IBUS」。重启系统,而后在Settings>Region & Language>Input Sources(设置>区域与语言>输入源)中新增「Chinese(Intelligent Pinyin)」(中文(智能拼音))就可使用中文输入法了。
若是你用惯了 Mac 平台下的 iTerm2,必定会对它的分屏功能恋恋不忘,然而 Ubuntu 自带的 Terminal 并很差用。好在 Linux 下有各类开源 Terminal,我的比较推荐 Terminator,强大如 iTerm2,同样支持分屏。
# 安装 sudo add-apt-repository ppa:gnome-terminator sudo apt update sudo apt install terminator
Terminator 默认的界面比较丑,不过配置灵活,你们能够根据喜爱自行调整。
搞定了 Terminal,接下来配置 Shell。执行下面的命令:
cat /etc/shells
能够看到 Ubuntu 已经内置了各类 Shell:
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
市面上经常使用的 Linux 发行版本一般默认使用的 Shell 都是 bash,但 zsh 要远比 bash 强大的多。
# 安装 zsh apt install zsh # 将 zsh 设置为系统默认 shell sudo chsh -s /bin/zsh
不过 zsh 的配置太复杂,好在有人开发了 oh-my-zsh,可让咱们更方便的配置 zsh。
# 自动安装,若是你没安装 git 须要先安装 git wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh # 或者也能够选择手动安装 git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
重启 Terminal 你就能发现变化。
zsh 的配置主要集中在 ~/.zshrc 文件里,好比咱们能够给经常使用命令配置别名:
alias cls='clear' alias ll='ls -l' alias la='ls -a' alias vi='vim' alias grep="grep --color=auto"
或者选择 zsh 的主题
ZSH_THEME="robbyrussell"
oh-my-zsh 内置了不少主题,对应的主题文件存放在 ~/.oh-my-zsh/themes 目录下,你能够根据本身的喜爱选择或者编辑主题。
oh-my-zsh 还支持各类插件,存放在 ~/.oh-my-zsh/plugins 目录下。这里推荐几款:
autojump:快速切换目录插件
# 安装 apt install autojump # 使用 j Document/
zsh-autosuggestions:命令行命令键入时的历史命令建议插件
# 安装 git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
zsh-syntax-highlighting:命令行语法高亮插件
# 安装 git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
插件安装好后须要在 ~/.zshrc 文件里配置后方可以使用,配置以下:
# 打开 ~/.zshrc 文件,找到以下这行配置代码,在后面追加插件名 plugins=(其余插件名 autojump zsh-autosuggestions zsh-syntax-highlighting)
配置好Terminator 和 ZSH 后,咱们还能够为命令行添加些有趣的小玩具。
终端黑客帝国屏保
# 安装 sudo apt install cmatrix # 运行(加上 -lba 参数看起来更像电影,加上 -ol 参数起来更像 Win/Mac 的屏保) cmatrix
效果图:
终端小火车动效
# 安装 sudo apt install sl # 运行 sl
效果图:
The bash Screenshot Information Tool,用于在终端显示系统信息及 ASCII 化的 Linux 发行版图标
# 安装 sudo apt install screenfetch # 运行 screenfetch
效果图:
第一步:到 https://github.com/Dreamacro/clash/releases 下载最新的 Linux 版 Clash,例如:clash-linux-amd64-v0.19.0.gz。解压后获得一个可执行文件 clash-linux-amd64-v0.19.0:
tar -zxvf clash-linux-amd64-v0.19.0.gz
第二步:使用 mv 命令移动到 /usr/local/bin/clash:
sudo mv clash-linux-amd64-v0.19.0 /usr/local/bin/clash
第三步:终端输入 sudo chmod +x /usr/local/bin/clash 添加执行权限;
sudo chmod +x /usr/local/bin/clash
第四步:终端执行 clash 命令,运行 clash;
# 运行 clash clash
此时会在 /home/{用户ID}/.config/clash 目录下生成两个文件:config.yaml 和 Country.mmdb;编辑 config.yaml 文件,配置代理服务器信息和规则,部分商家会提供yaml文件,下载后 copy 过来便可;
重启 clash(关闭并从新打开终端,执行 clash 命令)以加载更新后的配置文件;
保持 clash 运行,打开浏览器访问 clash.razord.top 进行策略配置、选择代理线路等等(可能须要根据提示输入IP、端口和口令,具体内容可在 config.yaml 中查看;
继续保持 clash 运行,在系统网络设置中设置手动代理 Settings>Network>Network Proxy>Manual(设置>网络>代理>手动),配置信息参考 config.yaml 或者启动 clash 时终端输出的日志。此时就能够经过 clash 访问网络了。
按照前面的方式配置好后,每次系统启动时都须要打开终端,执行 clash 命令,而且终端不能够关闭,不然整个 clash 进程就结束了。若是不想一直保持终端打开,可以使用 nohup clash 命令启动后台运行。或者但愿开机自启动 clash,可将
nohup clash
这段命令加入到前面提到的 start-service.sh 脚本的最后。
# or run: # sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add - # add Typora's repository sudo add-apt-repository 'deb https://typora.io/linux ./' sudo apt update # install typora sudo apt install typora
安装 JetBrains 的 ToolBox App 后能够无脑一键安装旗下各类 IDE,包括 Android Studio。
对于官网已经提供了 Ubuntu 版本 .deb 安装文件的,可在官网下载 .deb 安装文件后,执行下面的命令安装:
# 安装 sudo apt install ./<file>.deb
若是你是较早的 Linux 发行版本,须要使用下面的命令安装(下同):
sudo dpkg -i <file>.deb
sudo apt-get install -f # Install dependencies
部分应用下载地址:
注:部分应用程序并不受 Scale 缩放系数的控制,所以即便在 Settings>Displays(设置>显示)中将 Scale 设置为了 200% 后,UI 元素在高分屏下依旧显示太小。好比:ZOOM、网易云音乐等,为了解决这一问题可以使用下面的命令来启动,便可正常显示。
# 启动zoom,缩放倍数可根据须要自行调整 QT_SCALE_FACTOR=2 zoom # 启动网易云音乐 QT_SCALE_FACTOR=2 netease-cloud-music
对于官网未提供了 Ubuntu 版本 .deb 安装文件,但 deepin 中有的应用程序,可使用 Deepin-Wine 来安装。
wine 是一种在 Linux 平台实现了部分 Windows 系统 API 的技术,可让用户在 Linux 平台无缝使用 Windows 平台的应用程序。
deepin-wine 是国内的深度社区在 deepin linux 上通过改造的 wine 程序,而且社区在 deepin-wine 之上移植了不少的 Windows 软件,好比微信、QQ、TIM等。
github 上有人开发了一个项目 deepin-wine-ubuntu,将 deepin-wine 及其之上适配好的各类 deb 软件包迁移到了 Ubuntu 上。要安装微信、QQ等软件,咱们须要先安装 deep-wine-ubuntu。方法以下:
# 首先 clone deepin-wine-ubuntu 源码到本地 git clone git@github.com:wszqkzqk/deepin-wine-ubuntu.git # 切换到源码目录 cd deepin-wine-ubuntu # 安装脚本受权 sudo chmod +x install_2.8.22.sh # 安装 deep-wine-ubuntu ./install_2.8.22.sh
deep-wine-ubuntu 安装完成以后,咱们就能够下载深度社区提供的各类 deb 软件,具体安装方同第 4 小节的安装方式:
# 安装 sudo apt install ./<file>.deb
深度社区提供的各类 deb 软件下载地址:
部分软件下载地址:
更多安装方法及软件地址能够参考 https://github.com/wszqkzqk/deepin-wine-ubuntu
若是你的系统语言非中文,经过 deepin-wine 启动的软件中文会出现乱码。你须要将 /opt/deepinwine/tools/run.sh 文件中 WINE_CMD 这一行修改成:
WINE_CMD="LC_ALL=zh_CN.UTF-8 deepin-wine"
不少软件只提供了 rmp 格式的安装包,并未提供 deb 格式的安装包,好比:xmind。所以咱们须要将其转为 deb 安装包在再进行安装。这里咱们拿 xmind 来举例,看看如何操做。
好比咱们下载了 xmind 安装包 XMind-2020.rpm:
# 添加 Universe 仓库(若是未添加) sudo add-apt-repository universe # 更新 sudo apt update # 安装 Alien sudo apt install alien # 将.rpm 包转换为.deb 包(当前目录下会生成一个 deb 安装包,好比:XMind-2020.deb) sudo alien XMind-2020.rpm # 安装 sudo dpkg -i XMind-2020.deb
sudo apt install gnome-tweak-tool
# 让 gnome 支持插件扩展 sudo apt install gnome-shell-extensions # chrome 浏览器扩展支持,可使用浏览器安装插件 sudo apt install chrome-gnome-shell
更多扩展插件你们自行在https://extensions.gnome.org上探索吧。
可在 GNOME-LOOK 上下载各类桌面主题、Shell 主题、图标(icon)主题
安装桌面或者 shell 主题
# 解压下载的主题文件 tar -xvf FileName.tar //解压 # 将解压后的主题文件拷贝到 /usr/share/themes sudo cp -r FileName /usr/share/themes
安装 icon 主题
# 解压下载的主题文件 tar -xvf FileName.tar //解压 # 将解压后的主题文件拷贝到 /usr/share/icons sudo cp -r FileName /usr/share/icons
以后打开 Tweeks 选择安装的主题便可
推荐几个下载 4K 8K 超高清壁纸的网站:
最后贴一张美化后的桌面(Applications Theme: SURU++; Icons Theme: Reversal)
若是你是双系统,安装完 Ubuntu 设置好系统时间后,回到 Windows 会发现时间不统一。为了理解为何,咱们得先了解点基础知识:
Windows 与类 Unix 系统(Unix/Linux/Mac)看待系统硬件时间的方式是不同的:
当你在 Ubuntu 中把系统显示的时间设置正确后,计算机硬件时间就变成了在这个时间上减去 8 小时,因此当你切换成 Windows 系统后慢了8小时,就是这个缘由。
解决方案:在 Ubuntu 中把计算机硬件的时间改为系统显示时间,即禁用 Ubuntu 中的 UTC
timedatectl set-local-rtc 1 --adjust-system-clock
这个问题是我在 Ubuntu19.10 版本遇到的,20.04 版本中我没作验证,不肯定是否有一样的问题。
在解决问题以前,先补充一个关键知识点:显示管理器(Display Manager),它用来提供图形化登录,向用户显示图形化登录界面,并处理用户身份验证。Linux 中常见的显示管理器包括 gdm三、kdm、LightDM等:
缘由:
实操验证,初步判定是由于设置中开启了自动登录,触发了 dgm3 的某种 bug 致使的。(Ubuntu19.10 默认使用的是 GNOME 桌面系统, 而 gdm3 是 GNOME 的显示管理器)
解决方案:使用 LightDM 替换 gdm3
第一步:安装 LightDM(因为你如今没法进入图形化桌面,所以须要你在登录页面使用 ctl + alt + F2 快捷键进入命令行模式,输入帐号密码登录,而后使用下面的命令安装)
sudo apt-get install lightdm
安装完成后,系统会自动弹框要求你选择当前系统中已安装的显示管理器,选择 lightdm。
第二步:重启
sudo reboot
重启完就能正常登录了。
这时候你会发现登录界面变了,若是你想切回以前的登录界面,在进入系统后把自动登录关闭,而后实现下面的命令从新选择 gdm3 显示管理器便可(需重启生效)
sudo dpkg-reconfigure gdm3
并非把自动登录关闭后 gdm3 的 bug 就必定能规避掉,这一点可能只适用于我安装的 Ubuntu19.10;我这里说的缘由也不必定适用全部人。但有一点能够确定的是,若是出现循环登录的状况,更换显示管理器一般是能解决问题的。
若是你想查看当前系统正在运行的显示管理器,可使用下面的命令:
cat /etc/X11/default-display-manager
Ubuntu 20.04 自带了 nvidia 显卡驱动,可是被我不当心玩坏了。主要表如今:
nvidia-settings
命令出错;若是你也和我遇到一样的问题,或者但愿手动安装显卡驱动,能够按照下面的方式操做。(须要首先到 NVIDIA 官网下载你设备对应的显卡驱动)
# 先安装一些依赖库 sudo apt install build-essential libglvnd-dev pkg-config # 中止桌面管理器,进入命令行摸索 sudo telinit 3 # 删除已安装的 nvidia 驱动 sudo apt purge "nvidia*" # 手动安装显卡驱动 sudo bash NVIDIA-Linux-x86_64-440.82.run # 重启 sudo reboot
更多显卡驱动的安装方式可参考:https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-ubuntu-20-04-focal-fossa-linux
参考文档:
本文档会持续更新,关注公众号 BaronTalk,回复 Ubuntu 便可下载最新的 PDF 版本配置文档。