Bug 453545 - Konsole resets font size after disconnecting from SSH session
Summary: Konsole resets font size after disconnecting from SSH session
Status: RESOLVED FIXED
Alias: None
Product: konsole
Classification: Applications
Component: general (show other bugs)
Version: 22.04.0
Platform: Arch Linux Linux
: NOR minor
Target Milestone: ---
Assignee: Konsole Developer
URL:
Keywords:
: 461112 (view as bug list)
Depends on:
Blocks:
 
Reported: 2022-05-08 14:50 UTC by Thilo-Alexander Ginkel
Modified: 2022-12-17 09:59 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 22.12


Attachments
attachment-12214-0.html (3.02 KB, text/html)
2022-07-19 21:35 UTC, tcanabrava
Details
attachment-9066-0.html (1.97 KB, text/html)
2022-07-20 16:22 UTC, tcanabrava
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thilo-Alexander Ginkel 2022-05-08 14:50:16 UTC
SUMMARY
Konsole will reset the font size after disconnecting from a SSH session if it has been altered while the connection was active.

STEPS TO REPRODUCE
1. Use Konsole to connect to another host via SSH
2. Increase the font size via Ctrl++ (or View -> Enlarge font)
3. Disconnect from the remote host
4. The font size is reset

OBSERVED RESULT
The font size is reset after disconnecting

EXPECTED RESULT
The font size remains the same as has been the case with older versions

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version:  5.24.5
KDE Frameworks Version: 5.93.0
Qt Version: 5.15.3

ADDITIONAL INFORMATION
Comment 1 Thilo-Alexander Ginkel 2022-05-08 14:58:10 UTC
Just figured out that the font size is *always* reset, even if it has been set before connecting via SSH and not been changed while the SSH session was active.
Comment 2 Alexandre Sicard 2022-05-23 11:09:39 UTC
I am seeing something very similar here, the behaviour is a bit weird and seems related to Konsole profiles. I have the "Default" (read-only) profile, a profile named "Terminal" I don't use much which has some customization, and a third one also named "Terminal" which is my default. Upon disconnecting from most SSH hosts (even if I interrupt the session before entering the password), Konsole switches to the older "Terminal" profile. For some other hosts, it happens upon login instead, before prompting for the password.

If I rename my default profile to "Terminal 2", the behaviour changes a bit. For hosts where it happened upon quitting SSH, the problem stops happening. For hosts where it happened upon login, it still happens but reverts back to the correct profile upon logout.


KDE Plasma Version:  5.24.5
KDE Frameworks Version: 5.94.0
Qt Version: 5.14.5
OpenSSH version: 9.0p1 (also tested on 8.6p1)
Comment 3 Harrison 2022-07-19 21:28:36 UTC
I'm experiencing the exact problem described here with KDE Konsole, font sizing (with `<ctrl>+`), and with font size resetting after SSH disconnect (regardless of how the session closes).

For my case I have 2 profiles:
- Default [Read-only]
- Mine (default)

The Mine profile is where most of my configuration is set. Some settings that I've changed that might be related:
- Initial terminal size: 110 columns, 28 rows
- Appearance: Color scheme & font: "Breeze"
    - Font: "Source Code Pro 10pt"
    - Smooth fonts: Checked
    - Draw intense colors in bold font: Checked
    - Use line characters contained in font: Unchecked
- Appearance: Miscellaneous:
    - Window: Show hint for terminal size after resizing: Unchecked
    - Window: Display vertical line at column: 80: Unchecked
- General: Process and window: Remember window size: Unchecked (though regardless of Checked vs. Unchecked the problem persists/behaves the same way as reported above.)

As a note, I did not experience this issue on Kubuntu 20.04 or Plasma <5.20-ish
Comment 4 tcanabrava 2022-07-19 21:35:05 UTC
Created attachment 150750 [details]
attachment-12214-0.html

Konsole resets the profiles after disconnecting from ssh, this is something
that was requested a while ago, and that unfortunately it introduced
regressions.

There’s a new option on the (unreleased) Konsole to not touch the profiles
when connecting to / disconnecting from ssh.

We can also try to make things better if the current profile settings
differs from the selected profile (for instance, text size) and reapply the
differences on the profile after a connection / disconnection - this is
something I didn’t anticipate.



On Tue, 19 Jul 2022 at 22:28 Harrison <bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=453545
>
> Harrison <hjkatz03@gmail.com> changed:
>
>            What    |Removed                     |Added
>
> ----------------------------------------------------------------------------
>                  CC|                            |hjkatz03@gmail.com
>
> --- Comment #3 from Harrison <hjkatz03@gmail.com> ---
> I'm experiencing the exact problem described here with KDE Konsole, font
> sizing
> (with `<ctrl>+`), and with font size resetting after SSH disconnect
> (regardless
> of how the session closes).
>
> For my case I have 2 profiles:
> - Default [Read-only]
> - Mine (default)
>
> The Mine profile is where most of my configuration is set. Some settings
> that
> I've changed that might be related:
> - Initial terminal size: 110 columns, 28 rows
> - Appearance: Color scheme & font: "Breeze"
>     - Font: "Source Code Pro 10pt"
>     - Smooth fonts: Checked
>     - Draw intense colors in bold font: Checked
>     - Use line characters contained in font: Unchecked
> - Appearance: Miscellaneous:
>     - Window: Show hint for terminal size after resizing: Unchecked
>     - Window: Display vertical line at column: 80: Unchecked
> - General: Process and window: Remember window size: Unchecked (though
> regardless of Checked vs. Unchecked the problem persists/behaves the same
> way
> as reported above.)
>
> As a note, I did not experience this issue on Kubuntu 20.04 or Plasma
> <5.20-ish
>
> --
> You are receiving this mail because:
> You are the assignee for the bug.
Comment 5 Harrison 2022-07-20 16:16:11 UTC
tcanabrava@kde.org, Thanks for your response and clarity. Maybe I could help by describing my use-case and why I find this behaviour jarring.

My primary use-case is working remote from home and sharing my screen with others watching. While they watch it's important that they can see the text and follow along on my terminal sessions. So, I increase the font size while pairing with others. Normally, I have a smaller font, but when sharing, I zoom in quite a bit. Then I'll typically `ssh <some-host>` to continue along with our pairing/debugging session. At this point there's no problem because the font/zoom size is carried over from local --> ssh connect. However, when I disconnect from ssh, then the font/zoom size resets back to what I use normally... and now the other teammates cannot see the screen anymore, and the effect is rather abrupt and quite jarring.
Comment 6 tcanabrava 2022-07-20 16:22:37 UTC
Created attachment 150774 [details]
attachment-9066-0.html

I understand. I’ll try to come up with something. Do you have any problems
on compiling Konsole from master? I’ll do my best to make this happen, but
it might take a while to hit stable.


On Wed, 20 Jul 2022 at 17:16 Harrison <bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=453545
>
> --- Comment #5 from Harrison <hjkatz03@gmail.com> ---
> tcanabrava@kde.org, Thanks for your response and clarity. Maybe I could
> help by
> describing my use-case and why I find this behaviour jarring.
>
> My primary use-case is working remote from home and sharing my screen with
> others watching. While they watch it's important that they can see the
> text and
> follow along on my terminal sessions. So, I increase the font size while
> pairing with others. Normally, I have a smaller font, but when sharing, I
> zoom
> in quite a bit. Then I'll typically `ssh <some-host>` to continue along
> with
> our pairing/debugging session. At this point there's no problem because the
> font/zoom size is carried over from local --> ssh connect. However, when I
> disconnect from ssh, then the font/zoom size resets back to what I use
> normally... and now the other teammates cannot see the screen anymore, and
> the
> effect is rather abrupt and quite jarring.
>
> --
> You are receiving this mail because:
> You are the assignee for the bug.
Comment 7 Harrison 2022-07-20 16:24:18 UTC
I haven't tried yet. Could you link me to a place to start and I can try it out sometime this week and report back?
Comment 8 Hector Martin 2022-08-15 04:34:20 UTC
Easy quick fix: `sudo rm /usr/lib64/qt5/plugins/konsoleplugins/konsole_sshmanagerplugin.so`. This is all caused by the new fancypants SSH manager plugin, but inexplicably there is no UI for enabling/disabling plugins. So if you don't use it, just nuke the file (of course, it will come back on package upgrades, but it beats living with text size resets all day).
Comment 9 Hector Martin 2022-08-15 04:37:18 UTC
Another workaround is to make the actual command running not be ssh, so konsole can't see it. For example, you could alias ssh to be `/usr/bin/time ssh`, that should stop konsole from picking it up.
Comment 10 Harrison 2022-08-15 13:55:55 UTC
(In reply to Hector Martin from comment #8)
> Easy quick fix: `sudo rm
> /usr/lib64/qt5/plugins/konsoleplugins/konsole_sshmanagerplugin.so`. This is
> all caused by the new fancypants SSH manager plugin, but inexplicably there
> is no UI for enabling/disabling plugins. So if you don't use it, just nuke
> the file (of course, it will come back on package upgrades, but it beats
> living with text size resets all day).

I can confirm that this works and successfully disables the SSH manager plugin from loading.

It would be really nice to have plugin enable/disable as a setting as well as disabling this specific behaviour from the SSH manager plugin.

Thanks for finding this workaround Hector!
Comment 11 Markus Wernig 2022-10-24 19:57:16 UTC
Removing the read bit for group/others also does the trick:

chmod 700 /usr/lib64/qt5/plugins/konsoleplugins/konsole_sshmanagerplugin.so
Comment 12 Bug Janitor Service 2022-10-27 19:30:55 UTC
A possibly relevant merge request was started @ https://invent.kde.org/utilities/konsole/-/merge_requests/759
Comment 13 Kurt Hindenburg 2022-10-29 13:57:38 UTC
Git commit e295f48eb937d17050446872cc1daef06a4b0d61 by Kurt Hindenburg, on behalf of Matan Ziv-Av.
Committed on 29/10/2022 at 13:57.
Pushed by hindenburg into branch 'master'.

Add an option to ssh plugin to avoid changing profile

The default is not to change profiles on ssh connect/disconnect.
The current state is saved in the ssh plugin config file, and can be modified in the ssh plugin widget.
Related: bug 459705
FIXED-IN: 22.12

M  +21   -0    src/plugins/SSHManager/sshmanagermodel.cpp
M  +4    -0    src/plugins/SSHManager/sshmanagermodel.h
M  +2    -0    src/plugins/SSHManager/sshmanagerpluginwidget.cpp
M  +14   -0    src/plugins/SSHManager/sshwidget.ui

https://invent.kde.org/utilities/konsole/commit/e295f48eb937d17050446872cc1daef06a4b0d61
Comment 14 Matan Ziv-Av 2022-12-17 09:59:26 UTC
*** Bug 461112 has been marked as a duplicate of this bug. ***