用GNU screen管理多台Linux主机

需要在Windows下管理一小堆Linux机器,开一堆PuTTY窗口的方式显然是会让人无法忍受的,怎么办?

否决,能不用商业软件就不用商业软件,尤其是在没有人愿意为License买单时。虽然xshell个人和教育使用是免费的,功能也足够强大,但我花了N个小时改它和Emacs的配置,还是没有办法在它的终端下完美的使用Emacs,Emacs有那么多变态的快捷键,怎么配总有那么几个快捷键不能正常工作。虽然知道配不好是我自己的错,但能力精力有限,放弃。

  • 用第三方PuTTY的外挂或窗口管理器

你真的确信有一个很美好的PuTTY多窗口管理器么?我把PuTTY官网上相关话题中给出的链接中的第三方程序都试了一遍,真没有靠谱的。

想来想去,最终还是决定采用开一个PuTTY窗口,先连上一台Linux主机,然后在上面启动GNU screen再连接到多台主机。

以前对screen的认识,是用来在下载机上运行rtorrent,所以screen的第一个用处是把程序放到后台去运行,不受SSH连接断开的限制,随时连上去都可以恢复到断开连接时的状态,这对于维持一个稳定持久的工作环境很有用。

要让screen可以做为一个多连接管理器,还需要花点精力,这可以通过配置~/.screenrc来实现。

  • 让我知道我正在screen环境下工作,并知道我开了哪些连接

hardstatus alwayslastline "%{=b}%{G} Screen(s): %{b}%w %=%{kG}%C%A %D, %M/%d/%Y "

显示状态栏,并列出当前打开的窗口(创建的连接)

  • 把screen的默认快捷键由Ctrl-A换成Ctrl-Z

escape ^Zz

在我的Emacs配置中最用不到一个快捷键是Ctrl-Z,所以把screen的快捷键前缀由非常常用的Ctrl-A换成Ctrl-Z,真的需要Ctrl-Z时,只要按Ctrl-Z z就可以了。

  • 启动时就打开多个窗口并连接到各远程主机上,并为每个连接所在窗口起个名字

screen ssh user@host1
title host1
screen ssh user@host2
title host2

这样启动screen时就会分别连上host1和host2,把设置好对应的窗口名字,在状态栏上可见。

  • 远程连接关闭(或意外断开)时,不要关闭窗口

zombie "^["
默认情况下,一个连接断开后,screen会关闭这个连接所在的窗口,如果要再连就得重新打开新窗口手工创建连接。用了zombie配置后,某个远程连接断开后对应的窗口仍会保留,切换到对应窗口后可以按Ctrl-[手工关闭窗口,也以Ctrl-@重新激活窗口(连接到远程主机)。

  • screen启动完成后默认切换回第1个窗口

select 0
完成这一堆配置后,用起来就已经很得心应手了。按Ctrl-Z 0到Ctrl-Z 9可以在各窗口间切换,按Ctrl-Z Ctrl-Z可以在最近两个窗口间跳转。Ctrl-Z d把screen环境放到后台,返回shell。Ctrl-Z c新建一个本地shell窗口。如果需要在多个连接间复制文本,可以用Ctrl-Z <ESC>进入复制/滚屏模式,用回车键设定复制范围,然后用C-z ]贴粘到目标位置。

完成一切设置后,就可以在PuTTY连上终端后执行screen -d -R来创建或连接到screen环境了,用完了可以随手把PuTTY窗口关掉,再连上去时就恢复到上次工作的状态,非常方便。

在我完成了screen的学习和配置后,有人为我推荐了另一个终端复用程序tmux,它比screen的功能更为强大,鉴于screen已经满足了我的需求的前提下,我没有再去折腾tmux,如果你是第一次尝试使用终端复用程序,也不妨试一下tmux。

五周年-我的独立博客

五年前的今天,因为“自由软件综合症”发作,在朋友给的fx.jiuzhe.com域名上用Emacs+Muse创建了我的独立博客,通过几次改进,最后就形成了今天大家所看到的FreeMindWorld.com。

为了折腾,我一直在享受和忍受着Emacs+Muse所建的Blog的各种方便和不方便之处。这次,终于是痛定思痛,放弃了个性,把整个Blog系统切换到了WordPress上面,不过还是花了不少的时间去定制WordPress,让整个网站的风格与原来大体上保持一致,所有页面的链接也尽量保持跟原来的一样,免得造成太多的死链。

这次迁移半自动半手动的迁移了原来FreeMindWorld.com上和我以前CSDN博客和Live Space上的文章169篇和465条评论,非常艰辛。现在我这个博客上包含了以下的文章:

  • 2002年2月至2003年7月在CSDN文档中心发表的文章。
  • 2004年6月至2007年2月在CSDN博客和Live Space上写的文章。
  • 2007年2月以后FreeMindWorld.com上的文章。

所以,如果把当年给CSDN文档中心写文章也算上的话,这次也可以算是个10周年纪念。在转移这些文章时,不可避免的把它们都回顾了一遍,很有感触,人生的十年、互联网的十年,变化都很大。

五年,见证了微博从兴起到到兴旺。十年,见证了博客从兴起到衰落。谁会知道下一个五年又会发生什么。

上个月关停了我的另一台运行了5年的ASP虚拟主机,上面原本运行着一些从1999年就开始做的网站,但是这些网站早就没有了任何的访问量,只有发Spam的机器人坚持不懈的在留言板上活跃着。那台主机上还存放着的我早年做的一些静态个人主页,这次也一并迁移了过来,放在这里怀个旧吧。点击图片就可以访问相关的网页。三个版本的个人主页除了长的不一样,内容几乎是一样的。那年头,做个人主页就是做页面设计,内容有什么并不重要,现在可大不一样了。

个人主页第一版

个人主页第一版 1999年2月19日-1999年5月

个人主页第二版

个人主页第二版 1999年5月-2000年5月

个人主页第三版

个人主页第三版 2000年5月-?(不记得什么时候它就不存在了)

2012新年好

2011年,我做了这些事:

– 写了11篇博客

博客空间总访问量28625 PageView(Google Analytics数据),比去年上涨70%。首页、折腾O2 Jogglercalibre常见问题SSH隧道这几个页面的PV占总PV的50%。博客的RSS订阅数超过了170(以Google Webmaster Tool数据),比去年上涨70%。

虽然今年把博客搬到了每个月要花近$20的Linode VPS,而以前用的主页空间一年也不只过这个价格,但是高投入并没有激发出更高的创作热情,2011写的文章的数量和质量似乎都不如2010年。

除了博客,继续经营我的饭否,2011年全年发饭否消息230条。暂时仍不会考虑迁移去新浪微博,我目前把新浪微博当成是搜索引擎用,有时需要查一些热门消息时会使用它的搜索功能。

– 完成2011年的计划

感谢好友BG4KKS的大力支持,去年提出来的要完成一次卫星通联实验的愿望得以实现。虽然由于中国自己的业余通信卫星希望一号(HO-68)故障,没能如愿以偿的通过它完成通联,而只能借助其它国外的业余通信卫星,但至少算是体验了卫星通联并积累了一些经验,如果以后有机会,可以再进行更多的卫星通联。

– 自由软件相关

2011年,没有参与更多的自由软件项目,只是对以前一些老的项目进行了少量的改进和进行维护。因为工作需要,给Apache Solr写了几个补丁,不过还没有机会把它们回馈到社区中去。

南京Linux用户组创始人田华一起激活了从成立开始就一直沉寂的南京Linux用户组(NJLUG),在各位热心组员的一起努力下,成功的组织和参与了包括Ubuntu 11.04 Release Party南京邮电大学站在内的6次月度活动。如今,我和田华都已经离开了南京,希望NJLUG可以继续健康的成长。

– 旅游

梅花山一日游美国加州几日游乌镇两日游,泰山临沂三日游,西安两日游。

