几天前,在一个没有X的机器上安装emacs23。操作系统应该是RHEL5。编译的时候会提示:找不到系统的alloca实现。出现类似下面的提示信息

configure: error: a system implementation of alloca is required

查看config.log发现出错原因是编译alloca测试程序时候加上了-lX11。事实上alloca是glibc提供的函数应该不需要-lX11。

configure:15318: checking for working alloca.h
configure:15345: gcc -o conftest   -O2  -D_BSD_SOURCE    -Wl,-znocombreloc  conftest.c -lX11   >&5

解决方法自然也很简单,就是编译的时候带上 --with-x=no :)

No votes yet

经常去fzdm.com看海贼的漫画,每次都感觉那个站好慢,翻页经常不出图。因此做了这个脚本。可以先下载下来,再离线阅览。脚本本身还会制作一个简单的index.html方便浏览。

下载地址: http://github.com/jianingy/op_download

No votes yet

SSH逃逸键的作用有些类似Telnet的”^]“逃逸。可以让你在一个连接好的终端上进一步控制SSH连接。首先,我们看看这个逃逸键能帮我们做什么。在SSH终端里输入回车然后马上输入字符”~“再输入字符”?“,便可以调出SSH逃逸键使用帮助。你应该能看到类似下面的输出:

blackhole:~ $ ~?
Supported escape sequences:
  ~.  - terminate connection (and any multiplexed sessions)
  ~B  - send a BREAK to the remote system
  ~C  - open a command line
  ~R  - Request rekey (SSH protocol 2 only)
  ~^Z - suspend ssh
  ~#  - list forwarded connections
  ~&  - background ssh (when waiting for connections to terminate)
  ~?  - this message
  ~~  - send the escape character by typing it twice
(Note that escapes are only recognized immediately after newline.)

注意最后一行的Note,它说明了逃逸键使用的条件,即必须在回车后马上键入逃逸键。

比较常用的功能可能是用 "~."断开一个连接。有些时候我们在SSH终端上启动了有问题的daemon程序,或是SSH连接因为某种原因进入stalled状态,导致SSH不能正常终止。这时候就可以使用“~.”来终止这个连接。这要比关闭再打开你的终端窗口方便很多。

“~C“会打开一个SSH控制终端。在这个控制终端里,你可以进行端口映射的设置。也就是输入和SSH命令行参数一样的-L或是-R什么的。

“~^Z“是一个比较有趣的功能,可以让你挂起一个SSH连接并回到localhost的终端上。你可以用这个功能做些localhost上的操作再fg回去。也可以在做了端口转发后退出SSH终端并通过bg把它放到后台去。

逃逸键可以通过在执行SSH的时候用-e参数进行就改,具体方法请查看man ssh吧。

No votes yet