I have a Python-package that calls Inkscape as part of a conversion process. I have it installed, but through Flatpak. This means that calling inkscape does not work in the terminal, but rather flatpak run org.inkscape.Inkscape. I need the package to be able to call it as inkscape.

What is the best way to go about this?

  • OmnipotentEntity@beehaw.org
    link
    fedilink
    arrow-up
    17
    arrow-down
    1
    ·
    edit-2
    11 months ago

    Put a shell script in your PATH named inkscape with the following content:

    #!/bin/sh
    
    flatpak run org.inkscape.Inkscape
    

    Note that you can use a local folder in your home directory to house small executables and scripts like this, so you don’t have to touch your system config. I generally recommend using something like ~/.local/bin and add it to your PATH via your Shell’s RC file.

      • OmnipotentEntity@beehaw.org
        link
        fedilink
        arrow-up
        12
        ·
        edit-2
        11 months ago

        If you need to pass flags you can use

        flatpak run org.inkscape.Inkscape "$@"
        

        To forward all of the arguments to the script. Note that this might be a bashism, so you might need to change your hash bang to /bin/bash as well. Double check though.

        (An easy way to check if something is working as you assume is just prepend the line with echo.)

        • gnuhaut
          link
          fedilink
          arrow-up
          4
          ·
          11 months ago

          This is not a bashism. It’ll work fine with any sh.