On 2017-10-26 10:13, Brian Inglis wrote: > On 2017-10-25 15:18, Thomas Wolff wrote: >> Am 25.10.2017 um 20:30 schrieb Brian Inglis: >>> On 2017-10-25 11:27, Brian Inglis wrote: >>>> On 2017-10-25 00:29, Thomas Wolff wrote: >>>>> Am 25.10.2017 um 00:19 schrieb Angelo Graziosi: >>>>>> Thomas Wolff wrote: >>>>>>> Mintty 2.8.0 simplifies WSL integration a lot. >>>>>>> In Cygwin, you can simply start e.g. mintty --WSL=Ubuntu (add -~ to >>>>>>> start in >>>>>>> the WSL home). >>>>>> Does it mean that 2.8.0 does not need wslbridge [*] any more? >>>>> No, sorry, I forgot to mention that wslbridge would have to be installed >>>>> in /bin to make this work. >>>> As it is not a Cygwin package, I have installed wslbridge in >>>> /usr/local/bin/, >>>> which is in the system Path in Windows format, so also in the Cygwin path >>>> in >>>> Unix format - will this work? >>> Would a symlink, winsymlink, or .lnk as /bin/wslbridge to /usr/local/bin/? >> Why don't you just try it? Both wslbridge and wslbridge-backend must reside >> in >> /bin, hard links will work of course. > > It looks like without the Fall Update --WSL= does not work with either > no/default distribution found, and the same result with a variety of obvious > names: > > $ mintty --WSL > Option '--WSL' requires an argument > $ mintty --WSL= > WSL distribution '' not found > Try '--help' for more information > $ mintty --version > mintty 2.8.0 (x86_64-pc-cygwin) > © 2013/2017 Andy Koppe / Thomas Wolff > License GPLv3+: GNU GPL version 3 or later > There is no warranty, to the extent permitted by law. > $ uname -srvmo > CYGWIN_NT-10.0 2.9.0(0.318/5/3) 2017-09-12 10:18 x86_64 Cygwin > > but --help does not even mention --WSL=, and the man page mentions wslconfig > which is not installed on the system. > > On a legacy install, the only reg values available are: > > $ ls -FR > /proc/registry/HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/Lxss/ > /proc/registry/HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/Lxss/: > DefaultGid DefaultUid DefaultUsername State > > $ regtool -lpv list \\HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Lxss > DefaultUsername (REG_SZ) = "..." > DefaultUid (REG_DWORD) = 0x000003e8 (1000) > DefaultGid (REG_DWORD) = 0x000003e8 (1000) > State (REG_DWORD) = 0x00000001 (1) > > It would be nice if --WSL did the right thing for legacy installs also. > > The problem seems to be in winmain.c on a legacy install, there is no guid, > and > no BasePath, so you return false.
(in getlxssinfo and getlxssdistinfo) > If the distro name wslname is null or empty, or no DefaultDistribution, > distribution subkeys, guid, BasePath, or PackageFamilyName, you should take > the > else legacy path, and fake the guid, fake the BasePath variable bp to > W("%LOCALAPPDATA%\\lxss") and PackageFamilyName variable pn to Bash, and maybe > also the distro and wslname to Bash. > > Also for longopts --WSL should allow an optional_argument, as there should be > no > distinction between --WSL and --WSL=, they should be parsed as if they were > --WSL[[ =][distro]], and optional arguments omitted either way, with following > options also terminating the argument scan. > > I can raise these as issues on github if you prefer to track there? -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple