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.

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.

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:
- Switch to Miller Columns view with Ctrl+3
- Click a directory to show its contents in the next column
- Keep clicking deeper directories โ each appears as a new column to the right
- The path bar updates to reflect the deepest selected item
- Use arrow keys: Right to enter a directory, Left to go up, Up/Down to navigate within a column
- 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.

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.