KEEP K.I.S.S.

tk's blog

KDE下Qt程序字体问题

 

弄了几天的问题,终于算是部分解决了。

问题是这样的,在KDE下,并不是所有程序的字体都和KDE设置的是一样的,就连基于Qt的程序也是如此。之前下载了 Qt SDK 1.1.3,自带的Qt Creator 的字体看上去太蛋疼了,模糊,又不好看,怎么设置也没办法弄。

后来在网上找了很多方法,qtconfig 也试过,没有效果,有人质疑 Qt 程序的字体设置和 KDE 默认的冲突,但是也没有找到解决方法。

没办法,最后找到了一个设置微软雅黑字体的办法来试试,结果还是不错的。

在用户目录下有个字体设置文件, .fonts.conf ,就是修改这个文件来修改全局字体。如下所附带的就是一个用于微软雅黑显示所用的代码。其实不知道还有没有更好的办法,因为这样设置后Chrome里的字体也全部微软雅黑了。。。。。。 等学会了 这个文件的原理就能找到好方法了吧。。

 

================= 9/22 更新 ==============

新配置文件,完全去除windows宋体,建议不使用该字体。新配置文件为 /etc/fonts/local.conf 没有可以新建。

 

<?xml version='1.0'?>
<fontconfig>
 <!--
# 设置 serif 衬线字体的读取顺序
-->
 <alias>
  <family>serif</family>
  <prefer>
        <family>Bitstream Vera Serif</family>
   <family>Microsoft YaHei</family>
  </prefer>
 </alias>
 <!--
# 设置 sans-serif 无衬线字体的读取顺序
-->
 <alias>
  <family>sans-serif</family>
  <prefer>
        <family>Bitstream Vera Sans</family>
   <family>Microsoft YaHei</family>
  </prefer>
 </alias>
 <!--
# 设置 monospace 等宽字体的读取顺序
-->
 <alias>
  <family>monospace</family>
  <prefer>
          <family>Bitstream Vera Sans Mono</family>
      <family>Microsoft YaHei</family>
  </prefer>
 </alias>
 <!--
# 全局字体的设置
-->
 <match target="font">
  <test compare="contains" name="family">
   <string>Tahoma</string>
   <string>verdana</string>
   <string>Arial</string>
   <string>Times New Roman</string>
  </test>
  <edit name="globaladvance">
   <bool>false</bool>
  </edit>
  <edit name="spacing">
   <int>0</int>
  </edit>
  <edit mode="assign" name="hinting">
   <bool>true</bool>
  </edit>
  <edit mode="assign" name="autohint">
   <bool>false</bool>
  </edit>
  <edit mode="assign" name="antialias">
   <bool>true</bool>
  </edit>
  <edit mode="assign" name="hintstyle">
   <const>hintfull</const>
  </edit>
 </match>
 <!--
# 单独设置微软雅黑字体的显示
-->
 <match target="font">
<test name="family" compare="contains">
<string>Microsoft YaHei</string>
<string>微软雅黑</string>
</test>
<edit name="rgba" mode="assign">
<const>rgb</const>
</edit>
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="autohint" mode="assign">
<bool>false</bool>
</edit>
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
<edit name="hintstyle" mode="assign" >
<const>hintfull</const>
</edit>
</match>
<!--
# 单独设置 Bitstream Vera Sans 字体的显示
-->
<match target="font">
<test name="family" compare="contains">
<string>Bitstream Vera Sans</string>
</test>
<edit name="rgba" mode="assign">
<const>rgb</const>
</edit>
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="autohint" mode="assign">
<bool>false</bool>
</edit>
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
<edit name="hintstyle" mode="assign" >
<const>hintslight</const>
</edit>
</match>
<!--
# 单独设置 Bitstream Vera Serif 字体的显示
-->
<match target="font">
<test name="family" compare="contains">
<string>Bitstream Vera Serif</string>
</test>
<edit name="rgba" mode="assign">
<const>rgb</const>
</edit>
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="autohint" mode="assign">
<bool>false</bool>
</edit>
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
<edit name="hintstyle" mode="assign" >
<const>hintslight</const>
</edit>
</match>

<!--
# 单独设置 Bitstream Vera Sans Mono 字体的显示
-->
<match target="font">
<test name="family" compare="contains">
<string>Bitstream Vera Sans Mono</string>
</test>
<edit name="rgba" mode="assign">
<const>rgb</const>
</edit>
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="autohint" mode="assign">
<bool>false</bool>
</edit>
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
<edit name="hintstyle" mode="assign" >
<const>hintslight</const>
</edit>
</match>
</fontconfig>

使用 Github 中

Git 是个好东西,至少给我的感觉是超级棒的。

最近刚看完了『Unix编程艺术』,感触良多,说实话,这本书值得所有程序猿去看的,虽然讲的是Unix哲学,其实我感觉,对于Windows下的程序猿来讲,这本书里讲了太多值得他们去学习的东西。

最近也开始学习Git了,也在自己的Github帐号上建了几个仓库。恰巧前两天弄出个脚本,用来KDE环境下命令行删除文件到回收站的,比起恐怖的RM命令来说,是个很好的用品。于是就建了一个shell 脚本的仓库,给move2trash脚本上添加了点注释,就提交上来了。不过话说,我的英文真的好烂好烂。。。。。。。

给个链接:

https://github.com/tisyang/shell-script/blob/master/kde-script/move2trash

 

目前来说,Git还是不大熟悉,继续努力吧。

KDE 命令行删除文件到回收站脚本

 

#!/bin/bash
for fileName in "$@"
do
    if [ ! -e $fileName ];then
        echo "****  $fileName  NOT existed!"
        exit
    fi
    kioclient move "$fileName" trash:/ 2> /dev/null && echo "----  trashed:   $fileName"
done

经过测试,暂时没有什么问题,我的环境是 Debian 6.0 KDE。 这个脚本仅限KDE环境。
可以把这个脚本丢到 /usr/local/bin/ 下,作为常用命令使用,不要忘了赋予执行权限。

 

KDE 下的 Chrome 主题和滚动条扩展

一直觉得 Chrome 在 KDE 下过于丑陋了,于是 Google 了一番,找到了解决方法:
http://kde-look.org/content/show.php/?content=136314

但是安装方法我找了好久,手动貌似不好安装,于是我上传到了这个空间里,然后自己下载的时候就会提示安装了。(手动载入时候文件项里是灰色的,无法选择)

地址:

滚动条 http://tisyang.is-programmer.com/user_files/tisyang/Image/Oxychrome%20Scrollbars.crx

主题  http://tisyang.is-programmer.com/user_files/tisyang/Image/Oxychrome%20Theme.crx

如图: 和 KDE 的主题相当般配的说,注意右侧的滚动条,不再是GTK样式了。

Debian 6.0 'Squeeze' KDE 备忘

先贴几张配置之后的图看看。

文件管理器 Dolphin:

终端 Konsole:

'开始菜单' Kickoff:

系统设置:

////*************************************************************************************////

其实是在虚拟机里安装的,所以就没有驱动配置的烦恼,好在主机性能不错,打开bios里的虚拟化之后,Debian的系统运行速度很不错,可以说是相当的快速。

安装CD是从官网下载的 KDE 整合的,http://cdimage.debian.org/debian-cd/6.0.2.1/i386/iso-cd/
目录的下方会有一个 debian-6.0.2.1-i386-kde-CD-1.iso

安装的过程中就不叙述了,应该没有什么大问题。

下面说一下安装后进入系统需要做的工作:

  1. 源。参考文章:Debian6 安装小记 http://www.bentutu.com/2011/05/debian6-install-note/
    乱码问题没有出现,首先是解决源的问题:
    打开 Konsole 终端,输入命令 su 进入 root 权限,需要输入安装时候设置的 root 密码。
    更改 /etc/apt/sources.list 权限: chmod 666 /etc/apt/sources.list
    然后使用KDE自带编辑器 Kwrite 编辑 /etc/apt/sources.list 文件, 先将所有未注释的行全部注释(头部加 '#'),然后添加源,这里使用 163 的源。 保存之后,再把文件权限更改回来: chmod 644 /etc/apt/sources.list, 然后 apt-get update 更新一下,这样就可以使用 apt-get 或者 aptitude 来安装软件了。
    deb http://mirrors.163.com/debian squeeze main non-free contrib
    deb http://mirrors.163.com/debian squeeze-proposed-updates main contrib non-free
    deb http://mirrors.163.com/debian-security squeeze/updates main contrib non-free
    deb-src http://mirrors.163.com/debian squeeze main non-free contrib
    deb-src http://mirrors.163.com/debian squeeze-proposed-updates main contrib non-free
    deb-src http://mirrors.163.com/debian-security squeeze/updates main contrib non-free
    deb http://http.us.debian.org/debian squeeze main contrib non-free
    deb http://non-us.debian.org/debian-non-US squeeze/non-US main contrib non-free
    deb http://security.debian.org squeeze/updates main contrib non-free
  2. sudo。 依然参照 bentutu 的这文章,先安装 sudo : apt-get install sudo, chmod 644 /etc/sudoers 来增加写权限,在 root ALL=(ALL) ALL 语句下添加 username ALL=(ALL) ALL , username 为你当前非root账户用户名。 然后保存并修改权限:chmod 0440 /etc/sudoers 。
  3. locales。参考 http://easwy.com/blog/archives/chinese_in_debian_lenny/ 。
    终端命令输入 sudo dpkg-reconfigure locales 来配置locales。 
    跟文章中一样选择 locales : 
    en_US.ISO-8859-1
    en_US.UTF-8
    zh_CN.GB2312
    zh_CN.GB18030
    zh_CN.UTF-8
    zh_CN.GBK
    zh_TW.BIG5
    zh_TW.UTF-8设置为
    默认 locale 设置为zh_CN.UTF-8
  4. KDE 中文化。参考 http://www.linuxsir.org/bbs/showthread.php?p=1757986。这个时候在 KDE 的设置里,选择 语言为中文会没有什么效果,也无法添加中文支持,因为需要下载 中文语言支持文件。
    在终端输入命令:sudo aptitude install kde-i18n-zhcn . 安装完成后就可以在 KDE 设置面板里 选择中文了。
  5. man 中文包。 终端命令:  sudo apt-get install manpages-zh
     
  6. 可选的 windows 字体'支持' 。 把 win 下的几个常用字体拷贝过来,使用 KDE 自带的字体安装器安装(需要root 密码),推荐一个 等宽字体 Droid Sans Mono,免费的字体,显示的也很漂亮。 安装字体后,在 KDE 的设置,外观中,调整所有字体,建议使用微软雅黑,因为看起来真的很好很强大,就如上面的图一样。
  7.  Chrome 的安装。下载 Chrome 的 Deb 包,然后在终端里 输入命令: sudo dpkg -i xxx.deb 来安装这个 deb 包,但是安装过程中会提示有依赖未安装,所以还需要一个命令:sudo apt-get -f install 来解决问题,然后 
    chrome 就可以用了。PS 最好更改下 Chrome 的字体。。。。
  8.  输入法。我使用的是 iBus, 安装命令为: sudo aptitude install ibus-pinyin。 KDE 貌似还没有用源生的输入法,不管 ibus 还是 scim 都是基于 Gtk 的,在kde下使用虽然没多少问题,但是那个界面实在是简陋。。。不过好像可以通过设置 gtk 主题来解决。

////**************************************************************//////

其实我开始是想用 openSUSE 的,但是那个安装包,太大了。然后就选择了 Debian,毕竟 Ubuntu 对 KDE 支持很不好。KDE 的确很好用,个人觉得界面什么的比 Gnome 要美观很多,至少风格是以明亮为主。还有一点就是 gnome 使用的是上下双'任务栏',个人觉得很占屏幕空间。。。