I’ve written about how the best thin client may be free, but it does require a lot of manual steps. For one workstation, not a problem, but how does that scale out to 5, 10, or 50 workstations? To simplify this, I created an Ansible playbook that configures a clean Fedora 25 workstation as a locked down thin client. All of the following is configured automatically via SSH using Ansible:
- Automatically retrieves, builds if necessary, and installs all dependencies for the 64-bit Horizon View client for Linux.
- Automatically downloads the Horizon View client from a specified URL
- Installs the Horizon View client silently using a shell script
- Applies the latest updates to all installed packages
- Customizes GNOME
- Disables selinux
- Enables autologon for the local user account
- Disables desktop notifications
- Disables lock screen
- Deploys a script that ensures the Horizon client is constantly running and will restart the workstation if it is not running.
- Deploys a startup entry to load the script described above
- Adds an autostart desktop entry that launches the Horizon View client. Variables that can be changed include:
- Connection Server or Unified Access Gateway URL
- Desktop Pool name
- Startup delay time
- Reboots the workstation to complete the new thin client setup
The post-deployment benefit to using Ansible? Workstation updates are simpler and faster. Here are a couple of scenarios that this playbook solves:
- The Horizon View client needs an update. Just update two variables in the playbook configuration and re-run the playbook.
- The connection server changed in your environment. Just change the client_server_url variable to reflect the new hostname and re-run the playbook.
- Users are migrating from a Windows 7 VM to a Windows 10 VM. Update the client_desktop_name variable and re-run the playbook.
- A security vulnerability needs to be patched on all thin clients. Just re-run the playbook. It will use yum to update all packags to the latest version.