Skip to content

Michael-Matta1/win2linux-migration

Repository files navigation

🐧 Windows to Linux Migration Toolkit

A collection of practical guides and scripts to help Windows users transition to Linux without losing the workflows they rely on every day.

This repository covers the gaps you'll encounter when switching β€” from missing keyboard shortcuts and clipboard history to file manager limitations and desktop layout differences. Each guide provides step-by-step instructions, ready-to-use scripts, and configuration files to recreate familiar Windows functionality on Linux.


πŸ“‘ Table of Contents


πŸ“– About This Repository

After switching from Windows to Pop!_OS for machine learning and data science work, I found myself repeatedly solving the same set of problems β€” missing shortcuts, a bare-bones file manager, no clipboard history, and a desktop that didn't feel productive out of the box.

This repository documents every solution I've found and configured, packaged into standalone guides that anyone can follow. While my daily driver is Pop!_OS, I've included installation commands and instructions for other major distributions so these guides are useful regardless of which Linux distro you're running.

What you'll find here:

  • Step-by-step guides with screenshots and explanations
  • Ready-to-use scripts and configuration files (downloadable via curl or copy-pasteable)
  • Collapsible installation sections for multiple distributions
  • Troubleshooting sections for common issues
  • Cross-references between related guides

πŸ“š Guides Overview

πŸ–ΌοΈ Area Screenshot (Flameshot)

β†’ Open Guide

Recreate the Windows Win+Shift+S screenshot workflow on Linux using Flameshot. This guide covers installation, keyboard shortcut configuration (Super+Shift+S), annotation tools, and auto-start setup.

What's included
  • Flameshot installation across multiple distros
  • Custom keyboard shortcut setup (Super+Shift+S)
  • Screenshot modes: area capture, full screen, delayed capture
  • Built-in annotation tools (arrows, text, shapes, blur, pixelate)
  • Auto-start configuration so Flameshot is always ready
  • Flameshot desktop file for autostart

Files:

  • flameshot.desktop β€” Autostart entry for Flameshot

πŸ“‹ Clipboard History (CopyQ)

β†’ Open Guide

Bring back the Windows Win+V clipboard history experience using CopyQ. This guide sets up Super+V for quick clipboard access and Super+Shift+V for the full history window, with search, filtering, and multi-format support.

What's included
  • CopyQ installation and configuration
  • Keyboard shortcuts that mirror Windows (Super+V / Super+Shift+V)
  • Clipboard history with search and filtering
  • Support for text, images, HTML, and files
  • Tabs and organization for different clipboard categories
  • Custom commands and scripting
  • Auto-start setup

🐬 Dolphin Service Menus

β†’ Open Guide

Add "Open in Kitty" and "Open in VS Code" to Dolphin's right-click context menu. This is the KDE Dolphin equivalent of the Nautilus extensions (open-kitty and open-vscode), using KDE Service Menus with bash wrapper scripts.

What's included
  • Automated installer script that handles everything
  • Manual installation with step-by-step instructions
  • Kitty wrapper with context detection (local, remote/SFTP, admin)
  • VS Code wrapper with support for code, code-insiders, and VSCodium
  • Automatic icon detection and installation
  • KDE cache rebuilding

Files:

  • install-dolphin-menus.sh β€” Automated installer
  • dolphin-open-kitty.sh β€” Kitty wrapper script
  • dolphin-open-vscode.sh β€” VS Code wrapper script
  • open-in-kitty.desktop β€” KDE service menu for Kitty
  • open-in-vscode.desktop β€” KDE service menu for VS Code

πŸ“ File Manager Customization

β†’ Open Guide

A guide to choosing and configuring a file manager that feels like Windows Explorer. Covers Dolphin (recommended) and Nemo, including installation on GNOME, Qt theming, dark mode stylesheet, shell aliases, and keyboard shortcuts.

What's included
  • Comparison of file manager options (Dolphin, Nemo, Thunar, etc.)
  • Dolphin installation on GNOME-based systems with KDE dependency setup
  • Qt theming configuration so Dolphin looks native on GNOME
  • Custom dark mode stylesheet
  • Shell aliases for quick access
  • Setting Dolphin/Nemo as default file manager
  • Keyboard shortcut reference

Files:

  • dolphin-dark.qss β€” Custom dark theme stylesheet for Dolphin

🐧 GNOME Desktop Extensions

β†’ Open Guide

Transform the GNOME desktop to closely match the Windows experience. This guide covers essential extensions like Dash to Panel (Windows-style taskbar), Blur my Shell, ArcMenu (Start menu), and more β€” with detailed configuration instructions for each.

What's included
  • GNOME Tweaks and Extension Manager installation
  • Dash to Panel β€” Windows-style taskbar with window previews and grouping
  • Blur my Shell β€” Visual polish with blur effects
  • ArcMenu β€” Windows-style Start menu
  • GNOME Fuzzy App Search β€” Search apps like Windows
  • Desktop Icons NG β€” Desktop icon support
  • Detailed configuration walkthrough for each extension
  • Troubleshooting for common extension issues

πŸ” OCR Clipboard

β†’ Open Guide

A Linux alternative to Windows PowerToys Text Extractor. Take a screenshot of any area on your screen, extract text using OCR (Tesseract), and copy it directly to your clipboard β€” all with a single keyboard shortcut. The script auto-detects X11 or Wayland and uses the appropriate clipboard command.

What's included
  • OCR script with automatic X11/Wayland detection
  • Dependency installation (Flameshot, Tesseract, xclip/wl-clipboard)
  • Keyboard shortcut setup for multiple desktop environments
  • Multi-language OCR support
  • Customization ideas (dual clipboard, word count, history file)
  • Flameshot auto-start configuration
  • Troubleshooting

Files:

  • ocr-screenshot.sh β€” OCR script (descriptive name)
  • ocr_clipboard.sh β€” OCR script (alternative name, identical functionality)

🐈 Open in Kitty (Nautilus)

β†’ Open Guide

A Nautilus (GNOME Files) extension that adds "Open in Kitty" to the right-click context menu. Quickly open any folder in the Kitty terminal directly from your file manager.

What's included
  • Python Nautilus extension with automatic Kitty detection
  • Installation via download or manual creation
  • Support for Kitty installed via package manager, binary, or custom path
  • Distro-specific installation for nautilus-python dependency
  • Troubleshooting

Files:

  • open-kitty.py β€” Nautilus extension (Python)

πŸ’» Open in VS Code (Nautilus)

β†’ Open Guide

A Nautilus (GNOME Files) extension that adds "Open in VS Code" to the right-click context menu for folders. Open any directory in Visual Studio Code directly from your file manager.

What's included
  • Python Nautilus extension with automatic VS Code detection
  • Supports code, code-insiders, and VSCodium
  • Installation via download or manual creation
  • Distro-specific installation for nautilus-python dependency
  • Troubleshooting

Files:

  • open-vscode.py β€” Nautilus extension (Python)

πŸ“Œ Pin Applications to Dock

β†’ Open Guide

Create desktop entries to pin any application to your dock when the "Pin to Dock" option is missing. This guide covers manual desktop entry creation for AppImages, custom installations, and applications without automatic integration.

What's included
  • Understanding desktop entries and why "Pin to Dock" is missing
  • Quick template for creating desktop entries
  • Step-by-step manual creation process
  • Finding application paths and icons
  • Real-world examples (Kitty, VS Code, AppImages, scripts, Flatpak, Snap)
  • Advanced desktop entry options (actions, environment variables, web app launchers)
  • Troubleshooting common issues
  • Complete workflow reference

Files:

  • kitty.desktop β€” Desktop entry for Kitty terminal
  • code.desktop β€” Desktop entry for Visual Studio Code

⌨️ Shortcuts Mapping (AutoKey)

β†’ Open Guide

Remap Linux keyboard shortcuts to match your Windows muscle memory using AutoKey. This guide shows how to map shortcuts like Alt+D (address bar), F2 (rename), and other Windows conventions to their Linux equivalents β€” scoped to specific applications using window filters.

What's included
  • AutoKey installation and accessibility setup
  • Window filter configuration (WM_CLASS detection for Nautilus, Dolphin, etc.)
  • Creating custom keyboard shortcut scripts
  • Example scripts for common Windows shortcuts
  • Auto-start configuration
  • Troubleshooting

πŸ“Š Quick Reference Table

Guide Windows Equivalent Linux Tool Shortcut
πŸ–ΌοΈ Area Screenshot Win+Shift+S Flameshot Super+Shift+S
πŸ“‹ Clipboard History Win+V CopyQ Super+V
🐬 Dolphin Service Menus Explorer right-click KDE Service Menus Right-click menu
πŸ“ File Manager Windows Explorer Dolphin / Nemo β€”
🐧 GNOME Extensions Windows desktop layout GNOME Extensions β€”
πŸ” OCR Clipboard PowerToys Text Extractor Flameshot + Tesseract Super+Shift+T
🐈 Open in Kitty "Open in Terminal" Nautilus extension Right-click menu
πŸ’» Open in VS Code "Open with Code" Nautilus extension Right-click menu
πŸ“Œ Pin to Dock Pin to taskbar Desktop entries Right-click menu
⌨️ Shortcuts Mapping Native shortcuts AutoKey Custom

πŸ–₯️ Distro Compatibility

These guides were developed on Pop!_OS (Ubuntu-based) for a machine learning and data science workflow, but each guide includes installation commands for multiple distributions:

Distribution Support Level
Ubuntu / Pop!_OS / Linux Mint Full β€” primary development platform
Debian Full
Fedora / RHEL / CentOS Full
Arch Linux / Manjaro Full
openSUSE Full
Void Linux Partial (included where applicable)

Note: The GNOME-specific guides (Nautilus extensions, GNOME Extensions) require a GNOME desktop environment. The Dolphin/KDE guides require KDE Plasma. The remaining guides (Flameshot, CopyQ, OCR, AutoKey) work across all desktop environments.


πŸš€ Getting Started

New to Linux? Here's a suggested order for setting up your environment:

  1. GNOME Desktop Extensions β€” Transform the desktop layout first so it feels familiar
  2. File Manager Customization β€” Set up a file manager with Windows Explorer-like features
  3. Area Screenshot β€” Get your screenshot shortcut working (Win+Shift+S β†’ Super+Shift+S)
  4. Clipboard History β€” Enable clipboard history (Win+V β†’ Super+V)
  5. Shortcuts Mapping β€” Remap any remaining keyboard shortcuts
  6. Open in Kitty / Open in VS Code β€” Add terminal and editor context menu entries
  7. Dolphin Service Menus β€” If using Dolphin instead of Nautilus, add context menu entries
  8. OCR Clipboard β€” Add text extraction from screenshots

Each guide is self-contained β€” you can follow them in any order or pick only the ones you need.


πŸ“‚ Repository Structure

win2linux-migration/
β”œβ”€β”€ README.md                          ← You are here
β”œβ”€β”€ LICENSE                            ← MIT License
β”‚
β”œβ”€β”€ area-screenshot/                   ← πŸ–ΌοΈ Flameshot screenshot setup
β”‚   β”œβ”€β”€ README.md
β”‚   └── flameshot.desktop
β”‚
β”œβ”€β”€ clipboard-history/                 ← πŸ“‹ CopyQ clipboard manager
β”‚   └── README.md
β”‚
β”œβ”€β”€ dolphin-menus/                     ← 🐬 KDE Dolphin context menus
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ install-dolphin-menus.sh
β”‚   β”œβ”€β”€ dolphin-open-kitty.sh
β”‚   β”œβ”€β”€ dolphin-open-vscode.sh
β”‚   β”œβ”€β”€ open-in-kitty.desktop
β”‚   └── open-in-vscode.desktop
β”‚
β”œβ”€β”€ file-manager/                      ← πŸ“ File manager selection & config
β”‚   β”œβ”€β”€ README.md
β”‚   └── dolphin-dark.qss
β”‚
β”œβ”€β”€ gnome-desktop-extensions/          ← 🐧 GNOME β†’ Windows-like desktop
β”‚   └── README.md
β”‚
β”œβ”€β”€ ocr-clipboard/                     ← πŸ” OCR text extraction
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ ocr-screenshot.sh
β”‚   └── ocr_clipboard.sh
β”‚
β”œβ”€β”€ open-kitty/                        ← 🐈 Nautilus "Open in Kitty"
β”‚   β”œβ”€β”€ README.md
β”‚   └── open-kitty.py
β”‚
β”œβ”€β”€ open-vscode/                       ← πŸ’» Nautilus "Open in VS Code"
β”‚   β”œβ”€β”€ README.md
β”‚   └── open-vscode.py
β”‚
β”œβ”€β”€ pin-to-dock/                       ← πŸ“Œ Pin apps to dock
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ kitty.desktop
β”‚   └── code.desktop
β”‚
└── shortcuts-mapping/                 ← ⌨️ Keyboard shortcut remapping
    └── README.md

πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.

About

Windows-to-Linux migration tips: restoring missing features and workflows, and achieving functional parity.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors