Browse Source

made x11 forwarding configurable (fixes #1950, fixes #1954)

Eugene Pankov 6 years ago
parent
commit
2f7dcf3339

+ 2 - 10
terminus-ssh/src/api.ts

@@ -31,6 +31,7 @@ export interface SSHConnection {
     keepaliveCountMax?: number
     readyTimeout?: number
     color?: string
+    x11?: boolean
 
     algorithms?: {[t: string]: string[]}
 }
@@ -89,16 +90,7 @@ export class SSHSession extends BaseSession {
         this.open = true
 
         try {
-            try {
-                this.shell = await this.openShellChannel({ x11: true })
-            } catch (e) {
-                if (e.toString().includes('Unable to request X11')) {
-                    this.logger.debug('X11 forwarding rejected, trying without')
-                    this.shell = await this.openShellChannel({})
-                } else {
-                    throw e
-                }
-            }
+            this.shell = await this.openShellChannel({ x11: this.connection.x11 })
         } catch (err) {
             this.emitServiceMessage(`Remote rejected opening a shell channel: ${err}`)
         }

+ 5 - 0
terminus-ssh/src/components/editConnectionModal.component.pug

@@ -81,6 +81,11 @@
         ngb-tab(id='advanced')
             ng-template(ngbTabTitle) Advanced
             ng-template(ngbTabContent)
+                .form-line
+                    .header
+                        .title X11 forwarding
+                    toggle([(ngModel)]='connection.x11')
+
                 .form-group
                     label Keep Alive Interval (Milliseconds)
                     input.form-control(