Monthly Archives: April 2010

设置synergy快捷键,加速屏幕间的切换

synergy真是个厉害的程序,如果有时间有能力要看看它的代码,大概统计了下,有1w多行cpp代码,对我来说很有难度啊。

最近一直在用synergy共享键盘和鼠标,但是有一个问题,就是只能(或者说我只知道)通过移动鼠标来切换所控制的屏幕,而我经常使用全键盘操作,这时候如果想切换到另外一台电脑上进行操作就还需要把手离开键盘,动一下鼠标才可以,效率低下。所以我就想能不能通过synergy的快捷键来实现呢。最开始还想自己修改代码来实现呢。不过还好在动手看代码之前先上google搜索了一下,关键字是“synergy shortcuts”,结果就搜到了synergy的官方配置说明,这个连接在我这里已经出现不止一次了。上次就是看了这个说明才手动配置的synergy,然后省略了后边的option部分。而就是这option部分提到了如何使用快捷键。

简单来说就是可以在~/.synergy.conf中的options section中配置自己需要的快捷键,并给这个按键设定相应的动作,可以是转换焦点到其他屏幕上,也可以是在其他屏幕上执行一个操作等等。详细的看说明吧。这里就把我自己能用到的贴在这。我最想用的功能就是能够通过键盘方便的在两个电脑屏幕之间来回切换,那么我就增加了如下配置

section:options
keystroke(control+7) = switchInDirection(left)
keystroke(control+8) = switchInDirection(down)
keystroke(control+9) = switchInDirection(up)
keystroke(control+0) = switchInDirection(right)
end

设置也很直观,也就是ctrl+7/8/9/0分别代表转向左边/下边/上边/右边的屏幕。保存后手动启动synergys,然后client端断开重新运行,试试快捷键,爽上加爽了!

手工配置synergy共享鼠标键盘

公司给配了个T400,很爽。也想用synergy共享鼠标和键盘,这东西确实用着很爽。

之前在debian下配过了,用的是quicksynergy这个图形的前端,很简单,这里不说了。但是这次再配却怎么也不成功。决定学习一下synergy的命令行方式,图形界面里配置了什么还是不知道,还是自己动手最清楚了。

搜索一下,就能找到官方的配置说明。这里就直接贴我的配置文件了,加上点注释

~/.synergy.conf

# screen, 指明要在哪些screen之间共享键盘鼠标,每个screen里还可以配置不同的参数,具体见官方说明
# 我这里配置了两个,eguan-dell和eguan-t400都是两个机器hostname出来的结果
# 如果默认是localhost之类的可以改一下,fedora是在/etc/sysconfig/network这个文件中设置
# 我这两个机器都在同一网段内,比如自己家里有无线路由的情况
section:screens
 eguan-dell:
 eguan-t400:
end

# aliases,给上边的screen设置别名
# 如果不想改hostname,那么在启动的时候可能会有找不到某某hostname的错误提示,那么就添加个alias
# 比如我之前eguan-dell的hostname没改,是默认的localhost.localdomain,那我就增加一个alias
section:aliases
 eguan-dell:
 desktop
 localhost.localdomain
 eguan-t400:
 laptop
end

# links,设置机器之间的方位关系或者链接关系
# 这里比较直观了,eguan-dell的左边是eguan-t400,也就是当我把鼠标移出eguan-dell的左边界的时候,
# 鼠标会进入到eguan-t400当中,鼠标和键盘都是控制eguan-t400了
# 如果有多台电脑要共享,在screen里添加好,这里设置好方位就可以了。
# 一共有left, right, above, below四个可以用
# 如果left和right都设置成同一个机器,好像不可以,试一下就知道了
section:links
 eguan-dell:
 left = eguan-t400
 eguan-t400:
 right = eguan-dell
end

官方说明上还有options这个section,但是我不用了,也就没看。

把配置文件放在要共享鼠标键盘的机器上,然后运行synergys,表示synergy的server端,然后在想使用server端鼠标键盘的client端运行synergyc,参数是server的ip地址,就能发现client端的鼠标不见了,把server的移过去就能控制了,很爽。

如果觉得配置没问题但是就是不能共享,那么检查一下server的防火墙,我就是因为这个耽误了一会儿。sudo /etc/init.d/iptables stop

买了新自行车

之前的车是在学校中门外140买的,车架太小,最近骑着上班太累了,感觉怎么使劲都提不了速度。

自行车还是经常用的,值得花钱买个稍微好点的。之前有买个1k以上的车用来周末参加一些骑行活动的,但是还是没能狠下心来买一个纯是用来玩的东西,而且还不便宜。今天去了六里桥附近的一个淘宝实体店买了一辆永久的山地车。这个店面可真不好找,先经过一片像垃圾场的地方,然后穿过一个小小的桥洞,在一个大铁门后边才是店面。这个店就是一个大仓库,里边摆满了自行车,由于店面租金便宜所以淘宝上卖的车都比较便宜吧。我买的这个是店主卖的最好的一款,348元,加了个25元的锁,交钱370就骑回来了。

新车就是感觉不一样,稍微一使劲速度就上来了,比原来那个破车好骑多了,只是不敢随便停车了。回来之后在院里找了一下,找到一个车棚,里边的大爷不识字,交钱写收据都是我自己写的,他最后歪歪扭扭的写了个王字。停车费6元一个月,一次交9个月的,54元,还好不算贵。这样就不用每天抬上电梯然后上九楼了。融科那边也有一个车棚,安全性应该还好吧。不过买了车就要有丢的思想准备。但愿悲剧不会发生。

