You know, I fscking hate this between distros, but for arch on mine, it's /usr/share/applications/firefox.desktop, and every time I update it resets to defaults I hate. I keep a copy of firefox.desktop as I need a menu to create a "choose profile" menu for firefox when I need many profiles for different customers, all with their own needs like different google and microsith profiles for orfice365. Make sure you're hitting the right file for the distro as different from deb/ubuntu/mint.
I'd say copy a working entry outside where you find the *.desktop files, and just replace what works in a remote location to upgrade when your dist. Firefox is the only thing to overwrite and piss me off every time that I know to copy this when I update. I normally just right click and do "Choose profile" for firefox for the plethora of profiles, adding that option to my firefox.desktop file, but apparently I'm the only person to do this, so shenanigans needed. Same as yours I presume. Start with a working one at least.
I need to play with this some, as I'd love to relaunch my 6-7 firefox profiles automatically, and not screw with my options to launch manually. I'm sure there are easier ways to do this normally, but I'm lazy to do so. /me shrugs
Thank you. The original goal was to add it to the menu in Pop OS. I'll look again, but don't recall seeing it after I created it in ~/.local/share/applications. Do I need to use "--register-app" to add it, or should it just show up?
A desktop file is standardized configuration file for Linux desktops
that describe how to represent a program in the menus (complete with
multiple language support), and how to launch it. So you can't just
launch it directly because it doesn't mean anything to the command
line. It should however be showing up in your menus now and so you
can put it in your favorites and easily launch it that way.
That being cause, you can kinda turn it into an executable by adding
something like the following to the very top of the desktop file:
#!/usr/bin/kioclient5 exec
That will tell the system to execute the desktop file with
kioclient... of course you need to be running KDE for that to work
correctly. I'm not sure what the GNOME equivalent of that command
is.
Personally I would just pretty alt+F2 or alt+space may work as well
and just start to type "Sandboxed Web Browser" and you may only
have to type Sand or so before you can press enter and have it
launch.
Alternatives to starting it from the command line:
Create a file called sandfox in /usr/local/bin/ and put the
following into it.
#!/bin/bash
/usr/bin/firejail --apparmor firefox $@
Then set it to be executable and then you can execute sandfox from
anywhere.
You could also set and alias with:
alias sandfox="/usr/bin/firejail --apparmor firefox"
That will allow you to type sandfox and internally it will replace
that with "/usr/bin/firejail --apparmor firefox". That should also
work in most places equally well, but only for your username.
That's a one shot way of making that available. If you want it to
be permanent you'll need to add that line to your .bashrc file with:
echo alias sandfox='"/usr/bin/firejail --apparmor firefox"'
>>~/.bashrc
I can't remember what your original goals were, so I hope the above
isn't completely shooting the dark.
Brian Cluff
On 3/19/21 10:25 PM, Steve B via
PLUG-discuss wrote:
I took Brian's recommendation and created a file in
~/.local/share/applications called sandfox.desktop. Contents
of that file are:
I have it set to executable but when i try to run it
"./sandfox.desktop" I get the error:
./sandfox.desktop: line 1: [Desktop: command not found
./sandfox.desktop: line 5: --apparmor: command not found
./sandfox.desktop: line 6: Web: command not found
Is my file misconfigured or what do I not have correct?
Under debian based distros, overriding an overwrite of
ANY installed file is easily done.
There's a really cool tool called dpkg-divert that the
system uses to take whatever files would normally be
installed and steer them into a different place so that
you can put your own version of the file in the same place
without fear of it going away on the next update.
Just do:
dpkg-divert --add --rename
/usr/share/applications/firefox.desktop
In this case, that would be the overkill and less correct
way of handing the problem. A better way would be to put
your own version of the firefox.desktop into certain
directories and that cause it to override the system
version of the config. Put them in
~/.local/share/applications/ to change an individual user
and /usr/local/share/applications/ to effect
every user on the system.