diff --git a/README.md b/README.md index 8fb246c..f70cc48 100644 --- a/README.md +++ b/README.md @@ -150,12 +150,8 @@ Builtin auto-updates are not yet handled in macOS due to unsigned build. ### GNU/Linux -There is a known issue which prevents the app from starting on some Linux distributions: [#231](https://github.com/jitsi/jitsi-meet-electron/issues/231) - If after downloading it, you can't execute the file directly, try running `chmod u+x ./jitsi-meet-x86_64.AppImage` -The workaround for now is to launch the app like so: `./jitsi-meet-x86_64.AppImage --no-sandbox` -
NOTE for old GNU/Linux distributions You might get the following error: diff --git a/linux-sandbox-fix.js b/linux-sandbox-fix.js new file mode 100644 index 0000000..53c2506 --- /dev/null +++ b/linux-sandbox-fix.js @@ -0,0 +1,23 @@ +const fs = require('fs').promises; +const path = require('path'); + +/** + * Workaround for https://github.com/electron-userland/electron-builder/issues/5371 + * + * use as "afterPack": "./linux-sandbox-fix.js" in build section of package.json + */ +async function afterPack({ appOutDir, electronPlatformName, packager }) { + if (electronPlatformName !== 'linux') { + return; + } + + const appName = packager.appInfo.productFilename; + const script = `#!/bin/bash\n"\${BASH_SOURCE%/*}"/${appName}.bin --no-sandbox "$@"`; + const scriptPath = path.join(appOutDir, appName); + + await fs.rename(scriptPath, `${scriptPath}.bin`); + await fs.writeFile(scriptPath, script); + await fs.chmod(scriptPath, 0o755); +} + +module.exports = afterPack; diff --git a/package.json b/package.json index 7a1d587..cd0e08b 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "appId": "org.jitsi.jitsi-meet", "productName": "Jitsi Meet", "generateUpdatesFilesForAllChannels": true, + "afterPack": "./linux-sandbox-fix.js", "files": [ "**/*", "resources", diff --git a/patches/app-builder-lib+22.10.5.patch b/patches/app-builder-lib+22.10.5.patch deleted file mode 100644 index adc0eab..0000000 --- a/patches/app-builder-lib+22.10.5.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/node_modules/app-builder-lib/out/targets/LinuxTargetHelper.js b/node_modules/app-builder-lib/out/targets/LinuxTargetHelper.js -index 0e56a1c..91180fc 100644 ---- a/node_modules/app-builder-lib/out/targets/LinuxTargetHelper.js -+++ b/node_modules/app-builder-lib/out/targets/LinuxTargetHelper.js -@@ -134,7 +134,7 @@ class LinuxTargetHelper { - exec += executableArgs.join(" "); - } - -- exec += " %U"; -+ exec += " --no-sandbox %U"; - } - - const desktopMeta = {