pharo-project / pharo-launcher

Lets you manage your pharo images and download new ones
https://pharo-project.github.io/pharo-launcher/
MIT License
109 stars 46 forks source link

"Launch image from a login shell" doesn't work if the user has a non-POSIX shell #577

Open lolomokakus opened 2 years ago

lolomokakus commented 2 years ago

Describe the bug I dediced to try out Pharo for the first time today, but I couldn't get it to launch. After looking at the log it appears you launch images by running a POSIX shell command, without actually making sure you're running it in a compatible shell. In my case, my shell is set to xonsh, so the command doesn't work. You should probably make sure you're using a POSIX-compatible shell like sh.

To Reproduce Steps to reproduce the behavior:

  1. Set your user's shell to something like fish or xonsh
  2. Try to launch an image

Expected behavior The image should launch. Instead, nothing happens.

Version information:

Expected development cost Probably takes like 5 minutes to fix lol

lolomokakus commented 2 years ago

Fiddled around with it a bit more and found it works with the "Launch image from a login shell" disabled. This basically solves my problem, although if you need to access the shell environment I guess that won't work.

dallinjdahl commented 2 years ago

I have the same issue, but it wasn't fixed by disabling login shell launch. I fixed it by adding a posixShellCommand: to OSSUnixSubProcess, and then invoking that in PhLProcessWrapper>>visitUnix:. I think if the launch process requires a posix shell, it should invoke it directly, or at least have an option to support that.