margorski / exodos-launcher

Launcher for eXoDOS. Basic and forked from Flashpoint Launcher repository (https://github.com/FlashpointProject/launcher)
https://exodos.the-eye.us
MIT License
35 stars 4 forks source link

exogui failing to launch in Ubuntu (24.04 LTS - Noble) while using eXoDOS collection on external NTFS drive #39

Closed r3mowilliams closed 3 weeks ago

r3mowilliams commented 4 weeks ago

Note: external drive mount is as follows, this is the default mount there is no specific fstab entry.

[/dev/sda2 on /media/yourname/20TB2 type ntfs3 (rw,nosuid,nodev,relatime,uid=1000,gid=1000,iocharset=utf8,uhelper=udisks2)](url)

Steps to recreate issue and functioning workaround

Copy eXoDOS to external NTFS drive, attach drive to Ubuntu machine run install_dependencies.command and Setup eXoDOS.command scripts - scripts complete without error

Note that desktop icon not executable

Icon is now executable

Execute from icon - observe that nothing happens

Open shell go to eXoDOS external drive mount location run ./exogui.command - receive the following error:

[21938:0818/140119.331405:FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /media/yourname/yourdrive/eXoDOS/exogui/chrome-sandbox is owned by root and has mode 4755.

Execute commands as asked

sudo chown root /media/yourname/yourdrive/eXoDOS/exogui/chrome-sandbox
sudo chmod 4755 /media/yourname/yourdrive/eXoDOS/exogui/chrome-sandbox

run ./exogui.command - receive the following error:

The setuid sandbox is not running as root. Common causes:
  * An unprivileged process using ptrace on it, like a debugger.
  * A parent process set prctl(PR_SET_NO_NEW_PRIVS, ...)
Failed to move to new namespace: PID namespaces supported, Network namespace supported, but failed: errno = Operation not permitted
[22671:0818/140258.485751:FATAL:zygote_host_impl_linux.cc(202)] Check failed: . : Invalid argument (22)

Workaround to fix issues:

copy exogui directory to ~/eXoDOS/exogui

sudo chown root /home/yourname/eXoDOS/exogui/chrome-sandbox
sudo chmod 4755 /home/yourname/eXoDOS/exogui/chrome-sandbox

In external drive mount location execute following to link eXoDOS external drive directories to ~/eXoDOS/ for d in */ ; do d=${d%*/} ; ln -s ${PWD}/$d ~/eXoDOS/$d ; done

from ~/eXoDOS/exogui, execute exogui - Success

parricc commented 4 weeks ago

Not sure why this is happening. I'm unable to replicate. I tested exogui successfully with an NTFS drive mounted using the ntfs-3g driver on Ubuntu 22.04.4 LTS, and it worked as expected.

Talking to r3mowilliams, he had the NTFS drive mounted with the ntfs3 instead of ntfs-3g (the fuseblk driver). I had him retest (with a fresh reinstall) using ntfs-3g, but the same issue occurred.

parricc commented 3 weeks ago

Wondering if adding the --no-sandbox option will fix this. I've asked r3mowilliams to try that and report back.

r3mowilliams commented 3 weeks ago

Adding the --no-sandbox option does indeed work :)

With eXoDOS mounted from a remote Windows share I've launched exogui successfully directly from terminal and via modified exogui-command script.