====== Tutorial: Open Second Life SLURLs in Firestorm from Brave on Linux Mint ======
This tutorial shows you how to make ''secondlife:'' links (SLURLs) opened in the Brave browser launch your user-installed Firestorm Viewer on Linux Mint.
All steps are done in your home directory, no root access is required.
===== Prerequisites =====
Before you start, you should have:
Linux Mint with a graphical desktop
Brave browser installed
Firestorm Viewer installed in your home directory (user-local, not system-wide)
Basic ability to use a terminal
If you do not know where Firestorm is installed, you can find it later in this tutorial.
===== Step 1 – Find your Firestorm installation path =====
If you already know the exact path to your Firestorm executable (for example ''/home/USERNAME/Firestorm/firestorm''), you can skip to Step 2.
Otherwise, search for it in your home directory:
find ~ -maxdepth 4 -type f -name firestorm 2>/dev/null
Look for a path that ends with ''firestorm'', for example:
/home/USERNAME/Firestorm/firestorm
Note this path, you will need it in the next step.
===== Step 2 – Create the SLURL handler script =====
In this step, you create a small script that receives a SLURL and passes it to Firestorm.
Open a terminal and run:
mkdir -p ~/.local/bin
nano ~/.local/bin/firestorm-slurl
Insert the following content (adjust the path in the ''FIRESTORM'' line):
#!/bin/bash
Path to your Firestorm executable (adjust if needed)
FIRESTORM="$HOME/Firestorm/firestorm"
Pass the SLURL (first argument) to Firestorm
"$FIRESTORM" --slurl "$1"
If your Firestorm is in a different location, change the line:
FIRESTORM="$HOME/Firestorm/firestorm"
for example to:
FIRESTORM="$HOME/Programs/Firestorm/firestorm"
Save the file and exit the editor, then make the script executable:
chmod +x ~/.local/bin/firestorm-slurl
Quick test:
You can test the script directly:
~/.local/bin/firestorm-slurl "secondlife://Ahern/128/128/30"
If Firestorm starts or opens the location, the script works.
===== Step 3 – Create the desktop entry for the protocol handler =====
Now you tell the desktop environment that there is an application that can handle the ''secondlife:'' protocol.
Create the desktop entry:
mkdir -p ~/.local/share/applications
nano ~/.local/share/applications/firestorm-slurl.desktop
Insert the following content (replace ''USERNAME'' with your actual username):
[Desktop Entry]
Name=Firestorm SLURL Handler
Exec=/home/USERNAME/.local/bin/firestorm-slurl %u
Type=Application
Terminal=false
MimeType=x-scheme-handler/secondlife;
Example:
Exec=/home/miko/.local/bin/firestorm-slurl %u
Save the file and update the desktop database:
update-desktop-database ~/.local/share/applications/
===== Step 4 – Register the ''secondlife:'' protocol handler =====
Now you connect the ''secondlife:'' protocol with your new desktop entry using ''xdg-mime'':
xdg-mime default firestorm-slurl.desktop x-scheme-handler/secondlife
This tells the system:
“Whenever a ''secondlife:'' link is opened, use ''firestorm-slurl.desktop''.”
Optional check:
xdg-mime query default x-scheme-handler/secondlife
The output should be:
firestorm-slurl.desktop
===== Step 5 – Configure Brave to allow external protocol handlers =====
Now you configure Brave so it is allowed to hand off ''secondlife:'' links to the system handler.
Open Brave and in the address bar enter:
brave://settings/handlers
Make sure:
Allow sites to ask to become default handlers for protocols is enabled.
If you see ''secondlife'' listed under “Blocked” or similar, remove it from the blocked list.
The next time you click a ''secondlife:'' link in Brave, it should ask whether Brave may open such links with an external application. Choose Allow.
===== Step 6 – Test the complete setup =====
You can test the integration in two ways.
==== Test from the terminal ====
Run:
xdg-open "secondlife://Ahern/128/128/30"
Expected result:
Firestorm starts (or uses the running instance)
The SLURL opens inside Firestorm
If this works, your system-level handler is correctly configured.
==== Test from Brave ====
Create or open a page with a link like:
secondlife://Ahern/128/128/30
Click the link in Brave.
Expected behavior:
Brave may ask for permission to open this type of link → choose Allow
Firestorm opens and goes to the specified location
===== Troubleshooting =====
==== Firestorm does not start (file not found) ====
If you see an error like:
File or directory not found
then the path in your script is wrong.
Re-run the search:
find ~ -maxdepth 4 -type f -name firestorm 2>/dev/null
Update the line in ''~/.local/bin/firestorm-slurl'':
FIRESTORM="FULL/PATH/TO/firestorm"
Test again:
~/.local/bin/firestorm-slurl "secondlife://Ahern/128/128/30"
==== Brave opens a new tab or window instead of Firestorm ====
If Brave opens a new browser window or tab instead of Firestorm, check:
The desktop entry is correct and contains your real username.
The handler is registered:
xdg-mime query default x-scheme-handler/secondlife
It should output:
firestorm-slurl.desktop
Brave is allowed to use protocol handlers:
Open ''brave://settings/handlers''
Ensure protocol handlers are allowed
Remove any blocked ''secondlife'' entries
After adjusting, restart Brave and test again.