That's what we are talking about. You can put your own
firefox.desktop file in ~/.local/share/applications/ and it will
supersede the package installed version of the file. I've found
just about everything in linux has a similar directory hierarchy so
you have control over a complete system and/or individual program by
putting alternative versions of config files in their proper places.
On 3/22/21 6:40 PM, Michael Butash via
PLUG-discuss wrote:
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.