js如何实现连接linux终端,Web SSH 在线编程(一) --(HTML 页面实现终端(terminal) 模拟器远程连接)...

目标实现效果:

在页面实现Linux终端连接

所需工具:

Django,Linux,Vue

Xtrem.js

DWebSocket

paramiko

SSH

WebSSH在线编程工具介绍

首先我们需要 在页面的一个终端模拟器。

XTerm 就会解决这个,找到 vue 项目中的 package.json 文件

8f3428f7aa772d9629e796878d21dc9f.png

在Node.js中,模块是一个库或框架,也是一个Node.js项目。Node.js项目遵循模块化的架构,当我们创建了一个Node.js项目,意味着创建了一个模块,这个模块的描述文件,被称为 package.json。

打开

2d46eef2b990939f165340ff5a4d7e4c.png

在 dependencies 下面填写 xterm 喝对应的版本号 我们这里用 3.1.0 的,然后删除 vue 的依赖包

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
非常好的问题!基于 xterm.js 实现 Vue 版本终端 terminal 连接服务器的方法如下: 1. 安装 xterm.js 使用 npm 安装 xterm.js: ``` npm install xterm ``` 2. 创建 Vue 组件 在 Vue 组件中引入 xterm.js 并创建终端: ``` <template> <div ref="terminal"></div> </template> <script> import { Terminal } from 'xterm'; export default { mounted() { this.terminal = new Terminal({ cursorStyle: 'bar', rows: 30, cols: 100, theme: { background: '#1e1e1e', foreground: '#d4d4d4' } }); this.terminal.open(this.$refs.terminal); } } </script> ``` 3. 使用 SSH 连接服务器 使用 ssh2 库连接服务器: ``` <template> <div ref="terminal"></div> </template> <script> import { Terminal } from 'xterm'; import { Client } from 'ssh2'; export default { mounted() { this.terminal = new Terminal({ cursorStyle: 'bar', rows: 30, cols: 100, theme: { background: '#1e1e1e', foreground: '#d4d4d4' } }); this.terminal.open(this.$refs.terminal); const conn = new Client(); conn.on('ready', () => { conn.shell((err, stream) => { if (err) throw err; this.terminal.attach(stream); this.terminal._initialized = true; this.terminal.prompt(); }); }).connect({ host: 'example.com', port: 22, username: 'username', password: 'password' }); } } </script> ``` 这里使用 ssh2 库连接服务器,当连接成功后使用 `shell` 方法创建一个 shell 进程,并将进程的输入输出流与终端进行绑定。当用户在终端中输入命令时,命令将会发送给服务器执行。 以上就是基于 xterm.js 实现 Vue 版本终端 terminal 连接服务器的方法,希望能够帮到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值