Archive

Posts Tagged ‘Ubuntu’

Ubuntu升级到9.04 Jaunty的变化和遇到的问题

May 15th, 2009
  • 长按键盘自动连续击键的间隔缩短了。
  • 显卡驱动没有问题,终于能够摆脱8.10里像涂了墨水一样的中文字乱码了。
  • Firefox的速度好像也快了不少,或许也是显卡驱动的原因?
  • Fluxbox apps文件中Position设置LOWERLEFT/BOTTOMLEFT原来时从屏幕最下方算间距,现在时从工具栏上方开始算,所以原来的值要减去工具栏的高度(25)。
  • 消失很久的启动时的Splash屏又回来了,不过是Xubuntu的小老鼠(我用的WM是Fluxbox),想取消的话,删掉usplash及其相关的包即可。

如果在没有正式发布的时候就升级了,每天的更新比正式发布后要多得多,每天都要下载一大堆包升级,得考虑好,当然你也可以忍着不频繁升级。

Fluxbox任务栏上当前聚焦的窗口和其他窗口的风格是一样的,区分不开了,更换任何styles都无效。

Firefox窗口的标题栏里中文字显示为方块

先这个是Gnome的问题,所有窗口标题栏中包含中文时都是方块,而Fluxbox工具栏上是能够正确显示中文的。尝试更换不同的fluxbox styles发现menu.title.font设置为dejavu字体时窗口标题栏就能正常显示中文了,其他的窗口内容、网页中文全部显示正常。

终于让我找到原因了,又是一个哭笑不得的问题,在我自定义风格里,使用了dejavusans这个字体,而这个字体现在好像在系统中找不到了,因此它就像出错后就不再往下执行了一样,导致后面overlay里定义的新字体也不生效,窗口栏上的中文就成方块了。换其他style之所以能正常显示窗口标题栏上的中文,是因为他们没用dejavusans这个字体。最后的解决方案,把这个自定义style里的dejavusans替换成dejavu -_-!

字体大小dpi优化

字体DPI设置会根据显示器进行优化,而不再局限于默认的96DPI,还可以在System → Preferences → Appearance → Fonts → Details里自行定义。原来是在.Xresources里设置的Xft.dpi:96,不知道还有用没。目前发现的问题是窗口标题栏中的文字比以前大了一些。

我的Fluxbox还遇到了一个问题,屏幕尺寸、位置计算出现了错误,原先我是/etc/gdm/Init/Default中用xrandr -s 1024x768强制重设分辨率,现在把这行禁用后发现桌面的“尺寸”比1024大,鼠标移动到屏幕边缘后会自动移动,但显示不全。

	$ xdpyinfo |grep resolution
	  resolution:    78x78 dots per inch

78是显示器真正的dpi数,但按这个设置又显得字太小了。最后,把xorg.conf里大于1024的分辨率都删掉,这样就可以去掉上面xrandr那句了,显示也正常了,dpi仍然用的是96。

上某些网站中文字模糊(像粗体字那样的模糊)

打开/etc/fonts/conf.d/44-wqy-zenhei.conf,找到下面这行:

	<edit name="antialias" mode="assign"><bool>true</bool></edit>

把true改成false后重启X即可。

Ctrl+Alt+Backspace关闭X的组合键被禁用了

编辑/etc/X11/xorg.conf,在最后加上:

	Section "ServerFlags"
		Option "DontZap" "no"
	EndSection

Related posts

Linux , , , , ,

升级到Ubuntu Intrepid后感觉到的一些变化

January 6th, 2009

第一,一台服务器,双网卡,配置两个ip地址,这两个ip地址同属一个网段,因此网关设置为相同。升级前一切正常,升级后只能让同网段的其它机器ping通,其它网段机器即使防火墙规则允许也ping不通,去掉其中一个ip地址的网关设置后就可以了。

第二是和mysql相关的怪怪的问题,以前mysql设置中都有一项:

innodb_flush_log_at_trx_commit=1

升级后,一台P4 1.7 256M内存的机器insert数据正常,另外一台IBM x3650 双5160 3.0GHz cpu 4G内存机器的insert却极慢(10条数据要5秒),不光是比以前Feisty慢,比刚才那台P4机器都要慢很多倍。将此项值调整为2以后恢复正常,insert 1000条数据耗时0.25秒左右。P4机器也将此值调整为2后有改进,但不如x3650明显,insert 1000条数据耗时5秒多。

第三,登录后欢迎屏幕里的那个系统信息我很喜欢:

  System information as of Tue Jan  6 23:50:02 CST 2009

  System load:    0.0                Memory usage: 77%   Processes:       118
  Usage of /home: 19.4% of 24.03GB   Swap usage:   34%   Users logged in: 3

如果没有出现,把landscape-common这个包装上,并且平时可以用landscape-sysinfo命令调出类似信息。

Update @ 2009-01-13

字体问题又出现了,网上有很多修改文泉驿字体的方法,我则是/etc/fonts/conf.avail44-wqy-zenhei.conf69-language-selector-zh-cn.confWenQuanYi Zen HeiWenQuanYi Bitmap Song前面加上Simsun,字体倒是还是原样(默认宋体),但firefox和其它X程序有时候字体乱成一片,也有说像墨点或者重叠的,反正鼠标选中后就恢复了,有人说是驱动的问题,把nvidia-glx-96换成nvidia-glx-71干脆X就起不来了,其它的173 177 180根本就不支持我的GForce4 MX440。

如果不换Simsun,用网上的方法调整一下文泉驿字体的处理方式,倒是不乱,但字体略显模糊,还能接受。但其它X程序依然有时文字是乱的。查到可能是显卡驱动的问题,只能等待了?

另外注意一点,nvidia-glx-??安装后必须重启系统,只重启X是不起作用的。

Update @ 2009-01-16

旧IBM本本,raedon9000的显卡,fglrx不支持,所以卸掉xorg-driver-fglrx后X能起来了,但登录界面无法输入,并且小红点失效,reinstall xserver-xorg-vesa后dpkg-reconfigure xserver-xorg后好了。总体来说反而比N卡好配。

Update @ 2009-02-08

如果安装nvidia显卡驱动时出现这样的错误:

  dpkg-divert: `diversion of /usr/lib/xorg/modules/extensions/libGLcore.so to /usr/lib/nvidia/libGLcore.so.xlibmesa by nvidia-glx-96' clashes with `diversion of /usr/lib/xorg/modules/extensions/libGLcore.so to /usr/lib/nvidia/libGLcore.so.xlibmesa by nvidia-glx-71'
  dpkg: error processing /var/cache/apt/archives/nvidia-glx-96_96.43.09-0ubuntu1.1_i386.deb (--unpack):
   subprocess pre-installation script returned error exit status 2
  Errors were encountered while processing:
   /var/cache/apt/archives/nvidia-glx-96_96.43.09-0ubuntu1.1_i386.deb
  E: Sub-process /usr/bin/dpkg returned an error code (1)

可以试着用dpkg-divert --list|grep GL找到libGLcore.so相关的内容,可能会定义到另外一个包里了:

$ dpkg-divert --list|grep GL
diversion of /usr/lib/xorg/modules/extensions/libGLcore.so to /usr/lib/nvidia/libGLcore.so.xlibmesa by nvidia-glx-71
diversion of /usr/lib/libGL.so.1 to /usr/lib/nvidia/libGL.so.1.xlibmesa by nvidia-glx-96
diversion of /usr/lib/libGL.so.1.2 to /usr/lib/nvidia/libGL.so.1.2.xlibmesa by nvidia-glx-96

可以看出是nvidia-glx-71没删干净,在这里手工清除就可以了:

$ sudo dpkg-divert --remove /usr/lib/xorg/modules/extensions/libGLcore.so
Removing `diversion of /usr/lib/xorg/modules/extensions/libGLcore.so to /usr/lib/nvidia/libGLcore.so.xlibmesa by nvidia-glx-71'

Update @ 2009-02-09

ati的驱动也出问题了,rv3??核心的显卡全不支持,比如我的Radeon X600,暂时只能删掉fglrx,用其它的驱动替代。删除xorg-driver-fglrx相关的包,装上xserver-xorg-video-ati,然后sudo dpkg-reconfigure xserver-xorg,生成了一个极小的xorg.conf,图形就有了,但据说3D性能几乎没有,办公用没啥大事。

Section "Device"
    Identifier  "Configured Video Device"
    Option      "UseFBDev"      "true"
EndSection

Section "Monitor"
    Identifier  "Configured Monitor"
EndSection

Section "Screen"
    Identifier  "Default Screen"
    Monitor     "Configured Monitor"
    Device      "Configured Video Device"
EndSection

Firefox工具栏的自定义设置总是丢失的问题原因也找到了,可以暂时禁用TabMixPlus扩展,或者是禁用Ubuntu Firefox Modifications,我选择后者。

字体也有一点小问题,比如方正小标宋的“黑体”效果就没有了,重新刷新一下fc-cache -fv就好了。

Related posts

Linux , , , , , , , , , , , ,

Intrepid中的php-sybase凑合能用了

January 4th, 2009

以前说过Ubuntu升级到hardy之后,php-sybase没了,现在在intrepid里又有了,不过有些变化。

主要的原因好像是支持方式从以前的ctlib变成了dblib,其实是和mssql的支持作在一起了,所以现在没有了sybase_ct.so,并且如果使用了adodb(我新下载的版本是5.07),要修改drivers/adodb-sybase.inc.php的148行,把

return sybase_unbuffered_query($sql,$this->_connectionID);

替换为

return sybase_query($sql,$this->_connectionID);

因为sybase_unbuffered_query只有在使用CT library时才能用

另外一个小变化就是timestamp读出来以后的值变了,由于sybase内置的timestamp其实是varbinary类型,所以原来使用ctlib的时候读出来就是这样的:000007d001917b36,但现在变成了类似中文字符串的形式,所以也需要转换一下:

if (16 != strlen($ts))
    $ts = bin2hex($ts);

Update @ 2009-03-01

还是日期的问题,现在从数据库日期字段里取出来的数据多了个毫秒部分,比如Mar 01 2009 00:24:00:000AM,致命的是这个字符串交给strtotime()函数居然不返回值,把毫秒部分:000去掉就没事了。

Related posts

General , , , , , ,

升级到8.10 intrepid过程中libc6依赖性死循环问题的解决

January 4th, 2009

依然是采取从源升级的方式,不过却遇到了依赖性死循环:

fwolf@svr6:~$ sudo apt-get install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run `apt-get -f install' to correct these.
The following packages have unmet dependencies:
  libc6: Depends: findutils (>= 4.4.0-2ubuntu2) but 4.2.28-2 is installed
  libc6-dev: Depends: libc6 (= 2.5-0ubuntu14) but 2.8~20080505-0ubuntu7 is installed
  libc6-i686: PreDepends: libc6 (= 2.5-0ubuntu14) but 2.8~20080505-0ubuntu7 is installed
E: Unmet dependencies. Try using -f.

使用-f参数也无济于事:

fwolf@svr6:~$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
  findutils libc6-dev libc6-i686
Suggested packages:
  mlocate locate slocate glibc-doc manpages-dev
The following packages will be upgraded:
  findutils libc6-dev libc6-i686
3 upgraded, 0 newly installed, 0 to remove and 362 not upgraded.
5 not fully installed or removed.
Need to get 0B/5077kB of archives.
After unpacking 1561kB of additional disk space will be used.
Do you want to continue [Y/n]? y
E: Couldn't configure pre-depend libc6 for findutils, probably a dependency cycle.

看到没,libc6依赖findutils 4.4以上,而升级findutils又依赖libc6,所以陷入死循环,可以尝试这样解决,前提是相关的deb包都已经用apt下载到了本地cache里:

fwolf@svr6:~$ cd /var/cache/apt/archives
fwolf@svr6:/var/cache/apt/archives$ sudo dpkg --force-depends --install libc6_2.8~20080505-0ubuntu7_i386.deb findutils_4.4.0-2ubuntu3_i386.deb

强制直接安装这两个冤家包,然后是libc6相关的这两个重要包:

sudo aptitude install libc6-i686 libc6-dev

然后,再进行其它upgrade就都正常了。

参考

coreutils and debianutils dependency cycle on reinstall command

Related posts

Linux , , , , , , ,

接多显示器的一点提示

July 17th, 2008

前两天为了工作需要,打算用我的ATI X600双头显卡接两个显示器,显示同样的内容,鼓捣了一番,记录于此。

ubuntu默认的双头显卡是左右屏的方式,即主屏是正中央,第二个屏在右边,对应xorg.conf中是这样的:

Section "ServerLayout"
    Identifier     "Default Layout"
    Screen         "Default Screen" 0 0
    Screen         "aticonfig-Screen[1]" RightOf "Default Screen"

其中Default Screen就是主屏,aticonfig-Screen[1]是第二个显示器。RightOf是设定在主屏右边,还有其它值可选,在man xorg.conf里ServerLayout部分有详细解释,大概在1324行:

  • RightOf 右边
  • LeftOf 左边
  • Above 上边
  • Below 下边

但我是想显同样的内容,所以需要删除xorg.conf中的两行内容,一行就是上面贴过的:

Screen         "aticonfig-Screen[1]" RightOf "Default Screen"

另外一行是和aticonfig-Screen[1]相对应的Device段中的Screen 1,比如:

Section "Device"
    Identifier  "aticonfig-Device[1]"
    Driver      "fglrx"
    BusID       "PCI:1:0:0"
# 2 screen same display 2/2: delete below line
    Screen      1

删掉上面的最后一句,然后重启X就可以了。

-EOF-

Related posts

Linux , , , ,