Marlin: A Fast, Low-Resource File Browser for Ubuntu

Marlin: A Fast, Low-Resource File Browser for Ubuntu

How to install and use Marlin file browser on Ubuntu โ€” a lightweight, fast file manager with Miller columns view, colour-coded folders, embedded terminal, and minimal resource usage for quick file navigation.

Tested on: Ubuntu 11.10Ubuntu 12.04 LTS

Every Linux user has a file manager preference, and in 2012 the landscape was dominated by Nautilus โ€” GNOME’s default, capable but increasingly heavy as the GNOME 3 transition bloated it with features that most users never touched. Marlin was the antidote: a file browser built from scratch with exactly two priorities โ€” speed and simplicity. It started as an independent project by ammonkey (Lucas Baudin) and quickly caught the attention of the elementary project, whose design philosophy aligned perfectly with Marlin’s approach. The result was a file manager that opened in under a second, browsed directories with virtually zero latency, used 15-30 MB of RAM, and offered a Miller columns view that made deep directory navigation effortless. This guide covers installing Marlin on Ubuntu 11.10 and 12.04, configuring its views and behaviour, and explaining why it was โ€” for a brief period โ€” the best file browser experience on Linux. We used Marlin as the default file manager on three machines for over a year, and going back to Nautilus afterwards felt like wading through mud. For related elementary project content, see our elementary desktop on Ubuntu 12.04 guide and our elementary OS Freya review.

Marlin file browser in Miller columns view showing a deep directory tree

What Made Marlin Special

Marlin was not simply a stripped-down Nautilus. It was a different application with different architectural decisions:

  • GTK3 from the start โ€” while Nautilus was transitioning from GTK2 to GTK3, Marlin was built natively for GTK3, using the newer toolkit’s CSS theming and hardware-accelerated rendering.
  • Granite widget library โ€” Marlin used elementary’s Granite library, which provided polished, opinionated widgets. The breadcrumb path bar, for instance, was a Granite component that allowed both breadcrumb navigation and direct path editing.
  • Miller columns โ€” the signature view mode. Directories are displayed as cascading columns, with each column showing the contents of the selected folder in the previous column. This pattern (borrowed from macOS Finder) makes navigating deep directory hierarchies dramatically faster than the single-pane approach.
  • Lazy loading โ€” Marlin loaded directory contents asynchronously and rendered them as they arrived, rather than waiting for the entire listing to complete. On directories with thousands of files, this meant the UI never froze.
  • Minimal dependencies โ€” no Python extensions, no D-Bus services running in the background, no tracker/miner indexing. Marlin started fast and stayed fast.

Prerequisites

  • Ubuntu 11.10 (Oneiric) or Ubuntu 12.04 LTS (Precise)
  • An internet connection for PPA access
  • GTK3 libraries (installed by default on Ubuntu 11.10+)

Step-by-Step Installation

Step 1: Add the Marlin PPA

Marlin was distributed through the elementary project’s daily PPA:

sudo add-apt-repository ppa:elementary-os/daily
sudo apt-get update

Step 2: Install Marlin

sudo apt-get install marlin

The download was small โ€” typically under 5 MB for the application itself, plus GTK3 and Granite dependencies if not already installed.

Step 3: Launch Marlin

Open Marlin from the application menu (look under Accessories or System Tools) or from the terminal:

marlin &

Marlin opens to your home directory by default.

Step 4: Set Marlin as the Default File Manager

To make Marlin handle all file manager duties:

xdg-mime default marlin.desktop inode/directory application/x-gnome-saved-search

This makes Marlin open when you double-click folders on the desktop, click “Files” in the application menu, or open a directory from any application’s file dialog (though file dialogs use GTK’s built-in file chooser, which is separate).

Step 5: Explore the Interface

Marlin’s interface is clean and uncluttered:

Breadcrumb path bar โ€” at the top. Click any breadcrumb segment to navigate to that directory. Click the path bar’s empty area (or press Ctrl+L) to type a path directly.

Sidebar โ€” on the left. Shows bookmarks, devices, and network locations. Drag folders from the content area to the sidebar to create bookmarks.

Content area โ€” the main area showing files and directories. Three view modes are available:

  • Icon view โ€” grid of file/folder icons (Ctrl+1)
  • List view โ€” detailed list with columns for name, size, type, modified date (Ctrl+2)
  • Miller columns โ€” cascading column view (Ctrl+3)

Status bar โ€” at the bottom. Shows the number of items in the current directory and free space on the filesystem.

Marlin interface showing sidebar, breadcrumb path bar, and icon view

Step 6: Configure Preferences

Marlin’s preferences were minimal by design. Access them through Edit โ†’ Preferences or:

marlin --preferences

Key settings:

  • Default view โ€” choose between Icon, List, or Miller Columns as the default view for new windows
  • Show hidden files โ€” toggle visibility of dotfiles (also available with Ctrl+H)
  • Single click to open โ€” enable single-click navigation (disabled by default)
  • Date format โ€” choose between locale default, ISO 8601, or informal

Step 7: Using Miller Columns Effectively

Miller columns were Marlin’s killer feature. Here is how to use them efficiently:

  1. Switch to Miller Columns view with Ctrl+3
  2. Click a directory to show its contents in the next column
  3. Keep clicking deeper directories โ€” each appears as a new column to the right
  4. The path bar updates to reflect the deepest selected item
  5. Use arrow keys: Right to enter a directory, Left to go up, Up/Down to navigate within a column
  6. The view automatically scrolls horizontally to keep the active column visible

For file system administration, navigating from / through /etc/apache2/sites-available/ takes about two seconds in Miller columns โ€” click, click, click, click, done. In Nautilus’s single-pane view, the same navigation required five separate directory loads with visible latency between each.

Advanced Usage

Embedded Terminal

Marlin supported an embedded terminal pane (similar to Nautilus’s terminal extension). Press F4 to toggle it. The terminal automatically changes directory to match the current file browser location โ€” navigate to a directory in the file browser, and the terminal follows.

This was incredibly useful for tasks that combined file browsing with command-line operations: navigating to a project directory visually, then running make or git status in the embedded terminal without switching windows.

Colour-Coded Folders

Marlin allowed colour-tagging folders by right-clicking and selecting a colour from the context menu. Colours were stored as extended file attributes, so they persisted across sessions. This was a small feature but surprisingly useful for visual organisation โ€” tag project folders as blue, archive folders as grey, active work as green.

Batch Operations

Select multiple files (Ctrl+Click or Shift+Click) and use the context menu for batch operations:

  • Move to Trash
  • Copy/Move (with Ctrl+C / Ctrl+X and Ctrl+V)
  • Open with a specific application
  • Properties (shows aggregate size for multiple selections)

Common Pitfalls

Marlin conflicts with Nautilus for desktop icon management. On Ubuntu, Nautilus typically manages desktop icons. If both Marlin and Nautilus are installed, and you set Marlin as the default file manager, Nautilus may still try to manage the desktop. Disable Nautilus desktop management: gsettings set org.gnome.desktop.background show-desktop-icons false. If you want desktop icons, Marlin did not have built-in desktop management โ€” you needed either Nautilus or a standalone desktop icon manager like PCManFM.

Marlin crashes on certain directories. Early Marlin builds occasionally crashed when encountering symlink loops or directories with unusual permissions. If Marlin crashes reliably on a specific directory, check for broken symlinks: find /path/to/directory -type l -xtype l and remove or fix them.

Miller columns view cuts off long filenames. Column widths were auto-calculated based on available window width. On smaller screens (1366ร—768 was common in 2012), deep directory trees could result in very narrow columns. Resize the window wider, or use the horizontal scrollbar. There was no option to set minimum column widths.

PPA conflicts with other elementary components. The elementary daily PPA included many packages beyond Marlin. If you only wanted Marlin without other elementary components, install it specifically and be cautious with apt-get upgrade โ€” it may pull in unwanted elementary desktop components. Use apt-get install --no-install-recommends marlin to minimise dependency pull-in.

File operations are silent on failure. Marlin’s copy/move error handling was minimal in early versions. If a copy operation failed (permissions, disk full, network timeout), the error message was sometimes absent or vague. Check the terminal output if you launched Marlin from a terminal, or verify file operations completed by checking destination directories manually.

Miller columns view navigating deep into /etc/apache2 configuration directories

Marlin’s Legacy

Marlin had a short independent life โ€” roughly 2011 to 2013 โ€” before being absorbed into the elementary project as Pantheon Files. But its impact was significant. It proved that a file manager could be both minimal and powerful, that Miller columns belonged on Linux desktops, and that the Nautilus approach of adding features until the application slowed down was not the only path. Every time you use elementary OS’s Files application today, you are using Marlin’s descendant. And if you were there in 2012, navigating your filesystem at the speed of thought in those cascading columns, you know that sometimes the best tool is the one that gets out of your way.

Frequently Asked Questions

What happened to Marlin?
Marlin was eventually merged into the elementary OS project and became the basis for Pantheon Files (later renamed simply Files). The standalone Marlin project ceased development around 2013 as the elementary team focused on their integrated file manager. The DNA of Marlin lives on in elementary OS’s Files application.
How does Marlin compare to Nautilus?
Marlin was significantly faster than Nautilus for directory browsing, especially with large directories (1000+ files). It used less memory (typically 15-30 MB vs Nautilus’s 40-80 MB), started faster, and rendered file listings with less latency. Nautilus had more features โ€” extensions, custom scripts, bulk renaming โ€” but Marlin prioritised speed and simplicity.
Does Marlin support network locations (SFTP, SMB)?
Marlin had basic support for network locations through GIO/GVFS, the same backend Nautilus uses. SFTP, FTP, and SMB shares could be accessed via the path bar by typing the URI (e.g., sftp://user@host/path). Performance on network locations was acceptable but less optimised than local file browsing.
Can Marlin be set as the default file manager?
Yes. Set it with ‘xdg-mime default marlin.desktop inode/directory application/x-gnome-saved-search’. This makes Marlin handle all directory-opening actions, including double-clicking folders on the desktop and clicking file manager entries in application menus.
Does Marlin support tabs?
Yes. Marlin supported tabs from early versions. Ctrl+T opens a new tab, Ctrl+W closes the current tab, and you can drag tabs to reorder them. Combined with the Miller columns view, tabs made Marlin extremely efficient for navigating multiple directory trees simultaneously.