骑车回来的时候学来骑的太慢了,骑的我没那么爽,现在有点想明天再出去转一圈呢。看起来之后爱不爱动了,睡觉。

Fedora 11下使用GNU screen的竖分屏功能(Vertical split)

没耐心的直接看结论

git clone git://git.savannah.gnu.org/screen.git
cd screen/src
./autogen.sh
./configure
make
sudo cp /usr/bin/screen{,.fedora}
sudo cp screen /usr/bin/screen

今天开始看fsnotify的东西,要测试的话还是测试inotify的几个系统调用。发现了一个工具是inotify-tools,其中一个是一边操作另一边观察结果。在宽屏的情况下,如果能把screen竖分屏就好了,不像水平分屏那么看着难受。但是在之前的“有用的screen命令速查表格“中关于竖分屏有一个注释,就是需要debian的补丁。那如何要在Fedora下也用这个功能呢?方法只有自己打补丁然后编译了。

不过这个过程可不顺利。先在VPS上apt-get source screen得到了源码包,虽然用了挺长时间的debian但是如何在debian下实现rpmbuild -bp的效果还不知道。折腾了两下dpkg-buildpackage和dpkg-source也没折腾明白。然后想到直接去GNU下载源码,再搜索vertical patch。patch的主页在http://fungi.yuggoth.org/vsp4s/,patch可以主页上下载到。然后自己打补丁

tar xf screen*.gz
cd screen*
bzip2 -d ../wrp_vertical_split_0.3_4.0.2.diff.bz2
patch -p1 < ../wrp_vertical_split_0.3_4.0.2.diff
./configure
make

但是发现make不过,缺少sys/stropts.h这个文件。经过一番搜索,发现在Fedora 9之后的版本中就没有这个文件了。通过修改config.h,注释掉SVR4相关的一些define之后虽然可以编译通过(还有pty.c需要修改,看make报错就知道了),但是没有竖分屏的功能,可能不定义那些宏就不能达到竖分屏的效果吧。

但是不死心,搜索”fedora screen vertical split”发现有人说最新的cvs已经实现这个功能了,但是看那人的评论时间是07年的……有点失望。但是还是上GNU站点git clone了最新的代码。幸运的是,这个代码确实是支持竖分屏的,现在爽了 :-)

Monthly pic 2010 03

虽然每天一张照片记录自己对我来说有点不太现实,但是每个月一张或者几张还是可以实现的。需要一个照相效果好点的手机了,这是不是买N900的一个借口呢?哈哈

作为对比,上一个入住之后的小屋。

上班第一天

在愚人节正式入职,也算是很容易记忆了。

其实3月30日开始就在世纪财富中心培训了。这两天的培训气氛很好,Maria把培训安排组织的非常好,14个新员工通过两天的接触都互相认识了,而且最后还通过一个游戏进行巩固。Maria也是没少动脑筋啊。这两天的培训主要介绍一下红帽的总体情况:商业模式,部门结构,目标和价值观等等。各个部门基本都有一个人来讲自己部门的情况,比如hoho就来讲Helpdesk的工作是怎样的。昨天培训完之后还有一个档次很高的聚餐,hoho也来参加了。可能是因为互相还不是特别熟悉吧,在饭桌上我们一直在玩一个游戏,用是或不是来猜出题人想的事物。饭局在大家都没猜出Maria的事物自罚一杯的情况下结束了。

Maria真的是一个很好的HR,能有这样的HR很幸运,能为大家着想,为大家以后工作提出了很多很好的建议,比如任务列表,多主动跟lead沟通等等,而且不是概括的说,而是用自己的亲身经历和大家说。就感慨到这里吧,总之Maria是个好人,哈哈。

今天正式入职了,但是基本又是一天的培训。ShaoYu介绍了一下ENG这边的情况,然后又三个人分别介绍了下bugzilla,errata和content definition workflow。这些之前都接触过,但是来实习第一次听的时候很模糊,在用过一段时间之后再来听一下还是有新的收获的。知识就是要这样,经验和理论相结合,多复习,随着经验的增加对理论的理解也会不同。

今天基本上就三件事吧,第一个已经说过了,就是培训。第二个就是恢复自己的email和krb帐号,因为实习离职的时候帐号都暂停了,我的邮件都是发到CaiQian的邮箱,他还在帮我看着是否有重要的邮件,很是感谢啊,CaiQian对我帮助一直都很大。在恢复email的时候有点困难,虽然email和krb帐号是同一个,但是krb能登录也能重置密码,但是email就是登录不上去,只好找hoho帮忙了。在快到晚上9点的时候,要走之前email终于可以登录了。最后一件事就是kexin分配给我的任务了。最近又到小版本升级的时候了,据说是14号之前把bug和feature测试完,可能最近会比较忙时间比较紧吧。kexin让我帮忙测试ext4和power management相关的一些东西,可能还要设计test case,这个会比较困难了,看来有必要系统的学习一下测试方面的东西了,找一本经典书籍扫盲一下先,目前针对一个新的feature如何入手测试如何写test plan如何设计test case心里还完全没谱。

另外发新我们组的人走的都比较晚,之前大家是分散坐的,看不出来什么效果,现在基本都坐在一起,效果就出来了,别的组人基本都走没了,我们组还一个都没走,而且也是说话最少的,看来都是埋头苦干类型的。

绩效考核好像压力还挺大的,虽然现在goal什么的还没制定,但是要有心理准备,hard-working。