New Training: Create Terminal UIs with PowerShell
In this 12-video, entry-level training, CBT Nuggets trainer Trevor Sullivan covers the fundamental concepts behind building terminal-based applications using PowerShell.
Watch this new PowerShell training.
In this video skill, you'll learn all of the basics in order to build your own terminal UI applications, using pure PowerShell code. You'll be able to combine all of these concepts together to create your own utilities that serve your unique needs.
Examine an example of a terminal UI command developed by Microsoft, called Out-ConsoleGridView
Move the terminal cursor with the PowerShell host interface
Draw UI elements using Unicode box characters
Write emojis / icons to the terminal, to aid in visual navigation
Colorize text output using ANSI escape sequences
Implement keyboard controls for your application
Understand the event loop for terminal UIs
Write helper functions to speed up your development workflow
Explore a sample Docker container management application that I wrote for demonstration purposes
This training includes:
1.5 hours of training
Watch a video from the series:
Why are Terminal UIs Useful?
Terminal user interfaces are useful tools, as they can be used remotely on servers that don't have Graphical User Interfaces (GUI) available.
For example, let's say you're running a bunch of servers in the Amazon Web Services (AWS) cloud. These servers don't have a desktop environment installed, such as Gnome or KDE. You can remotely access those servers via a Secure Shell (SSH) connection, and then run text-based applications inside the SSH session. Because text-based user interfaces use very little data, compared to GUIs, they often perform well over low-bandwidth connections.
If you need to disconnect from your session and come back later, you can leave those applications running in the background, using a terminal multiplexer like tmux.
What Are Some Examples of Terminal UIs?
There are lots of different applications that can be theoretically implemented as terminal UIs. Here are some ideas to jumpstart your project and provide some inspiration.
Manage cloud resources on Amazon Web Services (AWS) or Microsoft Azure
View and destroy Docker containers running locally
Monitor and filter network traffic by TCP or UDP port, or source-destination IP
Monitor system resources such as CPU, memory, disk, network
Many utilities have been implemented as terminal user interfaces, instead of GUIs. For example, check out the following open source utilities.
Glances – a Python-based utility to monitor local system resources
dry – a TUI to manage Docker containers, and Docker Swarm clusters
termshark – monitor network traffic from the command line (like Wireshark)!
For even more examples, check out the awesome-tuis repository on GitHub!
Start learning PowerShell today!