/ Ubuntu

Thinkpad T470 安装 Ubuntu 后的调整

近几天给一台 Thinkpad T470 安装了 Ubuntu 16.04,这里记录一下我认为有必要做的一些调整,分别是字体相关的调整,使用 libinput-gestures “释放”触摸板功能,以及电池管理工具 TLP。

字体渲染

这算是一个 bug 了,已经有人发现并解决了这个问题,修复 Ubuntu 中文字体渲染

原因是

由于字体优先度配置中日文字体的优先度高于中文简体

解决方法如下:

修改下面这个文件

sudo vim /etc/fonts/conf.avail/64-language-selector-prefer.conf

把含有 SC 的行,放在含有 JP 行的前面

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
	<alias>
		<family>sans-serif</family>
		<prefer>
			<family>Noto Sans CJK SC</family>
			<family>Noto Sans CJK TC</family>
			<family>Noto Sans CJK JP</family>
		</prefer>
	</alias>
	<alias>
		<family>monospace</family>
		<prefer>
			<family>Noto Sans Mono CJK SC</family>
			<family>Noto Sans Mono CJK TC</family>
			<family>Noto Sans Mono CJK JP</family>
		</prefer>
	</alias>
</fontconfig>

字体大小

默认设置下,在这个 14 寸笔记本电脑的 Ubuntu 系统里浏览网页时,发现 12px 的字体已经非常小,看着累眼,需要调整一个 scaling factor 参数,让字体不那么小,让眼睛舒服些。

为了方便配置,首先要安装 unity-tweak-tool。

sudo apt install unity-tweak-tool

安装之后运行它,找到 Fonts 这一项,把 Text Scaling Factor 设置为 1.25。立刻就会发现系统的字体大小看上去合适多了。

然而用 Chrome 浏览网页时,字体大小并没有变化,因为 Chrome 的字体并不受前面配置参数的影响,需要在 Chrome 的启动参数里设置上 scaling factor 参数。方法如下:

修改这个文件

sudo vim /usr/share/applications/google-chrome.desktop

找到其中包含 Exec=/usr/bin/google-chrome-stable 的行(总共有三行),在 google-chrome-stable 后面加上 --force-device-scale-factor=1.25这个参数。

Exec=/usr/bin/google-chrome-stable --force-device-scale-factor=1.25 %U
Exec=/usr/bin/google-chrome-stable --force-device-scale-factor=1.25
Exec=/usr/bin/google-chrome-stable --force-device-scale-factor=1.25 --incognito

增强触摸板功能

Ubuntu 本身就支持这款笔记本电脑触摸板双指滚动的功能,但是想要在浏览网页时通过触摸板来前进和后退,就不行了。需要借助额外的工具来实现。

我使用的工具是 libinput-gestures,按照 Github 上的说明安装即可。

  1. 把当前用户加入到 input 组里,并且注销当前会话,或者重启。再进系统进行下一步。
sudo gpasswd -a $USER input
  1. 安装必要的依赖
sudo apt-get install xdotool wmctrl libinput-tools
  1. 安装 libinput-gestures
git clone http://github.com/bulletmark/libinput-gestures
cd libinput-gestures
sudo ./libinput-gestures-setup install

之后再注销重新进来一次。

  1. 启动 libinput-gestures
libinput-gestures-setup start
libinput-gestures-setup autostart   # 设置 libinput-gestures 自动启动

这样就可以用三指左右滑动来实现浏览器的前进和后退了。

Github 的页面上同样介绍了停止、升级和卸载 libinput-gestures 的方法,有必要可以去参考。

电池管理 - TLP

这一项其实并不是特别必要,就是为了省电。

在系统默认源里就要 TLP 的包,但是我在安装时出现了问题,因此建议使用官方的 PPA 源。

sudo add-apt-repository ppa:linrunner/tlp
sudo apt-get update

安装下面这几个包

sudo apt-get install tlp tlp-rdw

Thinkpad 再安装额外的两个包(使用默认源安装时,就是这一步出了错,使用 PPA 源安装的新版没有问题)。另外要注意的是必须进 BIOS 关闭 Thinkpad 的 Secure Boot 功能,TLP 才能完全发挥作用。

sudo apt-get install tp-smapi-dkms acpi-call-dkms

各个包的用途在官网有介绍

  • tlp (PPA or universe) – Power saving
  • tlp-rdw (PPA or universe) – optional, Radio Device Wizard
  • tp-smapi-dkms (PPA or universe) – optional ThinkPad only, tp-smapi is needed for battery charge thresholds, recalibration and specific status output of tlp-stat
  • acpi-call-dkms (PPA or universe) – optional ThinkPad only, acpi-call is needed for battery charge thresholds and recalibration on Sandy Bridge and newer models (X220/T420, X230/T430 et al.)

安装完第一次启动 TLP 需要手动执行,之后 TLP 会自动启动。

sudo tlp start

查看当前状态的命令是

sudo tlp-stat -s

TLP 默认的配置已经足够,更多的命令以及配置请参阅官方文档 TLP - Linux Advanced Power Management