Common Issues: Windows-to-Linux Transition FAQ
Symptom → Cause → Fix patterns for the most common issues encountered when switching from Windows to Linux.
What This Guide Covers
An aggregated FAQ of the most common issues encountered during a Windows-to-Linux transition. Each entry follows a Symptom —> Cause —> Fix pattern so you can quickly diagnose and resolve problems without searching multiple forums.
System & Desktop
| # | Symptom | Cause | Fix |
|---|---|---|---|
| 1 | Missing user directories (Music, Pictures, etc.) | Can happen for various reasons or from mishandling things | mkdir -p ~/Desktop ~/Downloads ~/Templates ~/Public ~/Documents ~/Music ~/Pictures ~/Videos && xdg-user-dirs-update --force |
| 2 | Theme still shows in Settings after “uninstalling” | You deleted the source folder, not the installed files | Remove the theme from ~/.local/share/icons/ or /usr/share/icons/ (same applies to ~/.local/share/themes/ for GTK themes) |
| 3 | App doesn’t appear in the app menu after install | Desktop database not updated | update-desktop-database ~/.local/share/applications |
| 4 | Icon cache stale after changing icon theme | Icon cache needs to be rebuilt | gtk-update-icon-cache ~/.local/share/icons/ThemeName or log out and back in |
| 5 | Seahorse/GNOME Keyring timeout in search | gnome-shell D-Bus timeout with keyring | Harmless warning — can be safely ignored |
| 6 | ”Buggy client sent _NET_ACTIVE_WINDOW message with timestamp 0” | An app tried to raise itself without a proper X11 timestamp | Harmless warning — can be safely ignored |
Package Management
| # | Symptom | Cause | Fix |
|---|---|---|---|
| 7 | sudo apt update shows “duplicate sources” | Both a .list and .sources file exist for the same repo | Remove the older .list file, e.g.: sudo rm /etc/apt/sources.list.d/google-chrome.list |
| 8 | ”Skipping acquire of configured file…doesn’t support architecture ‘i386‘“ | A 64-bit-only repo is configured without an architecture restriction | Add [arch=amd64] to the repo entry in /etc/apt/sources.list.d/ |
| 9 | GPG key error: NO_PUBKEY | Repository signing key not imported | Import with: curl -fsSL <key-url> | sudo gpg --dearmor -o /usr/share/keyrings/<name>.gpg |
| 10 | apt remove wants to remove too many packages | Removing a package from a meta-package triggers a dependency cascade | Use sudo apt remove --no-autoremove package and then sudo apt-mark manual important-package to protect dependencies you want to keep |
| 11 | ”Unable to locate package” | Package name is wrong or the repo hasn’t been added | Run apt search keyword to find the correct name, or add the required PPA/repo first |
See also: package-management-basics.md for a full primer on
apt, PPAs, and.debinstalls.
Hardware
| # | Symptom | Cause | Fix |
|---|---|---|---|
| 12 | Fan running too loud at low temperatures | BIOS fan curve is too aggressive for Linux | Install thinkfan with tpacpi fan control and hwmon sensor paths — see fan-and-power-management.md |
| 13 | Laptop not sleeping properly (or wakes immediately) | IBus keyboard daemon loses state on suspend | Add a systemd sleep hook — see openbangla-keyboard.md |
Display & Graphics
| # | Symptom | Cause | Fix |
|---|---|---|---|
| 14 | wmctrl / xdotool / xclip don’t work | You are running Wayland, but these tools require X11 | Switch to an X11/Xorg session at the login screen. Look for a session option containing “Xorg” (e.g. “Ubuntu on Xorg”, “Zorin on Xorg”). Linux Mint 22.3 Cinnamon defaults to X11 out of the box — no switch needed. |
| 15 | Stata window doesn’t resize properly | GTK rendering bug on Wayland | Force the X11 backend: GDK_BACKEND=x11 xstata-mp |
| 16 | Screen tearing during scrolling or video playback | X11 compositor not syncing frames | Enable VSync in display settings. On GNOME-based distros (Zorin OS, Ubuntu) switching to Wayland is an alternative; Linux Mint 22.3 Cinnamon ships X11 only — use VSync instead. |
| 17 | ”Oh no! Something has gone wrong” screen on every boot (GNOME/GDM only — Zorin OS, Ubuntu) | GDM3/Wayland conflict after a kernel or Mesa graphics update — gdm3: on_display_added failure in logs | Disable Wayland at the GDM level: uncomment WaylandEnable=false in /etc/gdm3/custom.conf, then sudo systemctl restart gdm3. Linux Mint 22.3 Cinnamon uses LightDM instead of GDM3 — this issue and fix don’t apply. See full recovery steps in display-server.md |
See also: display-server.md for a detailed comparison of X11 vs. Wayland and how to switch between them.
Software
| # | Symptom | Cause | Fix |
|---|---|---|---|
| 18 | Dropbox linking URL expires immediately | Running dropbox.py status generates a new nonce, which invalidates the previous URL | Visit the linking URL immediately after it appears — do not run dropbox.py status again before clicking it |
| 19 | RcloneBrowser AppImage doesn’t work / download 404 | The upstream AppImage download link was broken | Build from source: git clone the repo, then cmake + make |
| 20 | Spicetify install fails | Spotify must be installed before Spicetify can patch it | Install Spotify first (via apt, Snap, or Flatpak), then install Spicetify |
| 21 | LibreOffice crashes or shows “Recover Document?” every time a downloaded .docx is opened | Corrupted user profile stuck in a recovery loop, or Skia hardware acceleration conflict | Profile reset: killall soffice.bin && mv ~/.config/libreoffice/4/user ~/.config/libreoffice/4/user_backup — see detailed steps below |
| 22 | A specific .docx file in Downloads consistently crashes LibreOffice | A hidden lock file from a previous crash is confusing LibreOffice | Press Ctrl+H in the file manager to show hidden files, then delete any file named .~lock.filename.docx# in the same folder |
| 23 | Firefox shows a gear icon on the taskbar; opening from the app menu shows no history or bookmarks | Two Firefox versions coexist (Snap + native APT) — the Snap version’s sandboxed identity doesn’t match the pinned launcher, and its profile data is stored separately | Block the Snap stub and reinstall from Mozilla APT: sudo snap remove --purge firefox && sudo apt purge firefox && sudo apt install firefox — see full steps in browser-setup.md |
See also: browser-setup.md for browser installation and extension configuration.
LibreOffice: .docx Crash Fixes
Verified fix (tested on both Linux Mint 22.3 Cinnamon and Zorin OS 18.1 with .docx files downloaded from external sources):
Fix 1 — Reset the user profile (most effective)
Close LibreOffice completely, then run:
killall soffice.bin
mv ~/.config/libreoffice/4/user ~/.config/libreoffice/4/user_backup
LibreOffice generates a clean profile on next launch, clearing corrupted recovery state and stuck crash loops. Any custom toolbars or templates are backed up in user_backup and can be restored manually.
Alternatively, launch in Safe Mode for a guided reset:
libreoffice --safe-mode
Select Reset to factory settings, check both Reset settings and user interface modifications and Reset entire user profile, then click Apply Changes and Restart.
Fix 2 — Disable Skia hardware acceleration
If crashes happen immediately on opening (before the document renders), the Skia rendering engine is likely conflicting with the document’s formatting or embedded images.
Open a blank LibreOffice Writer, then go to Tools → Options → LibreOffice → View, and uncheck “Use Skia for all rendering” (or “Use hardware acceleration”). Restart LibreOffice when prompted.
Fix 3 — Clear the lock file for a specific document
If one particular .docx consistently crashes LibreOffice:
- Open the file manager and navigate to the folder containing the file (e.g., Downloads).
- Press Ctrl+H to show hidden files.
- Delete any file named
.~lock.filename.docx#. - Try opening the document again.
Fix 4 — Install Microsoft fonts
Heavily formatted .docx files that depend on Microsoft fonts (Calibri, Cambria, Consolas) can cause a memory spike on open if the system substitutes fonts on the fly:
sudo apt install ttf-mscorefonts-installer
sudo fc-cache -f -v
Note: The standard
ttf-mscorefonts-installerfrom Ubuntu repositories only includes the older 1996 “Core Fonts” (Arial, Times New Roman, Comic Sans, etc.) — not the newer ClearType fonts like Calibri and Cambria introduced in Office 2007.
Option A — Install the actual Microsoft ClearType fonts manually
If you have ONLYOFFICE installed, its enhanced ttf-mscorefonts-installer (v3.8.2) already handled this automatically during sudo apt upgrade. If not, you can replicate what it does using cabextract:
# Install the extraction tool
sudo apt install cabextract
# Download the PowerPoint Viewer .exe (source of the ClearType fonts)
wget https://altushost-swe.dl.sourceforge.net/project/mscorefonts2/cabs/PowerPointViewer.exe
# Extract the inner cabinet file
cabextract PowerPointViewer.exe -F ppviewer.cab
# Extract the font files from the cabinet
cabextract ppviewer.cab -F '*.TTC' -F '*.TTF'
# Move fonts to your user font directory
mkdir -p ~/.local/share/fonts/ClearType
mv *.TTF *.TTC ~/.local/share/fonts/ClearType/
# Clean up installers
rm PowerPointViewer.exe ppviewer.cab
# Update the font cache
fc-cache -f -v
This installs Calibri, Cambria, Consolas, Corbel, Constantia, and Candara — the full ClearType set that Office 2007+ documents rely on.
Option B — Metric-compatible open-source alternatives
If you prefer not to extract fonts from a Windows installer, Google’s open-source fonts are mathematically identical in width and height to the Microsoft originals, so document layout and pagination are preserved:
sudo apt install fonts-crosextra-carlito fonts-crosextra-caladea
Carlito ≈ Calibri. Caladea ≈ Cambria. LibreOffice silently substitutes these when a document requests the Microsoft originals.
See also: openbangla-keyboard.md has a full verified ClearType font install walkthrough (including
fc-listverification).
Files & Paths
| # | Symptom | Cause | Fix |
|---|---|---|---|
| 24 | ”No such file or directory” but you can see the file | Linux is case-sensitive (README.md and readme.md are different files) | Check exact casing with ls |
| 25 | Can’t find config files | Hidden files and directories start with . (dot) | Use ls -a in the terminal, or press Ctrl+H in the file manager to toggle hidden files |
| 26 | ”Permission denied” on a script | File is not marked as executable | chmod +x script.sh |
| 27 | Unknown folder in home directory (javasharedresources, auto-cpufreq, RcloneBrowser) | Leftover build or source directories from git clone installs | Safe to delete after verifying the app is installed elsewhere: which appname |
When to Ask for Help
If you’ve tried the fixes above and are still stuck, these communities are active and beginner-friendly:
| Resource | URL | Best For |
|---|---|---|
| Ubuntu Forums | ubuntuforums.org | General Ubuntu-based troubleshooting |
| Ask Ubuntu | askubuntu.com | Specific technical questions (Stack Exchange format) |
| r/linuxquestions | reddit.com/r/linuxquestions | Informal help, broad Linux topics |
| Distro Forums | Search [your distro] forum | Distro-specific issues and customization |
Tips for getting good answers:
- Include your OS version (
lsb_release -a), kernel (uname -r), and hardware (lspci | head -20). - Paste the exact error message, not a paraphrase.
- Mention what you’ve already tried.
- Use code blocks when sharing terminal output.
Cross-References
- password-reset.md — Forgot your login password? Reset via fingerprint shortcut or GRUB recovery mode, and fix the keyring mismatch afterward
- display-server.md — X11 vs. Wayland, switching display servers
- fan-and-power-management.md — Hardware-specific fan control and power tuning
- browser-setup.md — Browser installation and extensions
- package-management-basics.md — APT, PPAs, Snap, Flatpak fundamentals
Discussion