Terminus: Terminus attempts to use ConPTY even if not supported

Created on 10 Feb 2019  路  7Comments  路  Source: Eugeny/terminus

Version: 1.0.70
Platform: win32 10.0.17134
Plugins: none

No shell is loading when creating a new terminal.

image

Windows Bug

Most helpful comment

It looks like the detection(?) of when to use ConPTY is wrong (I have no clue what this all means but at least I managed to fix it on my system). I added useConPTY: false to the terminal element in my config file.

So my config looks like:

hotkeys:
  shell: {}
ssh: {}
terminal:
  environment: {}
  useConPTY: false

Could you try this and let me know if that works for you?

All 7 comments

same issue here
debug log:
[terminal] Starting shell CMD (clink) {id: "clink", name: "CMD (clink)", command: "cmd.exe", args: Array(3)}
C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-core\dist\index.js:7556 [terminal] Using session options: {command: "cmd.exe", args: Array(3), env: undefined, pauseAfterExit: undefined, cwd: null}
C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:15313 ERROR Error: Cannot launch conpty
at new WindowsPtyAgent (C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\node_modules\node-pty\lib\windowsPtyAgent.js:50)
at new WindowsTerminal (C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\node_modules\node-pty\lib\windowsTerminal.js:49)
at spawn (C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\node_modules\node-pty\lib\index.js:29)
at Object.mod.spawn (C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:8097)
at Session.start (C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:3044)
at SessionsService.addSession (C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:3223)
at TerminalTabComponent.initializeSession (C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:2208)
at SafeSubscriber.frontendReady$.pipe.subscribe [as _next] (C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:2203)
at SafeSubscriber.__tryOrUnsub (C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:209)
at SafeSubscriber.next (C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:147)
defaultErrorLogger @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:15313
ErrorHandler.handleError @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:15361
next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:17360
schedulerFn @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:13106
SafeSubscriber.__tryOrUnsub @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:209
SafeSubscriber.next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:147
Subscriber._next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:90
Subscriber.next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:67
Subject.next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subject.js:60
EventEmitter.emit @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:13090
(anonymous) @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:16910
ZoneDelegate.invoke @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:388
Zone.run @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:138
NgZone.runOutsideAngular @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:16847
onHandleError @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:16910
ZoneDelegate.handleError @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:392
Zone.runTask @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:191
ZoneTask.invokeTask @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:496
ZoneTask.invoke @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:485
timer @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:2054
setTimeout (async)
scheduleTask @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:2075
ZoneDelegate.scheduleTask @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:407
onScheduleTask @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:297
ZoneDelegate.scheduleTask @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:401
Zone.scheduleTask @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:232
Zone.scheduleMacroTask @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:255
scheduleMacroTaskWithCurrentZone @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:1114
(anonymous) @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:2090
proto.(anonymous function) @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:1394
hostReportError @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\util\hostReportError.js:4
SafeSubscriber.__tryOrUnsub @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:217
SafeSubscriber.next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:147
Subscriber._next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:90
Subscriber.next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:67
TapSubscriber._next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\operators\tap.js:65
Subscriber.next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:67
TakeSubscriber._next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\operators\take.js:54
Subscriber.next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:67
Subject.next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subject.js:60
(anonymous) @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:3753
(anonymous) @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:3642
ZoneAwarePromise @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:891
__awaiter @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:3638
frontend.resize$.pipe.subscribe @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:3751
SafeSubscriber.__tryOrUnsub @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:209
SafeSubscriber.next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:147
Subscriber._next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:90
Subscriber.next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:67
TapSubscriber._next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\operators\tap.js:65
Subscriber.next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:67
TakeSubscriber._next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\operators\take.js:54
Subscriber.next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:67
Subject.next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subject.js:60
ReplaySubject.nextInfiniteTimeWindow @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\ReplaySubject.js:48
XTermFrontend.xterm.on @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:42693
EventEmitter.emit @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:602
Terminal.resize @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:44106
Terminal.resize @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:42876
fit @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:50988
terminalConstructor.fit @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:50998
XTermFrontend.resizeHandler @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:42717
attach @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:42729
ngOnInit @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:3761
ngOnInit @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:2205
checkAndUpdateDirectiveInline @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:21576
checkAndUpdateNodeInline @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:22840
checkAndUpdateNode @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:22802
prodCheckAndUpdateNode @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:23343
(anonymous) @ TerminalTabComponent_Host.ngfactory.js:13
updateDirectives @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:23131
checkAndUpdateView @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:22784
callViewAction @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:23025
execEmbeddedViewsAction @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:22988
checkAndUpdateView @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:22785
callViewAction @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:23025
execComponentViewsAction @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:22967
checkAndUpdateView @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:22790
callViewAction @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:23025
execEmbeddedViewsAction @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:22988
checkAndUpdateView @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:22785
callViewAction @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:23025
execComponentViewsAction @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:22967
checkAndUpdateView @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:22790
ViewRef_.detectChanges @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:21165
(anonymous) @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:17620
ApplicationRef.tick @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:17620
(anonymous) @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:17511
ZoneDelegate.invoke @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:388
onInvoke @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:16888
ZoneDelegate.invoke @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:387
Zone.run @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:138
NgZone.run @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:16802
next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:17511
schedulerFn @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:13106
SafeSubscriber.__tryOrUnsub @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:209
SafeSubscriber.next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:147
Subscriber._next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:90
Subscriber.next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subscriber.js:67
Subject.next @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\rxjs\internal\Subject.js:60
EventEmitter.emit @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:13090
checkStable @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:16857
onLeave @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:16924
onInvokeTask @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:16882
ZoneDelegate.invokeTask @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:420
Zone.runTask @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:188
ZoneTask.invokeTask @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:496
ZoneTask.invoke @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:485
timer @ C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:2054
runCallback @ timers.js:694
tryOnImmediate @ timers.js:665
processImmediate @ timers.js:647
C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:15313 ERROR TypeError: Cannot read property '_writable' of undefined
at Session.resize (C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:3090)
at setTimeout (C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\builtin-plugins\terminus-terminal\dist\index.js:3755)
at ZoneDelegate.invokeTask (C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:421)
at Object.onInvokeTask (C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\@angular\core\bundles\core.umd.js:16879)
at ZoneDelegate.invokeTask (C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:420)
at Zone.runTask (C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:188)
at ZoneTask.invokeTask (C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:496)
at ZoneTask.invoke (C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:485)
at timer (C:\Users\AdministratorAppData\Local\terminus\app-1.0.70\resources\app.asar\node_modules\zone.js\dist\zone.js:2054)

I'm also getting the same issue since upgrading from 69 to 70. Tried using various different shells (Git bash, PS etc). Reverted back to 69 until a fix is in place.

It looks like the detection(?) of when to use ConPTY is wrong (I have no clue what this all means but at least I managed to fix it on my system). I added useConPTY: false to the terminal element in my config file.

So my config looks like:

hotkeys:
  shell: {}
ssh: {}
terminal:
  environment: {}
  useConPTY: false

Could you try this and let me know if that works for you?

Could you try this and let me know if that works for you?

Thank you! Every shell works, except WSL/Ubuntu. But interestingly WSL/Default Distro does work, although I am pretty sure that i only have one WSL-distro installed on my laptop.

Could you try this and let me know if that works for you?

Thank you, that's worked for me as well. Keep up the good work, this is easily the best terminal on Windows right now.

Keep up the good work, this is easily the best terminal on Windows right now.

Sadly I'm not affiliated with this project whatsoever other than being a user ;) I'm glad I was able to help out though. This is indeed easily the best terminal around.

@dietervanhoof 's solution worked for me too.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ponsfrilus picture ponsfrilus  路  15Comments

naeemrashid picture naeemrashid  路  27Comments

marcinbojko picture marcinbojko  路  51Comments

birdmanmandbir picture birdmanmandbir  路  14Comments

BenoitPoulet picture BenoitPoulet  路  23Comments