devopsJanuary 27, 20266 min read

Tired of the VM Dance? I Automated Mine.

By Shafikul Islam

You know the routine:

→ Open VirtualBox GUI

→ Click "Start"

→ Wait… wait…

→ Manually SSH into the VM

→ Do your work

→ Remember to shut it down (or forget and drain your laptop battery 😅)

I was wasting 2+ minutes every time just to get into my dev environment. So I built a one-command VM orchestrator that:

  • Starts my Ubuntu VM headless in the background

  • Waits intelligently for SSH to be actually ready (no more "banner timeout" errors!)

  • Opens a fresh terminal with SSH auto-connected

  • Gracefully shuts down the VM when I exit SSH

All with:

bash ./vm-orchestrator.sh

The magic sauce?

Instead of blind sleep 15 hacks, it verifies SSH readiness by checking the actual banner:

bash until echo "exit" | nc $HOST $PORT | grep -q "^SSH-2.0-"; do sleep 3; done

→ No wasted seconds on fast boots

→ No failures on slow boots

→ Just reliable automation

⏱️ Result:

  • Cut VM startup from 90s → 12s (first boot) / 6s (subsequent)

  • Zero manual steps between "I need to code" and "I'm coding"

  • My laptop battery thanks me (no forgotten running VMs!)

This isn't about being "clever" — it's about removing friction from the things you do daily. The best automation feels invisible.

👇 Question for you:

What's one repetitive task in your workflow that deserves a 10-line script?

Script open-sourced on GitHub — DM me if you want the link!

#DevOps #DeveloperExperience #Automation #Linux #VirtualBox #ShellScripting #Productivity #SoftwareEngineering


✨ Why this works for LinkedIn:

  • Relatable pain point — every dev has done the "VM dance"

  • Shows, doesn't tell — concrete before/after timeline (90s → 6s)

  • Human tone — "my laptop battery thanks me" = authentic

  • Actionable insight — shares the one clever line that solves the core problem

  • Community-focused — ends with an open question (drives comments)

  • No humblebragging — focuses on user benefit (friction removal), not "look how smart I am"

📌 Pro posting tip:

Add a short screen recording (5 sec) showing:

./vm-orchestrator.sh → terminal opens → you're at test@ubuntu-server:~$ prompt

(Visuals get 3x more engagement than text-only posts)

This post positions you as a practical problem-solver — exactly what engineering managers and peers respect. Ready to post? 😊