2009年12月15日星期二

ubuntu 9.10下linux qq 自动退出的问题

升级到ubuntu 2009以后, linux
qq经常会自动退出,不清楚什么问题,导致我用了一段时间的web qq

昨天发现是可以处理的,修改/usr/bin/qq,添加一个环境变量
export GDK_NATIVE_WINDOWS=true

修改后:
#cat /usr/bin/qq
#!/bin/sh
export GDK_NATIVE_WINDOWS=true
cd /usr/share/tencent/qq/
./qq

附:GDK_NATIVE_WINDOWS是什么意思?

GDK has been rewritten to use 'client-side windows'. This means that GDK
maintains its own window hierarchy and only uses X windows where it is
necessary or explicitly requested. Some of the benefits of this change are

* Reduced flicker
* The ability to do transformed and animated rendering of widgets
* Easier embedding of GTK+ widgets, e.g. into Clutter scene graphs

Launching an app with GDK_NATIVE_WINDOWS=1 application turns off this
feature. This is needed if the application manipulates the windows it
creates using direct X API calls or a mixture of X API and GDK instead of
just going through GDK. When using "client-side windows" all window
manipulation by an application must go through GDK. Adobe needs to update
Acroread to be compatible with this feature.

网络视频监控系统的国际标准趋势- ONVIF vs. PSIA

自2001年美国发生911恐怖攻击事件之后,各国政府除强化宣导安全观念之外,也积极进行安全监控设备的采购与布建,加上社会大众也逐渐重视个人、住家及社区的保全,安全产业的需求及发展,因而与日俱增,标准化的课题与必要性,也越来越受到重视。
根据Freedonia
Group预测,全球安全市场2011年的产值,将从2001年的802亿美元,成长到2,658亿美元,成为全球重要产业之一。
另外,根据知名分析机构DATAMONITOR的报告,在安全产业中,「数位影像监控」又是成长速度最快的项目之一,其市场总营收值已由2003年的13亿美元,成长到2007年的74亿美元。
影像安全监控需求逐渐「质变」
随著人们的安全意识抬头,近年来,监控摄影机已被广泛装设在城市中的大街小巷、重要路口、交通运输系统、大楼内外及公共设施,成为吓阻犯罪的重要利器之一;以英国为例,全国就已建置约420万支的摄影机。
传统的影像监控系统,必须在控制中心配置大量监控画面,并以紧盯萤幕的方式来进行影像监控,在摄影机布建数目大幅增加的情况下,也对后端监控人员造成极大的负担。
另一方面,目前的影像安全监控,大多属於被动式的录影方式,只能在事后提供查证,已无法满足大多数使用者期待安全系统应提升到「事发」当下即时告警,甚或做到「事前预警」的需求。
为因应这些需求,相关厂商相继投入开发具备智慧功能的影像监控产品及系统,也促使全球安全监控系统的演进(详见附图)。如今,智慧化及数位化已成为趋势所在,后端软体和系统整合的产值,也势必快速成长。
监控系统朝向网路化发展
此外,随著资讯通讯技术(ICT)日新月异与网路设施的普及化,监控系统也已朝向网路化发展及结合。
而在监控系统演变的过程中,各家的网路化数位监视产品,并不像传统监视设备传输影像的讯号,拥有共同规范(ex.
NTSC/PAL)。由於规格不统一,不同产品或系统之间,彼此难以相容,导致厂商生产的前端设备(如Network
Camera、Video
Server),因无法和其他厂商生产的后端接收设备(如NVR)相互连通,造成客户在使用上的困扰,甚至进而影响其购置意愿。
标准化课题越来越受重视
随著数位影像安全监视市场蓬勃发展,业者开始认真思考,制定网路前端设备(例如摄影机)与后端系统(例如影像管理)之间统一标准的必要性。但为避免资源浪费,以及为达成产品间的互通性(Interoperability)(注一)等目标,国际上已有两个团体(ONVIF及PSIA)分别於去年(2008年)成立,针对IP-Based影像监控产品提出建议草案,来制定前后端设备的介面(Interface)共通标准,期望经由共同规范的订定,为未来建构可互通的数位监控连结网路,预作准备。
虽然两者采用的作法,不尽相同,但比对两者目前草拟的规范草案,可发现它们一致使用XML作为资料交换格式,所要求的交换资料内容,也相去不远,只是部分内容涵括的范围,程度上有所不同。
现就该两大国际团体之起源、目标、进展及草案内容,简单说明如下:
一、#ONVIF (Open Network Video Interface Forum,开放式网路影像介面论坛)
Axis Communications(注二)、Bosch Security Systems 及 Sony
Corporation等三家公司,於2008年5月对外宣示,将致力发展网路影像产品介面标准的构想,其主要目标在於促进不同品牌网路影像设备间的整合,并帮助生产制造商、软体开发商及独立软体供应商确保产品的可互通性。
他们认为,经由统一开放的标准,将能提供终端使用者更大的选择弹性,让使用者能够从一堆不同供应商的产品中,更加自由的选用,以整合出一套适合不同需求的监视系统。
该标准化的原始动机,就是来自於上述三家厂商对於类此转往数位的观察与信念。
依据该论坛网站中的资料,自去年(2008年)10月开放会员登记后,截至今年2月底止,共已有40多家公司成为该团体的成员。最近新加入的会员,甚至还包括CISCO、Samsung
和 Siemens。
该团体目前的核心规范为1.0版(有兴趣的读者可至官方网站www.onvif.org下载),并已於去年12月在美国华盛顿D.C.所召开的第一次会议中,获得充分讨论。
该规范定义了网路影像产品(network video
products)间的统一通讯流程,让不同制造商的设备,可透过共通及定义完整的介面,来建置其网路影像监视系统。
该规范中的管理及控制介面,均以网页服务(Web
Services)来作叙述,并包含网路影像服务的XML schema及WSDL(Web Service
De-ion Language)定义,其所涵盖的内容包括近端与远端设备的探索(local and
remote device discovery)、设备管理(device
management)、影像组态(imaging configuration)、媒体组态(media
configuration)、影音的即时串流(real-time streaming of audio and
video)、事件处理(event handling)、影像分析(video
analytics)、PTZ(Pan、Tilt、Zoom)控制与安全机制等。
二、#PSIA (Physical Security Interoperability
Alliance,暂译为「实体安全互通联盟」)
主要由Cisco
Systems(注三)、Genetec、IBM、ObjectVideo、Panasonic、Pelco、Texas
Instruments及Verint等公司,於2008年2月成立,主要目标也是推动网路型安全设备间的可互通性,参与成员包括来自监视摄影机、影像管理软体、门禁控制与系统整合等不同性质的厂商,该团体也同样致力於开放标准的推动。
依据该论坛网站中的资料,截至今年3月底止,大约有40家公司参与该团体,目前的规范为1.0版(有兴趣的读者可洽官方网站www.psialliance.org),已被该联盟所组成的一群来自影像管理软体、摄影机制造、影像分析软体、网路影像录影及系统整合等不同领域成员厂商的专家们审查过,并在今年3月底於美国召开的第一次开发商会议(Developers
Meeting)中,获得确定,同时已有厂商宣称将会实现此规范。
另外,该团体在今年第二季前,也将公布举办插拔测试大会(PlugFest)的相关资料,希望藉此让厂商们透过实际介接,来测试其所开发产品彼此间的互通情形。
该规范中定义媒体装置(Media
devices)及其功能所需的HTTP(S)应用程式介面(Application Programming
Interfaces,
APIs),其所涵盖的内容,包括:系统、管理、网路、IO、影音输入/出、设备、PTZ、动态侦测、串流及事件处理等功能与设定。
六大观察指标
综观这两个团体,他们都努力追求相同的目标(亦即不同网路影像产品间的可互通性),但两者之间,却仍有以下几项观察指标,值得持续注意及追踪:
一、成员角色
ONVIF有网路摄影机代表性厂商Axis担任三大发起成员之一,这点可能使得Axis在该团体中具有举足轻重的角色,进而影响或操控ONVIF规范的方向及发展步调。
反观PSIA,则无类似可以比拟的要角,但却可对CISCO这家公司来作探讨。虽然CISCO很难像Axis一样,有能力撼动整个规范的方向及发展步调,却可解读为网通厂商欲借由标准化,来切入安全市场。
然而,CISCO也在今年初加入ONVIF,并成为其full
members的一员,未来动向值得持续观察。
二、市场性
以目前各厂家的市场来区分,ONVIF成员厂商的销售市场,主要以欧亚地区为主,PSIA则以美洲地区为多,产品的市场竞争性略有区隔。
三、实施性
ONVIF采定义平台、指令及需求方式,以Web Service的SOAP (Simple Object
Access Protocol)为主要结构;PSIA虽也架构在Web
Service之下,却以API(Application Programming
Interface)方式,并采HTTP(Hypertext Transfer
Protocol)来支持互通性的实施,相较而言,后者可能会比较容易施行。
四、智慧性
两个团体均已将Analytics及Metadata纳入规范中,这意味网路影像设备将朝向智慧化前进。虽然两者的规范程度,略有差异(即ONVIF的要求较多且程度较高,PSIA则稍嫌落后),但目标(i.e.智慧化)却是一致的。
五、积极性
相较於ONVIF,PSIA显得更为积极,主要原因可能来自於部分成员的网路摄影机产品市占率,远低於Axis,因此希望藉由这次机会,稍微扭转情势,即使无法超越,也不要落后太多。
六、提案申请
在成为国际标准前,必须先取得共识,并经由一个组织,例如电机电子工程师学会(Institute
of Electrical and Electronics
Engineers,简称IEEE)或美国国家标准协会(American National Standards
Institute,简称ANSI),正式采纳成为产业标准后,再向国际标准组织提出申请,并且经过不同阶段的审查及确认后,才能正式成为国际上认可的标准。
可惜ONVIF跟PSIA都不是IEEE及ANSI的成员,因此他们很有可能必须透过安全工业协会(Security
Industry
Authority,简称SIA,该协会也尝试制定安全相关的IP标准,只是步调上比较缓慢)来立案。
至於未来究竟将如何发展?值得持续观察。
最终结果还有待竞合
总之,前述团体研拟的草案,势必经过一番竞合,最终结果虽可能以大一统或并存方式来完成,但也不排除先由较易实施的规范先行,再逐步过渡到两者并存。
但不管以何种方式作结尾,该历程所必须花费的努力与时间,必然不下於现阶段所有的投入;而发展脚步的快慢,则端赖未来凝聚共识的情况而定。
但可预期的是,所谓的国际标准,恐怕很难在短短一、两年内,大势底定。
我国应该提早因应
不过,国内各相关单位∕团体(包括权责部会、产业公协会、研究单位及学界等)与厂商(包括影像管理软体、摄影机制造、影像分析软体、网路影像录影装置制造和安全监控方案整合等厂商),在制定策略、订定国内统一规范或开发产品∕系统的同时,也必须投入时间观察前述国际标准的后续发展和演进,并提前预作准备(以厂商为例,可押宝其中之一,也可采两者兼容作为产品的未来规划)或预作伏笔,以期在国际间形成共识时,即可在最短的时间内,快速因应。
当然,更积极的作为,也可以由国内厂商∕团体单独、国内厂商∕团体代表,或者与国外大厂策略联盟等方式,来参与前述组织。
但无论如何,我国究竟应以何种方式参与,以获取多数厂商的最大效益?现在该是提前构思、规划及整合的时候。

文件批量改名和批量替换文件内容

文本操作中经常有整体查找和替换以及改名的操作,在linux下还是比较方便的,windows下则需要采用特殊工具。下面是linux下一些简单方法,在ubuntu9.10中调试通过。

1.批量改名采用命令rename

rename 语法:

rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]

-v表示显示详细信息,-n表示不实际执行替换,只是看哪些文件会受影响。 -f
表示强制,不管是否有重名。

perlexpr是perl语法的表达式,
files则是匹配项。因此,该命令执行结果与perlexpr有关,不一定就是改文件名。

实例: 将所有文件名*.html 改为对应的.htm

rename 's/\.html$/\.htm$/' *.html

去bak后缀

rename 's/\.bak$//' *.bak

将文件名大写改为小写

rename 'y/A-Z/a-z/' *

但rename不能递归修改。

2.递归改名,用find+rename

将文件名的abc改为xyz

find . -name "abc*" -exec rename 's/abc/xyz/' {} \;

该命令可以将当前目录下所有子目录的文件都改名。

3.内容替换,用find+sed

将所有ablo 替换为ablozhou

find . -type f -exec sed -i -e "s/ablo/ablozhou/g" {} \;

sed 命令 -i 表示 --in-place,文件原地替换。-e 后跟替换表达式。

linux使用小窍门

实用小窍门实在太多了,慢慢探索吧。想起刚用电脑时,天天在《电脑爱好者》中找小窍门。找到了就如获至宝。又看到我blog中有人回复不习惯ubuntu,还是投奔win7。心想,应该某些人也挺需要一点使用小窍门的交流的。信手写了些,供参考。

本文适合初级用户阅读。

1.终端复制粘贴

用gnome终端时,对字符的复制粘贴感觉没有win下的putty方便。其实,选中后,用鼠标中键点击即可粘贴,也很方便。双击选中一句,三击选中一行。中键点击粘贴。

千万不要按Ctrl+C,会导致正在执行的命令行程序退出。

2.滚屏

字符模式下,用shift+pageup/pagedown 来滚屏查看历史记录。

3.gnome终端的历史回滚

可以在gnome终端的配置文件的滚动tab页,将回滚值设为4000左右。
4000行足以查看几次操作的滚屏了。

4.windows远程桌面

linux下使用windows远程桌面,可以用tsclient+rdesktop

5.如何使用上一个命令的参数

gnome终端和字符界面,都可以用 alt+.
获取上次命令的最后一个参数。多按几次会变成次前一个命令的最后一个参数。

比如将log 备份一下到/var/log/xxx/yyy/zzz/myfile

cp /var/log/myfile /var/log/xxx/yyy/zzz/myfile.1

结果发现xxx/yyy/zzz目录根本不存在。建好这些目录再执行该命令,就可以用alt+.来节省输入了。

6.对输了半天的命令,如何放弃?

shift+alt+#可以注释命令,这样可以在命令历史中找回。如果用ctrl+C放弃,则不会有记录。

7.如何在命令行移动已输入一长串命令光标

ctrl+a 移到行首,ctrl+e 移到行尾。 ctrl+左/右,移动一个word

8.编辑命令行

移动到位后,需要修改命令

ctrl+k 将光标到末尾的参数都删除

9. 获取上一命令的参数

alt+n 再alt+. ,
其中n是上一个命令的第几个参数。从命令开始,以0开始计数。alt+0,alt+.为命令本身,依此类推。

10. 历史和自动完成

!+命令 为最近执行的"命令+参数"

上下方向键可以滚动历史命令

history可以查看以前的命令

命令行中tab可以自动完成,这个相信大家都知道了。

记不住命令操作快捷键怎么办?

可以用info readline和bind -p来查看。

其中M表示alt, 意思是Meta

C表示Ctrl.

e表示ESC.

比如\C-c 表示ctrl+c.

\M-. 表示Alt+.

有的键盘没有Meta,所以用esc可代替Meta.