这几天传一个东西到launchpad编译,最后出来的deb上所有.mo文件都没了。
原因大概就是可能pkgstriptranslations 被设为enable了。
看了一下他的manpage,发现可以通过把NO_PKG_MANGLE设为一个非空值来禁止此选项。
具体的话可以写到Makefile.am或者debian/rules里。
April 30, 2010
如何在launchpad上编译ppa时禁止pkgstriptranslations
April 29, 2010
ed
ed is a line-oriented text editor
要做的很简单,在rc.local的exit 0(一般是最后一行)前追加需要启动的命令。
首先要找到最后一行,在其之前加入两行。
- ed rc.local << EOF
- $
- i
- "asdfsadfasdf"
- "234345345345"
- .
- wq
- EOF
第二行的$的意思是到文件最后一行,
第三行的意思为插入,
第四行和第五行为插入内容,
第六行表示输入结束,
第七行为写入后退出。
April 28, 2010
gconftool设置其他用户的选项
想用root设置其它用户的某些配置。比如叫test
su – test -c “gconftool-2 –set ….”是不行
其实用gconftool的一个–config-source选项就可以了,
指定格式为
–config-source=xml::/home/test/.gconf
这样就能设置test的内容了,如果我们去看里面相应的xml文件,发现结果是立即更新的
但是如果你有客户端程序(gconf client)已经运行的话,必须重启客户端才行
比如kill -HUP。
只重启 gconfd-2是不行的。
麻烦
April 24, 2010
如何在取消zenity –progress 之后杀死主进程
比如 tar zxvf abc.tar.gz | zenity –progress
即使用户点击了zenity的窗口的取消菜单,tar 进程是不会自己终止的,
因为tar 进程还在运行,脚本也不会运行到下一行。
目前找到的第一种解决方法是
tar zxvf abc.tar.gz | zenity –progress &
#让他们去后台执行
#这样进入下面的循环
RUNNING=0
while [ $RUNNING -eq 0 ]
do
if [ -z "$(pidof zenity)" ]
then
pkill tar
RUNNING=1
fi
done
当然,问题有很多,比如还有别的zenity在运行,或者别的tar 在运行,都会出问题。。。
另外还有CPU问题
第二种解决方法,可能是最简单,且正确的了:
foo | (if `zenity –progress –auto-close –text=’In progress’ –title=’In progress’`;
then
echo ‘Job completed’
else
killall `basename $0`
exit
fi)
参考:https://bugs.launchpad.net/ubuntu/+source/zenity/+bug/220656