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.

According to the spec (https://specifications.freedesktop.org/desktop-entry-spec/latest/index.html) the order that the .desktop files are searched for is in $XDG_DATA_DIRS and the first one found is used.

Brian Cluff

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

-mb


On Mon, Mar 22, 2021 at 11:31 AM Steve B via PLUG-discuss <plug-discuss@lists.phxlinux.org <mailto:plug-discuss@lists.phxlinux.org>> wrote:

    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?

    On Sat, Mar 20, 2021, 10:30 PM Brian Cluff via PLUG-discuss
    <plug-discuss@lists.phxlinux.org
    <mailto:plug-discuss@lists.phxlinux.org>> wrote:

        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:

        [Desktop Entry]
        Encoding=UTF-8
        Type=Application
        Icon=/home/steve/Pictures/firejailed_firefox128.png
        Exec=/usr/bin/firejail --apparmor firefox
        Name=Sandboxed Web Browser
        Terminal=false

        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?



        On Fri, Dec 25, 2020 at 5:47 PM Brian Cluff via PLUG-discuss
        <plug-discuss@lists.phxlinux.org
        <mailto:plug-discuss@lists.phxlinux.org>> wrote:

            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.

            Brian Cluff


        ---------------------------------------------------
        PLUG-discuss mailing list -PLUG-discuss@lists.phxlinux.org  
<mailto:PLUG-discuss@lists.phxlinux.org>
        To subscribe, unsubscribe, or to change your mail settings:
        https://lists.phxlinux.org/mailman/listinfo/plug-discuss  
<https://lists.phxlinux.org/mailman/listinfo/plug-discuss>

        ---------------------------------------------------
        PLUG-discuss mailing list - PLUG-discuss@lists.phxlinux.org
        <mailto:PLUG-discuss@lists.phxlinux.org>
        To subscribe, unsubscribe, or to change your mail settings:
        https://lists.phxlinux.org/mailman/listinfo/plug-discuss
        <https://lists.phxlinux.org/mailman/listinfo/plug-discuss>

    ---------------------------------------------------
    PLUG-discuss mailing list - PLUG-discuss@lists.phxlinux.org
    <mailto:PLUG-discuss@lists.phxlinux.org>
    To subscribe, unsubscribe, or to change your mail settings:
    https://lists.phxlinux.org/mailman/listinfo/plug-discuss
    <https://lists.phxlinux.org/mailman/listinfo/plug-discuss>


---------------------------------------------------
PLUG-discuss mailing list - PLUG-discuss@lists.phxlinux.org
To subscribe, unsubscribe, or to change your mail settings:
https://lists.phxlinux.org/mailman/listinfo/plug-discuss

---------------------------------------------------
PLUG-discuss mailing list - PLUG-discuss@lists.phxlinux.org
To subscribe, unsubscribe, or to change your mail settings:
https://lists.phxlinux.org/mailman/listinfo/plug-discuss

Reply via email to