Ubuntu 20.04桌面配置全攻略:从基础配置到生产力工具搭建
1. 项目概述从“能用”到“好用”的必经之路刚装好Ubuntu 20.04看着那个略显朴素的桌面你是不是既兴奋又有点无从下手兴奋的是终于逃离了某些系统的束缚拥有了一个干净、高效的开源环境无从下手是因为它不像某些商业系统那样“开箱即用”很多地方需要自己动手调整。这篇文章就是为你准备的“新机开荒”指南。我们不谈高深的服务器运维只聚焦于桌面用户最关心的事如何把一台刚装好的Ubuntu 20.04配置成一台稳定、美观、高效、符合你个人习惯的生产力工具。这个过程我称之为从“能用”到“好用”的蜕变。所谓“能用”是指系统可以启动能打开终端和浏览器但你可能遇到中文输入法装不上、字体发虚、软件商店打不开、或者插上耳机没声音等各种小毛病。而“好用”则意味着系统响应流畅界面赏心悦目常用软件一应俱全开发环境配置妥当并且你清楚地知道在哪里可以找到和管理它们。接下来我会按照基础配置、界面美化、异常处理、常用软件安装、命令备忘这五个核心环节带你一步步完成这场蜕变。无论你是刚从其他系统转投Linux怀抱的新手还是想优化现有工作流的老用户这里都有你需要的干货。2. 基础配置打好系统的第一块基石系统安装完成后的第一步绝不是急着装软件而是先把系统本身的基础打牢。这就像盖房子地基不稳后面装修得再漂亮也白搭。Ubuntu 20.04 LTSFocal Fossa是一个长期支持版本稳定性很好但默认设置为了兼顾全球用户未必最适合我们。2.1 系统更新与源配置首先请务必连接网络。打开终端快捷键CtrlAltT我们要做的第一件事就是更新软件包列表和升级现有软件。这能确保我们获得最新的安全补丁和错误修复。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_THEMEagnoster和启用插件如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剪贴板历史管理器。按SuperVSuper键即Windows键呼出历史记录再也不用反复复制粘贴了。Vitual Desktop Indicator在顶栏显示虚拟桌面工作区指示器方便快速切换。Just Perfection一个功能极其强大的微调扩展可以隐藏顶栏的几乎所有元素如辅助功能图标、键盘布局、调整概览动画速度等让你对桌面的控制达到极致。实操心得安装扩展不要贪多。每个扩展都会占用一点系统资源并可能引入不稳定的因素。只安装你真正需要、高频使用的。安装后如果遇到桌面崩溃Shell重启可以按AltF2输入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 音频与显示问题没有声音或输出设备错误这是非常常见的问题。首先检查系统音量是否被静音以及声音输出设备选择是否正确点击顶部状态栏的音量图标。如果不行请安装pavucontrolPulseAudio音量控制这是一个图形化高级音频控制工具可以精细控制每个应用程序的输出/输入设备比系统自带的声音设置强大得多。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单文件包、以及从源码编译。优先级建议aptFlatpaksnapAppImage 源码。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.emailexample.comPython 环境系统自带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 ar /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 [archamd64,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安装后可以在“设置” - “键盘快捷键”中为其设置一个全局快捷键如CtrlAltA。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 userhost_ip。scp通过SSH安全地复制文件。scp local_file userremote_host:/remote/directory上传。scp userremote_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 llls -lh添加到~/.bashrc或~/.zshrc中都能让你的终端之旅更加顺畅。