Installation
Get F2 Commander running on your system
System Requirements
- Operating Systems: Linux, macOS, WSL (Windows Subsystem for Linux)
- Python: Python 3.10 or later
- Terminal: Any modern terminal emulator
- For image preview: Terminal with TGP or Sixel support (e.g., iTerm2, Ghostty, Kitty)
Quick Install
The fastest way to install F2 Commander:
Using pipx (Recommended)
# Install F2 Commander
pipx install f2-commander
# Run it
f2
Using uvx
# One-time run (no installation needed)
uvx --from f2-commander f2
Method 1: pipx (Recommended)
pipx installs Python applications in isolated environments, keeping your system clean.
1. Install pipx
On macOS:
brew install pipx
pipx ensurepath
On Linux (Debian/Ubuntu):
sudo apt update
sudo apt install pipx
pipx ensurepath
On Linux (Fedora):
sudo dnf install pipx
pipx ensurepath
On Linux (Arch):
sudo pacman -S python-pipx
pipx ensurepath
Or with pip (any platform):
python3 -m pip install --user pipx
python3 -m pipx ensurepath
2. Install F2 Commander
pipx install f2-commander
3. Run F2 Commander
f2
After installation, restart your terminal or run source ~/.bashrc (or ~/.zshrc) to update your PATH.
Method 2: uvx
uv is a fast Python package installer and runner. You can use it to run F2 Commander without installing it permanently.
1. Install uv
# On macOS and Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
# Or with pip:
pip install uv
2. Run F2 Commander
# Run without installing:
uvx --from f2-commander f2
# This downloads and runs the latest version each time
Tip: With uvx, you always get the latest version without needing to update manually!
Method 3: From Source
For developers or if you want to run the latest development version:
1. Clone the repository
git clone https://github.com/candidtim/f2-commander.git
cd f2-commander
2. Option A: Install with pipx
# Build the package
uv build
# Install with pipx
pipx install --force dist/f2_commander-*.tar.gz
2. Option B: Run directly with uv
# Run without installing
uv run f2
Optional Dependencies
F2 Commander core functionality works out of the box. However, some features require additional packages:
For Remote File Systems
Different protocols require different fsspec implementation packages. Install them as needed:
| Protocol | Package | Install Command |
|---|---|---|
| AWS S3 | s3fs |
pipx inject f2-commander s3fs |
| Google Cloud Storage | gcsfs |
pipx inject f2-commander gcsfs |
| Azure ADLS | adlfs |
pipx inject f2-commander adlfs |
| Dropbox | dropboxdrivefs |
pipx inject f2-commander dropboxdrivefs |
| Google Drive | gdrivefs |
pipx inject f2-commander gdrivefs |
| SMB/CIFS | smbprotocol |
pipx inject f2-commander smbprotocol |
| WebDAV | webdavfs |
pipx inject f2-commander webdavfs |
| HDFS | fsspec[hdfs] |
pipx inject f2-commander fsspec[hdfs] |
| FTP/FTPS | (built-in) | No installation needed |
| SFTP | (built-in) | No installation needed |
Note: This list is non-exhaustive. See fsspec documentation for more protocols.
The connection dialog in F2 Commander (Ctrl+T) shows which package is needed for each protocol.
For Archive Support
libarchive should be available on most systems. If not:
macOS:
brew install libarchive
Linux (Debian/Ubuntu):
sudo apt-get install libarchive13
Linux (Fedora/RHEL):
sudo dnf install libarchive
Linux (Arch):
sudo pacman -S libarchive
Post-Installation
First Run
Simply run:
f2
Getting Started
- Press ? to see the built-in help
- Press Ctrl+P to open the Command Palette and explore available actions
- Press Ctrl+, to open the Configuration dialog
- Press q to quit
Configuration
F2 Commander creates a configuration file on first run. The location is platform-specific:
- Linux:
~/.config/f2commander/config.json - macOS:
~/Library/Application Support/f2commander/config.json
Updating F2 Commander
With pipx:
pipx upgrade f2-commander
With uvx:
No update needed! uvx always runs the latest version.
From source:
cd f2-commander
git pull
uv build
pipx install --force dist/f2_commander-*.tar.gz
Uninstalling F2 Commander
With pipx:
pipx uninstall f2-commander
Optionally, remove the configuration directory:
# Linux
rm -rf ~/.config/f2commander
# macOS
rm -rf ~/Library/Application\ Support/f2commander
Troubleshooting
Command not found: f2
If you get "command not found" after installation:
- Restart your terminal
- Or run:
source ~/.bashrc(or~/.zshrc) - Ensure pipx's bin directory is in your PATH (run
pipx ensurepath)
Python version issues
F2 Commander requires Python 3.10 or later. Check your version:
python3 --version
If your Python version is too old, you'll need to install a newer version from python.org or your package manager.
Terminal compatibility
F2 Commander works in most terminal emulators. For best experience:
- Use a modern terminal with Unicode support
- For image preview: Use terminals with TGP or Sixel support (iTerm2, Ghostty, Kitty, etc.)
- Ensure your terminal size is at least 88x24 characters
Permission issues
If you encounter permission errors:
- Don't use
sudowith pipx or uvx - Install to user directory (pipx does this by default)
- Ensure you have write permissions to the configuration directory
Archive support not working
If you can't open archives, install libarchive:
# macOS
brew install libarchive
# Linux (Debian/Ubuntu)
sudo apt-get install libarchive13
Still having issues?
Report issues on GitHub Issues with:
- Your operating system and version
- Python version (
python3 --version) - Installation method used
- Error message or description of the problem
Next Steps
Now that you have F2 Commander installed: