Ubuntu 20.04桌面配置全攻略:从基础配置到生产力工具搭建
1. 项目概述:从“能用”到“好用”的必经之路
刚装好Ubuntu 20.04,看着那个略显朴素的桌面,你是不是既兴奋又有点无从下手?兴奋的是终于逃离了某些系统的束缚,拥有了一个干净、高效的开源环境;无从下手是因为它不像某些商业系统那样“开箱即用”,很多地方需要自己动手调整。这篇文章,就是为你准备的“新机开荒”指南。我们不谈高深的服务器运维,只聚焦于桌面用户最关心的事:如何把一台刚装好的Ubuntu 20.04,配置成一台稳定、美观、高效、符合你个人习惯的生产力工具。
这个过程,我称之为从“能用”到“好用”的蜕变。所谓“能用”,是指系统可以启动,能打开终端和浏览器,但你可能遇到中文输入法装不上、字体发虚、软件商店打不开、或者插上耳机没声音等各种小毛病。而“好用”,则意味着系统响应流畅,界面赏心悦目,常用软件一应俱全,开发环境配置妥当,并且你清楚地知道在哪里可以找到和管理它们。接下来,我会按照基础配置、界面美化、异常处理、常用软件安装、命令备忘这五个核心环节,带你一步步完成这场蜕变。无论你是刚从其他系统转投Linux怀抱的新手,还是想优化现有工作流的老用户,这里都有你需要的干货。
2. 基础配置:打好系统的第一块基石
系统安装完成后的第一步,绝不是急着装软件,而是先把系统本身的基础打牢。这就像盖房子,地基不稳,后面装修得再漂亮也白搭。Ubuntu 20.04 LTS(Focal Fossa)是一个长期支持版本,稳定性很好,但默认设置为了兼顾全球用户,未必最适合我们。
2.1 系统更新与源配置
首先,请务必连接网络。打开终端(快捷键Ctrl+Alt+T),我们要做的第一件事就是更新软件包列表和升级现有软件。这能确保我们获得最新的安全补丁和错误修复。
sudo apt update sudo apt upgrade -y这里解释一下这两个命令:apt update是刷新本地软件包索引,从配置的软件源服务器获取最新的软件包列表信息;apt upgrade则是根据更新后的列表,实际升级系统中所有可升级的软件包。加上-y参数是为了自动确认,避免中途需要手动输入“Y”。
接下来是至关重要的一步:更换软件源。默认的官方源服务器可能在国外,下载速度慢如蜗牛。将其替换为国内的镜像源,速度会有质的飞跃。国内常用的有阿里云、腾讯云、华为云、清华大学的镜像源。
- 备份原来的源列表文件:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup - 编辑源列表文件。你可以使用
sudo nano /etc/apt/sources.list,但我个人更喜欢用sed命令一键替换(以阿里云镜像为例):sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list sudo sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list - 再次更新,感受飞一般的速度:
sudo apt update
注意:不同网络环境下,最佳的镜像源可能不同。如果阿里云慢,可以尝试替换为
mirrors.tuna.tsinghua.edu.cn(清华)或mirrors.cloud.tencent.com(腾讯)。修改后务必执行sudo apt update检查是否有错误。
2.2 基础系统工具与驱动安装
系统更新后,安装一些必备的系统工具和驱动。
安装通用构建工具和内核头文件:这是后续编译很多软件(比如某些驱动或从源码安装的软件)的基础。
sudo apt install -y build-essential linux-headers-$(uname -r)build-essential包含了gcc,g++,make等编译工具链。linux-headers-$(uname -r)会自动安装与你当前运行内核版本一致的头文件,这对安装DKMS(动态内核模块支持)类的驱动(如显卡驱动、VirtualBox增强功能)至关重要。
显卡驱动:这是桌面体验的核心。Ubuntu默认使用开源的nouveau驱动,对于日常办公和显示基本够用,但如果你需要玩一些游戏、进行机器学习、或者使用CUDA进行GPU计算,就必须安装官方的闭源驱动。
- 对于NVIDIA显卡:最省心的方法是使用Ubuntu自带的“附加驱动”工具。在“软件和更新” -> “附加驱动”选项卡中,选择带有“proprietary, tested”字样的推荐驱动版本(例如nvidia-driver-535),点击应用更改,系统会自动下载安装并禁用开源驱动,重启后生效。
- 对于AMD显卡:开源驱动
amdgpu通常已经集成且性能优秀,一般无需额外安装。如果需要最新特性,可以考虑从AMD官网下载安装,但过程较复杂。 - 对于Intel核显:开源驱动
i915已足够好。
音视频解码与字体:为了让系统能播放更多格式的媒体文件,并拥有更好的中文字体支持,需要安装以下包:
sudo apt install -y ubuntu-restricted-extras fonts-noto-cjkubuntu-restricted-extras包含了Flash插件、微软核心字体、以及一些常见的音视频解码器(如MP3、AAC、H.264)。fonts-noto-cjs是Google推出的“思源”系列中日韩字体,显示效果比默认字体好很多。
2.3 系统个性化设置
基础打牢后,可以开始按照个人习惯调整系统了。
时区与语言:安装时如果选错了,可以在“设置” -> “区域与语言”中调整。确保“地区格式”也调整为“中国”,这会影响日期、时间、数字的显示方式。
输入法:这是中文用户的核心需求。Ubuntu 20.04默认的输入法框架是IBus。我推荐安装“搜狗输入法 for Linux”,它的词库和云输入体验更符合国人习惯。但安装前需要先添加其官方源:
sudo apt install -y fcitx fcitx-googlepinyin # 先安装fcitx框架和一个基础拼音输入法然后去搜狗输入法官网下载.deb安装包,用sudo dpkg -i命令安装。安装后,在“设置” -> “区域与语言” -> “管理已安装的语言”中,将“键盘输入法系统”从IBus改为fcitx,注销并重新登录。然后在右上角输入法图标处添加“搜狗拼音”即可。
终端美化:默认的终端(gnome-terminal)功能足够,但颜值一般。一个快速的优化方案是安装zsh和oh-my-zsh。
sudo apt install -y zsh sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"安装过程中会提示是否将默认shell切换为zsh,选择“是”。oh-my-zsh提供了海量的主题和插件,你可以通过编辑~/.zshrc文件来更改主题(如ZSH_THEME="agnoster")和启用插件(如plugins=(git z)),让终端既强大又美观。
3. 界面美化:打造独一无二的视觉体验
GNOME桌面环境以其简洁和高效著称,但默认的“Yaru”主题看久了难免觉得单调。美化不是为了炫技,而是为了创造一个让自己心情愉悦、长期使用不疲劳的工作环境。美化的核心在于:主题、图标、光标、扩展。
3.1 GNOME扩展与优化工具
GNOME的强大之处在于其可扩展性。首先,我们需要安装浏览器插件和本地连接器来管理扩展。
- 在Firefox或Chrome浏览器中,访问 GNOME Shell Extensions 网站。
- 根据网页提示,安装名为“GNOME Shell integration”的浏览器插件。
- 在Ubuntu上安装本地连接器:
安装后,刷新扩展网站,你会看到开关按钮,可以直接在网页上搜索、安装、管理扩展。sudo apt install -y chrome-gnome-shell
接下来,安装一个至关重要的优化工具:gnome-tweaks(优化工具)。
sudo apt install -y gnome-tweaks这个工具可以调整字体、主题、窗口按钮位置、工作区等众多GNOME的隐藏设置,是美化的控制中心。
3.2 主题、图标与光标安装
美化资源通常以压缩包形式提供,需要手动放置到用户主题目录~/.themes和图标目录~/.icons(如果目录不存在就创建)。然后通过gnome-tweaks应用。
推荐组合:
- 主题:
WhiteSur-dark或McOS-MJV-Dark。这些主题模仿了macOS的视觉效果,毛玻璃和圆角设计非常现代。 - 图标:
Tela-circle或McMojave-circle。圆润的彩色图标包,与上述主题搭配和谐。 - 光标:
Bibata-Modern-Classic。简洁流畅的指针样式。
安装示例(以从GitHub下载WhiteSur主题为例):
# 创建目录 mkdir -p ~/.themes ~/.icons # 下载并解压主题(请替换为实际的下载链接) wget -O WhiteSur.tar.gz https://github.com/vinceliuice/WhiteSur-gtk-theme/archive/refs/tags/2023-12-27.tar.gz tar -xzf WhiteSur.tar.gz -C ~/.themes/ # 在gnome-tweaks的“外观”选项中,分别选择“应用程序主题”、“光标”、“图标”为你刚放置的主题名称。Dock栏:Ubuntu默认的Dash to Dock扩展已经不错。但你也可以尝试更强大的Dash to Panel,它将顶栏和Dock合并为一个面板,类似Windows 11或KDE Plasma的风格,能极大节省垂直空间。直接在GNOME扩展网站搜索安装即可。
3.3 必装的GNOME扩展推荐
除了外观,功能扩展更能提升效率。以下是我认为必装的几个:
- User Themes:允许使用用户目录(
~/.themes)下的主题,是手动安装主题的前提。 - Blur my Shell:为GNOME Shell的顶部面板、概览等添加毛玻璃模糊效果,颜值提升利器。
- Clipboard Indicator:剪贴板历史管理器。按
Super+V(Super键即Windows键)呼出历史记录,再也不用反复复制粘贴了。 - Vitual Desktop Indicator:在顶栏显示虚拟桌面(工作区)指示器,方便快速切换。
- Just Perfection:一个功能极其强大的微调扩展,可以隐藏顶栏的几乎所有元素(如辅助功能图标、键盘布局)、调整概览动画速度等,让你对桌面的控制达到极致。
实操心得:安装扩展不要贪多。每个扩展都会占用一点系统资源,并可能引入不稳定的因素。只安装你真正需要、高频使用的。安装后如果遇到桌面崩溃(Shell重启),可以按
Alt+F2,输入r回车来重启GNOME Shell,或者尝试禁用最近安装的扩展来排查问题。
4. 异常处理:解决那些恼人的“小毛病”
即使按照标准流程配置,你也可能会遇到一些奇怪的问题。别慌,大部分问题都有成熟的解决方案。这里罗列几个高频问题及其排查思路。
4.1 网络与连接问题
Wi-Fi无法连接或列表为空:这通常是无线网卡驱动问题。首先在终端用lspci | grep -i network或lsusb查看网卡型号。对于常见的Intel、Realtek网卡,驱动通常已集成。如果没有,可能需要从源码编译或安装DKMS驱动包。一个通用的尝试是安装linux-firmware包并更新内核:
sudo apt install --reinstall linux-firmware sudo apt install linux-generic-hwe-20.04 # 安装硬件启用(HWE)内核,包含更新的驱动重启后看看问题是否解决。对于较新的硬件(如6.8内核提到的RTX5060周边平台),等待Ubuntu官方源更新驱动或使用HWE内核是更稳妥的方案。
蓝牙设备无法配对:首先确保bluetooth服务正在运行:systemctl status bluetooth。如果服务是inactive,用sudo systemctl start bluetooth启动并sudo systemctl enable bluetooth设置开机自启。如果还是不行,尝试安装pulseaudio-module-bluetooth并重启音频服务:
sudo apt install pulseaudio-module-bluetooth pulseaudio -k && pulseaudio --start4.2 音频与显示问题
没有声音或输出设备错误:这是非常常见的问题。首先检查系统音量是否被静音,以及声音输出设备选择是否正确(点击顶部状态栏的音量图标)。如果不行,请安装pavucontrol(PulseAudio音量控制),这是一个图形化高级音频控制工具,可以精细控制每个应用程序的输出/输入设备,比系统自带的声音设置强大得多。
sudo apt install pavucontrol运行pavucontrol,在“输出设备”和“配置”选项卡中仔细检查并尝试切换不同的设备配置文件(如“模拟立体声输出”)。
外接显示器分辨率或刷新率异常:对于NVIDIA显卡,使用官方的nvidia-settings工具可以配置多显示器,设置分辨率、刷新率,甚至调整色彩范围。对于使用开源驱动的Intel/AMD显卡,可以尝试使用xrandr命令。先用xrandr列出所有显示接口和模式,然后用类似下面的命令设置:
xrandr --output HDMI-1 --mode 1920x1080 --rate 144可以将这些命令写成脚本,开机自动执行。
NVIDIA驱动安装后开机卡在紫屏/黑屏:这通常是因为驱动与内核或显示管理器(如GDM)不兼容。可以尝试在GRUB引导时,按e进入编辑模式,在linux那一行末尾添加nomodeset参数,然后按F10启动。进入系统后,尝试换用另一个版本的驱动(比如从535换到470),或者彻底清除NVIDIA驱动后重装:
sudo apt purge *nvidia* sudo apt autoremove sudo apt install nvidia-driver-470 # 安装一个更旧的稳定版本4.3 软件包与依赖问题
“E: 无法定位软件包”或“无法修正依赖关系”:首先,请确保你的软件源(/etc/apt/sources.list)配置正确且已更新(sudo apt update)。如果问题依旧,可能是软件包列表损坏或存在冲突。
- 清除已损坏的包列表缓存:
sudo rm -rf /var/lib/apt/lists/* - 重新生成列表:
sudo apt update - 如果提示依赖问题,尝试修复:
sudo apt --fix-broken install - 使用更强大的工具
aptitude来解决复杂的依赖冲突(它会提供多个解决方案供你选择):sudo apt install aptitude sudo aptitude install [你的软件包名]
编译软件时提示“fatal error: xxx.h: No such file or directory”:这表示缺少开发头文件。通常以libxxx-dev的形式提供。例如,遇到opencv/cv.hpp找不到,你需要安装libopencv-dev。
sudo apt search opencv | grep dev # 搜索包含opencv的开发包 sudo apt install libopencv-dev记住一个规律:如果编译需要xxx库,那么安装libxxx-dev包通常就能解决问题。
5. 常用软件的安装:构建你的生产力套件
系统稳定、界面好看了,接下来就该武装我们的生产力工具了。Ubuntu安装软件主要有几种方式:apt官方仓库、snap沙盒包、Flatpak通用包、AppImage单文件包、以及从源码编译。优先级建议:apt>Flatpak>snap>AppImage> 源码。apt包最稳定,与系统集成度最高。
5.1 开发环境全家桶
版本控制 Git:这是开发者的标配。apt安装的版本可能较旧,可以通过官方PPA安装新版。
sudo add-apt-repository ppa:git-core/ppa -y sudo apt update sudo apt install -y git gitk git-gui配置你的用户名和邮箱:
git config --global user.name "Your Name" git config --global user.email "your.email@example.com"Python 环境:系统自带Python3,但建议使用pyenv来管理多个Python版本,或者使用conda管理科学计算环境。对于纯Python开发,安装pip和venv就够了:
sudo apt install -y python3-pip python3-venv创建一个虚拟环境:python3 -m venv myproject_env,激活:source myproject_env/bin/activate。
Docker:容器化部署的基石。安装Docker引擎:
# 卸载旧版本 sudo apt remove docker docker-engine docker.io containerd runc # 设置仓库 sudo apt install -y ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 安装Docker sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # 将当前用户加入docker组,避免每次用sudo sudo usermod -aG docker $USER需要注销并重新登录,组权限才会生效。之后就可以用docker ps测试了。
Visual Studio Code:微软出品的强大编辑器。通过官方仓库安装:
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list > /dev/null sudo apt update sudo apt install -y code5.2 日常办公与通讯
办公套件:LibreOffice是默认安装的免费强大套件。如果你需要更好的微软Office兼容性,可以尝试WPS Office,去官网下载.deb包安装即可。
浏览器:Firefox是默认且优秀的浏览器。如果你习惯Chrome/Edge,可以去谷歌/微软官网下载.deb包安装。Edge在Linux上的表现现在相当不错。
通讯工具:
- 钉钉/微信/QQ:对于这些国内常用但官方未提供Linux版的软件,目前比较成熟的方案是使用
Wine或基于Wine的封装工具Deepin-Wine。深度社区维护了很好的版本。添加Deepin仓库安装是一个选择,但更推荐使用星火商店(Spark Store)或直接从优麒麟(Ubuntu Kylin)社区下载打包好的版本,兼容性更好。 - Telegram/ Slack/ Discord:这些都有官方的Linux原生客户端,可以直接在官网下载
.deb包或使用snap安装。
媒体播放:VLC是万能播放器,几乎支持所有格式。
sudo apt install -y vlc对于本地视频播放,MPV也是一个极简而强大的选择,支持大量自定义脚本。
截图与录屏:Flameshot是我用过最强大的截图工具,没有之一。它支持延时截图、标注(箭头、方框、马赛克)、直接复制到剪贴板等。
sudo apt install -y flameshot安装后,可以在“设置” -> “键盘快捷键”中,为其设置一个全局快捷键(如Ctrl+Alt+A)。
5.3 系统增强与工具
GDebi:一个轻量级的.deb包安装工具,比软件中心更快,且能自动处理依赖。
sudo apt install -gdebi安装后,右键点击下载的.deb文件,可以选择“用GDebi软件包安装程序打开”。
Timeshift:系统快照和还原工具,相当于Linux下的“系统还原点”。在做出重大系统更改前(如升级内核、安装不稳定的驱动),先创建一个快照,如果出了问题可以一键回滚。
sudo apt install -y timeshift首次运行建议选择“RSYNC”模式,备份目标选择一个有足够空间的非系统分区(如另一个硬盘或大容量U盘)。
Stacer:一个图形化的系统优化和监控工具,可以清理垃圾、管理启动项、监控资源占用、管理服务等,对新手非常友好。
sudo apt install -y stacer6. 常用命令备忘:终端里的瑞士军刀
图形化界面虽好,但终端命令才是Linux的灵魂。掌握一些常用命令,能极大提升效率。这里不是命令大全,而是我每天都会用到的“高频工具”。
6.1 文件与目录操作
这些命令是行走在Linux世界的基础。
ls:列出目录内容。ls -l:长格式显示(权限、所有者、大小、时间)。ls -a:显示所有文件,包括隐藏文件(以.开头的)。ls -lh:-l的基础上,以人类可读的单位(K, M, G)显示文件大小。
cd:切换目录。cd ~或cd:回到家目录。cd -:回到上一个所在的目录。cd ..:回到上级目录。
pwd:显示当前工作目录的完整路径。cp/mv/rm:复制、移动/重命名、删除。cp -r source_dir target_dir:递归复制目录。mv old_name new_name:重命名文件。rm -rf dir_name:强制递归删除目录及其内容,此命令极其危险,使用前务必确认路径!
mkdir/rmdir:创建目录 / 删除空目录。find:强大的文件查找工具。find /home -name "*.txt":在/home目录下查找所有.txt文件。find . -type f -size +100M:在当前目录查找大于100MB的文件。
locate:基于数据库的快速文件查找,但需要先更新数据库:sudo updatedb。which:显示某个命令的完整路径。例如which python3。
6.2 系统监控与进程管理
当系统变慢或程序无响应时,这些命令能帮你快速定位问题。
htop:一个交互式的进程查看器,比传统的top更直观。需要安装:sudo apt install htop。ps:报告当前进程的快照。ps aux:查看所有用户的所有进程详细信息。ps aux | grep nginx:查找与nginx相关的进程。
kill/pkill:终止进程。kill -9 <PID>:强制终止指定PID的进程。pkill firefox:终止所有名为firefox的进程。
df/du:查看磁盘空间使用情况。df -h:查看所有挂载点的磁盘使用情况(人类可读格式)。du -sh *:查看当前目录下每个文件和目录的大小总和。
free -h:查看内存使用情况。systemctl:管理系统服务(systemd)。systemctl status ssh:查看ssh服务状态。sudo systemctl start nginx:启动nginx服务。sudo systemctl enable docker:设置docker服务开机自启。
6.3 网络与包管理
curl/wget:命令行下载工具。curl -O http://example.com/file.tar.gz:下载文件。wget -c http://example.com/bigfile.iso:支持断点续传的下载。
ssh:远程连接服务器。ssh user@host_ip。scp:通过SSH安全地复制文件。scp local_file user@remote_host:/remote/directory:上传。scp user@remote_host:/remote/file local_dir:下载。
apt:包管理命令的再梳理。sudo apt search keyword:搜索软件包。sudo apt show package_name:显示软件包详细信息。sudo apt install package_name:安装。sudo apt remove package_name:卸载软件但保留配置文件。sudo apt purge package_name:彻底卸载软件和配置文件。sudo apt autoremove:自动删除不再需要的依赖包。
6.4 文本处理与查看
cat:连接文件并打印到标准输出。常用于查看短文件内容。less/more:分页查看长文件内容。less更强大,支持向前向后翻页、搜索。head/tail:查看文件开头或结尾部分。tail -f /var/log/syslog:实时追踪日志文件的新增内容,排查问题时极其有用。
grep:文本搜索利器。grep "error" logfile.txt:在文件中搜索包含“error”的行。ps aux | grep python:结合管道,在进程列表中搜索python。grep -r "function_name" /project/src:递归地在目录中搜索。
awk/sed:强大的文本处理工具,功能复杂,但掌握基础就能做很多事。awk '{print $1}' file.txt:打印文件每行的第一列(默认以空格分隔)。sed 's/old/new/g' file.txt:将文件中所有的“old”替换为“new”。
6.5 权限与归档
chmod:修改文件权限。chmod +x script.sh:给脚本添加可执行权限。chmod 755 file:设置文件为rwxr-xr-x(所有者可读可写可执行,组和其他人可读可执行)。
chown:修改文件所有者和所属组。sudo chown user:group file。
tar:归档工具。tar -czvf archive.tar.gz directory/:将目录打包并压缩为.tar.gz。tar -xzvf archive.tar.gz:解压.tar.gz归档包。
zip/unzip:处理zip压缩包。
记住,不需要死记硬背所有参数。最常用的命令自然就会记住,其他的,善用--help或man命令查看手册页(如man grep),这才是Linux的精髓。把这些命令整理成一个文本文件放在桌面上,或者用alias给常用命令组合起个短别名(例如alias ll='ls -lh'添加到~/.bashrc或~/.zshrc中),都能让你的终端之旅更加顺畅。