操作前说明 #
在 Linux 环境中执行系统级命令前,建议先确认发行版版本、当前用户权限和目标路径。涉及网络、磁盘、包管理、iptables 或系统服务的操作,最好先在测试环境验证,再放到生产服务器上执行。
原始操作记录 #
安装字体
如果在 Ubuntu 下可直接打开字体文件,点击右上角“安装”按钮即可安装
如果无法打开字体文件,则复制字体文件到“/usr/share/fonts/TrueType/”目录,
然后更改权限
创建 fonts.scale 文件和 fonts.dir 文件
最后更新字体缓存即可
sudo cp ~/fonts/* /usr/share/fonts/TrueType/
sudo chmod u+rwx /usr/share/fonts/TrueType/*
cd /usr/share/fonts/TrueType
sudo mkfontscale
sudo mkfontdir
sudo fc-cache -fv修改字体
打开 Unity Tweak Tool 工具即可修改,不过这里修改的是全局字体,修改之后中英文字体全变。
不过这样已经满足大部分字体需求。
修改默认字体
上边的修改方式在少部分情况下无法满足要求的时候,就需要修改系统默认字体了。
比如在 Eclipse 里,我们想让英文部分显示为 Mac 上的“Monaco”字体,中文部分显示为雅黑。
操作如下:
安装两种字体,注意,直接打开字体文件的时候,在窗口标题栏下方显示的是该字体的英文名,修改默认字体文件的时候要用到。
打开“/etc/fonts/conf.avail/69-language-selector-zh-cn.conf”文件,修改“sans-serif”和“monospace”部分,在字体列表中添加雅黑,记得要添加在第一行,因为系统是从上往下搜索这个列表的,添加字体的时候要写第一步中显示的字体英文名“Macrosoft Yahei”
修改完成,重启
打开 Eclipse,打开 Preferences -> General -> Appearance -> Colors and Fonts,修改右侧 Base -> Text Font 为“Monaco”字体,保存并关闭
修改完成,打开一个包含中英文的文件,你会发现英文字体变成漂亮的“Monaco”,而中文则是漂亮的微软雅黑了。
附录:Sans Serif、Serif 和 Monospace
在西方国家罗马字母阵营中,字体分为两大种类:Sans Serif和 Serif,打字机体虽然也属于 Sans Serif,但由于是等宽字体,所以另外独立出 Monospace 这一种类,例如在Web中,表示代码时常常要使用等宽字体。
Serif的意思是,在字的笔画开始及結束的地方有额外的装饰,而且笔画的粗细会因直橫的不同而有不同。相反的,Sans Serif则沒有这些额外的装饰,笔画粗细大致差不多。如下图:
可以看出,我们平时所用的Georgia、Times New Roman等就属于Serif字体,而Arial、Tahoma、Verdana等则属于Sans Serif字体。对中文而言,同样存在这两大种类,很明显,宋体、细明体(繁体中常用)等就属于Serif,而黑体、幼圆等则属于Sans Serif。
Serif 和 Sans Serif 的一般比较
Serif的字体容易辨认,因此易读性较高。反之Sans Serif 则较醒目,但在行文阅读的情況下,Sans Serif 容易造成字母辨认的困扰,常会有来回重读及上下行错乱的情形。
Serif 强调了字母笔画的开始及结束,因此较易前后连续性的辨识。
Serif 强调一个word,而非单一的字母,反之Sans Serif则强调个别字母。
在小字体的场合,通常Sans Serif比Serif更清晰。
适用用途:
通常文章的內文、正文使用的是易读性较佳的 Serif 字体,这可增加易读性,而且长时间阅读下因为会以word为单位来阅读,较不容易疲倦。而标题、表格內用字则采用较醒目的Sans Serif字体,它需要显著、醒目,但不必长时间盯著这些字来阅读。
像宣传品、海报类,为求醒目,它的短篇的段落也会采用Sans Serif字体。但在书籍、报刊杂志,正文有相当篇幅的情形下,则应采用Serif字体来减轻读者阅读上的负担。在Web设计及浏览器设置中也应遵循此原则为是。
Serif
英文字体:Georgia、Times New Roman等。Top 10 Serif Body Text Fonts
中文字体:宋体、细明体(繁体中常用)等。
Sans Serif
英文字体:Arial、Tahoma、Verdana等。Top 10 Sans Serif Body Text Fonts
中文字体:黑体、幼圆等。
关键理解 #
这类笔记最重要的不是把命令背下来,而是弄清楚它解决的是什么问题、依赖什么环境、执行后会改变什么。以后再次遇到类似情况时,可以先根据标题判断问题方向,再对照原始命令确认是否适合当前系统版本。
如果命令中包含具体路径、网卡名、磁盘名、进程名、IP 地址、端口号、用户名称或软件版本,实际执行时都要替换成自己环境中的真实值。不要直接照抄示例里的占位内容。
验证方法 #
执行完成后不要只看命令是否返回成功,还应结合服务状态、配置文件内容、日志输出和实际访问结果一起判断。常用检查命令包括 systemctl status、journalctl -xe、ip addr、ip route、cat、grep 等。
如果验证结果和预期不一致,建议先不要继续叠加更多修改,而是回到第一步检查环境差异。很多问题并不是命令本身错误,而是当前系统版本、软件版本、路径名称或权限条件与原记录不一致。
注意事项 #
如果是在远程服务器上操作,尤其是网络、SSH、DNS、防火墙相关配置,必须提前准备控制台、VNC、快照或备份,避免因为配置错误导致无法重新连接。
对于旧文章中的命令,还要考虑软件版本变化。浏览器 flags、Linux 发行版默认配置、Python 包版本、Windows 系统设置都会随着时间调整。再次使用时,最好把这篇记录当成排查思路,而不是绝对固定的唯一答案。
小结 #
这篇记录可以作为一个快速索引:先看标题确认问题类型,再看原始命令找到核心操作,最后结合验证方法确认是否真正生效。这样既保留了早期备忘的简洁性,也能减少以后重复排查的时间。