I am LAZY bones ? all linux

分类: '备忘' 的归档

记一下一些分辨率的名字

纯备忘而已,粗体是比较常用的.
不过为什么没有 1280*800 呢? 我也不知道,要么看这里这里好了.

qqvga : 160 x 120 : Quarter Quarter VGA
palm : 160 x 160 : Original Palm OS Devices
eigthvga : 240 x 160 : 1/8 VGA
vcrntsc : 240 x 480 : VCR NTSC
vcrpal : 240 x 576 : VCR PAL
qcif : 176 x 144 : Quarter CIF
gears : 300 x 300 : OpenGL Gears Benchmark
glxgears : 300 x 300 : OpenGL Gears Benchmark
cga : 320 x 200 : IBM PC CGA (Color Graphics Adapter)
atarist16 : 320 x 200 : Atari ST 16 Color
qvga : 320 x 240 : Quarter VGA
modex : 320 x 240 : VGA Mode X
pocketpc : 320 x 240 : Common Pocket PCs
clie : 320 x 320 : Sony Clie (Palm OS)
vcdntsc : 352 x 240 : VCD (Video CD) NTSC
vcdpal : 352 x 288 : VCD (Video CD) PAL
cif : 352 x 288 : CIF (Common Image Format)
tweakvga : 360 x 480 : Highest 256-color mode for VGA monitors
svhsntsc : 400 x 480 : S-VHS NTSC
svhspal : 400 x 576 : S-VHS PAL
tungsten : 480 x 320 : Tungsten (Palm OS)
bwmac9 : 512 x 342 : Black & White 9″ Mac
maclc : 512 x 384 : Mac LC
ldntsc : 560 x 480 : Laserdisc NTSC
ldpal : 560 x 576 : Laserdisc PAL
atarist4 : 640 x 200 : Atari ST 4 Color
ega : 640 x 350 : IBM PC-AT EGA (Extended Graphics Adapter)
atarist2 : 640 x 400 : Atari ST 2 Color
qcga : 640 x 400 : Quad CGA
vga400 : 640 x 400 : VGA 400 Line
pgc : 640 x 480 : Professional Graphics Controller
mcga : 640 x 480 : IBM PS/2 MultiColor Graphics Adapter
vga : 640 x 480 : IBM PS/2 VGA (Video Graphics Array)
edtv1 : 640 x 480 : EDTV 1
edtv2 : 704 x 480 : EDTV 2
hgc : 720 x 348 : Hercules Graphics Controller
mda : 720 x 350 : IBM PC MDA (Monochrome Display Adapter)
lisa : 720 x 360 : Apple Lisa
dvdntsc : 720 x 480 : Digital Video 525/60 (D-1 NTSC, DVD NTSC)
sp525 : 720 x 540 : Digital Video 525/60 (D-1 NTSC Square Pix)
spd1ntsc : 720 x 540 : Digital Video 525/60 (D-1 NTSC Square Pix)
dvdpal : 720 x 576 : Digital Video 625/50 (PAL, DVD PAL)
ns525 : 768 x 483 : Non-Standard DV 525/60
sp625 : 768 x 576 : Square Pixel DV 625/50
wga : 800 x 480 : Wide VGA
svga : 800 x 600 : Super VGA
edtv3 : 852 x 480 : EDTV 3
ws480 : 854 x 480 : Wide Screen 480 Line
ns625 : 948 x 576 : Non-Standard DV 625/60
aacsict : 960 x 540 : AACS Image Constraint Token
ws576 : 1024 x 576 : Wide Screen 576 Line
evga : 1024 x 768 : VESA Extended VGA
xga : 1024 x 768 : IBM XGA (eXtended Graphics Array)
nextcube : 1120 x 832 : NeXT Cube
apple1mp : 1152 x 864 : Apple “1 Megapixel”
xga+ : 1152 x 864 : XGA+
olpcmono : 1200 x 900 : One Laptop Per Child Mono Mode (true res)
olpc : 1200 x 900 : One Laptop Per Child Mono Mode (true res)
720i : 1280 x 720 : HDTV 720 Line Interlaced
720p : 1280 x 720 : HDTV 720 Line Progressive
hd720 : 1280 x 720 : HDTV 720 Line
xga43 : 1280 x 960 : 4:3 XGA Alternative
xga960 : 1280 x 960 : 4:3 XGA Alternative
sxga : 1280 x 1024 : Super XGA
wxga : 1366 x 768 : Wide XGA 很多液晶电视的分辨率
wsxga : 1440 x 900 : Wide Super XGA (Low Variant)
wsxga1 : 1440 x 900 : Wide Super XGA (Low Variant)
wxga+ : 1440 x 900 : Wide XGA+
sxga+ : 1440 x 1050 : Super XGA+
wsxga2 : 1600 x 1024 : Wide Super XGA (High Variant)
uxga : 1600 x 1200 : Ultra XGA
wsxga+ : 1680 x 1050 : Wide Super XGA+
academy2k : 1828 x 1332 : Digital Film Academy 1.375:1 @ 2K
1080i : 1920 x 1080 : HDTV 1080 Line Interlaced
1080p : 1920 x 1080 : HDTV 1080 Line Progressive
hd1080 : 1920 x 1080 : HDTV 1080 Line
wuxga : 1920 x 1200 : Wide Ultra XGA
dc2k1 : 1998 x 1080 : Digital Film Digital Cinema 1.85:1 @ 2K
dc2k2 : 2048 x 858 : Digital Film Digital Cinema 2.39:1 @ 2K
eurohd : 2048 x 1152 : European HDTV
qxga : 2048 x 1536 : Quad XGA
wqxga : 2560 x 1600 : Wide Quad XGA
qsxga : 2560 x 2048 : Quad Super XGA
wqsxga : 3200 x 2048 : Wide Quad Super XGA
quxga : 3200 x 2400 : Quad Ultra XGA
academy4k : 3656 x 2664 : Digital Film Academy 1.375:1 @ 4K
wquxga : 3840 x 2400 : Wide Quad Ultra XGA
dc4k1 : 3996 x 2160 : Digital Film Digital Cinema 1.85:1 @ 4K
dc4k2 : 4096 x 1714 : Digital Film Digital Cinema 2.39:1 @ 4K
hxga : 4096 x 3072 : Hexadecatuple XGA
whxga : 5120 x 3200 : Wide Hexadecatuple XGA
hsxga : 5120 x 4096 : Hexadecatuple Super XGA
whsxga : 6400 x 4096 : Wide Hexadecatuple Super XGA
huxga : 6400 x 4800 : Hexadecatuple Ultra XGA
whuxga : 7680 x 4800 : Wide Hexadecatuple Ultra XGA

python 跨平台运行笔记

最近在折腾gmbox,这个东东我设想是要让它跨平台运行的,原本想跨平台可能会比较麻烦,但是试了一下才知道,确实非常简单.这都得益于python本身的跨平台特性.
纯python程序要在win下运行,只要简单地下载并安装python运行环境,就会自动做好.py文件和python的关联,要运行一个python程序,只需简单地双击即可.
如果是用pygtk的图选界面程序的画,会稍微麻烦一点点,在如上安装了python运行环境以后,还需要分别安装GTK+库PyCairoPyGObjectPyGTK才行.安装路径最好都是用默认的.
另外,我还发现,如果是在vbox的虚拟XP里运行py程序,程序所在目录又是vbox分配的”数据空间”的话,在import自己写的模块的(也就是把.py转成.pyc)时候,就会产生

OverflowError: modification time overflows a 4 byte field

这样的错误…
再另外,对于中文的处理,在纯python下,只要在所有字符串常量前加u,表示是unicode字符串,就完全没有问题的.但是到了pygtk,就会有些麻烦,也许可以参考这里.还要再研究研究.

python里强大的re模块

今天遇到一个小问题,用脚本把某web页面抓取下来时,里面的中文都是类似”帮助”这样的格式.这当然不是我想要的,我需要把它转化为可读的汉字.
为了解决这个问题,首先要用到内建函数unichr:
unichr(24110) 能得到”帮”字, unichr(21161) 能到”助”字,问题是我怎么批量吧html里面的所有 &#nnnnn; 替换掉呢?
干这类事情当然需要正则表达式了,于是,去翻re的文档,还真让我给找到了,方法如下:

1
2
3
4
5
6
7
8
9
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import re
 
str='<a href="/music/html/faq.html">&#24110;&#21161;</a>'
def unistr(m):
    return unichr(int(m.group(0)[2:-1]))
 
print re.sub(r'&#[0-9]{5};',unistr,str)

运行这段示例代码就可以得到我想要的结果了,哈哈.
觉得python的这个re好强大,居然替换字符串还可以是个函数…太佩服这个设计了.

mldonkey相关备忘

其实,比起 BT/ED2K/迅雷 等P2P的下载方式,我更喜欢传统的ftp. 但是ftp里面不是什么都能下载到的,最近想下载一些老电影,于是还是用上了mldonkey.
EE的blog里搜出来一些东西,不过这家伙的写东西基本上都看不懂而且也不能用的,呵呵,改了改,基本上好了.如下:
先是按需启动mlnet,建立一个 autostart.sh ,chmod +x 以后,加到gnome的会话里面(这样以后有其他需要自启动的东西也方便了),内容如下:

#!/bin/sh
ls ~/.mldonkey/temp/* >/dev/null 2>&1 && mlnet &

这样,只要有未下载完成的内容,都会在登录系统的时候打开mlnet,避免忘记开而浪费时间了.
另外,加这个alias到.bashrc,可以方便地查看下载状态:

alias m='pgrep mlnet >/dev/null 2>&1 && echo vd | nc -q 1 localhost 4000 | awk '"'"'/\[D/{print "\033[0;32m"$7"\t\033[4;31m"$8"%\033[0m\t",$14"KB/s"} /Down:/'"'"

效果如图:
alias效果

=======090121补充firefox关联ed2k到mldonkey的方法========
建立一个脚本文件(我的叫 ed2kml ),内容为:

#!/bin/sh
echo dllink $* | nc -q 1 127.0.0.1 4000

加上可执行权限,然后,firefox的地址栏里输入 about:config ,在里面新建一个布尔型的键,名字为 network.protocol-handler.external.ed2k ,值为true,再建一个字符串型键, 名为 network.protocol-handler.app.ed2k 值为 ed2kml 的绝对路径.
打开mldonkey以后,在firefox里点击一个ed2k链接,firefox会弹出一个选择连接的窗口,记住不要使用默认的,点”其他程序”,再定位到刚才的ed2kml,确定就可以了.可以勾选记住设置,以后就直接点链接就行了.

抓了所有中国手机号段的数据

由于工作需要,我最近要查询大量手机号码的归属地,而本地又没有手机号段-归属地的映射数据,所以随手写了行脚本,运行了N个小时后,终于抓回了166000行的数据.包括13*,151*,1530-1535,155-156,1571,158-159号段的归属地信息.因为据我考查,目前的所有手机号码都应该在以上号段里面,当前的仍在广告中的188和189号段的数据也都还查不到,以后出了,我想我会再更新的.
对了,数据来自手机在线,感谢一下.命令就简单的一行:

for i in `seq 1350000 1350009`; do echo $i `curl -s "http://api.showji.com/Locating/default.aspx?m=$i&output=json&callback=querycallback" | awk -F "[,:\"]+" '{if($9!="PostCode")print $7,$9,$11,$13,$15,$17}'`; done

改一下seq的值就可以得到不同段的结果,但不推荐再大号段地抓数据了,毕竟人家的服务器和流量也是要钱的,如果需要数据的话,从这里下载我抓好的,嘿嘿.

笔记本显示器屏保和电源管理完美解决方案

本文要实现的目标: 完美控制笔记本LCD的屏保和黑屏,具体地说是实现

1. 平时键鼠10分钟无动作,将LCD转入屏保;15分钟无动作,将LCD彻底断电
2. mplayer看电影的时候,持续不屏保不断电.
3. 按下 ctrl+alt+L 的时候,立即锁住屏幕并将LCD断电.

适用人群: linux用户(废话,我没条件测试BSD和其他*nux),gnome用户,compiz用户,用命令行启动mplayer的用户.当然如果不全符合,部分内容也是可以参考的,比如双击电影文件打开mplayer的用户,可以自己修改文件的打开方式;非compiz用户可以用其他方式绑定命令等.

步骤:

1. 在 /etc/X11/xorg.conf 文件的 Section “ServerLayout” 一节里,加上一行 Option “OffTime” “180” 数值也可以更大些,避免X的影响.
2. 在 ~/bin 下建立一个名为 mplayer 的可执行shell脚本,并把 ~/bin 加入$PATH,位置要在 /usr/bin 前面,不然就自己换名字吧.
脚本内容如下:

#!/bin/sh
 
gnome-screensaver-command -i -n "mplayer" -r "看电影呢!" &
/usr/bin/mplayer "$@"
mreturn=$?
kill %
exit $mreturn

3. 系统 – 首选项 – 键盘快捷键 里面取消”锁住屏幕”的键盘绑定.
4. 打开ccsm,在 General Options – Commands 里面,添加一个 ctrl+alt+l 键的绑定,命令如下:

gnome-screensaver-command -l; sleep 3; xset dpms force off

5. 系统 – 首选项 – 屏幕保护程序,将主题选为”黑屏”(当然看个人爱好,我觉得花CPU去绘制屏保,是种浪费,就选黑屏了).
6. 系统 – 首选项 – 电源管理,设置成15分钟后将显示器转入睡眠.
7. 完成了,哈哈~

一些解释和废话:
此方案里用到了 gnome-screensaver 的控制程序 gnome-screensaver-command ,我觉得很不错,不知道 xscreensaver 和 kscreensaver 是不是也有相应的命令,有的话KDE用户也可以用此方案了.
控制电源,用到了 xset ,没有安装的朋友请自行搞定安装.
mplayer的1.0rc2版本,号称有可以停掉 xscreensaver 甚至 gnome-screensaver 的选项,但根据我的试验,都无效,可能是因为的是SVN版本的mplayer的关系吧.所以不得不自己写个脚本搞定,脚本用于替换 mplayer ,如果你喜欢也可以简写成 mp 之类的.
另外,LCD用户需要注意一下了,其实由于LCD并没有电子束轰击荧光粉,所以适用于CRT的屏幕保护程序对LCD其实是很不适合的,根本起不到保护液晶单元和背光灯管的作用.何况,linux下好看的3D屏保,其实都蛮耗CPU的,如今都流行创建集约型社会了,都提倡节能减排了,所以,离开电脑的最佳选择是用黑屏屏保锁住屏幕+显示器断电.当然,也推荐CRT用户这么干.

ext文件系统的文件大小杂记

事情是这样起源的:
今天用奔流下个电影,由于速度太快(都超过2MB/s了),怕被网管发现,也怕影响人家正常使用网络,我就把BT给暂停了,想看看到底下了多少,于是:

lily@LLY:~/benliud/Downloaded/Mission.Impossible.Trilogy/Mission.Impossible.1996.720P.HDVDRip.X264-TLF$ ls -lh tlf-missionimpossible1.720hdvd.mkv
-rw-r–r– 1 lily lily 4.4G 12-02 13:33 tlf-missionimpossible1.720hdvd.mkv
lily@LLY:~/benliud/Downloaded/Mission.Impossible.Trilogy/Mission.Impossible.1996.720P.HDVDRip.X264-TLF$ du -sh tlf-missionimpossible1.720hdvd.mkv
450M tlf-missionimpossible1.720hdvd.mkv

发现用ls命令看到的大小是4.4G,而du命令看到的却只有450M,于是我就纳闷了.网上找了一下原因,还是蛮好理解的,大致总结如下:
ls的大小应该是从 superblock 里面的文件描述里取的,这样的好处就是处理起来很快,不用去统计这个文件到底占用了多少block,而du命令则是 disk usage的缩写,是会去统计具体占用的block的.而这个文件下载完成以后,应该是有4.4G大的,但是目前还只下载了450M,所以文件描述里面的大小是4.4G,实际占用的确是450M.
而且,ls和du对块大小(block size)的处理,也有点不同,举例来说,如果文件只有1个字节,我们知道它也要占用一整个块,所以ls的时候的大小是1,而du的时候却会是4k.(这个4k是默认值,视所在分区文件系统的参数而定,分区的块大小可以用 tune2fs -l /dev/XXX 来查看.)
当然,ls和du都有相应的选项来改变自己的行为, ls -s 可以在第一列多显示一个实际占用的块大小(和du的值一样);du -b 也可以显示文件描述里面的大小(和ls的值一样),哈哈~

参考文章.

rpm命令用法整理

由于自己用的是deb系的ubuntu,但是很多服务器都是rpm系的,所以很少用又偶尔要用到rpm命令,经常忘记选项,man也还挺长…
写在这里,和deb系的做个对照.

安装:
rpm -ivh XXX.rpm
dpkg -i

卸载:
rpm -e
dpkg -r (一般都用apt-get)

查文件在哪个包:
rpm -qif /usr/bin/g++32
dpkg -S

查看有没有安装某个包:
rpm -qa gcc\* (正则的*号要转义)
dpkg –get-selections gcc*

查询包里的文件:
rpm -ql compat-gcc-32-c++
dpkg -L

mplayer 放大电影的音量

有时候,由于电影制作者的关系,下载的电影本身的音量很小,即使音箱音量开到最大,系统的音量开到最大,声音还是不够大,导致观看的效果大打折扣.
对于强大的mplayer来说,这个问题还是很好解决的,方法就是加上俩差数:

-softvol -softvol-max 200

就可以把音量放大到原来的2倍,一切都是这么简单吧 :)
值得一提的是,后面这个数字参数最大可以到 10000,也就是音量放大100倍,不知道音箱会不会爆掉,反正我是没试过,大家最好也别试了,呵呵~

PS: 发现这个参数还经历了一番风雨呢…之前我看的是mplayer的中文man,里面根本就没这俩参数(可能man页已经过时了),于是到处找人问,最后TX兄告诉我说smplayer里面有个选项叫:Use software volumn control,好像跟一般的音量控制不一样。为此我还特意安装了一堆qt4的库,装上smplayer,打开这个选项,果然有效.想想smplayer不也是调用mplayer的嘛,于是在ps里,终于找到了这两个参数…后来在最新的英文man里找到了这俩选项的介绍:

-softvol
Force the use of the software mixer, instead of using the sound card mixer.

-softvol-max
Set the maximum amplification level in percent (default: 110). A value of 200 will allow you to adjust the volume up to a maximum of double the current level. With values below 100 the initial volume (which is 100%) will be above the maximum, which e.g. the OSD cannot display correctly.

看来,看man还得英文为主,中文为辅啊…

fcitx自定义词组的方法

想在输入gfw的时候,自动打出 及.艾服.达不留 (不然可是会泄漏国家机密的哦…)
我用的是fcitx
方法:
建立一个 ~/.fcitx/pySym.mb 的文本文件,每个词一行,前面是字母,后面是要打出来的词.注意要保存成 GB2313 的编码, 可以用gedit直接保存成GB2312,也可以保存成utf8以后用 iconv 转.如下:

$ cat ~/.fcitx/pySym.mb | iconv -f gb2312 -t utf8
gfw 及.艾服.达不留
haha ^_^

重启fcitx,就可以看到效果了.

PS: 有人能解读搜狗拼音的 scel 细胞词库文件吗?可以的话,就可以全部导入fcitx了…
希望能提高点输入效率.
效果