Showing posts with label OS_hacking - LinUx. Show all posts
Showing posts with label OS_hacking - LinUx. Show all posts

Saturday, November 1, 2008

强大好玩滴VPN!

接着上次的说。总是听说VPN(Virtual Private Network 虚拟私人网络),但是一直都没有尝试。直到昨日在solrex的博客上看到了此文,兴致大增——居然还有免费的VPN服务!于是搬出google搜索,发现了另外一个更佳的VPN服务,Relakks.

Solrex介绍的香港Prairie Dog VPN服务对于免费用户滴限制挺多,具体可参看他们的FAQ,摘录如下:
Free account will be disconnected automatically once the download exceeds 30M or upload exceeds 15M, even though users may reconnect again.
This limitation is to discourage users from hogging the bandwidth. They should move to paid account instead.
There is no limit on the number of concurrent users on the free account server. As a result, a free account user is more likely to experience network congestion, including inability to connect to the VPN server and slow connection.
VIP/Premium/Paid account do not have such limitation. We will also limit the number of VIP accounts hosted per VPN server to ensure there is adequate network bandwidth for each VIP account user.

简单点说就是每次连接之后的通信流量有限(下载30M 上传15M),但是你可以reconnect重新连接;免费用户相比付费用户而言,速度更慢(因为双方服务器的待遇大不相同)。

而Relakks就好得多。流量上任你用,待遇也一样,不过有一点不同,就是每个注册用户只能用30天。(画外音——这还不简单,注册多个用户不就得了?回答——不行,他们是根据网卡的物理地址MAC来定位每个注册用户的。画外音——那就换一个MAC不就行了?回答——有违法律内容咯,这里就不说了,大家有兴趣自己研究.)

Relakks上有如何在WindowsXP下配置VPN的说明,也有针对Vista和Apple Mac的,就是没有Linux的! :(

不过没有也无所谓啦,自己动手,丰衣足食嘛。Solrex的文章其实已经说得挺清楚的了,不出意外的话,配置起来应该没啥问题。可偏偏俺多灾多难的系统就有问题——压根找不到VPN的选项。按道理,安装如下软件后(sudo apt-get install pptp-linux network-manager-pptp network-manager-vpnc)就应该可以在nm-applet(网络管理插件)上找到VPN配置的选项,可是估计还是俺升级不规范的原因,怎么都找不到。

在Preferences - Main Menu - Applications - Internet下找到两个控制台软件——



也就是刚才安装的network-manager-pptp和network-manager-vpnc了,尝试着运行,却提示找不到nm-vpn-properties,google后发现这nm-vpn-properties还真是挺怪!首先是搜索之后,发现大家对此小东西是叫苦不迭,看得我心中真是深感安慰(瓦哈哈哈,大家居然都是苦难人啊 囧)!最后终于在这里找到了问题所在,摘录这位Debian开发者的一段话——
On Mon, 01 Sep 2008 12:30:19 +0200, Michael Biebl <...@debian.org

No, you are right, the network-manager package has no GNOME dependencies
although it ships nm-vpn-properties, a GNOME application.


This is actually a bit of a hack.
The monolithic NetworkManager source tarball was split into a core part
and GUI/GNOME part in version 0.6.5. Unfortunately nm-vpn-properties
remained in the core network-manager package.

We had the option to split nm-vpn-properties into yet another package,
make the network-manager binary package depend on GNOME libs, or cheat a
little and exclude the GNOME dependencies from network-manager.

We chose the last option. We assumed, that anyone using
nm-vpn-properties will also use nm-applet from network-manager-gnome,
which will pull in all the necessary dependencies.
Another reason was, that in the upcoming 0.7 release, nm-vpn-properties
will be dropped from the network-manager core package, so a separate
binary package seemed like a bit of overkill.

And making the network-manager binary depend on GNOME libs was also not
an option, given that it is used by KDE only desktops.

Hope this clarifies the situation a bit.

Cheers,
Michael
--
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth? (这段签名很有意思 :D )

可见,由于nm-vpn-properties的在多个版本中依赖关系的不确定性,导致俺机器上压根没了这小东西。所以nm-applet就没法检测出VPN配置的存在了。
-------------------------------------------

So,怎么解决?推荐kvpnc!这个KDE下的基于Qt library的软件,功能异常丰富,可谓豪华级别的配置!安装就不说了,大家apt-get install自己搞定。这里就说一说配置Relakks的VPN服务时要注意的问题——

1. 协议要选择M$的PPTP点对点通信协议。

2.在PPTP的设置页面上,切记务必做出如下设置——(具体信息参考 /etc/ppp/options.pptp 文件或者是 man pptp 查阅


3. 网络设置上,做出如下设置——(不要自定义MTU,同时网络设备选择default,ADSL用户一般会自动选择到宽带链接,如ppp0)


4. 服务器选择 pptp.relakks.com

连接就OK咯。你将会使用來自瑞典的VPN服务,通过瑞典的IP,穿越伟大的“超大”防火墙访问internet! :D

ps. 如果你不想安装kvpnc,想直接通过命令行连接,那也是可以的。因为毕竟kvpnc只是帮助你配置了一下pon的文件和chap-secrets中的用户和密码罢了,而pptp的设置在options.pptp中可以方便设置。只是这里就不罗嗦了。大家自己研究探索啦! :)

-- jtuki

network-admin无法启动的解决办法

还是接着上次的说。对于我等广大滴ADSL用户来说,在linux下只需要运行pppoeconf便可配置ADSL用户名密码等来上网了。但是有时候遇到更加advanced滴事情,例如配置VPN,就需要network-manager-gnome来帮帮忙了。毕竟,对于网络配置而言,在图形界面下配置比在命令行下配置要更加令人愉悦。 :)

