Open windows in unix

Что такое подсистема Windows для Linux What is the Windows Subsystem for Linux?

Подсистема Windows для Linux позволяет разработчикам запускать среду GNU/Linux с большинством программ командной строки, служебных программ и приложений непосредственно в Windows без каких-либо изменений и необходимости использовать традиционную виртуальную машину или двойную загрузку. The Windows Subsystem for Linux lets developers run a GNU/Linux environment — including most command-line tools, utilities, and applications — directly on Windows, unmodified, without the overhead of a traditional virtual machine or dualboot setup.

Можно сделать следующее. You can:

  • Выберите предпочтительные дистрибутивы GNU/Linux из Microsoft Store. Choose your favorite GNU/Linux distributions from the Microsoft Store.
  • Запускайте средства командной строки, например grep , sed , awk , или другие двоичные файлы ELF-64. Run common command-line tools such as grep , sed , awk , or other ELF-64 binaries.
  • Запускайте сценарии Bash Shell и приложения командной строки GNU/Linux, включая: Run Bash shell scripts and GNU/Linux command-line applications including:
    • инструменты: vim, emacs, tmux; Tools: vim, emacs, tmux
    • языки: NodeJS, Javascript, Python, Ruby, C/C++, C# и F#, Rust, Go и пр. Languages: NodeJS, Javascript, Python, Ruby, C/C++, C# & F#, Rust, Go, etc.
    • Службы. SSHD, MySQL, Apache, lighttpd, MongoDB, PostgreSQL. Services: SSHD, MySQL, Apache, lighttpd, MongoDB, PostgreSQL.
  • Установите дополнительное программное обеспечение с помощью своего собственного диспетчера пакетов дистрибутивов GNU/Linux. Install additional software using your own GNU/Linux distribution package manager.
  • Вызывайте приложения Windows с помощью оболочки командной строки, похожей на UNIX. Invoke Windows applications using a Unix-like command-line shell.
  • Вызывайте приложения GNU/Linux в Windows. Invoke GNU/Linux applications on Windows.

Что такое WSL 2? What is WSL 2?

WSL 2 — это новая версия архитектуры подсистемы Windows для Linux, которая поддерживает подсистему Windows для Linux, чтобы запускать двоичные файлы Linux ELF64 в Windows. WSL 2 is a new version of the Windows Subsystem for Linux architecture that powers the Windows Subsystem for Linux to run ELF64 Linux binaries on Windows. Ее основными приоритетами является увеличение производительности файловой системы и добавление полной совместимости системных вызовов. Its primary goals are to increase file system performance, as well as adding full system call compatibility.

Эта новая архитектура изменяет способ взаимодействия этих двоичных файлов Linux с Windows и с оборудованием компьютера, но по-прежнему предоставляет то же взаимодействие с пользователем, что и WSL 1 (текущая общедоступная версия). This new architecture changes how these Linux binaries interact with Windows and your computer’s hardware, but still provides the same user experience as in WSL 1 (the current widely available version).

Отдельные дистрибутивы Linux можно запускать с архитектурой WSL 1 или WSL 2. Individual Linux distributions can be run with either the WSL 1 or WSL 2 architecture. Каждый дистрибутив можно обновить или использовать на более старой версии в любое время, кроме того вы можете запустить дистрибутивы WSL 1 и WSL 2 параллельно. Each distribution can be upgraded or downgraded at any time and you can run WSL 1 and WSL 2 distributions side by side. WSL 2 использует совершенно новую архитектуру, которая дает преимущества от работы с реальным ядром Linux. WSL 2 uses an entirely new architecture that benefits from running a real Linux kernel.

Читайте также:  Средство переноса файлов windows

Opening a Unix file in Windows Notepad++?

I receive a file from a supplier that I download per SFTP. Our systems are all working on Windows.

When I open the File in Notepad++ the status bar says «UNIX» and «UTF-8» The special characters aren’t displayed correctly.

I tried to convert the file to the different formats Notepad++ allows but no one converted the char ‘OSC’ to the german letter ‘ä’. Is this a known Unix-Windows-thing? My google-foo obviously isn’t good enough.

  1. Which kind of conversion should I try to display the file correctly?
  2. How can I achieve the same programmatically in C#?

1 Answer 1

It is common on windows that a file’s encoding doesn’t match what the editor or even its xml header say it is. People are sloppy. Maybe it’s really UTF-16, or the unstandard windows extended ascii thing which I think is probably cp-1252. (It’s not common on *nix since we all usually just use utf-8, no need for others. not saying *nix users are much less sloppy)

To figure out which encoding it is, I would make a copy of the file, then delete the bits that are not a problem (leaving Mägenwil as the entire file) and then save, and use the linux command «file» which will tell what the right encoding is (reliable only for small files. it doesn’t read the whole file; maybe notepad++ will do the exact same thing). The reason for deleting the other bits is that it might be a mix of UTF-8 which the editor has used for detection, plus something else.

I would try the iconv command in linux to test. For example:

And any encoding conversion should be possible in C# or any featureful language, as long as you know how it was mutilated so you can reverse it. And if you find that it is part utf-8 and part something else, then remember not to convert the whole file, but only the important parts.

Open windows in unix

Некоторые из вышеописанных флагов могут быть изменены с помощью fctnl после открытия файла. Аргумент mode задает права доступа, которые используются в случае создания нового файла. Они модифицируются обычным способом, с помощью umask процесса; права доступа созданного файла равны (mode &

umask) . Обратите внимание, что этот режим применяется только к правам создаваемого файла; open создает файл только для чтения, но может вернуть дескриптор с установленными флагами для чтения и записи.

Следующие символьные константы можно использовать в mode : S_IRWXU (00700 пользователь (владелец файла) имеет права на чтение, запись и выполнение
файла); S_IRUSR (S_IREAD) (00400 пользователь имеет права на чтение файла); S_IWUSR (S_IWRITE) (00200 пользователь имеет права на запись информации в файл); S_IXUSR (S_IEXEC) (00100 пользователь имеет права на выполнение файла); S_IRWXG (00070 группа имеет права на чтение, выполнение файла и запись в него информации); S_IRGRP (00040 группа имеет права на чтение файла); S_IWGRP (00020 группа имеет права на запись информации в файл); S_IXGRP (00010 группа имеет права на выполнение
файла); S_IRWXO (00007 все остальные имеют права на чтение, выполнение файла и запись в него информации); S_IROTH (00004 все остальные имеют права на чтение файла); S_IWOTH (00002 все остальные имеют права на запись информации в файл); S_IXOTH (00001 все остальные имеют права на выполнение
файла).

Читайте также:  Synthesia ��� mac os

mode всегда должен быть указан при использовании O_CREAT ; во всех остальных случаях этот параметр игнорируется. creat эквивалентен open с flags , которые равны O_CREAT | O_WRONLY | O_TRUNC .

ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ

В файловых системах NFS, в которых идентификаторы пользователей могут быть преобразованы, open может вернуть файловый описатель, но, например, read (2) вернет ошибку EACCES из-за того, что клиент выполняет команду open , проверяя права доступа (а преобразование идентификаторов производится сервером при запросах на чтение и запись).

Если создается файл, то его время последнего доступа, создания и модификации устанавливаются в значение текущего времени, а также устанавливаются поля времени модификации и создания родительского каталога. Иначе, если файл изменяется с флагом O_TRUNC, то его время создания и время изменения устанавливаются в значение текущего времени.

НАЙДЕННЫЕ ОШИБКИ


СООТВЕТСТВИЕ СТАНДАРТАМ

Эффект (неопределенный изначально) от O_RDONLY | O_TRUNC отличается в разных реализациях. Во многих системах файл в действительности обрезается.

Флаг O_DIRECT был представлен в SGI IRIX, где он имеет похожие ограничения по принаджености, как и в Linux. IRIX также имеет вызов fcntl(2) для очередей с выравниванием и размерами. FreeBSD 4.x имеет флаг с таким же именем, но без ограничений на выравнивание. В Linux была добавлена поддержка с ядра версии 2.4.10. Старые ядра Linux просто игнорируют этот флаг.

Как работать с Linux используя Windows

Инструкция по установке Ubuntu Linux внутри Windows с использованием различных технологий виртуализации.

Содержание

Если вы только начали свой путь разработчика и до сих используете операционную систему семейства Microsoft Windows, то уже наверняка столкнулись с ситуацией, когда ваш инструментарий отличается от того, что установлено у большинства людей из этой профессии. Чаще всего проблемы начинаются при работе в командной строке. Дело в том, что Windows не является POSIX-совместимой операционной системой, поэтому в ней отсутсвует базовый набор прикладных программ, который необходим для разработки.

Этот вопрос можно решить установкой какого-либо из многочисленных дистрибутивов Linux в качестве основной, либо альтернативной операционной системы. Для новичков есть способ проще и быстрее — технологии виртуализации. Об этом и поговорим.

Ubuntu из Microsoft Store

Если вы работаете на Windows версии 10 с архитектурой x64, то можно можно воспользоваться встроенным решением и установить слой совместимости (Windows Subsystem for Linux) на основе Ubuntu Linux через магазин приложений Microsoft Store.

Перед тем как начать, необходимо убедиться, что системные требования соответствуют рекомендованным. Для этого запустите приложение Microsoft Store, введите в графе поиска Ubuntu и перейдите по найденной ссылке. Если ранее Windows не обновлялся, то вероятней всего вы получите соответствующее указание сделать это до начала установки Ubuntu. Если всё OK, то нажимайте на кнопку «Получить» и через несколько минут (в зависимости от скорости интернет соединения) вы получите сигнал об успешной установке приложения.

Первый запуск может вызвать ошибку Error: 0x8007007e и предложение прочитать инструкцию по её решению https://aka.ms/wslinstall. Если хотите сэкономить время, то просто запустите PowerShell (не путать с cmd ) от имени администратора и выполните следующую команду:

Читайте также:  Проигрыватель windows media ноутбук

После этого компьютер попросит перегрузиться, а потом нужно снова запустить приложение Ubuntu. В случае удачной установки откроется интерпретатор командной строки с предложением ввести имя пользователя и пароль. Выглядеть это будет вот так:

Преимущество такого способа установки позволяют стереть грань между операционными системами и получить доступ ко всему инструментарию Linux ( bash , ssh , git , apt и так далее) из стандартной командной строки Windows не теряя привычное окружение и оставаясь на одном файловом уровне.

Ссылки на официальную документацию:

VirtualBox

Если вы работаете на Windows версии ниже 10 или хотите получить изолированную операционную систему Linux, да ещё и с графическим окружением, то можно воспользоваться сторонним бесплатным программным продуктом под названием VirtualBox.

Инсталлятор Oracle VM VirtualBox для Windows Hosts
Ссылка на скачивание: Download Oracle VM VirtualBox

Образ операционной системы Ubuntu Linux в формате ISO
Ссылка на скачивание: Download Ubuntu Desktop

Для начала необходимо установить и запустить приложение VirtualBox.

Нажимаем кнопку «Создать», выбираем из списка тип операционной системы «Linux», если нет своих предпочтений по дистрибутиву, то выбираем версию «Ubuntu» 32 или 64 битной архитектуры, а название можно ввести любое.

Указываем объём оперативной памяти выделенной под виртуальную систему. Рекомендованный объём составляет 1024 MB.

Указываем объём дискового пространства выделенного под виртуальную систему. Рекомендованный объём составляет 10 GB.

Тип виртуального жёсткого диска можно оставить как есть — VDI (VitrualBox Disk Image).

Формат хранения данных выберите исходя из личных предпочтений. Динамический виртуальный жёсткий диск растёт по мере заполнения, а фиксированный создаётся сразу того размера, который был указан на предыдущем шаге.

Имя и размер файла можно оставить без изменений и сразу нажать на кнопку «Создать».

По завершению у вас будет создана виртуальная машина, но она пока без операционной системы. Для того чтобы её установить, нужно скачать Ubuntu Linux (32-bit или 64-bit, в зависимости от того, что было выбрано на шаге, где мы указывали тип ОС).

Нажатие на кнопку «Запустить» должно привести к появлению диалогового окна с предложением указать путь до скаченного ISO образа. Сделайте этого и нажмите кнопку «Продолжить»

Виртуальная машина автоматически будет выполнять часть процессов, но в некоторых операциях всё же потребуется участие пользователя.

Выберите языковую поддержку в списке слева и нажмите «Установить Ubuntu».

Можно загрузить обновления сразу на этапе установки.

Без особых опасений выбираем пункт «Стереть диск и установить Ubuntu» и двигаемся дальше.

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

Заполните поля и выберите режим входа в систему.

Далее начнётся процедура разметки диска, переноса файлов, установка обновлений и другие процессы, которые не потребуют прямого участия пользователя.

По завершению виртуальный компьютер перезагрузится и вы попадёте в уже установленную среду Ubuntu Linux.

Но это ещё не всё. Весьма желательно установить так называемые «Дополнения гостевой ОС». Они содержат драйверы и прочие системные файлы, необходимые для наилучшей производительности и обеспечения дополнительных функциональных возможностей между виртуальной и гостевой операционными системами.

Выберите пункт меню «Устройства» программы VitrualBox, подпункт «Подключить образ диска Дополнений гостевой ОС…» и дождитесь предложение запустить приложение для автоматического запуска с виртуального привода.

Виртуальная ОС Ubuntu Linux установлена и готова к работе.

Ссылка на официальную документацию: Oracle VM VirtualBox User Manual

Оцените статью