20110207

VPN,截屏脚本,计时器,及其他

VPN,截屏脚本,计时器,及其他

装了Ubuntu以后,很多原来在windows下的东西都要迁移过了。有些不太好整,就
推迟到现在。

VPN配置就是其中之一。

前几天整过一次,失败了。昨天又开始。

采用了俺们计算机系学生的常用的技术路线,而且是错的。Ubuntu下有几种VPN客
户端,pptp,pptp-linux,pptpd,还有默认的openvpn。

我这个试试,唉呀,不行,估计难配置,换下一个。走了两步,又新的问题,估计难整,换下一个。

换来换去,又回到了开头。

才发现,刚才这家伙什么毛病来着,没记录。

有些同学可能得出结论了,"我绝不会犯你这样的错误,我记性好着呢。"

那你能一边看碟一边打游戏一边聊天一边看书一边想事,一边配置么?

况且我记性好着呢。

这就是李树杰老师当年教我的重要一课。要记录。无论成功的还是失败的。

我老老实实记。一步一步计划。

才发现时间飞逝。同时,也发现这几种客户端--其实也就是这时,我才意识到有
不止一种客户端--它们使用不同的配置文件。改其中的一个,对其他的没有影响。

在我前面乱糟的努力后,它们分别停在不同的阶段。

路多歧而树多枝,有所舍才能有所得。我面临的问题是暂时放弃哪些路线。

当年跟瀚哥等人一起编程序时提过一个强制性要求,我一般不太要求的。这个要
求 不允许同时打开五个以上的窗口。最多五个。

有同学会说,我要操作的东西多啊; 我马上就要用到这个,那个也是,那个也
是。

人类是这样一种东西,它是从动物进化而来的。尤其男性,是通过捕猎之类的活
动进化而来的。

捕猎要求一项重要的特质:专注。(据说采摘有所不同,不过那不是我专业,不
太了解。)

这是一老外给我们讲写论文的时候一再强调的,最重要的,如果一定只记住一
项,其他都忘记的要求。那就是 FOCUS, FOCUS, FOCUS.

如果一篇小说有多个主题,要是里面的N多角色都是主角。要是你发出一百来张
贺卡,每一张都写着"送给最爱的人"。

如果一定要在技术路线间不停切换的话,那么笔记用来保留现场非常重要。

男性都是低级落后的单线程机器。而不幸的是,机械操作需要这一方面的特质。

最后,我终于专注于Ubuntu默认的OpenVPN,沿那条路一步步走下去。每一步遇
到困难就google当时的错误信息。

无聊的技术就不说了。最有意思的是,改了N多个地方,一直说OpenVPN服务没有
打开。

改什么也不好使,手动启动OpenVPN似乎也没有动静。

后来找到有位大神名叫Shen的,看名字是中国人,
在[http://forums.techarena.in/networking-security/1331318.htm]
写下了重要的资料。

把配置中的"Available to all users"的多选框清除。

行了。

这是完全与OpenVPN服务无关的一个选项,它的意思是对所有用户有效。据说这
是个BUG。

其实,这个也是可以试出来的。最简单的方法,也是最有效的,穷举,一个一个
选项试。既然这个世界上有人做出来过,他的配置就一定在所有的各种选上和不
选的组合之中。

如果每个多选项2种可能,一个多选项最多需要试2次,二个多选项最多需要试4
次,三个多选项最多需要试8次,四个多选项最多需要试16次。

枯燥么?

在桌上行酒令的时候,一个蛤蟆一张嘴两只眼睛四条腿扑通一声跳下水,那个你
为什么觉得挺有趣呢?

幸运的,或者说正常的,会在穷举到中间的时候就试出来正确的结果了。这时,
还应该把剩下的测完,以保证那些组合都是无效的。

这样,我们就可以说某某是问题的原因。而不是"大概可能,我试过,但是"。

我们有时过于聪明,一旦以为解决就了解了全部。全然不顾以后还要用到这个结
论。这些笨拙的工作愿意略过,用公式生成,交给"下面的人"去做。

还有别的什么方法?如上所述,google。如果还不行呢?QQ,短信,电话。我们
是好朋友,考验你的时候到了,就一点点小问题,撒娇耍赖。

建议读读威尔斯的时间机器,看看劳心者后来都怎么了。

对了,还得把Advanced里的 "Use Point-to-Point encryption(MPPE)"选上,默
认没选。这也是为什么Linux用起来不像Windows那么体贴的原因。Linux的用户千
奇百怪的,默认的设置因此也各有不同。

换句话说,Linux/Unix反应了更宽的适应领域和人群的需求,尤其是在网络相关
方面。这个故事告诉我们,认为自己是全部世界,或者自己是世界的重要组成部
分,而且是较好的部分,是没有事实依据的。


另外,前两天做个需求,截屏。发现Ubuntu原有的截屏不方便,需要截屏一次保
存一次。windows当然更加不堪,需要截屏然后粘画图或WORD里,然后保存。

或者用wink录屏,然后选出其中需要的。这个方法确实很好,可是不知道为什么
伟大的GFW要把它的官方站点封了。wink的windows版在国内还能找到很多地方下
载,可是Linux版的没有找到。

以上,我犯了两个错误。

第一,GFW是不存在的。

第二,做少数份子,而没有与使用Windows和QQ的大家保持一致是违背俺们的优
良传统的。

如果认完错就安装了Windows,那就没有后面的故事了。

我安装了scrot,一个命令行的截屏工具。然后从网上抄了段脚本改了。

热键截当前窗口。这是我需要的。显摆一下,双显示器,而且有一个挺大的,除
了要截的窗口还有日志啥的开着,截全桌面的话还得改。截完窗口以后自动保存
在一个文件夹里,一次截屏一个文件。

对了,截屏的时候响一声,以提示我截屏成功了。

也可以改成显示提示窗口,然后自己退出。如果我改成截屏成功,不按确认就不
往下走,那就是啥啥啥的路子了,非要让你看到我干活了,不确认看到还不行。

脚本如下, 设定快捷键win+PrtSc

: #!/bin/sh
:
: # based on [http://www.linuxsir.org/bbs/thread349080.html]
:
: DISPLAY=:0.0
: SCREENSHOT_DIR="screenshots"
: SCREENSHOT_NAME="screenshot_`date +%Y%d%m-%H%M%S`.png"
:
: if [ ! -d ~/${SCREENSHOT_DIR} ]
: then
: mkdir -p ~/${SCREENSHOT_DIR}
: fi
:
: scrot -u ~/${SCREENSHOT_DIR}/${SCREENSHOT_NAME}
: aplay -q /usr/lib/openoffice/basis3.2/share/gallery/sounds/apert.wav &

这就完全符合我的要求了。它可能不适合于任何其他人,而这正是好马的特点,
它会拒绝主人以外的任何人骑乘。

如果想显示会自动消失的提示窗口,参照下面这段代码。我计时用的。
为什么要计时20分钟,以后再说,是个重要的技术。

: #!/bin/bash
: at now + 20 minutes <<EOF
: notify-send "20 min" "Time is up."
: aplay -q /usr/lib/openoffice/basis3.2/share/gallery/sounds/horse.wav &
: EOF

No comments: