1. Ubuntu 22.04系统配置与问题排查实战指南
作为一名长期使用Ubuntu的开发者,我经历过无数次系统安装和配置的挑战。Ubuntu 22.04 LTS作为长期支持版本,在稳定性与功能上都有显著提升,但在实际使用中仍会遇到各种"坑"。本文将分享我在Ubuntu 22.04环境下的实战经验,涵盖从基础安装到高级配置的全流程解决方案。
2. Ubuntu 22.04安装准备与常见问题
2.1 安装介质准备与启动问题
制作Ubuntu 22.04安装U盘推荐使用Rufus工具(Windows平台)或dd命令(Linux/Mac平台)。关键点在于选择正确的分区方案:
- 对于UEFI启动的现代电脑:选择GPT分区方案
- 对于传统BIOS启动的旧电脑:选择MBR分区方案
注意:很多安装黑屏问题源于显卡驱动兼容性。在GRUB启动界面按'e'键编辑启动参数,在"linux"行末尾添加
nomodeset参数可临时禁用显卡驱动,解决安装过程中的黑屏问题。
2.2 双系统安装的特殊考量
Windows 11与Ubuntu 22.04双系统安装时需特别注意:
- 在Windows中提前压缩出至少50GB的未分配空间
- 关闭Windows的快速启动功能(控制面板→电源选项)
- 禁用Secure Boot(根据主板型号在BIOS中设置)
- 安装时选择"与Windows共存"选项,或手动分区:
/根分区:30-50GB(ext4)swap交换分区:内存大小的1-1.5倍/home家目录:剩余空间(ext4)- EFI分区:保留现有的,不要新建
3. 系统基础配置与网络问题解决
3.1 网络连接故障排查
Ubuntu 22.04常见的网络图标消失问题通常由NetworkManager服务异常导致。完整排查步骤:
# 检查NetworkManager状态 sudo systemctl status NetworkManager # 重启网络相关服务 sudo systemctl restart NetworkManager sudo systemctl restart networking # 检查网络接口 ip a # 手动启动网络接口(示例为enp0s3) sudo ifconfig enp0s3 up如果使用无线网络,还需检查:
# 查看无线网卡状态 lspci | grep -i network rfkill list # 安装常见无线驱动 sudo apt install --reinstall bcmwl-kernel-source3.2 配置静态IP地址持久化
Ubuntu 22.04使用netplan配置网络,修改/etc/netplan/00-installer-config.yaml(文件名可能略有不同):
network: version: 2 renderer: networkd ethernets: enp0s3: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]应用配置并测试:
sudo netplan apply ping -c 4 google.com4. 显示系统与Xorg优化
4.1 解决Xorg高CPU占用问题
Xorg进程异常占用CPU通常与显卡驱动或桌面环境有关。排查步骤:
检查当前使用的显卡驱动:
ubuntu-drivers devices glxinfo | grep "OpenGL renderer"安装推荐驱动(以NVIDIA为例):
sudo ubuntu-drivers autoinstall sudo apt install nvidia-settings调整Xorg配置(
/etc/X11/xorg.conf):sudo nvidia-xconfig监控Xorg资源使用:
top -p $(pgrep Xorg)
4.2 虚拟显示设置
对于无物理显示器的服务器环境,可以配置虚拟显示:
安装虚拟显示驱动:
sudo apt install xserver-xorg-core-hwe-22.04 xserver-xorg-video-dummy-hwe-22.04创建Xorg配置文件(
/etc/X11/xorg.conf):Section "Device" Identifier "Configured Video Device" Driver "dummy" EndSection Section "Monitor" Identifier "Configured Monitor" HorizSync 31.5-48.5 VertRefresh 50-70 EndSection Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1920x1080" EndSubSection EndSection重启显示管理器:
sudo systemctl restart gdm
5. 开发环境配置实战
5.1 ROS2 Humble安装与Fast LIO2部署
设置ROS2仓库:
sudo apt install software-properties-common sudo add-apt-repository universe sudo apt update && sudo apt install curl sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null安装ROS2 Humble基础包:
sudo apt update sudo apt install ros-humble-desktop配置Fast LIO2环境:
mkdir -p ~/fastlio_ws/src cd ~/fastlio_ws/src git clone https://github.com/hku-mars/FAST_LIO.git cd .. rosdep install --from-paths src --ignore-src -r -y colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
5.2 CUDA与NVIDIA驱动安装
检查兼容的CUDA版本:
nvidia-smi安装指定版本CUDA(以12.1为例):
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600 sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /" sudo apt-get update sudo apt-get -y install cuda-12-1配置环境变量:
echo 'export PATH=/usr/local/cuda-12.1/bin${PATH:+:${PATH}}' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc source ~/.bashrc
6. 系统优化与实用技巧
6.1 更换国内软件源
使用清华源加速软件下载:
备份原有源列表:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak替换为清华源:
sudo sed -i 's@//.*archive.ubuntu.com@//mirrors.tuna.tsinghua.edu.cn@g' /etc/apt/sources.list sudo sed -i 's@//.*security.ubuntu.com@//mirrors.tuna.tsinghua.edu.cn@g' /etc/apt/sources.list更新软件包索引:
sudo apt update && sudo apt upgrade -y
6.2 解决WSL2与Ubuntu 22.04的剪贴板共享
- 在Windows端安装VcXsrv或X410作为X Server
- 配置WSL2的
.bashrc:export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0 - 安装必要的GUI工具:
sudo apt install xclip xsel
6.3 系统监控与性能优化
安装和使用bashtop监控系统资源:
sudo apt install bashtop配置zram替代传统swap分区:
sudo apt install zram-config sudo systemctl restart zram-config调整swappiness值(推荐10-30):
echo 'vm.swappiness=20' | sudo tee -a /etc/sysctl.conf sudo sysctl -p在长期使用Ubuntu 22.04的过程中,我发现定期清理旧内核和缓存能有效保持系统流畅。一个实用的维护命令组合:
sudo apt autoremove --purge sudo apt clean sudo journalctl --vacuum-time=2weeks对于开发者来说,配置好~/.bashrc中的别名和函数能极大提升效率。以下是我常用的几个配置:
# 快速跳转目录 alias cdd='cd ~/Downloads' alias cds='cd ~/Source' # 简化apt命令 alias aptin='sudo apt install' alias aptup='sudo apt update && sudo apt upgrade' # 快速查找进程 psg() { ps aux | grep -v grep | grep -i $1 }