南京市区19高校徒步一日游,单日连续徒步行程52.374km,耗时10小时08分,创造了迄今为止的个人记录。

– 铁路相关

除了在京沪高铁开通当日在南京南站迎接了一下京沪高铁首发G1次列车并在四天后地铁族论坛版聚时体验了南京南-滁州区间,基本上没有参与别的铁路运转活动。

作为一个爱好铁路和轨道交通的人,我不得不说,2011年的中国铁路发生了太多令人感到遗憾的事情,包括但不限于那些众所周知的新闻热点。甚至京沪高铁开通这样铁路迷所热情关注的事情,也因为各种遗憾而显得不是那么的激动人心。当然,遗憾之外,也有一些细微的变化让人感到欣慰。继续期待中国铁路有一天可以走出这样阴影,迎来新一轮的辉煌。

展望2012年:

2011年的最后一个月,我离开了南京这座让我非常留恋的城市。南京对于我来说,不仅仅是一座城市,而是保存我最多珍贵记忆和经历的地方。但是人总是要向前看,选择来到杭州,是为了一种新的生活,一份新的工作,一种段新的经历。我习惯了南京的古朴和内涵,也正在发现着杭州的精致和内秀。

新的生活、新的工作都给我带来了新的挑战,今年的新年目标也还是整个“没有鸭梨”的吧:我一直认为,要快速的融入一个城市、熟悉一个城市,坐公交车和徒步是最有效的两个方式。来到杭州,我也希望能够以暴走的形式去更多的发现这个城市的优美细节,体会深藏于城市角落的点点滴滴。所以今年的一个目标就是在杭州打破去年单日52公里的徒步记录,并且希望能打破的稍微多一点。以上次的经历而言,徒步到45公里以上时就会感觉每一步都走得很绝望了,所以这个目标还是有点挑战的。

今年的新的工作会让我接触到一新些的技术、一些新的想法,也希望能有更多新的收获,并把它们在我的博客上分享给大家。希望今年可以做到月均2篇以上的博客更新量,嗯,当然,数字不重要,要有内容。

时间管理GTD利器 – Doit.im

工作和生活中常常会有很多琐事,稍不留神就会忘记,为了解决这个问题,相信很多人都会用各种各样的方法去记录和管理这些事情,但是很多时候,由于采用的方法不是非常的有效,导致得不到很好的效果。

当我发现时间管理成为常常困扰自己的一个问题后,我尝试过各种方式:用Post-it记录事情贴在显示器上,用Outlook/Google Calendar管理日程,用Google Task管理任务,用Remember the milk提醒要做的事情……各种方法和工具各有利弊,最终,迷失在工具中了……

GTD是英文Getting Things Done的缩写,是由David Allen提出的一种行为管理的方法。这种方法和常见的一些时间管理的方法相比,最大的特点就是要让一个人把头脑中的想到的各种事情直接记录下来,并把它们遗忘掉,让大脑不要被太多的“需要完成”的事情所困扰,而是关注在正在完成的任务上,提高工作的效率。GTD的具体的方法论和原理,在David的《搞定1:无压工作的艺术》一书中有着详细介绍,这里就不再具体介绍了。按我的理解,GTD本身只是一种方法论,在实践中,每个人还是可以根据自己的实际情况,去慢慢形成适合自己的具体方法。

对于我来说,要成功的实施GTD,一个好的工具是必不可少的,虽然曾经迷失在工具中,但倒也是从中总结出自己对GTD工具的两个基本的需求:

  • 轻量级的任务记录:当添加一个新的任务时,必须足够轻量级,不然我会因为操作烦琐而放弃。
  • 跨平台的支持和同步:电脑和手机间必须具有良好的同步能力,我不可能时时背着电脑去记录或查看我的Task。

这两条看似基本的需求秒杀了上面我所有用过的工具,虽然网上也有流传各种的用Gmail或者EverNote之类的工具来实施GTD的方法,但是它们很多用起来都感觉不是很得心应手,并常常是操作成本太高。

偶然的机会让我了解到了Doit.im这个专门为实施GTD设计的任务管理平台,相比一般的任务管理工具,它具有这些特点:

  • 遵循GTD原则的设计
  • 支持各种平台并在它们之间同步:Web版,Android版,iPad/iPod/iPhone版,Windows版等。抱歉,官方没有BlackBerry和Palm的版本。
  • 免费
  • 有公开API,只要有需求就很适合折腾
  • 可以同步到Google Calendar。任务和日程其实是两种有关系但并不太一样的东西,所以同步到Google Calendar的功能曾经很让我困惑。后来才明白,当Doit.im专注于做“任务”的时候,这样可以把日程管理的需求无缝的转换到可以把它做的更好的Google Calendar中,扬长避短,很聪明。
Doit.im的Android版应用程序主界面(图片来自Doit.im博客)

Doit.im的Android版应用程序主界面(图片来自Doit.im博客)

试用了它的网页版和Andorid版后,非常满意,完全满足我对“轻量级”的需求:在手机上创建一个新任务只需要点一下屏幕,大部分情况下一行文字就可以定义清楚这个任务,不需要填一个复杂的表单。

有了“收集”的步骤,对于GTD方法中的“处理”、“计划”、“回顾”这些需要较多操作的步骤,虽然Doit.im的手机客户端也提供了不错的功能,但我还是更倾向于在电脑上网页版来完成。对于“行动”步骤,则大部分情况下也可以通过手机客户端去完成,通过手机上的桌面Widget,可以很方便的查看任务的清单并从中找到需要下一步执行的任务。

从9月初开始试用Doit.im到现在正好是3个月时间过去了,虽然我还只是使用doit.im所提供的强大的功能中的一部分,但我已经觉得GTD的方法和这个GTD工具有效的帮助我提高了对很多事情的执行力,“贵人多忘事”的问题也得到了较好的控制,所以强烈推荐对时间或任务管理有需求的朋友试用Doit.im。

当然,Doit.im的有些功能和客户端软件给人的体验还并不是很完美的,它们都还有很大的提升空间。曾经有幸与Doit.im的创始人聊过Doit.im未来的方向,感觉还是非常值得期待的,即便就是在我试用的这短短三个月时间中,Doit.im也发布了不少新的东西,跟随一个自己喜欢的产品一起成长,是一个不错的感觉 :)

关注2012维也纳新年音乐会

继续维持传统,第八次写名为关注xxxx维也纳新年音乐会的Blog。前几篇在:2005 2006 2007 2008 2009 2010 2011

根据某网站的小道消息,2012年维也纳新年音乐会的CD将由SONY出版,该网站还公布了CD曲目--也就等于公布了音乐会的演出曲目。

01 Johann Strauss II &amp; Josef Strauss – Vaterländischer Marsch – 祖国进行曲

02 Johann Strauss II – Rathaus-Ball-Tänze; Walzer; op. 438 – 市政厅舞会圆舞曲

03 Johann Strauss II – Entweder – oder!; Polka schnell; op. 403 – 无论或者快速波尔卡

04 Johann Strauss II – Tritsch-Tratsch-Polka; Polka schnell; op. 214 – 闲聊快速波尔卡

05 Carl Michael Ziehrer – Vienna Burghers; Walzer; op. 419 – 维也维的市民圆舞曲

06 Johann Strauss II – Albion-Polka; op. 102 – 阿比昂波尔卡

07 Josef Strauss – Jockey-Polka; op. 278 – 骑手波尔卡

08 Joseph Hellmesberger jun. – Danse diabolique – 魔鬼音程之舞

09 Josef Strauss – Künstler-Gruss; Polka francaise; op. 274 – 艺术家的致意法兰西波尔卡

10 Johann Strauss II – Freut euch des Lebens; Walzer; op. 340 – 享受生活圆舞曲

11 Johann Strauss I – Sperl-Galopp; op. 42 – 麻雀加洛普

12 Hans Christian Lumbye – Copenhagen Steam Railway Gallop – 哥本哈根的蒸汽机车加洛普

13 Josef Strauss – Feuerfest!; Polka francaise; op. 269 – 打铁法兰西波尔卡

14 Eduard Strauss – Carmen-Quadrille; op. 134 – 卡门四对舞曲

15 Pyotr Ilyich Tchaikovsky – Panorama from Sleeping Beauty – 情景,选自芭蕾组曲《睡美人》

16 Pyotr Ilyich Tchaikovsky – Waltz from Sleeping Beauty – 圆舞曲,选自芭蕾组曲《睡美人》

17 Johann Strauss II &amp; Josef Strauss – Pizzicato-Polka – 拨弦波尔卡

18 Johann Strauss II – Persischer Marsch; op. 289 – 波斯进行曲

19 Josef Strauss – Brennende Liebe; Polka Mazur; op. 129 – 燃烧的爱玛祖卡波尔卡

20 Josef Strauss – Delirien; Waltz; op. 212 – 谵妄圆舞曲

21 Johann Strauss II – Unter Donner und Blitz; Polka schnell; op. 324 – 电闪雷鸣快速波尔卡

22 Johann Strauss II – Tik-Tak; Polka schnell; op. 365 – 提塔快速波尔卡

23 Johann Strauss II – An der schönen blauen Donau; Walzer; op. 314 – 蓝色多瑙河圆舞曲

24 Johann Strauss I – Radetzky-Marsch; op. 228 – 拉德茨基进行曲

2012年维也纳新年音乐会指挥:马里斯·杨松斯

2012年维也纳新年音乐会指挥:马里斯·杨松斯

亮点之一:24首!担任2012年维也纳新年音乐会指挥的拉脱维亚指挥家马里斯·杨松斯(Mariss Jansons)刷新了他在2006年首次登台维也纳新年音会时创造的曲目数量记录。这么多的曲子算是可以把双CD的空间足够有效的利用了,只祝愿买到音乐会站票的观众可以坚持到最后的精彩。在24首乐曲中,跟近几年的音乐会一样,其中有6首是首次在维也纳新年音乐会上演出。不过除了柴可夫斯基的两首外,其它四首都被安排在了上半场,所以整个下半场就颇有全场炒冷饭的嫌疑。

亮点之二:柴可夫斯基。亲,真的没看错,是柴可夫斯基。最近几年新年音乐会每年都会推出一首施特劳斯家族以外作曲家的作品,通常是选择有纪念性的年份,比如2006年莫扎特诞辰250周年时推出了他的费加罗的婚礼序曲。2012年这个年份与柴可夫斯基“非亲非故”,不知道为什么会选择了他的圆舞曲作品。虽然施氏家族是圆舞曲家族,但从风格上来说,施特劳斯的圆舞曲的风格与柴可夫斯基的风格还是有着不少差别的,这一点相信在欣赏音乐会时就能体会到。

亮点之三:维也纳童声合唱团。2012年是维也纳童声合唱团成立514周年,相信孩子们会像1988、1998、2002年那样为大家带来天籁之声。在这一届音乐会中,他们会演出经典曲目闲聊波尔卡和打铁法兰西波尔卡。

亮点之四:2001年新年音乐会上,哈农库特别出新裁的把拉德茨基进行曲的慢速无掌声原始版本做为开场曲演出,与结尾的有观众掌声伴奏的拉德茨基进行曲遥相呼应。2012年的开场进行曲祖国进行曲中大段了采用了拉德茨基进行曲的旋律,而且据说市政厅舞会圆舞曲中也包含了一些蓝色多瑙河圆舞曲的旋律,这样的话,就是开头两首和结尾两首遥相呼应了,很有意思。

指挥扬松斯在2006年新年音乐会上充满热情和欢乐的演出给我留下了非常深刻的印象,2012年是他与维也纳爱乐乐团合作的20周年纪念,期待这场音乐会能延续精彩的记忆。