在Term.js中启用颜色

我使用term.js通过JavascriptNode.js在Web浏览器中模拟一个terminal。

我已经设置了基本的实现,可以连接到本地以及远程主机(我使用节点ssh2连接到远程主机),一切正常工作正常。
但是一切都是黑白的(黑色背景,白色文字)。

根据存储库中的示例,我在客户机中具有以下代码。 我应该添加一些额外的configuration来启用颜色?

  var term = new Terminal({ colors: Terminal.colors, //This alone doesnt seem to work cols: 80, rows: 24, useStyle: true, screenKeys: true, cursorBlink: true }); 

颜色适合我。 这是我在Ubuntu上的testing设置:

首先安装依赖项: npm install express socket.io ssh2 term.js

在远程服务器上安装colortest软件包(你在ssh里面): sudo apt-get install colortest -y

server.js:

 var express = require('express'); var app = express(); var server = require('http').Server(app); var io = require('socket.io')(server); var term = require('term.js'); var ssh = require('ssh2'); server.listen(8000); app.use(express.static(__dirname + '/public')); app.use(term.middleware()); io.on('connection', function (socket) { var conn = new ssh(); conn.on('ready', function() { socket.emit('data', '\n*** SSH CONNECTION ESTABLISHED ***\n'); conn.exec('env TERM=xterm-256color colortest-256', function(err, stream) { if (err) return socket.emit('data', '\n*** SSH EXEC ERROR: ' + err.message + ' ***\n'); stream.on('data', function(d) { socket.emit('data', d.toString('binary')); }).on('close', function() { conn.end(); }); }); }).on('close', function() { socket.emit('data', '\n*** SSH CONNECTION CLOSED ***\n'); }).connect({ host: '192.168.100.105', port: 22, username: 'foo', password: 'barbaz', }); }); 

公共/ client.htm:

 <html> <head> <title>WebTerm</title> <script src="/socket.io/socket.io.js"></script> <script src="/term.js"></script> <script> window.addEventListener('load', function() { var socket = io.connect(); socket.on('connect', function() { var term = new Terminal({ cols: 250, rows: 100, convertEol: true, useStyle: true, cursorBlink: true, screenKeys: true }); term.on('data', function(data) { socket.emit('data', data); }); term.on('title', function(title) { document.title = title; }); term.open(document.body); socket.on('data', function(data) { term.write(data); }); socket.on('disconnect', function() { term.destroy(); }); }); }, false); </script> </head> <body> </body> </html> 

执行node server.js ,然后在浏览器中访问http://localhost:8000/client.htm 。 你应该看到这样的东西。

    Interesting Posts