可惜有时候network-admin就是打不开!例如launchpad上报告的这个bug,我不太清楚他是否和我碰到了一样的问题,不过我昨天也是一样,同样没法打开网络配置页面。后来通过错误消息定位,发现有如下错误提示[Liboobs:ERROR:(utils.c:114):utils_get_basic: code should not be reached.]。

google了一把(居然只搜索到一个结果,哪怕去掉114这个数字依然如此,可见这问题还没被人怎么关注啊 囧),原来liboobs是用来给system-tools-backends提供基于GObject的接口的轻量级library。打开synaptic搜索,发现我本地机器上的liboobs果然是一个陈旧的版本(liboobs-1-3),而且liboobs-1-3和liboobs-1-4版本居然没有dependency升级关系!直接删除liboobs-1-3,安装liboobs-1-4,问题解决。

可以很明确的说,这个问题是由于Ubuntu发行版本升级造成的。由于Ubuntu开源社区开发软件的松散性,上千种软件的打包有时候并未完美的解决掉依赖性问题。由于我每次都是直接修改sources.list文件中的版本号来升级更新系统,而且并非一次性统统更新、而是有选择性的,例如只升级nautilus、gnome-themes、gnome-session和一些常用library等等(更新内核与否要看情况),这样就容易造成一些版本冲突。 :(

强烈建议各位每次升级后,如果出现问题,及时查看terminal终端上给出的信息,google解决之。如果google都找不到,那就去launchpad上报告这个bug或者是去irc上问一问吧。

--jtuki

有关SCIM输入法的tip一则

接着上一篇说。用了SCIM这么久,要不是前天想要将搜狗细胞词库导入,意外发现了这个小tip,还真是不知道SCIM中滴一个隐藏功能——特殊符号输入

打开SCIM帮助,可以看到如下一段:



还需要多加解释么?俺看到这个简直是兴奋异常,打开special_table文件后从头到尾研究了一把(是不是觉着俺确实很有聊啊 囧)。
这里挑选若干有趣的说一说,其他的大家自己观摩文档咯——
imath 输入数学符号:(例如) ± ∀ ∈ ∝
idate 输入当前日期: 2008年11月2日
itime 输入当前时间: 15点45分
ifuhao 输入各种标点符号: § ‖ ‰ ’ “
ijiantou 输入各类箭头图案: ← ↗ ↘ ↔
ilatin 输入各种拉丁字母(ixila 是输入希腊字母): à ê ò
isanjiao 和 ifangkuai 输入各种三角和方块: △ ▼ ■ □
ishuzi 输入各类数字序号: Ⅳ ⅳ ① ⑴ ㈠
idaxieshuzi 输入中文大写数字: 叁 壹
imale ifemale 输入男女性别符号: ♂ ♀

最强大的当然不是系统内部的这些,而是可以和搜狗一样,自定义快捷方式!例如,你可以搜索到心形(heart symbol)的16进制格式的Unicode编码是0x2665(更多搜索参考Unicode Chart官方站点),于是你可以在special_table文件后输入如下一行——

love = 0x2665


然后重启scim(使用 sudo pkill -9 scim* 杀死scim进程,接着 scim -d 将scim做为精灵守护daemon后台程序启动),输入ilove,便可以看到心形符号了 ♥.

同理,你可以继续添加,例如个人通信地址等等。例如俺所添加的——
580 #user-defined
581 love = 0x2665
582 email = jerome.rivest.long # gmail.com
583 emaildisguised = jerome@rivest@long#gmail.com
584 name = jtuki

最后给大家献上俺用如此方式编辑的一条语句: ♂ ♥ ♀ ∧ ♀ ♥ ♂ → another or more ♀ ♂ :D

--jtuki

SCIM输入法 VPN连接 network-admin启动 @ Ubuntu

这一天半整标题上的这些东西,花去了大量时间,于心不忍,于是blog一则记录之。

------------------------------------------------------

首先是觉得SCIM的词库实在是不太理想,于是想将搜狗拼音输入法的众多基于用户分享的、txt格式的细胞词库转换过来为我所用。得到google反馈,在~/.scim下找到了两个文件夹,pinyin 和 sys-tables,顾名思义,前者是拼音输入法相关数据,后者是基于码表的输入法的相关数据,要对其展开工作的就是前者了。

pinyin文件夹中有5个文件(tar打包文件是我临时做的备份,并非系统所有,标号1-5是vim中的行计数)
1 phrase_lib
2 pinyin_backup.tar
3 pinyin_phrase_index
4 pinyin_phrase_lib
5 pinyin_table

其中phrase_lib内容大致如下(提取前面一小段,标号1-5是vim中的行计数)
1 SCIM_Phrase_Library_TEXT
2 VERSION_0_6
3 26468
4 121732
5 2212
6 代理    4965
7 服务器  8329
8 韩国    5901
9 运行    9074

可以发现,如果phrase_lib中只有前面的汉字部分,例如“代理”,而没有后面的数字部分,例如“4965”,那么咱们就爽了——直接将细胞词库中无数的词组复制粘贴到这个文件中就万事大吉了!可惜事实并非如此。
google搜索到了SCIM中有关phrase_lib文件的源代码,其中定义了phrase_lib相关的多个类(classes)。可以看出,后面的数字是offset偏移量,是为了方便输入时的即时搜索。查看另外的两个文件pinyin_phrase_lib和pinyin_phrase_index也可以印证这一点。

事到如今,直接将细胞词库导入的办法基本上行不通了,于是继续google,看是否有人已经做好了更棒的输入法,结果找到了一个scim-python,居然是直接将搜狗中主要的细胞词库作为其默认词库!大喜!
直接编译scim-python需要安装若干dev开发包,俺为了节省一点硬盘空间,继续google看是否有已编译好的deb文件下载。结果发现还真有不少,继续大喜!从中挑选了一个看起来比较靠谱的,下载之,使用dpkg安装,没有dependencies依赖问题。
直到这里,我都是处于轻松惬意的状态。谁知安装完毕后结束X-window,重新登录,居然花掉了大约半分钟才进入桌面!而且还擅作主张滴给俺直接启动了一个gnome-terminal,不带标题栏的!急忙关闭gnome-terminal,却发现所有打开的窗口都没了标题栏,而且我给系统自定义的快捷键全部失效。最可怕的是整个系统速度慢如蜗牛,卡得让人无法忍受。 :(
于是赶紧去确认下俺刚才到底安装滴啥宝贝,咋这么大威力,一下子把俺系统弄这模样了。一看,原来是一个svn临时开发版本,既非stable版本,也非rc版本,甚至beta都够不上!额滴神,怪只怪自己没看清。由此可见,各位朋友今后安装非官方deb包时,务必注意看清版本号。

卸载掉(使用purge,将配置文件也一并删除)scim-python,却发现系统依然如此。甚是不爽,于是重新配置可能出现问题的gnome主要部分:
sudo dpkg-reconfigure gnome-session
sudo dpkg-reconfigure gnome-icon-theme
sudo dpkg-reconfigure gnome-applets
sudo dpkg-reconfigure gnome-applets-data
sudo dpkg-reconfigure gnome-desktop-data
sudo dpkg-reconfigure gnome-themes

熟料无效,顿时抓狂。

幸亏俺做事情不怕野蛮,也不怕辛苦。<Ctrl>+<Alt>+<F1>进入黑色的命令行世界,进行极具风险但成功率很高的purge+install工作(风险很高,如果愿意尝试,后果自己负责咯 囧)。
将可能出现问题的软件包删除——
sudo aptitude purge gnome-session gnome-icon-theme gnome-applets gnome-applets-data gnome-desktop-data gnome-themes
当提示你是否决定彻底删除这些软件包和 configuration 配置文件时,别手软,敲入Y继续。一下删除掉了180M的东西,当我看到屏幕上冒出 rhythmbox 的时候,泪奔了,大量的 playlist 文件还没来得及备份呢!

删除完毕后,重新安装。需要多增加一个 gdm ( gnome 的登录管理器)——
sudo aptitude install gnome-session gnome-icon-theme gnome-applets gnome-applets-data gnome-desktop-data gnome-themes gdm

重新登录,一切OK咯。 :D
就先写这么多,吃完饭后有时间了再接着写剩下的部分。

--------

update1: 后续文章在这里——
有关SCIM输入法的tip一则
network-admin无法启动的解决办法
强大好玩滴VPN!

update2(2008年11月6日)
进行上述的 purge+install 之后,系统会同时删除 gdebi (本地 deb 包安装管理工具),下载的 deb 包会无法找到关联。简单情况直接 dpkg -i file.deb 就可解决。如果遇到 dependencies 比较复杂的情况,可以重新安装 gdebi 工具(推荐)!同时,如果你希望找到 rhythmxbox 的替代软件,这里推荐 Amarok (有更加强大的 playlist 管理功能,界面和 foobar2000 类似)或者是 Audacious (界面很清新,有 winamp 的风范,支持的 plugins 范围很广泛)。

update3(2008年11月8日)
插入mp3提示 Cannot mount volume. Invalid mount option when attempting to mount the volume.
估计是由于 gnome-volume-manager 在 purge 中同样被删除的缘故。但是无需重新安装之,仅仅升级 gnome-mount 和 mount 便可解决问题。

--jtuki