分类: '经验技巧' 的归档
使用SSL登录irc(注:仅支持OFTC)
SSL登录irc的好处:
1.对收发的数据进行加密.
2.可以不用密码自动identify.
可惜目前试了一下,似乎只有OFTC对SSL提供支持,而因为freenode不支持,可能很多人都用不了.
不管如何,先记下步骤,也许以后freenode会支持呢?但愿如此吧~
以我常用的xchat客户端为例(xchat2.8以上才支持):
1.创建指纹:
openssl req -nodes -newkey rsa:2048 -keyout nick.key -x509 -out nick.cer
chmod 400 nick.key (保护起来,非必要)
cat nick.cer nick.key > OFTC.pem
chmod 400 OFTC.pem (保护起来,非必要)
2.得到 OFTC.pem 以后,放入 ~/.xchat2 目录,然后打开xchat的网络列表,选中OFTC,点”编辑”,在打开的页面勾上”在本网络的所有服务器使用SSL”和”接受无效的SSL证书”.
3.重新连到OFTC,用密码identify了以后,执行 /msg nickserv cert add 就把你的指纹和服务器关联上了,退出,重新打开xchat,登录OFTC以后,你就可以看到,你没输密码,也已经identify了…whois自己也能看到 * [bones7456] is connected via SSL (secure link) 这样的提示了.
终于可以把明文保存在 /.xchat2/servlist_.conf 的密码删掉了,嘿嘿.
其他客户端的设置和更多信息参见OFTC的英文帮助页.
nautilus徽标研究
不知道广大gnome用户会不会经常用到nautilus的徽标功能.反正我是经常用徽标来表示某些文件的状态的,比如,经常下电影看,看过了要刻盘这么一件事.我会在下载电影前就建个目录,电影下好了,字幕什么的都调好了,就放个标记,说明可以看了,然后看完了,觉得有刻盘价值的也给个标记,不然就直接删了.等要刻盘的内容到了一张DVD的容量的时候,就会刻盘,然后再给个已经刻盘的标记,下次空间不够,就优先删了这些已经刻过的.
本来在ubuntu下,这样用一直好好的,但是由于最近转到gentoo,把用户目录挂过来以后,就发现不对了,一些文件原来有两个标记的,现在只有1个了.分析下原因,既然那个徽标能显示出来,那就说明gentoo的nautilus肯定支持徽标(废话),并且数据也是和ubuntu存在同一个地方的.那还有一个显示不出来,就肯定是gentoo支持的徽标种类和ubuntu的不一样,所以解决的思路就是找到这些徽标是放在哪里的,然后把ubuntu的和gentoo的同步一下.
于是我就找啊找啊,终于找到了这些图标原来藏在 /usr/share/icons/gnome/*/emblems 下面,而且我那个显示不出来的那个图标就是 /usr/share/icons/gnome/48×48/emblems/emblem-certified.png 同时还有一个 /usr/share/icons/gnome/48×48/emblems/emblem-certified.icon 文件,里面存的是各种语言的名称.
所以,解决方法就是把那两个文件复制到gentoo的相应目录,但是后来又发现gentoo下是没有 /usr/share/icons/gnome/48×48/emblems 这个没目录的,你可以自己建立此目录并且在 /usr/share/icons/gnome/index.theme 文件里面加入加入目录信息或者像我一样偷下懒,把文件放入 /usr/share/icons/gnome/scalable/emblems 目录下,虽然那png文件不是矢量的,但是事实证明不影响使用.
放好文件以后,如果不想重启的话,可以执行 sudo gtk-update-icon-cache /usr/share/icons/gnome 刷新图标缓存.然后到nautilus里面去看看,消失的徽标又回来了,哈哈.
PS1:文件也可以放入 ~/.icons/hicolor/48×48/emblems 这样的目录下,或者直接在nautilus的 编辑-背景和徽标 里面添加,但是这里居然只能添加不能删除….
PS2:哪个文件用了那些徽标的数据,在 ~/.nautilus/metafiles 目录下的,已加徽标文件的父目录对应的xml文件内.
遇到个字幕问题,贴个把windows文本转为linux文本的命令
周末在家,看个电影,分CD1和CD2的,结果看完CD1,正在兴头上的时候,打开CD2一看,居然没字幕,可字幕文件明明就在哪里。因为以前也遇到过类似问题,打开srt文件,另外一下,基本就可以解决了,但是今天这个死活都出不来。。。搞的非常郁闷。
后来,看电影的兴致已经去了大半,静下心来,才发现,问题出在字幕的换行符上:
那srt文件,普通的行都是正常的windows换行符: \r\n ,但是时间戳那行后面的换行符居然是 \r\n\n 。。。这在windows下可能没问题,但是linux就把它理解为是两个换行了,也就是每个时间戳下面有个空行。而srt的规则应该是时间戳下面紧跟若干行文本,并以空行结束此段,所以字幕都为空行了。难怪显示不出来。
解决办法,也就是把windows文本转为linux文本的命令:
$ cat 1.txt |hex
0x00000000: 31 0d 0a 32 0d 0a 33 – 1MJ2MJ3
$ cat 1.txt | tr -d ‘\n’ | tr ‘\r’ ‘\n’ | hex
0x00000000: 31 0a 32 0a 33 – 1J2J3
PS:这个字幕居然是TLF出的,汗一个。。。
彩色的grep和diff
喜欢命令行,但总觉得命令行那界面有点寒碜?
之前有介绍过彩色的man页,其实grep个diff等也可以彩色:
grep很简单:.bashrc里面加上这么一行,就可以看到效果了。
alias grep=’grep –color=auto’
diff 的话,要安装 colordiff 这个包(其实也只是一个包了diff的perl脚本),就可以用colordiff代替diff了,当然,只要你愿意,也可以alias。
因为简单,不贴图了。
ssh-copy-id
每次要在远程服务器上放key的时候,都 scp XXX.再ssh上去将文件写入 .ssh/authorized_keys 的末尾.而且”authorized_keys”这个单词又那么难拼…有没有简单点的办法呢?
于是自己写了一句:
cat ~/.ssh/id_dsa.pub | ssh user@IP “cat – >> ~/.ssh/authorized_keys”
后来才发现,居然有现成的命令的…没想到啊…
ssh-copy-id user@IP
打开 ssh-copy-id 一看,原来也是个几行的小脚本,其实和我写的那行一样简单,娃哈哈哈~
关于截图
可能很多老手都已经这么做了,我就火星点,再帖一下吧.
1.nautilus的邮件右键启动的截图:
$ cat ~/.gnome2/nautilus-scripts/延时5秒截图
#!/bin/bash
#延时5秒截图
gnome-screenshot -d 5
$ cat ~/.gnome2/nautilus-scripts/延时5秒窗口截图
#!/bin/bash
#延时5秒窗口截图
gnome-screenshot -w -d 5
2.截图并paste:
$ grep “alias sp” ~/.bashrc
alias sp=’scrot /tmp/scrop_tmp.png -bcsd 3 -e “echo | upaste -image \$f ; rm \$f”‘
其中的upaste脚本就是球猫写的这个东东
3.如果只是截图的话,用得最多的还是在compiz下直接 win+鼠标拖动…
scp代理
用我写的ssh快速登陆脚本可以方便地通过跳板登陆到目标服务器,也就是 本机->hostA->hostB.
但是当有个本地文件像上传给hostB的时候,一般还是得先scp到hostA,再登陆hostA,scp到hostB,是不是必须这么麻烦呢?答案显然是不是的,不然我也不会在写这篇日志了,:)
下面就看看我的方法:
编辑 ~/.ssh/config 文件,加入以下几行
Host hostB
User usernameB
ProxyCommand ssh usernameA@hostA nc %h %p
然后,只要在本机输入 scp filename hostB:/remote/path(这里不要写usernameB了) 就可以直接将文件复制到目标地点了,哈哈.
当然如果你没有设置公钥对的话,过程中会让你输两次密码,一次是hostA的密码,一次是hostB的密码.
还有有个前提条件,就是hostA中必须安装有 nc(netcat).
用wine打开…
公司的密码,都是用Password Agent这个叫软件管理的,所以经常收到工程人员发来的pwa文件,以前都是到虚拟机里面去打开的,但是这样相当麻烦,所以就想用wine模拟Password Agent.
其实这软件有效的也就一个 PwAgent.exe 把这文件放在 ~/.wine/drive_c/windows/system32 目录后,wine PwAgent.exe 也能正常打开,打开软件后,在软件里面打开pwa,发现也没啥问题.但问题就是右键-用其他程序打开那里,设置了自定义命令: wine PwAgent.exe 后,却不正常,软件是打开了,但是报找不到文件,其实 wine PwAgent.exe xxx.pwa 也是正常的,但为什么直接双击pwa文件就不行了呢?
经过摸索,终于被我发现这个:
在自定义命令那里输入”wine PwAgent.exe z:\\” 就正常了.因为在wine的系统里面,真实系统的/对应了z:\\ 嘿嘿,之前就是因为少了这个z:\,所以才报的找不到文件.
这个方法应该对其他软件也有效哦,现在终于可以在ubuntu下直接双击文件,调用wine的程序打开了,哈哈.
自动禁用/启用触摸屏
哈哈,这个很方便哦,实现的功能就是插上鼠标,自动禁用触摸屏,拔了鼠标自动启用.
这样用鼠标打字的时候,就不会因为不小心碰到触摸屏而打错了.
基本上照着ee的做法,新建一个 /etc/udev/rules.d/01-touchpad.rules 文件,内容如下:
# disable the touchpad when inserted a usb mouse
# should be linked to /etc/udev/rules.d/01-touchpad.rules
ACTION==”add”, SUBSYSTEM==”input”, ID_CLASS=”mouse”, RUN+=”/usr/bin/synclient TouchpadOff=1″
ACTION==”remove”, SUBSYSTEM==”input”, ID_CLASS=”mouse”, RUN+=”/usr/bin/synclient TouchpadOff=0″
但是,在我这里,终端里面执行 synclient -l 的时候,会报错,Can’t access shared memory area. SHMConfig disabled? 导致这个东西失效,google一下,发现要修改下 /etc/X11/xorg.conf 打开 SHMConfig.
具体是在里面的
Section “InputDevice”
Identifier “Synaptics Touchpad”
的下面,加上一行 Option “SHMConfig” “on”
重启X以后,就可以了,哈哈.
mplayer的配置
先贴上我的配置文件:
# Write your default config options here!
vo=x11 #我的A卡,用xv不正常…font=/home/lily/.fonts/VeraSansYuanTi-Regular.ttf #字幕的字体文件
subcp=cp936 #默认的字幕编码
subfont-autoscale=0
subfont-text-scale=40 #字幕文字大小zoom=yes
vf=expand=0:-50:0:0:0 #这个就是本日志的关键,下面细说
大家可以看到上面有一行 vf=expand=0:-50:0:0:0 ,这是我发这个帖子问来的结果,但是后来又找到这个,哈哈其实详细的信息帖子里也有了,我也就不多说了,反正一句话说就是可以使字幕显示在视频画面的下方,从而使字幕不会遮住画面,设置之后的结果(截图),也请看上面的帖子吧 :)