X 下有用的小工具

今天学了一个以前不知道的 X 小工具: xgamma. 它的用处是调整显示器输出的 gamma correction value. 这个gamma值的具体意义很难一下用浅显的语言来准确描述,它大体上相当于调整黑白对比度。你做一个实验大概就明白我说的意思了。首先打开一个有几种字体的文件或者网页。确切一点,我希望你用一些使用了antialias技术的字体。

  • 显示当前显示器的gamma value:
    xgamma
  • 降低对比度:
    xgamma -gamma 1.5

    看出来什么变化没有?是不是字体“发虚”了?

  • 现在增加对比度:
    xgamma -gamma 0.5

    是不是字体变得“沉”了许多?

Linux桌面一个很大的问题就是字体渲染不尽人意。这里面有很多因素,有些是不可控的(因为有些字体渲染技术有专利限制不能自由分发),有些纯粹就是X团队自己应该实现但却没去实现。就拿刚刚说的gamma value这个例子,一般用户不会也不应该去调 全局 gamma value, 99%的用户(比如说我自己)需要调的是 字体 antialiasing 里头的黑白对比,自行决定究竟是用比较淡一点但比较光滑美观的方案(接近Windows的cleartype, 或者mac),还是比较粗一点但比较清晰的方案(接近bitmap字体)。 这种局部调整gamma value的方法并不难实现,其实X server 已经提供了这么一个机制,在 xdvi 里头也有一个这样的实现。不信你用xdvi打开一个文件,多按几下 Ctrl Alt - (变淡) 或者 Ctrl Alt + (变黑)就明白我说的意思了。

Xft/fontconfig 实现了一大堆正常人一辈子都不会用到的功能,但就是没有实现这个。一般说来欧美人喜欢光滑一点的方案,亚洲人则正好相反。我想可能是因为亚洲字体远比拉丁字母复杂,过度光滑看起来特别累眼睛。而X 团队的开发者大部分为欧美人,可能就不会太在乎这些需求。

当然话说回来,workaround也是有的。目前我的解决方案就是挑合适的字体。英文用 Ubuntu 字体,本身比较“肥”,所以淡一点的antialiasing后看起来正好;中文用文泉驿字体,小字号它内嵌了bitmap字体,符合我们的习惯。

最后说一下别的几个有用的小工具:

xkill
强行杀掉某个程序;
xmodmap
键盘调整,比如说能把control和enter互换;
xev
让你知道某个键的名称;
xlsfonts
显示X core fonts;
xdpyinfo
显示一些关于X server的信息,比如说分辨率等等;
xprop
显示一个client的一些信息,比如说它的icon, class, 等等。这些信息在使用openbox之类的window manager时比较有用。举例而言,我可以写一条rule, 让所有class 为XTerm的窗口全部竖向最大化,所有class为Emacs的窗口全部无边,等等。

, , ,

  1. 发表评论

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: