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