2010年11月23日星期二

[转载]Magic SysRq key



关于Magic SysRq key : 这是一组内核可以识别的按键组合,可以让用户执行一些底层的命令而不论系统状态如何。通常使用情况是系统从冻结中恢复,或者在不伤害文件系统的前提下重启计算机。使用Magic SysRq key的前提是CONFIG_MAGIC_SYSRQ这个内核选项被打开,并且没有在/proc/sys/kernel/sysrq里禁用掉,也就是 cat 这个文件的时候,出来的是 1 (或其他某些非0值)。
下面就来介绍一下几个键的具体作用,其中SysRq指的是右上角的“Print Screen”键。
ALT-SysRq-b 立即重启系统,不卸载分区和同步文件。
ALT-SysRq-o 可能的话,关机。
ALT-SysRq-e 给除了init以外的所有进程发送SIGTERM信号,可以试图正常结束所有进程。
ALT-SysRq-f 调用oom_kill函数来干掉占用了很大内存的进程。

[转载]ubuntu 强制解锁apt-get

在Ubuntu 10.10 用sudo apt-get install kmymoney2安装软件kmymoney2时,由于速度太慢,想换个软件源,直接关闭了终端,apt-get但进程没有结束,结果终端提示

:“E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)

E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?”

解决办法如下:1。终端输入 ps -aux ,列出进程。找到含有apt‘-get的进程,直接sudo kill PID。解决。

2。强制解锁,命令

sudo rm /var/cache/apt/archives/lock

sudo rm /var/lib/dpkg/lock

2010年11月20日星期六

在terminal 中使用google词典

直接可以在命令行中使用 dict yourword
就可以用google dictionary搜索单词 ^_^
支持英文词组搜索

将以下内容加入到~/.bashrc中即可


#for google dictionary
dict(){
word=
for i in $@
do
word=$word+$i
done
word=`echo -n $word | tail -c +2`


curl -s "http://www.google.com/dictionary?langpair=en|zh-CN&q="${word}"&hl=zh-CN" | html2text -nobs -nometa  -utf8 | tail -n +18  | less
}
#end


这个脚本支持简体中文和英文,如果自己要使用别的语言,
修改curl后面的那个url即可
langpair  -- 要查询的语言
hl     -- 界面的语言
参考:http://ubuntuforums.org/showthread.php?t=1591389

2010年11月17日星期三

让 ubuntu terminal 自动编码

BBS上的编码通常为gbk,用terminal直接telnet会产生乱码,这时可以用luit
这个软件包在10.10已经自带了。

luit -encoding gbk telnet bbs.yoursite.org

2010年11月15日星期一

[转载]Ubuntu的apt-get代理设置



升级到Ubuntu10.04后,发现apt-get的代理设置有改变了,在9.10以前使用“http_proxy”环境变量就可以令apt-get使用代理了
export http_proxy=http://127.0.0.1:8000
sudo apt-get update
然后在Ubuntu10.04下就无效了,看来apt-get已经被改成不使用这个环境变量了。
一阵郁闷后,最后我发现在“首选项”->“网络代理”那里,多了个“System-wide”按钮(我用的是英文环境,不知道中文被翻译成怎样,关闭窗口时也会提示你),在这里设置后,apt-get确实可以使用代理了。
但是我依然鄙视这种改进,因为我通常就是偶尔使用代理,更新几个被墙掉的仓库而已(如dropbox和tor),根本不想使用全局代理,本来用终端就能搞定的事,现在切换代理要点N次鼠标,真烦。
所以我研究了一下,发现那个代理设置修改了两个文件,一个是“/etc/environment”,这个是系统的环境变量,里面定义了“http_proxy”等代理环境变量。另一个是“/etc/apt/apt.conf”,这个就是apt的配置,内容如下
Acquire::http::proxy "http://127.0.0.1:8000/";
Acquire::ftp::proxy "ftp://127.0.0.1:8000/";
Acquire::https::proxy "https://127.0.0.1:8000/";
很明显的代理设置代码,我看了下apt-get的手册,发现可以用“-c”选项来指定使用配置文件,也就是复制一份为“~/apt_proxy.conf”,然后“网络代理”那里重置回直接连接,以后使用
sudo apt-get -c ~/apt_proxy.conf update
就可以使用代理了,apt-get也有一个“-o”选项,直接跟apt-get的设置变量,就不用指定配置文件了,比如
sudo apt-get -o Acquire::http::proxy="http://127.0.0.1:8000/" update
该文章发布在 程序配置,标签:。收藏该永久链接

[转载]在wget中设置代理

http://www.51testing.com/?uid-116228-action-viewspace-itemid-208339

   wget支持HTTP 和SOCKS代理。因为要mirror的是web,因此仅仅使用了HTTP的代理。
    wget每次启动都要读一个wgetrc文件,可以在这个文件中设置代理服务器
    wgetrc缺省存放在/usr/local/etc/下,也可以在$HOME/下创建.wgetrc。
方法一:
配置步骤:
1、创建$HOME/.wgetrc文件
2、编辑文件,添加如下内容:
   #===========Sample of wgetrc=================
   #添加代理服务器
   http_proxy =www.yourproxy.cc
   #以下几种格式也可以,如果不写端口,缺省为80
   #http_proxy =www.yourproxy.cc:8080
   #http_proxy =http://www.yourproxy.cc
   #http_proxy =http://www.yourproxy.cc:8080/
   #如果不使用代理服务器,此处设置为off
   use_proxy = on
   #============================================
3、运行wget
方法二:
   安装socks客户端工具runsocks(正常安装socks5后自带)。在libsocks5.conf文件里加入所要使用的代理服务器。
注意:运行wget之前需要将wgetrc中的代理服务器注释掉
    配置完毕后运行如下命令:
    #runsocks wget -m [http://site1 |ftp://site2]
    经测试,可以正常镜像http和ftp站点。   

2010年11月9日星期二

Vimium: 以 Vim 的方式操作 Google Chrome

vimium -- 鼠标手的福音,终于不用把手一直放在那该死的鼠标上了

Vimium: 这款插件适用于 Vim 控,它为 Chrome 浏览器提供了与 Vim 相类似的操作快捷键,比如按 j 是向下,按 k 是向上,按 / 是搜索等等,通过它基本上可以拖弃鼠标来浏览网页了,详细的快捷键列表可以通过 Shift + ? 来调出。另外,通过设置你还可以排除一些特定的本身已带有快捷键功能的网页,比如 Gmail 、Google Reader 等等。


source:http://wowubuntu.com/chrome-plugin.html?utm_source=twitterfeed&utm_medium=twitter

2010年11月5日星期五

[转载] base64 的使用



这是测试文件file,内容就只有一行字符串"snailwarrior"。
[root@pps ~]# cat file
snailwarrior
 
1、给文件file进行base64编码,并打印到标准输出
[root@pps ~]# base64 file
c25haWx3YXJyaW9yCg==
 
也可以这样:
[root@pps ~]# cat file | base64
c25haWx3YXJyaW9yCg==
 
2、从标准输入读取文件内容,base64编码并打印到标准输出
[root@pps ~]# base64
snailwarrior
c25haWx3YXJyaW9yCg==
 
我是输入snailwarrior,回车,然后按Ctrl+D结束文件输入的。
 
【注意】如果我不输入回车,连续输入两次Ctrl+D,看看效果如何:
[root@pps ~]# base64
snailwarriorc25haWx3YXJyaW9y
 
可以看出,编码出来的字符串是:c25haWx3YXJyaW9y
我的神!两种方式编码出来的结果不一样啊!继续往下测试。
 
3、对字符串"snailwarrior"编码,并打印到标准输出
[root@pps ~]# echo "snailwarrior" | base64
c25haWx3YXJyaW9yCg==
 
这个结果跟前面"cat file"和输入snailwarrior按回车再按Ctrl+D的情况是一样的。为什么不按回车直按两次Ctrl+D的结果不一样呢?我们再来看看下面这个例子:
 
[root@pps ~]# echo -n "snailwarrior" | base64
c25haWx3YXJyaW9y
 
你是不是惊讶的发现“缘由”了呢?
 
echo -n 选项没有输出字符串结尾的'\n'换行字符,因此字符串"snailwarrior"精确的base64编码是"c25haWx3YXJyaW9y",可以用PHP函数来检验哦。文件方式等进行的"snailwarrior"字符串编码都带入了对'\n'的编码,因此,不小心就会发生莫名的编码错误哦。

2010年11月2日星期二

Using vlc without a global proxy

in Ubuntu, when I use vlc to play streams, it will always use global proxy setting. And in the vlc, this is nowhere to set this option.

solution: use vlc command directly. example: vlc http://my.video.com/some/random/stream.avi

And you can specify the proxy with the following  commands:
vlc http://my.video.com/some/random/stream.avi --http-proxy=my.proxy.com:8080
reference:

http://vsingleton.blogspot.com/2008/04/using-vlc-with-proxy-on-windows.html

wine 不能打开exe文件

打开某些下载的文件,wine会弹出对话框:

Blocked: wine start /unix

The file 'xxx' is not marked as executable.  If this was downloaded or copied form an untrusted source, it may be dangerous to run.  For more details, read about the executable bit.

这时候只要在属性权限里"允许以程序执行文件(E)"打上钩就行了

2010年11月1日星期一

chrome 上登录WebQQ 很慢 或者不能登录的解决方法

由于安装了adblock,于是webQQ载入很慢,会一直停留在"正在载入..."的页面中.

这是只要把webQQ 加入adblock的白名单就行了

http://bbs.chromi.org/thread-11983-1-1.html