-
-
Notifications
You must be signed in to change notification settings - Fork 815
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Each ssh domain session is by default a mirror clone, can't just close only one's own client session #917
Comments
The mirroring behavior is intentional. I think the most problematic portion of this issue is already tracked in #848 The multiplexer doesn't have a session concept today, but it will need to grow one in order to support #336 and I think that will give you the control that you want to have over wether you attach to an existing session or start a new one. I think it is reasonable to expose some domain related info in PaneInformation so that uses can add indication to their tabs/status lines about the domain. |
yes, #848 introduces the attach/detach semantics and expresses the idea that user should be aware and client should have some way to allow user to choose between attach/detach-session and new/kill-session, you can close this issue, if you think that issue raised are covered. Just penning some thoughts This is just the way it is in That leaves the questions
/==
This feature, as you said, will need to grow incrementally. |
Finally getting around to fixing this usability wart: this commit changes the behavior of Window closing so that you can close a window containing multiplexer panes without prompting and without killing off those panes. This is achieved through some plumbing: * The mux can now advise Domains about an impending window closure, giving them the opportunity to "do things" in readiness. * The mux client domain informs the container ClientPane instances to ignore the next Pane::kill call, which would otherwise inform the mux server to kill the remote pane * Pane:can_close_without_prompting now requires a CloseReason. * ClientPane's can_close_without_prompting impl allows Window closing without prompting on the assumption that the ignore-next-kill hack above is working refs: #848 refs: #917 refs: #1224
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further. |
Describe the bug
This needs some thinking. this issue is also a feature, just surprising and has some unintended consequences, such as closing one multiplexed session closes all multiplexed sessions.
Each fresh start-connected ssh domain session is by default a mirror/clone
What is typed or executed in one session is mirrored in a another.
Indeed, this is what multiplexing in it full glory means. I was only hoping to reap only disconnection-reconnection benefits.
This is not immediately obvious from a reading of
https://wezfurlong.org/wezterm/multiplexing.html?highlight=ssh#ssh-domains
Perhaps, this a desirable feature, and the problem is only that the way it is discovered is unexpected. It has its uses, such as tandem troubleshooting from multiple logins or from multiple machines/locations simultaneously/real-time. Maybe, when one wants a mirror-clone or reconnect to a disconnected session, one should explicitly connect to one by specifying a session-ID. There should be some indicator of how many mirror-clones are open and from where (ipaddress/client-machine). One should also be able to remote terminate other client-sessions, or terminate the session in immediate use without affecting others. Perhaps this is already doable from the wezterm-mux-server
I think permission/ownership/view/edit permissions are not required as this is not a security lapse as the user at every terminal already has ssh-login credentials.
Perhaps when starting a session, there is an argument/prompt for specified session-ID as to whether one want to mirror-connect to an existing session or start a new one.
Environment (please complete the following information):
ssh session from vbox VM linux fedora-34 guest to windows-10 host
wezterm -V
and include its output hereEN-US
To Reproduce
Steps to reproduce the behavior.
Please include as much information as possible that can help to reproduce and
understand the issue; some pointers and suggestions are included here in this
template. You are empowered to include more or less information than is asked
for here!
Closing one wezterm-ssh-domain-session-window closes all others
Each open wezterm-ssh-domain-session-windows are multiplexed mirror-clones of one-another
Strange effect wherein two mirror-clone ssh-domain-session-windows popup upon reconnection
It does not matter which mirror-clone is closed.
However, sometimes a window will have gone into a "x-seconds since last response mode" in which case it does not get closed.
In general, it is hard to know which wezterm-window belongs-to/child-window-of which wezterm process. Inside the shell, there can only be a WEZTERM_PANE no. mirror-clone tabs all have the same WEZTERM_PANE nos. Hence, a tab/pane needs to be identified by clientmachine-process-window-session-tab-pane.
Strange undefined effect involving orphanned tabs/windows
Things can go really undefined from there, sometimes a new wezterm-ssh-domain-session-window is opened, at other times, nothing happens. fedora-gnome-shell notification may show that an process start attempt was made.
Sometimes, it can leave orphaned mirrored tabs, even weirder, the orphaned tab is mirrored to another tab in the same window
Maximizing a window/resizing a window can screw things up.
Configuration
As of today Jun 2021, issue #507 , requires that a wezterm-mux-server be running for ssh domain sessions to work
Be sure to include the relevant section(s) of your
wezterm.lua
configuration file.Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem. Screenshots are most
appropriate for rendering issues.
Session Recording
If the issue is with the way that escape sequences are processed it can be helpful
to capture the terminal output using the
wt-record
script to run
wezterm
and record a transcript. This requires thescript
utilityto be installed on your system (this is part of macOS and available in the
util-linux
package on linux systems).
In the example below a file named
20180225161026.tgz
is produced. Please attach thatfile to this issue, or if it contains private or sensitive issue that you don't want the
public to see on GitHub, please find some other way to get that file to a project
contributor (perhaps Dropbox or email?).
You can use
wt-replay 20180225161026.tgz
to replay that file.wt-record
can only record the terminal output; it cannot record the input events goingin to the terminal, so if you are having an issue with input, please be sure to describe
it below!
Additional context
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: