Tag Archives: ubuntu

ubuntu下实现ssh自动重连

作个笔记,免得自己以后忘了。相关内容网上比比皆是,原始出处,已经找不到了。如果你不知道自己为什么需要看着篇文章,那你就不需要看下去了。好,我们开工。

ubuntu下使用ssh的方法很多:

  1. openssh。一般linux系统都默认安装,直接在终端(terminal)下使用即可,可以参阅我以前写的一些东西,这里
  2. PuTTY。图形化界面,无须命令行,更便于新手使用。

但两者都有一个明显的缺点:无法实现ssh断线后的自动重连。openssh是终端命令行模式,断了只能重打命令;PutTTY则自己明确说明了一点:为了安全问题不保存密码,每次都要用户自己输入。初衷是很好,但从实际应用的角度,ssh掉线的频率比较高,每次都要重输是很累的。所以更好的解决办法是:expect

首先要获取该程序,终端(terminal)下输入:

sudo apt-get install expect

完成后随便新建一个文本,这里暂定名称是:sshgfw。可以直接在终端(terminal)下输入:

sudo gedit sshgfw

在文本中粘粘如下内容:

#!/usr/bin/expect
set timeout 60

spawn /usr/bin/ssh -D 7070 -p port -l user yourserver.com
# 这里的port为你远端主机的端口名,一般为22,有变动的话一般空间商会告知你,user为你自己的用户名,yourserver.com为你自己的服务器域名或ip
expect {
"password:" {
send "passwordr"
#这里的第二个password改为你自己的密码
}
}
interact {
timeout 60 { send " "}
}

再加上可执行权限,我们仍然在终端(terminal)下执行:

chmod a+x sshgfw

如果你严格的按照我所说的做下来,那么现在在直接终端(terminal)下输入:

./sshgfw


脚本就应该自动运行起来了。现在这个脚本应该是在你的帐户下,多帐户操作的话也可以把这个文件复制到 /usr/local/bin 或 /usr/bin 等目录下,以方便本机所有用户都可以快捷的使用。


以上内容参考了互联网上的相关资料,但也经过自己的实际操作,略作改动。如还有问题请提出(不保证能解决。。。)。

好了,准备收工。以twitter上看到的一句话作结尾,也不是什么惊世骇俗的名人名言,但很中肯,希望大家引以为鉴,是@yurii_yu说的:

“最好不要在自己blog上转贴技术文章,尤其是没经过验证的,最近几次查资料(尤其中文的问题)都搞到头大:原文有错误,转贴的人根本不尝试就转贴了,搜索结果前若干页都是同一篇文章,无一可行,这就是@tinyfool说的信息退化”

Ubuntu下输入法丢失现象一则

升级到ubuntu9.10以后,系统会自带ibus,但其中各种拼音输入法一个都用不惯,主要是没有联想式输入,也不想深究,所以就换上了比较顺手的scim。但这几天频繁调动系统设置以后,突然发现输入法切换不出来了。我还没有达到没有中文也能玩转自如的境界,所以非常努力地去查了查资料,不幸,没有中文输入法,只能在google里查”scim not activated”之类,不是很有帮助。最后还是靠自己瞎搞发现了解决方法:

System–Administration–Language Support–Keyboard input method system
我这里不知怎么变成”none”了,随便选一个其他scim模式就可以了。


p.s:一直觉得输入法是中文用户使用linux的一个障碍,搜狗、google等如果发布linux版的输入法,相信会马上占领整个linux中文圈,这实在是个很大优势啊。难道真的是linux中文用户少到了一个可以忽略的地步吗?即便现在真的如此,linux还是前途无量的,眼光要放远。

VirtualBox的全屏显示问题

Mobile for Life看看文章,抢抢沙发。不知不觉提到了老是没解决的老问题——VirtualBox虚拟机下无法实现全屏,分辨率只能达到800×600。我早就知道要装一个Guest Additions才能解决这个问题,但怎么样才算装成功一直没搞明白过。。。。今天想想还是要捣鼓一下,于是老办法google一番,摸索一番,成了。这里写出来分享一下。

我是在XP下的虚拟机里运行的Ubuntu,

  1. VirtualBox里运行Ubuntu
  2. 窗口上选择 Devices–Installl Guest Additions
  3. 进入终端(terminal),键入:"sudo sh /media/cdrom/VBoxLinuxAdditions-x86.run"(不包括引号,后同)。这个命令也不能照搬,引文不同版本的VirtualBox,各自的文件名有可能不一样。可以这么做,先键入:"cd /media/cdrom/",然后键入:"ls",查看一下具体的文件名称,再"sudo sh 具体文件名"。虚拟机里跑的是linux,则一般运行.run后缀的文件;虚拟机里跑的是windows,就更方便了,去看你的光驱(装了Guest Additions,就会自动虚拟出来一个),找.exe文件去,都不用命令行了,够熟悉吧?
  4. 重启即可

终于能全屏了,好爽啊,^_^

Ubuntu下使用SSH

为了众所周知的目的,我们无论在什么操作系统下都会用到SSH。今天就讲一下Ubuntu下SSH的使用。

其实这是个被人都讲烂的问题了,但我这个人碰上啥事都会倒霉,大众化的常规方法在我这里总是失败。首先,几乎所有linux(听说的,我只用过ubuntu)都默认安装了openssh-client,所以打开terminal(终端),键入:

ssh -D 7070 -l username@servername

具体的用法,可以man ssh一下。我尝试过,内容太全了,以致我完全没有看完的兴趣。。。这里简单讲讲

-D 7070
本地一个未使用的端口

-l username
你ssh的用户名

@
别人的文章里就是这么写的,但我这么键入这个符号完全是无效的,没弄懂

servername
ssh服务器名或ip地址

所以,实际我尝试下来的应该是这么写才对

ssh -D 7070 -l 张三 xxx.xxx.xxx.xx

这就是大众化的方法,接下来正常情况会让你输密码,加密连接就建立了。很显然,不适合我。。我也很郁闷啊。仔细研究一个,发现是因为SSH默认的远端服务器端口号为22,我的恰恰不是。。于是只好去读ssh命令的帮助文件找答案。实际上我也没读得太懂,只是捡几个比较像的参数试了试,最后确定-p是远端服务器端口号参数。举例来说,如果你的SSH远端服务器端口号是874,用户名是张三,SSH服务器地址是xxx.xxx.xxx.xx,那么命令就应该这么打:

ssh -D 7070 -p 874 -l 张三 xxx.xxx.xxx.xx

然后就是浏览器的设置,只谈firefox。选项→高级→网络→设置→手动配置代理→SOCKS 主机 : 127.0.0.1 端口 : 7070

现在就是全局在ssh工作了,当然很多时候没有全局ssh的必要,有很多其他方法甄别是否需要使用ssh,但并非本文的重点,这里就略过了。

祝大家翻墙学习愉快。

-l-l

谈谈打字,兼谈Dvorak

我作为一个94年就接触电脑的人却一直是以“目光凝视键盘+左右二指按键”流来输入,对此深感不安与惭愧。小时候在打字机上狠下过七天的功夫,和我习过的许多其他技能一样,都感到甚是无趣,遂弃之,无疾而终。这样一路走来,当然感到过不便,但还是始终没下过决心要改,觉得打得也不是那么慢就凑合着算了。

从今年7月份开始,因为以下种种原因,我决定还是要变了。

  1. 打星际吃了很多亏,手速都170的人了,HK<10%…键盘和鼠标的严重不协调,操作和控兵显得极不娴熟。说实话星际还能再打几年呢?再不提高提高,也许就终身遗憾了。
  2. 工作中关于文字输入的内容越来越多,输入量的增加使我不得不寻求提高效率的手段。
  3. 读了李笑来《把时间当朋友》后,很受触动。我们平时的一点小改变其实可以节约很多时间,可我们还是由于习惯的力量而不愿去改变,人是短视的动物,这点未必有错,但确实挺可悲的。谈到这里就稍微展开下,我们真的很不愿意改变,即使投入一定的时间成本能带给我们巨大的回报。
    • 我们用惯了IE,却不愿尝试Firefox或Opera,其实学会一点定制会让浏览器更加个性化,符合我们的习惯;
    • 我们用惯了”我的电脑”,再高级一点就是”资源管理器”,却不肯用更好的软件,比如Total Commander(多半连知也不知道)。天天凌乱的文档折腾来折腾去,心烦意乱;单一乏味的操作一做再做,毫无意义。自以为是工作的复杂和烦躁,却不知是自己不善于解决问题,不肯去做改变。
    • 编辑器只用notepad, word。却不知道vim, emacs是何等地牛X.
    • 我们的键盘布局明明是胡编乱造,我们却在学会了以后再也不过问,觉得自己打字也够快了。有人合理科学地创造了Dvorak,却乏人问津,落得个门庭冷落。这就是我们习惯的力量,这就是我们短视的天性。

    我们天天在电脑前做的无非也就是这几件事,上网冲浪、整理文档、打字。这就是基础中的基础,要提高效率从这里开始是会受益良多的。

  4. 偶然知道了一个比较好的在线打字网站——typingweb。界面友好简洁,课程设置得也很合理,每个章节之间,每段练习之中都会穿插那么一小段文字来幽默地鼓励你一下,很好地做到了互动,当然就激发了使用者的兴趣了咯。

ok,我坚持了两个月,每天30-60分钟不等。现在的输入速度在40-50wpm上下,不好,但也不坏。不过为了更长远的考虑,准备开始练习Dvorak键位。关于Dvorak的介绍我发现并非wiki的介绍最得我心,反而是这个联接里的介绍更为符合我的需要,包括如何练习Dvorak,如何在系统中设置。

虽然链接里介绍的很详细,但有的东西还是单独拿出来说说比较好。

  1. 如何设置Dvorak?window下的设置想必不难,加上我也没试过就先不说了。主要谈谈ubuntu下的设置。在System–Preferences–Keyboard–Layouts–Add. 这里开始要注意了,Country一项先选United States, 然后Variants里就会有好几个Dvorak选项,选哪个就随意了,我选的是USA Classic Dvorak. 为什么说要主要呢?因为我犯了一个很低级的错误,Country一栏按字母顺序排下来,我一看到Armenia就以为是America(本来就是挺像的…),马上选上,然后就杯具了,死活找不到Dvorak. 我的弯路,你的桥梁,下次可别和我一样哟。
  2. 如何使用Dvorak的键盘布局?首先,不要把Dvorak设为默认键盘布局。你如果看这篇文章,证明你还嫩着呢,别那么早耍酷。然后,Dvorak也不是输入法,按ctrl+shift是切换不出来的。系统默认是按住左右alt切换。很可惜我试下来的结果是:无效!所以请重新设置:System–Preferences–Keyboard–Layouts–选择Dvorak然后按Layouts options–key(s) to change layout–我选的是alt+shift.

又想了想要,要有人看到链接一个个点过去,发现到处都是蝌蚪文,实在不是个愉快的体验(包括我在内),于是还是把关于Dovrak的中文介绍从烧荒网节选一段吧。

1.QWERTY键盘是为了降低打字速度

最初,打字机的键盘是按照字母顺序排列的,但如果打字速度过快,某些键的组合很容易出现卡键问题,于是克里斯托夫·拉森·授斯 (Christopher Latham Sholes)发明了QWERTY键盘布局,他将最常用的几个字母安置在相反方向,最大限度放慢敲键速度以避免卡键。授斯在1868年申请专利,1873 年使用此布局的第一台商用打字机成功投放市场。这就是为什么有今天键盘的排列方式。

但具有讽刺意味的是,这种129年前形成的、以放慢敲键速度为目的的键盘排列方式却延续至今。1986年布鲁斯·伯里文爵士曾在《奇妙的书写机器》 一文中表示:“QWERTY的安排方式非常没效率。”,比如:大多数打字员惯用右手,但使用QWERTY,左手却负担了57%的工作。两小指及左无名指是 最没力气的指头,却频频要使用它们。排在中列的字母,其使用率仅占整个打字工作的30%左右,因此,为了打一个字,时常要上上下下移动指头。

2.比QWERTY键盘快得多的DVORAK键盘

1930年奥格斯特·多冉柯(August Dvorak)发明了一种更优越的 DVORAK键盘系统,将9个最常用的字母放在键盘中列。这种设计使打字者手指不离键就能打至少3000多个字。而 QWERTY只能做到50个字。DVORAK是通过减少手指的运动量来降低工作强度、提高工作效率的。使用DVORAK,打字者的手指平均每日运动1英 里,而QWERTY则是12到20英里。

二战期间,奥格斯特·多冉柯曾集合14位海军打字员练习DVORAK,1个月后,他们的速度惊人地提高了68%。DVORAK键盘让右手负担 56%的工作;最有力的手指工作量最大;70%的打字工作是在中列进行而不必移动手指。但当时正逢二次大战,作战物资缺乏,这种新键盘还没问市就停产了。

亲自试用DVORAK键盘吧!

Windows中已经内置了对它的支持,打开“控制面板→键盘”,进入“输入法区域设置”选项卡,接着单击“添加”按钮,将“输入法区域设置”设置 为“英语(美国)”,并在“键盘布局/输入法”栏内找到“美国英语-DVORAK”。确认后,按键位置全变了。现在你完全有资本提升自己的英文打字速度 了。当然在成功前仍需花时间重新适应新的系统并进行耐心训练。

To type faster, try Dvorak keyboard layout. 我决定给个现身说法,三个月后看结果吧。

ubuntu下的快捷键–ctrl+s

先痛骂电信劫持了我网站的域名!登自己网站,上来竟给我来电信的广告,HOLY FUCK!一时激动忘了截图了,下次一定记得。

好了,爽了,我们开始。


今天在ubuntu终端下学习vim的教程,看到vim的帮助文件里写到ctrl-s可以分割窗体,在图形界面下我见识过,可是在终端上还能怎么分呢?我就好奇地试了试,结果它就给我装死了。。。失去任何响应。没办法,我以为是其他终端程序跑多了,这里一时没有资源,等其他终端都关掉,还是不行。再开一个新的终端,同样输入ctrl-s,反应依旧是。。。没有反应。我就纳闷了,马上去google。原来ctrl-s是linux的快捷键,把屏幕锁掉,解锁的话应该按ctrl-q。

我是在这里找到的解决方法,同时也看到了不少其他linux快捷键的介绍(没有全看完,不过乍一看就发现第二条写错了。<Alt><Fn>是无法切换终端的,应该是<Ctrl><Alt><Fn> (n=1..6) 才对),现在的习惯是看到好的资源文章就想办法找找英文的,英文资源比中文资源要好的多,技术文章就更不用说了。。。出处可能是在这里:Linux Shortcuts and Commands. 果然很强大啊,排版都看着舒服,只是不免有些沮丧,这才刚刚是Linux Newbie Administrator Guide,啥时候才能入门啊?

ubuntu崩溃

这真是件恼人的事情,倒不是ubuntu本身不稳定,也不是我太能折腾。而是我的sata接线有问题,以前就一直发生过硬盘莫名地死机,这次坏的就比较离谱了,正好是用ubuntu更新系统时死机,然后系统就崩溃了,开机时报了一个grub 15 error。很多人都说sata的接线很脆弱,我一直没啥感受,硬盘线的插拔大概是我做的最多的事情了,比拔内存条的次数还多,因为我的双系统切换靠的是换硬盘。。。这次终于体会了接线口脆弱的痛苦了。
sigh,ubuntu崩溃了,我也挺崩溃的,又要重装了。。。

Troubleshoot : about tor

今天突然发现不能“带套”上网了,觉得很奇怪,回想了一下我对tor最近做过的举动比较可疑的一项也就是关了条回路(circuit),我还没有很懂tor的一些设置,所以理所当然的把这个想成是出现故障的主因。非常不巧的是,我还不知道怎么修复,于是只好去读“帮助”,英文的“帮助”本身就不好理解,加上我概念模糊,看了半天看不出个所以然。最后,我想把整个network map刷新一下总可以了吧,于是行动并干等之,一个下午过去了也没个结果。无奈之下把tor重装了一遍,nnd还是没用。不能翻墙了,一下子觉得人生好黑暗啊!最后的最后,我百无聊赖的去读了基本从来不看的软件日志(message log),tor做的就是贴心啊,一条高亮的warning一下子吸引住了我的注意力。

七月 26 12:42:49.062 [Warning] Our clock is 7 hours, 17 minutes behind the time published in the consensus network status document (2009-07-26 12:00:00 GMT). Tor needs an accurate clock to work correctly. Please check your time and date settings!

我一看,果然系统时间设错了。猛然想起以前也存在同样的问题,是这样的。。。我有两块硬盘,一块装windows,一块装ubuntu,昨天用的刚巧是ubuntu,所以系统时间可能是被它搞乱的。改回来以后tor开始正常工作了,job done!

但问题的解决引发的确实更多的问题:

  1. ubuntu为何会造成系统时间混乱?按我理解,系统时间不应该是写在主板bios上的吗?ubuntu为什么要改bios的时间呢,即使改又是以何为依据?我记得我ubuntu上的时区可没有设错。
  2. “Tor needs an accurate clock to work correctly.”这是为什么呢?要求时间正确在我看来不过是为了把日志记得更准确些吧,影响软件正常功能的使用既不明智也不应该啊。

谈谈对ubuntu的不适

换到linux作业下无非是出于两个动机:

  1. 拉风
  2. 被windows搞烦了,换个清爽快捷的系统

第一个目的尚未达到,因为对ubuntu还不熟练,不敢装到单位的电脑上去献丑。第二个也不怎么成功。有时候就是这样,很多事情明明不好,可是它伴随你时间长了,你就发现你越来越离不开它。原句出自《肖申克的救赎》: These walls are kind of funny like that. First you hate’em, then you get used to’em. Enough time passes, gets so you depend on them. 这些高墙还真是有点意思。一开始你恨它,然后你对它就习惯了。等相当的 时间过去后,你还会依赖它。 这里也说说自己对ubuntu的种种不适,认识问题是为了更好地解决问题。

  1. 输入法不习惯。调出中文输入法就用了半天,原来说下,ubuntu系统的这个中文输入法还是不错的,但现在我都google输入法用惯了,字库不能同步造成的输入不适实在令人头痛。真的是逼我放弃中文输入吗?希望google的输入法早点做进linux…

  2. 快捷键不适应。没有ctrl+d,也没有ctrl+alt+del,更没有windows下的autokey软件。好不容易养成一点点按快捷键的习惯,现在又快要回到点图标的陋习中去了。不过linux下应该有类似自定义快捷键的软件,肯定是我没用心找。

  3. 软件安装闹心。尝试参照教程在命令行模式下安装,均以失败告终。我觉得命令行这种模式天生就排斥我,从dos开始,我想在命令行下做的东西就少有成功的。当然ubuntu强调易用性,在图形界面下有一个叫“新力德软件安装”的程序,用起来很顺手,但我总觉得,不会命令行就学不到精髓。(更重要的是不用命令行怎么样也不够拉风啊),所以还要继续努力。

  4. 没有totoal commader。在linux下用我的电脑?我在windows下都不用了,现在还让我不得不退步,很受伤。听说tc的作者是有计划在linux下写程序的计划的,希望尽快吧。

  5. 不能打星际。有一句话令我印象深刻:凡是linux不能做的事情是没必要做的事情。好吧,只要能让我打星际,我就100%认同这句话。

暂时就这么多,当然windows也是玩转那么多年才玩熟的,linux相信也是一样。希望能把路越走越好吧。


p.s:
感觉天天都好困好困,好羡慕那些清早不迟到,中午到处跑,不喝咖啡不睡觉,蹦蹦跳跳,四处闲聊的人。。。