首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Chrome扩展名[terminalPrivate.sendInput]使用crosh创建文件

使用Chrome扩展名[terminalPrivate.sendInput]使用crosh创建文件
EN

Stack Overflow用户
提问于 2017-11-27 00:53:38
回答 1查看 819关注 0票数 1

我正在尝试通过Chrome扩展与Chrome "crosh“终端接口。我正在使用Secure的dev-id来访问chrome.terminalPrivate。从我最初的尝试中,我可以启动一个bash进程和bash。但是,我试图在~/Download目录中创建一个文件,但这似乎不起作用。据我所知,该文件从未创建过。

下面是我到目前为止收集的代码(我使用了来自Chromium的这个代码作为起点):

代码语言:javascript
运行
复制
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

var shellCommand = 'shell\n';
var croshName = 'crosh';

window.onload = function() {
  Crosh(null);
  commandTest();
}

function Crosh(argv) {
  this.argv_ = argv;
  this.io = null;
  this.keyboard_ = false;
  this.pid_ = -1;
}

function commandTest() {
  chrome.terminalPrivate.onProcessOutput.addListener(processListener);

  chrome.terminalPrivate.openTerminalProcess(croshName, (pid) => {
    if (pid < 0) {
      window.alert("error!");
    }

    this.pid_ = pid;

    var cmd1 = 'shell\n';
    var cmd2 = 'touch ~/Downloads/test.txt\n';

    chrome.terminalPrivate.sendInput(pid, cmd1,
      function (r1) {
        window.alert(r1);
      }
    );

    chrome.terminalPrivate.sendInput(pid, cmd2,
      function (r2) {
        window.alert(r2);
      }
    );

    chrome.terminalPrivate.closeTerminalProcess(
      this.pid_,
      function(result) {
        window.alert(result);
      }
    );
  });
}

function processListener(pid, type, text){
  window.alert(text);
}

谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-01 10:21:51

我也是在铬-羟基上回答的,你也发了这个问题

看起来,您正在尝试将一个慢事件驱动的进程插入一个快速同步代码路径。您需要更改模型以对事件做出反应,而不是在另一方尚未准备好时将输入推下管道。

也就是说,从sendInput中删除所有的openTerminalProcess调用,并将所有逻辑移动到processListener。它需要检查"text“中的输出,然后决定下一步发送什么。

基本上,您需要实现一个类似于期望的临时解析器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47502621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档