1
我想用Node.js编写远程外壳。 这里是我的时刻:Node.js:控制序列的远程外壳
客户
var net = require('net');
var client = net.connect({port: 1234}, function(){
process.stdin.pipe(client);
client.pipe(process.stdout);
});
服务器
var net = require('net'),
spawn = require('child_process').spawn;
var server = net.createServer(function(socket){
var sh = spawn('/bin/sh');
sh.stdout.pipe(socket);
sh.stderr.pipe(socket);
socket.pipe(sh.stdin);
});
server.listen(1234);
它工作得很好用简单的命令,但是当我启动的emacs或纳米它不会因为控制序列没有发送。 我想让它表现得像ssh一样。 这样的事情可能吗?也许使用process.stdin.setRawMode(true)?
谢谢
如果您希望emacs弹出一个窗口,您可能需要设置DISPLAY环境变量。 – marneborn 2014-09-12 16:49:35
真正的问题是如何发送控制序列,如^ C,^ X,KeyUp,KeyDown。 我试过用setRawMode(true),它似乎没有工作 – joni539 2014-09-12 17:24:14