Electron-builder: Is there a way to disable the "integrate $APPIMAGE with your system" prompt for linux deploys?

Created on 18 Aug 2017  Â·  26Comments  Â·  Source: electron-userland/electron-builder


  • 19.22.1:

  • linux:


Is there a way to disable the prompt "Would you like to integrate $APPIMAGE with your system?" for linux builds?

https://github.com/electron-userland/electron-builder/blob/master/packages/electron-builder/templates/linux/AppRun.sh#L165

I'm trying to create an automated deploy/run process for linux-powered kiosks, and this prompt requires a human to be present at each kiosk to click yes/no.

AppImage feature

Most helpful comment

To disable — create file $HOME/.local/share/appimagekit/no_desktopintegration

All 26 comments

Oh -- do we just need to have one of these files touched?

# Exit immediately of one of these files is present
# (e.g., because the desktop environment wants to handle desktop integration itself)
check_prevent "$HOME/.local/share/$VENDORPREFIX/no_desktopintegration"
check_prevent "/usr/share/$VENDORPREFIX/no_desktopintegration"
check_prevent "/etc/$VENDORPREFIX/no_desktopintegration"

https://github.com/electron-userland/electron-builder/blob/master/packages/electron-builder/templates/linux/AppRun.sh#L100

@y3sh I will add build option to skip this prompt today (~several hours).

19.24.0

    "appImage": {
      "systemIntegration": "doNotAsk"
    }

Tested... works perfect. I appreciate that fast turnaround!

If you are managing the linux-powered kiosks, you could also set a setting on the system that would prevent _all_ such questions from appearing. Now I'm curious, is your linux-powered kiosk project publicly available?

It's a private project. That's a good point, but I like the setting develar provided for when we roll out to different linux distros I don't have to go and disable this per each flavor of linux.

Can I have this configuration for all AppImages I start by default, by saving it to a configuration file in my home directory? I couldn't find whether that's documented.

Sorry, I was asking as a final user of an AppImage I got, not as an AppImage builder. I don't system integrate the AppImage, and it keeps me asking about system integration any time I start it, I just wished to mute that.

If asked every launch — it is bug. Please run in terminal and attach here terminal output.

Set env APPIMAGE_SILENT_INSTALL=true in your user env to always perform silent installation.

@develar I just want a silent execution, without having to install the .AppImage. Do you mean APPIMAGE_SILENT_INSTALL=true will system integrate without asking?

For what is worth, I'm running Steam ROM Manager, and terminal output is empty. I always have to click NO for system integration when I start it.

To disable — create file $HOME/.local/share/appimagekit/no_desktopintegration

@develar OK, thanks for the info.

@develar

create file $HOME/.local/share/appimagekit/no_desktopintegration

Does it also work for all users with /usr/share/appimagekit/no_desktopintegration?

Yes. (At least it _should_.)

I check and it does. Perfect, thanks!

To disable — create file $HOME/.local/share/appimagekit/no_desktopintegration

It does not work.

@probonopd

Please, let us disable the annoying and repetitive startup dialog in Manjaro! Stop of forcing us to integrate the apps into the system!

{
  "appImage": {
    "systemIntegration": "doNotAsk"
  }
}

@gusbemacbe Just set systemIntegration See https://www.electron.build/configuration/appimage

@develar

I do not develop AppImages. I do not have electron and npm installed. May I install them?

@gusbemacbe Hmm... this repo about electron-builder.

@develar Hum, let @probonopd know.

@probonopd

Please, let us disable the annoying and repetitive startup dialog in Manjaro! Stop of forcing us to integrate the apps into the system!

I agree. I would recommend to get rid of the desktop integration wrapper bash script inside the AppImages produced by electron-builder entirely. In the AppImage project, we have long stopped using such scripts.

Users who want desktop integration can use the optional appimaged daemon (or third-party solutions like AppImageLauncher).

@gusbemacbe I am not sure my answers satisfies your needs; can you be more explicit what the AppImage project could/should do? If you are a user of Manjaro and don't want to see integration questions, then you could

  • Install the optional appimaged daemon; Electron apps will no longer ask the question (but will be integrated automatically), OR
  • Create file $HOME/.local/share/appimagekit/no_desktopintegration, OR
  • Create file $HOME/usr/share/appimagekit/no_desktopintegration, OR
  • Create file `$HOME/etc/appimagekit/no_desktopintegration``

If this does not work, then it is a bug.

Or does your system by any chance have AppImageLauncher running? Do you have a $HOME/.config/appimagelauncher.cfg file? In this case, uninstalling AppImageLauncher __and__ doing the above will remove the dialogs.

Is it possible to have an environment variable? I like the desktop integration feature, however when running AppImages in shell scripts I need for the dialog to not appear and for them not to be installed.

Maybe something like:

APPIMAGE_DO_NOT_INSTALL=1 ./SomeFile.AppImage

Please see

https://github.com/AppImage/AppImageKit/blob/076a88a57d7ca1a8d77bdbf7d8e92f37eea03dab/desktopintegration#L133-L145

It _should_ not attempt desktop integration if

  • a file called no_desktopintegration is present in one of the three locations
  • a process called appimaged is running
  • the environment variable DESKTOPINTEGRATION is not empty
Was this page helpful?
0 / 5 - 0 ratings