SSH: Fix running remote process in terminal

ConsoleProcess stumbles over the special characters in the remote
command and as a result silently runs the command locally instead.
Prevent that. We can (and should) simply leave these characters alone,
as they have no special meaning on the local machine.

Change-Id: I31b3afe1cf170e51d431372b15f4df3656006959
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Christian Kandeler
2019-06-14 13:37:20 +02:00
parent cd8ebb21e3
commit acfe45c434
6 changed files with 15 additions and 8 deletions

View File

@@ -201,7 +201,8 @@ void SshDeviceProcess::handleConnected()
this, &SshDeviceProcess::handleProcessStarted);
connect(&d->consoleProcess, &ConsoleProcess::stubStopped,
this, [this] { handleProcessFinished(d->consoleProcess.errorString()); });
d->consoleProcess.start(cmdLine.first(), cmdLine.mid(1).join(' '));
d->consoleProcess.start(cmdLine.first(), cmdLine.mid(1).join(' '),
ConsoleProcess::MetaCharMode::Ignore);
} else {
connect(d->process.get(), &QSsh::SshRemoteProcess::started,
this, &SshDeviceProcess::handleProcessStarted);