Skip to content

Commit

Permalink
Viewer: Accept OpenSSH-compatible cmd-line aliases
Browse files Browse the repository at this point in the history
  • Loading branch information
dcommander committed Jan 28, 2025
1 parent ae1c3fa commit d506a79
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 4 deletions.
15 changes: 11 additions & 4 deletions ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,11 @@ should now be specified by prefixing the VNC host or the gateway host with the
username followed by @. This fixes an issue whereby separate SSH usernames
could not be specified for the `Server` and `Via` parameters.

9. The TurboVNC Viewer's built-in SSH client now supports jump hosts, i.e.
9. For compatibility with OpenSSH, the TurboVNC Viewer now accepts `-F`, `-i`,
and `-p` as command-line aliases for (respectively) the `SSHConfig`,
`SSHKeyFile`, and `SSHPort` parameters.

10. The TurboVNC Viewer's built-in SSH client now supports jump hosts, i.e.
multi-hop/multi-level SSH tunneling. If the `Jump` parameter or the
`ProxyJump` OpenSSH config file keyword is specified, the viewer now creates an
intermediate SSH tunnel to the jump host and uses that tunnel to create the
Expand All @@ -78,17 +82,20 @@ can be used to specify more than two levels of SSH tunneling.
template for TCP connections with the `Jump` parameter now takes advantage of
OpenSSH's ProxyJump feature.

10. The TurboVNC Viewer now supports bump scrolling in full-screen mode, which
For compatibility with OpenSSH, the TurboVNC Viewer accepts `-J` as a
command-line alias for the `Jump` parameter.

11. The TurboVNC Viewer now supports bump scrolling in full-screen mode, which
addresses a feature regression relative to the native Windows TurboVNC Viewer
in TurboVNC 2.2.x. A new parameter (`BumpScroll`) can be used to disable bump
scrolling and use scrollbars instead.

11. The Mac TurboVNC Viewer now hides the menu bar and dock in full-screen mode
12. The Mac TurboVNC Viewer now hides the menu bar and dock in full-screen mode
if bump scrolling is enabled. Setting the `turbovnc.fshidedock` system
property to `0` or `1` causes the viewer to always show or always hide the menu
bar and dock in full-screen mode, irrespective of bump scrolling.

12. The TurboVNC Server and Viewer now implement the Extended Mouse Buttons
13. The TurboVNC Server and Viewer now implement the Extended Mouse Buttons
RFB extension, which allows forward and back mouse button events to be
transmitted to the VNC server.

Expand Down
16 changes: 16 additions & 0 deletions java/com/turbovnc/rfb/Params.java
Original file line number Diff line number Diff line change
Expand Up @@ -1096,6 +1096,10 @@ public void save(String node) {
"OpenSSH configuration keyword do not allow multiple comma-separated SSH " +
"hops to be specified.", null);

private AliasParameter jAlias =
new AliasParameter("J", this,
"Alias for Jump (for compatibility with OpenSSH)", jump);

public BoolParameter localUsernameLC =
new BoolParameter("LocalUsernameLC", this, false, false,
"When the SendLocalUsername parameter is set, or when using SSH " +
Expand Down Expand Up @@ -1189,6 +1193,10 @@ public void save(String node) {
"TurboVNC Viewer parameters take precedence over the OpenSSH " +
"configuration file.", Utils.getHomeDir() + ".ssh/config");

private AliasParameter fAlias =
new AliasParameter("F", this,
"Alias for SSHConfig (for compatibility with OpenSSH)", sshConfig);

public StringParameter sshKey =
new StringParameter("SSHKey", this, false, false,
"When using the built-in SSH client with the publickey SSH authentication " +
Expand Down Expand Up @@ -1222,6 +1230,10 @@ public void save(String node) {
"SSHKey parameter, and the IdentityFile OpenSSH configuration keyword are " +
"not specified", null);

private AliasParameter iAlias =
new AliasParameter("i", this,
"Alias for SSHKeyFile (for compatibility with OpenSSH)", sshKeyFile);

public StringParameter sshKeyPass =
new StringParameter("SSHKeyPass", this, false, false,
"When using the built-in SSH client with the publickey SSH authentication " +
Expand All @@ -1234,6 +1246,10 @@ public void save(String node) {
"port on which the VNC host's or gateway host's SSH server is listening. " +
"This parameter does not apply to jump hosts.", 22, 0, 65535);

private AliasParameter pAlias =
new AliasParameter("p", this,
"Alias for SSHPort (for compatibility with OpenSSH)", sshPort);

public BoolParameter tunnel =
new BoolParameter("Tunnel", this, true, false,
"Setting this parameter is equivalent to using the Via parameter with an " +
Expand Down

0 comments on commit d506a79

Please sign in to comment.