How to fix a corrupted VMDK VirtualBox disk image

I was testing a VMDK VirtualBox disk image created as a dynamically sized sparse disk.  And I tested putting data into it to grow its size until my disk ran out of space on the host OS --- while inside the guest OS the disk image still had space.

It crashed and corrupted the VMDK disk image.  And VirtualBox doesn't have a way to fix it.

VMDK is actually a VMWare format.  They have a utility to fix it.

Just download the vdiskmanager from the Attachments section of this page [1].  Then use it as sudo /path/to/vmware-vdiskmanager -R /path/to/broken.vmdk to fix it as documented here [2].

[0] Can I fix corrupted vmdk image? VERR_VD_VMDK_INVALID_HEADER
[1] Repairing a virtual disk in Fusion 3.1 and Workstation 7.1 (1023856)
[2] Repairing a sparse virtual disk in Fusion (1023888)


Migrating to Lubuntu again - tips and fixes

I like Lubuntu, and it just keeps getting better.  My old migration notes is mostly outdated as the new Lubuntu uses LXQt instead of the previous LXDE.  So here's some new things I made note of as I migrate to Lubuntu 19.04:

Time Clock Auto Update Synchronization Problem
Lubuntu uses by default timedatectl as the tool for setting time including synchronization via NTP Network Time Protocol.  It doesn't seem to have much manual controls though, like forcing an update.

You could instead use chrony.

See Keep Your Clock Sync with Internet Time Servers in Ubuntu 18.04  and Ubuntu Docs on Time Synchronization.

It lets you do things like chronyc sources to see the currently available and selected time sources.  Perhaps your network is blocking NTP updates?

Or chronyc sourcestats to see your clock's time offset from the various NTP sources.

You could do a single time offset check, without setting the time: sudo chronyd -Q

Or manually force a time synchronization with: sudo chronyd -q

Screen Saver Lock Screen Madness
There are at least 3 places to set the screen saver / lock screen / sleep settings:
  1. Preferences > LXQt Settings > Session Settings
  2. Preferences > LXQt Settings > Power Management
  3. Preferences > Screensaver
They seem to interact with each other, and each has slightly other settings and uses.

My default Screensaver sometimes ran the CPU real hot, so maybe set that to something less energy intensive first.  I used Deco with settings to reduce framerates.

I'd suggest using Screensaver purely for setting the screensaver and when it turns on.

Set when the screen locks using Power Management (Idle tab).

Use the Session Settings to set whether the screen locks before suspending the OS (I think it defaults to locking after suspending).

Microsoft Fonts

Install ttf-mscorefonts-installer.  Some instructions for this but it's straightforward from the package manager.  Just use sudo apt install ttf-mscorefonts-installer.

Download your own software to get the latest versions
The default package manager using the default Ubuntu software sources are pretty good at keeping up with the versions.  I like doing that most of the time to reduce on maintenance.

Some things are worth the manual install though.

1. LibreOffice is at 6.3, but the default installed version is currently only 6.2.6.  Small difference but 6.3 has major efficiency and compatibility updates!  Actually, you don't need to download and install manually.  Just add this PPA to get the freshest version by doing sudo add-apt-repository ppa:libreoffice/ppa and using your package manager to upgrade.
  • LibreOffice has a extension I rely on a lot:  MultiFormatSave.  Let's me save a document to multiple format at the same time, great for supporting MS Office compatibility.
2.  Google Chrome is self-updating.  I prefer Firefox but anyway, sometimes you need it.

3. Apache NetBeans.  This requires as a dependency the Java JDK at least version 8.  Version 11, the default on Lubuntu right now, works fine so far.
  • And get the "Maven Remote Search" plugin before Netbeans starts downloading and extracting the maven index that's apparently more than 1 GB in size (froze my computer since I have very little disk space...).

File compression archiver tool

The default Ark works fine, but when compressing folders, it likes to compress the entire directory tree from root down to the folder you actually want to compress.  There must be a setting for it in Ark but I can't find it.

So just install file-roller instead from the muon package manager.  The default file explorer PCManFM-Qt has a preferences option to integrate with file-roller instead as well for ease of use.

Markdown editor

I like Ghostwriter so far.  And it could even be installed from the default muon package manager.  Even better!

Basic graphics editing
The default graphics viewer LXImage is actually a bit of a pain to use, especially coming from Mac Preview, which really has a great mix of UI, UX, and editing features for graphics and PDFs...

There's no equivalent to Apple's Preview, but for graphic files, nomacs Image Lounge is pretty good.  nomacs has a UI UX reminiscent of Preview, and has some basic graphics editing features too.

Little more graphics editing features
The default graphics viewer LXImage has some annotation tools, I guess, but nothing more.  nomacs has some more graphics editing features, but I sure miss the Mac Preview tool.

Anyway, ImageMagick or the more updated GraphicsMagick fork is quite useful (but beware it has a very... historic?... dated?... GUI).  It can be installed via the muon package manager, but it doesn't seem to install a default app launcher icon --- well, it's meant to be used from the terminal, but I like to deal with the GUI.

So I added a blank file to ~/.local/share/applications called "GraphicsMagic display.desktop" with the following text saved to it:

[Desktop Entry]
Name=GraphicsMagick display
Comment=GraphicsMagick display
Exec=/usr/bin/gm display %F

Now you can use it like LXImage (in fact, it uses the LXImage icon because, why not?).

If I need more intensive graphics editing, I'll use GIMP.