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.
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.
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.
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.
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/
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
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.
You can test the integration in two ways.
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.
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
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"
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.