Home

Awesome

shcrt

SecureCRT session browser for GNU/Linux and Windows Subsystem for Linux.

It should also work on macOS with some changes but YMMV.

Beta quality. I use it on a daily basis, it should work in most cases.

Screenshot

Features

How to use

Arch Linux (including Arch on WSL)

AUR package: https://aur.archlinux.org/packages/shcrt-git/

Other distributions (including WSL)

It should work both natively on GNU/Linux and on Windows under WSL, provided you have bash, python3, pycrypto for Python3 and your favorite dialog tool ((c)dialog works everywhere).

Configuration

Configuration can be placed in ~/.shcrtrc. It must be a sourceable by bash, use bash syntax.

Custom GUI mode

export supermode=YOUR_CHOICE

It must be set to one of the GUI back-ends supported by EasyBashGUI.

At the time of writing, supported modes are:

Needless to say, unless you're using none, the desired GUI back-end needs to be installed.

If you're using WSL and you don't want to use a terminal-based GUI, you need an X11 server such as VcXsrv. Otherwise you can use Zenity for Windows.

Default is determined by EasyBashGUI. On GNU/Linux it will pick a GUI dialog that fits with the running desktop environment, falling back to a TUI dialog. On Windows, a TUI dialog will run unless configured.

Zenity on Windows

Note: This was only tested on WSL1. WSL2 might have additional shenanigans.

The script includes an experimental wrapper for native Windows Zenity on WSL.

To make it work, you need to:

Emojis

export emojis=YOUR_CHOICE

Force enable/disable emojis. Emojis are enabled by default on GNU/Linux, and disabled on WSL. If you're using a custom terminal that supports emojis you can force-enable them on Windows too.

Custom SecureCRT config path

export crtconfig="/path/to/your/Config"

Overrides default SecureCRT config paths:

SFTP client helper

In order to run an SFTP client, a helper script/function must be provided. The helper needs to accept a ssh-like command line. It can be provided as a bash function or as a binary in $PATH.

By default, if nothing is provided the program will display an error message.

A FileZilla helper is provided and it should work on GNU/Linux and Windows on WSL. To enable it, add the following to your .shcrtrc:

export sftp_client_runner=run_filezilla

The FileZilla helper source code can be found in sftp_runners.sh

Default session action

export default_action="ask"

Sets an action that will always be run immediately when selecting a session. Default is ask. Available options are:

Bugs

I expect it to be full of bugs; so should you.

Please report any bugs you find on GitHub :)