Как мне использовать Bash в Ubuntu в среде Windows?

Я провел дополнительное расследование. Сначала я посмотрел на все инкрементные патчи, начиная с версии 3.18.7 (гашение работало нормально с backlight = 0 ) до 3.18.28 (сломано). Самое подозрительное изменение было в патче с .22 на .23.

Итак, я скомпилировал 3.18.22, и он работал с backlight = 0 . Затем при переходе на 3.18.23 он действительно сломался: backlight = 0 снова приводит к постоянно черному экрану. Затем я удалил две подозрительные строчки из кода 3.18.23. Они находятся в файле drivers / gpu / drm / radeon / atombios_encoders.c и представляют собой идентичные вызовы:

atombios_set_backlight_level (radeon_encoder, dig-> backlight_level);

Если я закомментирую эти вызовы, и перекомпилируйте, все работает нормально. Я подозреваю, что на любом оборудовании, имеющем эту проблему, может потребоваться удалить только один из этих вызовов.

Наконец, я хочу отметить, что я пробовал более новое ядро, версию 4.4.5 от Slackware64 -current.Это хорошо работает с подсветкой = 0 , ничего взламывать не нужно.

4
17.02.2017, 08:47
3 ответа

Вы сможете найти свои файлы в каталоге mnt в Bash для Windows. (например, / mnt / c / )

Если есть ошибки разрешений, вы можете проверить их с помощью ls -l . Это даст вам rwx (читайте, запись, выполнение) в порядке слева направо, обозначающих владельца, группу, все остальные

Имейте в виду, что Bash для Windows предназначен для разработки, он не предназначен для замены виртуализации всего дистрибутива, как вы бы на VirtualBox. Многие вещи (например, устройства) не работают должным образом, как в VirutalBox.

Вы не можете запускать программы Windows 10 через оболочку Bash. Вы также можете запускать ограниченное количество программ Linux (например, используя apt-get для их установки). Это связано с вышеупомянутым упоминанием о том, что он урезан по сравнению с VirtualBox по дизайну

Я уверен, что многие его используют, изначально он был предназначен для разработчиков, чтобы иметь возможность тестировать свой код Linux на Машина Windows.

2
27.01.2020, 20:50

Вы можете попробовать https://www.cygwin.com/ , чтобы иметь возможность использовать терминал bash внутри ваши окна. Вы также можете увидеть из этого терминала права доступа к файлам, для которых у вас нет прав доступа.

2
27.01.2020, 20:50

Вы можете получить доступ снаружи файлы через дерево DrvFS /mnt. /mnt/c соответствует вашему диску C: и имеет ту же структуру.Все файлы, к которым может получить доступ ваш пользователь, доступны через эту файловую систему, а разрешения транслируются несколько интуитивно:

Чтобы дать пользователю подсказку о разрешениях, которые он имеет на файлы, DrvFs проверяет действующие разрешения, которые пользователь имеет на файл и преобразует их в биты чтения/записи/выполнения, что можно увидеть, например, при запуске «ls -l». Однако не всегда существует однозначное отображение; например, Windows имеет отдельные разрешения для возможности создавать файлы или подкаталоги в каталоге. Если у пользователя есть какое-либо из этих разрешений, DrvFs сообщит о доступе для записи в каталог, хотя на самом деле некоторые операции могут по-прежнему завершаться сбоем с отказом в доступе.

Возможно, они могут немного отличаться от ожидаемых, особенно если вы применяете настраиваемые списки управления доступом или обращаетесь к файлам через терминал с повышенными/неповышенными правами (например, Windows имеет более подробные разрешения на создание, чем обычные Восьмеричные разрешения Unix, а WSL не сопоставляется с ACL Linux). Единственное разрешение, которое вы можете с пользой изменить, — это доступ на запись (w), который влияет на флаг «только чтение» в файле NTFS.


Вы можете запускать программы Windows из Bash при условии, что вы используете по крайней мере версию 14951, которая была доступна через программу предварительной оценки с прошлого года и будет в следующем Windows выпуск. Вам просто нужно найти и запустить соответствующий исполняемый файл как обычно; для этого вы должны находиться внутри пути DrvFS.


Их можно объединить вместе:

$ export PATH=$PATH:/mnt/c/Windows/System32
$ cd /mnt/c/Users/you
$ notepad.exe file.txt

Вы не можете (пока, возможно, никогда) читать исполняемые файлы Windows из файлов Linux. Запуск исполняемого файла из WSL просто не удастся, но попытка получить доступ к файлу другим способом просто сломает все.

3
27.01.2020, 20:50

Теги

Похожие вопросы