Ubuntu 无法启动Terminal
从8.04升级到8.10后,打开Terminal后出现如下错误:
There was an error creating the child process for this terminal
Terminal打不开。
在/etc/fstab里添加如下两句后重启电脑就好了:
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
Ubuntu 8.04 下删除旧内核
出现的问题:最新一次升级后,发现无法打开“新立得”。出现错误提示为:dpkg was interrupted. 需要输入”dpkg –configure -a”来重新配置。但是当输入上述语句后,提示没有足够空间。。
df一看,发现100MB空间的/boot占用率100%。旧的内核一直没有删除,有2.6.24-16,19,20,21以及最新的22。
于是GOOGLE找出删除内核的办法:
- 实现uname -a 可以查看当前系统使用的内核
- 然后删除某个内核用:sudo apt-get remove linux-image-2.6.15-16
- 依次实行上述命令行删除其它的内核,空间就会被释放出来。
- 再执行sudo update-grub,这样/boot/grub/menu.lst的启动选项中,就不会再有旧内核的选项了
- 还有一个最简洁的命令行:sudo aptitude purge ~ilinux-image-.*\(\!`uname -r`\),这个可以自动删除除了最新内核外其它所有的旧内核,非常强大。
- 另外还有一个办法就是在“新立得”里查找linux来删除
不过,我的问题不是上面这么简单解决的,因为/boot空间是100%使用,所以最近一次升级中没有正常完成,造成dpkg interrupted。所以不管是执行sudo apt-get remove linux-image-2.6.15-16,还是执行sudo aptitude purge ~ilinux-image-.*\(\!`uname -r`\),都会提示dpkg was interrupted,需要重新configure一次。但是有趣又无奈的地方就在这里,因为空间已经满了,所以执行dpkg –configure -a就无法进行。
最后没有办法,只好使用另外一种方法:
先把/boot下的所有除了最新内核22以外的旧内核16,19,20,21的文件全部移到另外一个目录下。这样/boot空间就释放出来了。如果再执行sudo update-grub,启动选项中就不会再有旧内核,旧内核所占/boot的空间也被释放了(旧内核所占其它的空间不会被释放),而且旧内核还是存在于磁盘上,当需要它们的时候,还可以再把这些文件重新复制回/boot目录下。
因为我想把所有的旧内核都彻底删除掉。所以先把20,21的文件移除到别的地方,腾出来一些空间,以便于执行”dpkg –configure -a”。执行完毕后,使用命令行“sudo aptitude purge ~ilinux-image-.*\(\!`uname -r`\)”,自动删除所有旧内核。
有个小问题是,因为我先把/boot下的20,21文件挪到另外一个目录,虽然最后这些文件可以手动删除,但是不知道内核20,21的其它文件有没有被删除掉。。
Ubuntu下安装Codecs
sudo apt-get install gstreamer0.8-plugins sudo apt-get install gstreamer0.8-lame sudo apt-get install gstreamer0.8-ffmpeg sudo apt-get install w32codecs sudo apt-get install libdivx4linux sudo apt-get install lame sudo apt-get install sox sudo apt-get install ffmpeg sudo apt-get install mjpegtools sudo apt-get install vorbis-tools gst-register-0.8
Ubuntu下媒体播放器和解码器codecs
ubuntu下的媒体播放器有多种,mplayer, smplayer, totem, totem-xine, 还有realplayer等等。
mplayer和totem都是自带的。
这里介绍一下如何使用totem-xine和安装codecs。
自带的totem没有totem-xine支持的格式多,所以需要卸载先,然后再安装totem-xine。
在Synaptic Package Mananger中可以方便的卸载totem以及安装totem-xine。
codecs可以去mplayer的官网上下载。下载的包例如是:essential-20071007.tar.bz2
解压缩后,把里面的内容都复制到/usr/lib/codecs(totem-xine用的,/usr/lib/win32是mplayer用的)(记着先把codecs里的内容备份到另外一个目录先)
然后就可以播放了
php网页编程中用CSS HACK来区分不同的分辨率和不同的浏览器
网页在不同的浏览器和不同的分辨率下有不同的显示效果,颇为头疼。网上查找了一些信息,这里把基本的一些摘录下来。
————————————————
body{
background:orange; /*FF*/
*background:green !important; /*IE7*/
*background:blue; /*IE6*/
}
解释: Firefox读取的是第一行,而忽略第2,3行。因为这两行有*在前。 IE7读取的是第1,2行,根据优先权,第2行最终显示。 IE6读取第1,3行,根据优先权,第3行最终显示。
上面书写的顺序:首先是FF,其次是IE7,再次是IE6
————————————————
另外一种是:
*+html #id{} 仅IE7识别
* html #id{} 仅IE6识别
————————————————
还有一种IE中的IF语句:
<!–[if IE]>
<h1>您正在使用IE浏览器</h1>
<!–[if IE 5]>
<h2>版本 5</h2>
<![endif]–>
<!–[if IE 5.0]>
<h2>版本 5.0</h2>
<![endif]–>
<!–[if IE 5.5]>
<h2>版本 5.5</h2>
<![endif]–>
<!–[if IE 6]>
<h2>版本 6</h2>
<![endif]–>
<!–[if IE 7]>
<h2>版本 7</h2>
<![endif]–>
<![endif]–>
————————————————
上面这个IF语句是判断IE系列的,如果一同再判断FF,那需要改为:
<!–[if IE 7]><!–>
</a>
<!–<![endif]–>
<!–<table><tr><td>
<ul>
<li><a href=”#”>A</a></li>
</ul>
</td></tr></table>–>
<!–[if lte IE 6]>
</a>
<![endif]–>
- 未完 -
