1. 项目背景与目标
去年夏天我在海鲜市场淘到一台二手ThinkPad T450s,原本打算装个轻量级Linux系统当备用机。没想到这台老伙计性能意外地扎实,跑Ubuntu居然相当流畅。上次写到系统安装部分时,因为要处理突发工作就暂停了,这次把剩下的配置过程补全。
这个系列主要记录我在老笔记本上折腾Ubuntu的完整过程,特别关注那些新手容易踩坑的环节。不同于官方文档的标准化流程,我会重点分享实际安装过程中遇到的特殊状况和解决方案。
2. 安装后的基础配置
2.1 驱动问题排查
装完系统第一件事就是检查驱动状态。在终端输入:
bash复制ubuntu-drivers devices
我的T450s出现了两个警告:
- 无线网卡驱动显示"Recommended: linux-backports-modules-extra"
- NVIDIA Optimus显卡需要额外配置
对于网卡驱动,直接执行:
bash复制sudo apt install --install-recommends linux-generic
重启后WiFi图标就正常出现了。
注意:老款笔记本的无线网卡经常需要backports驱动,如果遇到WiFi无法启用的情况,建议先尝试这个方案
2.2 双显卡切换方案
这台机器搭载了Intel核显+NVIDIA 940M的经典组合。Ubuntu默认使用开源nouveau驱动,但实测会出现:
- 外接显示器闪烁
- 视频播放卡顿
- 合盖唤醒后花屏
最终选择使用prime-select方案:
bash复制sudo apt install nvidia-driver-470 nvidia-prime
sudo prime-select intel # 日常使用核显省电
需要图形加速时再切换:
bash复制prime-select nvidia
切换后需要注销重新登录生效。
3. 系统优化实战
3.1 固态硬盘TRIM配置
虽然是老机器,但我给它换了块三星860 EVO。Ubuntu默认每周执行一次TRIM,对于频繁写入的开发机可能不够:
bash复制sudo systemctl enable fstrim.timer
sudo systemctl start fstrim.timer
检查状态:
bash复制sudo systemctl status fstrim.timer
3.2 内存压缩配置
8GB内存在开多个IDE时还是有些吃紧,启用zswap能有效缓解:
bash复制sudo nano /etc/default/grub
修改GRUB_CMDLINE_LINUX参数为:
code复制GRUB_CMDLINE_LINUX="zswap.enabled=1 zswap.compressor=lz4 zswap.max_pool_percent=20"
更新grub后重启:
bash复制sudo update-grub
可以用这个命令验证效果:
bash复制cat /sys/module/zswap/parameters/enabled
4. 开发环境搭建
4.1 终端环境配置
作为主力开发机,我选择zsh+oh-my-zsh组合:
bash复制sudo apt install zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
必备插件:
- zsh-autosuggestions(历史命令提示)
- zsh-syntax-highlighting(语法高亮)
- autojump(目录快速跳转)
配置完成后终端响应速度比默认bash快30%以上,特别是处理长路径时体验提升明显。
4.2 外接显示器优化
办公室使用外接2K显示器时,发现默认的显示缩放选项有限。通过以下命令创建自定义分辨率:
bash复制cvt 2560 1440 60
xrandr --newmode "2560x1440_60.00" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync
xrandr --addmode DP-1 "2560x1440_60.00"
这个方案完美解决了外接显示器字体过小的问题,而且比系统自带的200%缩放更清晰。
5. 疑难问题解决实录
5.1 合盖休眠异常
最初合盖后经常无法唤醒,查看日志发现是swap分区太小:
bash复制journalctl -b -1 | grep suspend
解决方案是创建swap文件替代原有分区:
bash复制sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
然后在/etc/fstab添加:
code复制/swapfile none swap sw 0 0
5.2 蓝牙设备连接不稳定
连接AirPods时经常断连,修改蓝牙配置文件后解决:
bash复制sudo nano /etc/bluetooth/main.conf
修改以下参数:
code复制ControllerMode = bredr
FastConnectable = true
JustWorksRepairing = always
6. 个性化调校技巧
6.1 GNOME扩展推荐
经过多次尝试,这几个扩展最实用:
- Dash to Panel(任务栏优化)
- Arc Menu(开始菜单增强)
- CPU Power Manager(电源管理)
- GSConnect(手机互联)
安装命令:
bash复制sudo apt install chrome-gnome-shell
然后在https://extensions.gnome.org/ 直接点击安装。
6.2 字体渲染优化
Ubuntu默认字体在1080p屏幕上略显模糊,改用Noto字体+微调:
bash复制sudo apt install fonts-noto fonts-noto-cjk
创建字体配置文件:
bash复制mkdir -p ~/.config/fontconfig
nano ~/.config/fontconfig/fonts.conf
加入以下内容:
xml复制<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="hintstyle" mode="assign">
<const>hintslight</const>
</edit>
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
<edit name="rgba" mode="assign">
<const>rgb</const>
</edit>
<edit name="lcdfilter" mode="assign">
<const>lcddefault</const>
</edit>
</match>
</fontconfig>
经过两周的持续调优,这台2015年的老机器现在运行Ubuntu 22.04的流畅度堪比新机,特别是编译代码时风扇噪音比Windows环境下小很多。最大的收获是发现Linux对老硬件的优化潜力远超预期,下一步准备尝试外接显卡扩展坞来提升图形性能。