每周技术分享 -1 screen

总觉得应该找到一个方式把一些技术方面的东西记录下来,想不到什么特别的方式,就暂且放blog里把。
这是开篇,虽然加了每周这个限定,但也不一定每周都能更新,算是一个期望吧。内容可长可短。
上班一年来,我现在每天离不开,以前却不知道的工具非screen莫属了。对于不在本地编写编译代码的人而言,肯定是会需要很多终端窗口的,一个写代码,一个查代码,一个编译代码是跑不掉的。另外,代码还有很多branch,还有需要dump调试窗口等等,一个占用一个windows窗口,不仅太占空间,就是一个个打开也很麻烦。一开始打算用putty manager,但用了用觉得不太顺手。后来同事推荐了大名鼎鼎的screen实现上面的功能。
screen也算是一个老牌程序了,大部分linux服务器上应该默认都有的。screen等于在服务器端管理了终端窗口,这带来另外一个好处是即使putty断线了(比如关机、断网),服务器的session也不会终端,只需要重新attach上去就可以了,省去了很多麻烦。而各个终端也支持自己命名,切换也有各种快速切换方式。另外外观也可以通过自定义.screenrc文件来配置。本来一个服务器我最多开3-4个终端,现在上了screen,我经常在服务器上上15+的终端,而遇到需要重启关机的时候,直接把putty关闭,看都不看,因为我知道服务器端保留了所有的终端信息。除非碰到服务器重启等特殊情况,这些终端我基本都一直放着,这样一到公司就可以很快进入工作。
另外screen还提供了服务器终端共享的功能,具体使用可以看screen的manual。这应该算是终端界的桌面共享吧?这个功能我倒是没有用过,有次我mentor在给美国的同事解释代码的时候,一边就着电话,一边就着screen共享session,挺实用的。