Migrating a Business to Linux — 6

Two days after placing our first two Linux laptops into the field, the company owner notified me that he could not use the bench laptop to download config files from the office NAS to configure an embedded device.

He was using Firefox. The Firefox file picker dialog would not show the shared folders but showed all other locations defined in .gtk-bookmarks.

In addition to local directories, I had preconfigured $HOME/.gtk-bookmarks with a handful of shared Samba folders from the NAS. These bookmarks used GVFS and the smb:// protocol. They worked great with the Caja file manager, but the file picker dialog did not include those external bookmarks.

I tested Chrome. Same results. Because both apps are built with the GTK3 tool kit, I began searching for GTK3 clues.

Apparently this bug has been around for a long time. The bug first appeared with GTK2 and eventually was resolved. The bug reappeared with GTK3. Firefox and Chrome are now built against GTK3 and not GTK2.

Short term there is no way to fix the GTK3 file picker problem. Long term the fix is coming.

I configured the NAS to support NFS. I configured the laptops and images to use the NFS shares rather than use GVFS and Samba.

A challenge with NFS is ensuring the networking is active and connected before mounting the NFS shares. In our work flow, we do not want the field laptops to connect to the office NAS unless directly connected to the office subnet. The bench laptop remains at the test bench all the time and should be configured to auto-connect to the office subnet.

Future Linux workstations will be connected by Ethernet and should be configured to auto-connect. Although NetworkManager can be used in a stationary and static workstation, I see no point and prefer to use /etc/network/interfaces.

That left resolving two use cases, both with the mobile laptops.

Browsing the web indicates mounting NFS shares on mobile systems to be a common challenge, especially with wireless. Trying to mount NFS shares before networking is functional will stall the boot. There are several strategies discussed online to work around this problem.

Another challenge is NFS is notoriously known for hanging a system when the NFS server connection is lost. That means a system must be configured to unmount NFS shares before powering down or rebooting.

The bench laptop is almost like a workstation. Stationary with respect to location, which is always in the office subnet. The sole difference is the laptop might be connected with Ethernet or wireless. NetworkManager is needed but unlike the field laptops, should auto-connect at boot.

Using /etc/fstab establishes mount points and using the noauto option avoids boot stalls. I opted for a NetworkManager dispatcher script. The script would ping test the office NAS. If available mount the NFS shares. If not then do nothing. Likewise with powering down or rebooting.

Posted: Category: Usability Tagged: General, Migrate, Ubuntu

Next: Package Dependencies

Previous: GUI File Manager Drag-and-Drop