diff --git a/src/backend/backend.ts b/src/backend/backend.ts index 914847c..d4b2e7d 100644 --- a/src/backend/backend.ts +++ b/src/backend/backend.ts @@ -24,6 +24,7 @@ export interface SSHArguments { remotex11screen: number; x11port: number; x11host: string; + bootstrap: string; } export interface IBackend { diff --git a/src/backend/mi2/mi2.ts b/src/backend/mi2/mi2.ts index 4a56c67..2cb74e4 100644 --- a/src/backend/mi2/mi2.ts +++ b/src/backend/mi2/mi2.ts @@ -93,7 +93,9 @@ export class MI2 extends EventEmitter implements IBackend { screen: args.remotex11screen }; } - this.sshConn.exec(this.application + " " + this.preargs.join(" "), execArgs, (err, stream) => { + let sshCMD = this.application + " " + this.preargs.join(" "); + if (args.bootstrap) sshCMD = args.bootstrap + " && " + sshCMD; + this.sshConn.exec(sshCMD, execArgs, (err, stream) => { if (err) { this.log("stderr", "Could not run " + this.application + " over ssh!"); this.log("stderr", err.toString());