diff --git a/crates/remote/src/remote_client.rs b/crates/remote/src/remote_client.rs index c41b168b7126c340b6536f9bb55bf7e3f839c5c5..7c507b0eff0b750b5fb9bffdb602edb485228c53 100644 --- a/crates/remote/src/remote_client.rs +++ b/crates/remote/src/remote_client.rs @@ -493,7 +493,7 @@ impl RemoteClient { executor: BackgroundExecutor, ) -> Option + use> { let state = self.state.take()?; - log::info!("shutting down ssh processes"); + log::info!("shutting down remote processes"); let State::Connected { multiplex_task, diff --git a/crates/remote/src/transport/ssh.rs b/crates/remote/src/transport/ssh.rs index 8fed10608de61da648ddc65e0d1771d8db71e94a..d093b5850025e89f2070843db0f41063c8387f68 100644 --- a/crates/remote/src/transport/ssh.rs +++ b/crates/remote/src/transport/ssh.rs @@ -1552,6 +1552,9 @@ fn build_command( args.push(format!("{local_port}:{host}:{remote_port}")); } + // -q suppresses the "Connection to ... closed." message that SSH prints when + // the connection terminates with -t (pseudo-terminal allocation) + args.push("-q".into()); args.push("-t".into()); args.push(exec); @@ -1592,6 +1595,7 @@ mod tests { [ "-p", "2222", + "-q", "-t", "cd \"$HOME/work\" && exec env INPUT_VA=val remote_program arg1 arg2" ] @@ -1624,6 +1628,7 @@ mod tests { "2222", "-L", "1:foo:2", + "-q", "-t", "cd && exec env INPUT_VA=val /bin/fish -l" ]