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:
- 12 videos
- 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!