声明:这里不再更新

已移居段错误:http://segmentfault.com/blog/root

@galeki 貌似失踪很久了啊

从 GNOME 3 撤退

2011 年,大神 Linus 受不了初入江湖的 GNOME 3,撤退到了 XFCE,从而掀起了一场此起彼伏的反对 GNOME 3 的浪潮,迄今余波未平。在这潮起潮落的这四年里,我却一直在使用 GNOME 3,从 3.0 一直用到 3.14。在大家渐渐接受了 GNOME 3,甚至 Linus 也于 2013 年悄悄的用回了 GNOME 3 的时候,我却选择了撤退,也退到了 XFCE。

阅读全文

将 gnome 升级到了 3.14

主要是想体验一下传说中的可用的 wayland + gnome。

阅读全文

我的显卡不再被 NVIDIA 官方支持了

在 NVIDIA 官方的 343.13 驱动的发行注记中写道:

Removed support for G8x, G9x, and GT2xx GPUs, and motherboard chipsets based on them. 
Ongoing support for new Linux kernels and X servers, as well as fixes for critical bugs, 
will be included in 340.* legacy releases through the end of 2019.

看了一下机器上的显卡芯片:

$ sudo lspci -nn | grep -i nvidia
60:00.0 VGA compatible controller [0300]: NVIDIA Corporation G92GL [Quadro FX 3700] [10de:061a] (rev a2)

于是,今后就得注意这样一件事情:一旦 340.32 驱动不再支持新的内核与 Xorg,此时我要么不能再更新内核或 Xorg,要么就只能使用开源的 Nouveau 驱动了。

此前,实验室的工作站上的显卡已经被 NVIDIA 抛弃了一次,最后的驱动版本是 173.14.39。

看来,以后买显卡只买 AMD 了 ……

从 openrc 到 systemd

将 gdm 从 3.8.0 升级为 3.8.3 时,发现这货开始硬性依赖 systemd 了,即使是 gentoo 拿它也没辙,最主要的问题详见 https://bugs.gentoo.org/show_bug.cgi?id=463784

好吧,那么就装 systemd,但是很惊异的发现它与系统中的 udev 互斥,二者不可共生。因为好久未关注 linux 的这些破事,在 google 里逛了一圈才发现 udev 已经作为一个子集被并入到 systemd 中,而 gentoo 则是从 systemd 中将 udev 剥离出来作为单独一个包,以供 openrc 之类的包使用。

对于 systemd 与 udev 的互斥问题,http://wiki.gentoo.org/wiki/Systemd 页面中说道:It is necessary to install systemd before enabling the flag. Otherwise, circular dependencies will prevent Portage from continuing. 于是,我就根据页面提供的 USE 标志的表格,在 gentoo 的 USE 文件中增加:

sys-apps/systemd keymap gudev introspection 

这样,就解决了 systemd 与 udev 的冲突问题,gdm 也顺利的升级到了 3.8.3 版本。但是结果很悲催,openrc 的 xdm 脚本无法起动 gdm 了!

于是,我打算完全的放弃 openrc,改投 systemd 门下!

继续阅读

FreeCAD 抱怨打不开 XercesMessages_en_US.cat

今天运行 FreeCAD,报了下面这个错误:

Could not open catalog:
 XercesMessages_en_US.cat
 or XercesMessages_en_US.cat
Cannot load message domain

不明觉厉,昨天还好好的。也许是因为我升级编译了 FreeCAD,也许是我更新了 Gentoo 的某些包所致。这个错误让我纠结了好大一会,最后才想起来用 strace 查看一下更细致的原因,结果看到:

open("/usr/share/locale/C/XercesMessages_en_US.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/C/LC_MESSAGES/XercesMessages_en_US.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/C/XercesMessages_en_US.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/C/LC_MESSAGES/XercesMessages_en_US.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/C/XercesMessages_en_US.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/C/LC_MESSAGES/XercesMessages_en_US.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/C/XercesMessages_en_US.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/C/LC_MESSAGES/XercesMessages_en_US.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
write(1, "Could not open catalog:\n", 24Could not open catalog:

这个 XercesMessages_en_US.cat 是 xerces-c 软件包中的,具体的作用尚未关注,它目前位于  /usr/share/xerces-c/msg 目录。

既然如此,那么就在 /usr/share/locale 中建立一个名为“C”的链接,指向 /usr/share/xerces-c/msg 目录即可。

然后,FreeCAD 就可以成功运行了。

然后,就没有然后了。

用 nikola 写静态博客

介绍了 nikola 的基本用法。

阅读全文

m5 v0.1 使用帮助

大家好,m5 v0.1 非隆重发布,有个人在大雪封山弹尽粮绝的状况下百无聊赖的写了这篇指南,无意指引他人如何使用这个工具,只是想表明这个世界上至少还有一个人有可能使用它,他担心日后使用时忘记了如何用。

继续阅读

能伸亦能屈,但不脱离中庸之道

题目取的挺有感,事情却很简单,即对于一组数据,可以用直线/平面拟合(逼近)它们,也可以用曲线/曲面拟合。不过,这件事情也很复杂,因为需要弄清楚拟合的结果是不是足够的好。

继续阅读