-
Notifications
You must be signed in to change notification settings - Fork 104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix brokenness right after install #163
Comments
In my PC , it works well without that mount options. By default all files in |
Yes, I added those mount options myself, because it's crazy to have all files appear executable by default. That interferes with git, for example. So now, files from the Windows side appear with |
Is it possible to get the WSL +x attribute set by some manipulation on the Windows side? Maybe with some Windows tool, or cygwin chmod? Then it could be fixed during installation. |
Yes, in Windows if I open cmd.exe and cd into that wsltty\bin directory, I can run:
And that does the trick. I'm not sure if wsltty already does something to figure out where the Windows folder is actually mounted (if the user has changed it from the default), but if not, |
OK, let's consider this scenario (I could try myself, but not so soon): |
I'm not sure how exactly the extra metadata is stored; it may be somehow tagged per-distro, or just one common set for all distros. All I know is that the metadata stays in the file, even if you move it on the Windows side. If it's per-distro, wsl.exe has the |
Understood your issue. I do use those mount options in my real Linux system. But in WSL, we should not** manipulate any file permission from Windows side by any means. See this blog post. In newer Windows 10 version, WSL has added 9P server but that also has some caveats and headaches. ** But that does not mean we could not |
That warning is not applicable, for 2 reasons: The file is not in the distro's filesystem (I think it was different in the wsltty appx setup...) and with the proposal to use |
I haven't yet had time to test the scenario requested above; can somebody confirm it works? |
No, it does not appear as you said.
If no mount options specified all files appears with |
Thanks for the link. It says:
Maybe that does not include distros without metadata enabled? Maybe we should report that as a bug to MS? |
That already listed it in 'important caveats'. So I would not suggest to make a issue there. WSL implementations of Linux file attributes also depend on Windows 10 versions. From Windows 10 insider build 18860, drvfs metadata is default. So use cases may vary. I would suggest to add some lines in wsltty README. For example, "if you see... this issue... try this simple command... to fix". Also I'd love to hear other opinions @rennex. |
Cannot reproduce the issue. All distros have C: already mounted, without metadata, and refuse to unmount it... Honestly, I'm kind of fed up with this crap. If they want to give us Linux, they shouldn't again invent all their own stuff. |
What about .exe files? Are they lacking the +x attribute as well? |
As I said my use cases will vary because I'm using Windows insider builds OP may help :) |
I just installed 3.0.0 and I get flashing screen issue too. WSLTTY won't start up successfully. Doing felipe@DESKTOP-TCPCKB9:/c/Users/Felipe Alvarez/AppData/Local/wsltty/bin$ ls -la
ls: cannot access 'wslbridge-backend': No such file or directory
ls: cannot access 'wslbridge-backend.old': No such file or directory
total 9.0M
drwxr-xr-x 1 felipe users 512 Apr 30 13:12 ./
drwxr-xr-x 1 felipe users 512 Apr 30 13:12 ../
-rwxr--r-- 1 felipe users 3.4M Apr 11 15:02 cygwin1.dll*
-rwxr--r-- 1 felipe users 3.2M Oct 5 2018 cygwin1.dll.old*
-rwxr--r-- 1 felipe users 19K Apr 11 15:02 cygwin-console-helper.exe*
-rwxr--r-- 1 felipe users 99K Apr 11 15:02 dash.exe*
-rwxr--r-- 1 felipe users 643K Apr 11 15:02 mintty.exe*
-rwxr--r-- 1 felipe users 25K Apr 11 15:02 regtool.exe*
-????????? ? ? ? ? ? wslbridge-backend
-????????? ? ? ? ? ? wslbridge-backend.old
-rwxr--r-- 1 felipe users 809K Apr 11 15:02 wslbridge.exe*
-rwxr--r-- 1 felipe users 809K Oct 5 2018 wslbridge.exe.old*
-rwxr--r-- 1 felipe users 88K Apr 11 15:02 zoo.exe* I tried chmod +x, but it complains file is not found. I tried in I am stuck using default WSL terminal. Please help. C:\Users\Felipe Alvarez\AppData\Local\wsltty\bin>dir
Volume in drive C is OS
Volume Serial Number is 8CF8-8920
Directory of C:\Users\Felipe Alvarez\AppData\Local\wsltty\bin
30/04/2019 01:12 PM <DIR> .
30/04/2019 01:12 PM <DIR> ..
11/04/2019 03:02 PM 18,451 cygwin-console-helper.exe
11/04/2019 03:02 PM 3,492,318 cygwin1.dll
05/10/2018 06:54 PM 3,335,398 cygwin1.dll.old
11/04/2019 03:02 PM 100,883 dash.exe
11/04/2019 03:02 PM 658,432 mintty.exe
11/04/2019 03:02 PM 25,107 regtool.exe
11/04/2019 03:02 PM 150,568 wslbridge-backend
05/10/2018 06:54 PM 150,568 wslbridge-backend.old
11/04/2019 03:02 PM 828,416 wslbridge.exe
05/10/2018 06:54 PM 828,416 wslbridge.exe.old
11/04/2019 03:02 PM 89,600 zoo.exe
11 File(s) 9,678,157 bytes
2 Dir(s) 322,699,476,992 bytes free
C:\Users\Felipe Alvarez\AppData\Local\wsltty\bin>wsl cat /etc/wsl.conf
[automount]
enabled = true
mountFsTab = false
root = /
options = "metadata,umask=22,fmask=11"
[network]
generateHosts = true
generateResolvConf = true |
See the first post in this thread. Use full path of wslbridge-backend in that command. |
That also is unsuccessful felipe@DESKTOP-TCPCKB9:~$ ls -l '/c/Users/Felipe Alvarez/AppData/Local/wsltty/bin/'
ls: cannot access '/c/Users/Felipe Alvarez/AppData/Local/wsltty/bin/wslbridge-backend': No such file or directory
ls: cannot access '/c/Users/Felipe Alvarez/AppData/Local/wsltty/bin/wslbridge-backend.old': No such file or directory
total 9.0M
-rwxr--r-- 1 felipe users 3.4M Apr 11 15:02 cygwin1.dll*
-rwxr--r-- 1 felipe users 3.2M Oct 5 2018 cygwin1.dll.old*
-rwxr--r-- 1 felipe users 19K Apr 11 15:02 cygwin-console-helper.exe*
-rwxr--r-- 1 felipe users 99K Apr 11 15:02 dash.exe*
-rwxr--r-- 1 felipe users 643K Apr 11 15:02 mintty.exe*
-rwxr--r-- 1 felipe users 25K Apr 11 15:02 regtool.exe*
-????????? ? ? ? ? ? wslbridge-backend
-????????? ? ? ? ? ? wslbridge-backend.old
-rwxr--r-- 1 felipe users 809K Apr 11 15:02 wslbridge.exe*
-rwxr--r-- 1 felipe users 809K Oct 5 2018 wslbridge.exe.old*
-rwxr--r-- 1 felipe users 88K Apr 11 15:02 zoo.exe*
felipe@DESKTOP-TCPCKB9:~$ chmod +x /c/Users/Felipe\ Alvarez/AppData/Local/wsltty/bin/wslbridge-backend
chmod: cannot access '/c/Users/Felipe Alvarez/AppData/Local/wsltty/bin/wslbridge-backend': No such file or directory
felipe@DESKTOP-TCPCKB9:~$ |
What's your distribution? |
My distro is OpenSUSE Leap 15. I do not think I know how to generate that binary. |
I've tried your settings with Arch, Debian, OpenSUSE. No issue in my system Windows 10 18860. Can you try with this: [automount]
options = "metadata,fmask=133,dmask=022,uid=1000,gid=1000,case=off" |
Or maybe the wslbridge frontend could do that if the backend invocation fails; can it detect this case of failure, however? |
Wanted to report that restarting the computer after some windows updates solved the problem 🤷♂️ 😪 |
Regarding the original discussion, I think it makes sense that distros which mount C: without metadata, will ignore any metadata that other distros may have set. They'll also see all files as having the execute flag by default, and they will work without any chmodding. But when metadata is enabled and files appear without +x by default, the chmod trick fixes them, and that commit from a few days ago looks like it'll fix the situation. 👍 |
Released 3.0.1. |
I installed wsltty after I had already configured my Ubuntu a little bit, and wsltty didn't work out of the box at all. It just flashed a window and quit immediately.
The actual error in my case was that there was no permission to execute
wslbridge-backend
on Ubuntu. And this was because I had configured the mount options asmetadata,umask=022,fmask=0111
- that is, regular Windows files don't appear as having the execute bit set. But themetadata
option let me set it myself:After this, wsltty started working fine. Maybe wsltty should even automatically try doing this
chmod
before trying to run that binary?The text was updated successfully, but these errors were encountered: