ekzhang / sshx

Fast, collaborative live terminal sharing over the web
https://sshx.io
MIT License
5.82k stars 175 forks source link

[Bug] Cannot inintialize shell with correct path variables on Windows #101

Open cworld1 opened 3 days ago

cworld1 commented 3 days ago

Description

In normal terminal application like Windows terminal, can correctly read user path or system path, but sshx cannot instead.

image

Try other way

I tried pwsh instead of fish, I got a new problem:

image

Process terminated. The type initializer for 'System.Management.Automation.Runspaces.InitialSessionState' threw an exception.
   at System.Environment.FailFast(System.String, System.Exception)
   at Microsoft.PowerShell.UnmanagedPSEntry.Start(System.String[], Int32)       
   at Microsoft.PowerShell.ManagedPSEntry.Main(System.String[])
System.TypeInitializationException: The type initializer for 'System.Management.Automation.Runspaces.InitialSessionState' threw an exception.
 ---> System.ComponentModel.Win32Exception (126): The specified module could not be found.
   at System.Management.Automation.Internal.SecuritySupport.GetSaferPolicy(String path, SafeHandle handle)
   at System.Management.Automation.Security.SystemPolicy.TestSaferPolicy(String testPathScript, String testPathModule)
   at System.Management.Automation.Security.SystemPolicy.GetAppLockerPolicy(String path, SafeHandle handle)
   at System.Management.Automation.Security.SystemPolicy.GetLockdownPolicy(String path, SafeHandle handle)
   at System.Management.Automation.Security.SystemPolicy.GetSystemLockdownPolicy()
   at System.Management.Automation.Runspaces.InitialSessionState..cctor()       
   --- End of inner exception stack trace ---
   at System.Management.Automation.Runspaces.InitialSessionState.CreateDefault2()
   at Microsoft.PowerShell.UnmanagedPSEntry.Start(String[] args, Int32 argc)

And I tried cmd instead, telling me cannot find executable application on the path.

image

ekzhang commented 3 days ago

Thanks for the bug report! I've also seen this happen with Powershell on Windows, and I'm not sure why. It works with cmd.exe though and Git Bash.

Not sure how to set these environment variables properly so that Powershell can boot as a spawned process.