Какая операционная система лучше windows или mac os

Привет, друзья. Какая из двух лидирующих в мире десктопных операционных систем лучше — Windows или Mac? Ну, очевидно, что на сайте, целиком и полностью посвящённом системе от Microsoft, авторы будут топить за неё же родимую. В этом плане, ребята, не будет никаких интриг. Тем не менее факт определённости в своём выборе авторов сайта не является помехой для объективного осветления плюсов и минусов каждой операционной системы. И потому ниже будут предложены только факты. Без комментариев, без субъективного мнения авторов, без подсчёта плюсов и минусов с выведением в итоге победителя гонки. Только информация к сведению для тех, кто, возможно, рассматривает вариант покупки Apple-устройства или установки Хакинтош.

Mac OS (Macintosh Operating System) – операционная система от компании Apple, предназначенная только для компьютеров и ноутбуков, собранных этой компанией. Первый её выпуск на борту компьютера Macintosh состоялся в январе 1984 года. В 2001 году система стала именоваться как Mac OS X, в 2012 году — как OS X, а в 2016 году — как macOS. Всё это технические названия одной и той же операционной системы от Apple. Мы для удобства будем называть её просто Mac. Mac – регулярно обновляемая система. Обновляется раз в год: получает новый функционал, новый индекс версии 10 по типу 10.ХХ и новое человекопонятное  название типа Sierra (цепь гор), High Sierra (цепь высоких гор), El Capitan (Эль-Капитан, гора такая в США). Названия к системе относятся лишь тем боком, что их изображения настроены в качестве дефолтных обоев рабочего стола.

На сегодняшний день актуальна версия macOS Mojave 10.14, названная в честь пустыни Мохаве в США, представленная в июне 2018 года.

Windows – операционная система от компании Microsoft, впервые представленная миру в 1985 году. Кстати, кому интересно, можете посмотреть её историю. Цепь выпускаемых раз в несколько лет версий Windows была прервана выходом на рынок в 2015 году Windows 10 – операционной системы нового формата, вечной «Десятки», которая стала и брендом, и концептом, и универсальной платформой для всего и вся. Обновляется Windows 10 два раза в год. У неё есть свои версии (подверсии) по типу 1709, 1803, 1809, в которых закодирован код и месяц поставки накопительного обновления. У каждого такого обновления есть человекопонятные названия типа Anniversary Update (юбилейное обновление), Creators Update (творческое обновление), October 2018 Update (октябрьское обновление 2018 года) и т.п.  Названия либо приурочиваются к каким-то значимым в жизни системы событиям, либо отражают направление внедрённого функционала, либо просто привязываются ко времени.

Ну а теперь давайте сравнивать Windows и Mac.

Mac – операционная система только для устройств, производимых самой компанией Apple. У неё нет лицензии, её цена включена в стоимость покупаемого устройства – iMac, iMac Pro, Mac Pro, Mac mini, MacBook, MacBook Air, MacBook Pro.

Mac просто запрещено устанавливать на сборки ПК, это является нарушением авторских прав Apple. Устройства от Apple стоят дорого, значительно дороже аналогичных по производительности сборок ПК и ноутбуков. Установить Mac на ПК и сторонние ноутбуки можно лишь нелегально. Но эта операционная система станет далеко не на всё железо. А если и станет, не факт, что будет работать без глюков.

Тогда как Windows – это универсальная система с поддержкой огромнейшего числа компьютерных устройств, произведённых как под брендом самой Microsoft, так и собранных сторонними производителями, как, например, Asus, Acer, Samsung, Hewlett-Packard и пр. Windows продаётся по лицензии, которая может приобретаться как отдельно, так и в комплекте с покупаемым устройством. На базе Windows можно собрать свой компьютер полностью или частично из б/у комплектующих, купить любой моноблок, мини-ПК, ноутбук или планшет из огромного выбора предложений на рынке.

Другой вопрос, насколько слажено весь поддерживаемый Windows, в частности, «Десяткой» зоопарк устройств будет работать в тандеме с аппаратной начинкой. За адаптацию железа к Windows в виде процесса написания драйверов отвечают создатели комплектующих, которых по миру тьма тьмущая. Следовательно, нет единой конторы, которая координировано управляла бы этим процессом. Microsoft часто перебрасывает ответственность за проблемы на производителей железа. А последним не всегда по силам угнаться за всеми проблемами, порождёнными обновлениями Windows.

А вот Apple единолично в ответе за слаженную работу операционной системы и комплектующих. Эта система оптимально оптимизирована под работу с железом собираемых компанией устройств. Об отсутствии поддержки старого железа новыми версиями Mac Apple честно и открыто заявляет. Mac в меньшей степени подвержена проблемам слёта и некорректной работы драйверов.

Заточка железа под ПО в условиях работы Mac даёт возможность выжать иногда с более слабой компьютерной начинки больше производительности, чем с более мощной в условиях работы с Windows. Но такое преимущество, естественно, необходимо рассматривать только на фоне фактора цены устройства.

MacBook’и обычно лучше заточены под энергоэффективность, чем Windows-ноутбуки.

И Mac, и Windows просты в установке.

Эти процессы может осилить любой более-менее опытный пользователь. Однако в случае установки Mac не на Apple-устройства эта процедура серьёзно усложняется. Настолько, что потребуется не один, не два дня, а гораздо больше времени провести на ресурсах, посвящённых теме Хакинтош.

Но это если говорить только о процессе установки. На оригинальных устройствах Apple процесс установки системы на её установке и заканчивается. Тогда как в Windows жара только начинается – установка драйверов, программных платформ типа DirectX или .NET Framework, отключение ненужных функций, удаление приложений-приблуд и т.п.

Mac — более стабильная операционная система, чем Windows, даже если мы говорим не о «Десятке», а о старших версиях системы. Тем не менее и у Mac есть иногда глюки, особенно в новых, мало обкатанных версиях. Её стабильность – это результат принадлежности к типу Unix-подобных систем, взаимодействия с более узким кругом комплектующих, меньших возможностей самой системы, менее топорного подхода разработчиков к внедрению обновлений, чем у Windows.

Windows же периодически нуждается в чистке от временных и отработанных данных, в чистке и оптимизации системного реестра, который как явление отсутствует на Mac в принципе. А процесс внедрения накопительного обновления Windows 10 – это всегда рулетка.

Откат Windows – это, по сути, также рулетка. Что штатные средства (точки восстановления и образ резервной копии), что сторонние типа Acronis или AOME не всегда могут удачно восстановить систему.

Тогда как откат Mac с помощью штатной функции Time Machine – это практически всегда предвиденный рабочий вариант.

Файловые системы, используемые в Mac — HFS+ и новая APFS, более совершенны, чем проблемная, морально устаревшая и подверженная фрагментации данных NTFS, используемая в Windows. У Microsoft есть преемница NTFS – усовершенствованная файловая система ReFS, но компания не спешит её массово внедрять, делая эксклюзивом для особых случаев.

Mac – более быстрая за счёт принадлежности к типу Unix-подобных систем и оптимизации ПО под железо. Но взять ту же Windows 8.1, установленную на более-менее производительном компьютере с SSD-диском – это также будет довольно быстрая система.

Mac более заточена под обывателя, проста в освоении, продумана так, чтобы пользователь при отсутствии каких-то дополнительных компонентов меньше обращался за справкой в Интернет. У Mac более простой механизм установки и удаления ПО. 

Дизайн и организация интерфейса Mac более эргономичны по объективным параметрам. Но так субъективно может не показаться пользователям Windows, не видевшим ничего иного, кроме как интерфейса Windows. На самом деле Doc-панель, Launchpad, обустройство Finder, панель задач (статус-бар) вверху, интеграция с панелью задач интерфейса приложений – эти вещи более продуманы, чем их аналоги в среде Windows.

У Mac красивые анимационные эффекты, плавный скроллинг, Finder обустроен системой тегирования данных цветными метками, в нём есть режим карусели просмотра файлов.

Однако не всем нравится левостороннее расположение кнопок окон в Mac и невозможность развёртывания окон на весь экран с оставлением видимой панели задач и Doc.

Mac тесно интегрирована с iOS-устройствами. Тогда как реализация приложения «Твой телефон» Windows 10 оставляет желать лучшего.

Mac – система для обывателей и узкопрофильных специалистов. Тогда как Windows – система для всех подряд, гибко настраиваемая, с потенциалом включения дополнительных штатных фукнций. В Windows 10 идёт активное внедрение смешанной реальности.

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

У каждой из систем есть своё уникальное ПО, аналога которого нет для другой системы. Но, естественно, Windows по этой части страдает меньше. Для Mac не найти многих пиратских программ, редкого софта типа программаторов, перепрошивальщиков Android, клиентского ПО различных сервисов и т.п.

Подводя итоги…

Вот как-то так, друзья. При том, что, казалось бы, Mac – операционная система для избранных, у кого есть средства на покупку дорогостоящих Apple-устройств, она не лишена недостатков. Тогда как Windows – система с большим числом проблем, но это непаханое поле азарта для энтузиастов, продвинутых пользователей, разработчиков.

Ну и напоследок сухая статистика: доля Windows на рынке десктопов долгое время уже колеблется в районе 90%. По итогам 2018 года доля Windows составила почти 88%. Доля же Mac достигла отметки немногим более 9%.

#статьи


  • 0

Можно бесконечно смотреть на огонь, воду и срачи в IT-тусовке о лучшей операционке.

Иллюстрация: Apple / Windows / august96 / Pexels / George Keen / Wikimedia Commons / Colowgee для Skillbox Media

Мария Даровская

Журналист, коммерческий автор и редактор. Пишет про IT, цифровой маркетинг и бизнес.
Сайт: darovska.com.

Этот батл может длиться вечно, но мы всё-таки рискнули спросить у комьюнити, что лучше.

Симпатия к той или иной операционной системе — это прежде всего эмоции. Тем не менее любители техники Apple почти поголовно влюблены в macOS. И вот что им нравится больше всего.

По словам любителей яблочной операционки, macOS и сама по себе работает очень стабильно, при этом железо в компьютерах от Apple тоже надёжное и долговечное.

Скриншот: Skillbox Media

«Я занимаюсь антивирусами и работаю на разных платформах — и Windows, и Mac. Без сомнения, macOS — гораздо более стабильная и удобная. У Apple очень ограниченный набор железа, а мир Windows наводнён дешёвыми компьютерами. Может показаться, что аппаратное обеспечение Apple стоит дороже, но если сравнивать их возможности, то становится понятно: у Apple очень конкурентные цены».

promixr,
пользователь Reddit


«Я всё ещё использую свой ПК с Windows — но в основном только для игр. А пару месяцев назад я купил MacBook Air M1 и теперь просто очарован им. До него у меня был Lenovo Ideapad за 350 евро — он хуже любого MacBook, поэтому переход на Apple был потрясающим опытом. Мой новый ноутбук кажется более прочным, чем все, которые я пробовал раньше, а вся начинка, от трекпада до клавиатуры, работает практически безупречно. Не то что Lenovo».

Unius_,
пользователь Reddit

macOS — единственный вариант для полноценной разработки ПО под технику Apple: макбуки, айпады и айфоны. Без macOS разрабатывать, тестировать и отлаживать приложения для яблочной экосистемы практически невозможно — ведь понадобится Xcode, а для других платформ её не выпускают.

Скриншот: Skillbox Media

Однако тут есть и минус — ПО для разработки под Apple платное.

«Разработка для macOS и iOS (Apple в целом) — это кошмар. Эти ребята дерут с вас деньги за всё: относятся к программированию под их платформу как к привилегии, символу принадлежности к „элитной“ группе. Нужно платить 99 долларов в год за программу для разработки. Что это за фанатизм?»

Marie-Eva Volmar,
CEO в Dallada Corporation на Quora

Немало веб-программистов работают исключительно на macOS, и им всё нравится. Ещё бы: тут есть и всё необходимое ПО (в отличие от Linux), и полноценная командная строка (в отличие от Windows). Даже те, кто не любят продукты Apple, признают, что запускать код на macOS невероятно удобно:

«Я признаю, что OS X от Apple меня впечатлила — по сути, она может запускать ваш код и без IDE».

Evan Sawyer,
пользователь Quora

Пользователи macOS считают, что эта система работает гораздо эффективнее Windows. Но, возможно, они просто не отделяют операционку от яблочного железа и никогда не использовали Hackintosh :)

«В 90% случаев в macOS всё работает безупречно, как обычно у продуктов Apple, а вот в 10% случаев какое-то нужное мне приложение в их экосистеме не работает или вообще не поддерживается. Тогда мне приходится обращаться к старому компьютеру с Windows. Но я думаю, что большинство обычных пользователей не сталкиваются с такой проблемой».

Инженер Фредо,
пользователь Reddit

AirDrop, iMessage, FaceTime, iCloud и так далее. Это и правда удобно: все твои устройства работают в единой экосистеме, и переход от одного к другому по-настоящему бесшовный.

«С точки зрения производительности MacBook — отличный выбор. И во многом благодаря различным вспомогательным приложениям вроде Alfred или диспетчера задач. Однако я бы не купил себе MacBook, если бы уже не использовал iPhone и другие устройства Apple. Не поймите меня неправильно, macOS великолепна, но есть сферы, в которых она слабовата.

Для меня главное преимущество macOS — бесшовная интеграция с другими продуктами Apple. Без этого всё, что я могу делать на своём Mac, можно делать и на компьютере с Windows».

PunyDev,
пользователь Reddit


«Я могу просматривать входящие сообщения как с macOS, так и с iPhone. Могу начать разговор или общение в мессенджерах на одном устройстве, а продолжить его на другом. Могу принимать звонки в macOS, если мой телефон находится в той же Wi-Fi-сети. При этом никакого дополнительного программного обеспечения не надо.

iCloud работает безупречно с iPhone, MacBook и iPad. Раньше у меня возникали проблемы с синхронизацией файлов в OneDrive, которыми я делился с женой, — тогда у меня дома ещё стояла Windows 10. Из-за этих проблем я даже перешёл на Dropbox. Теперь мы используем его для обмена файлами, а iCloud — для их хранения. Всякий раз, когда я перехожу на новый iPhone, мне просто нужно залогиниться в iCloud, и все мои данные появляются в приложениях «Фотографии» или «Файлы».

Jeff LeBlanc,
пользователь Quora, администратор SCCM

Пользователи, перешедшие на macOS с Windows отмечают качество взаимодействия с операционной системой — в том числе с помощью жестов.

«Я всю жизнь пользовался Windows, а потом перешёл на MacBook Air M1 — понравились отзывы. macOS отличается от Windows, причём в лучшую сторону. Всё, начиная от жестов трекпада и взаимодействия с пользователем до ОС в целом, кажется более интуитивным и плавным. Я ни разу не сталкивался с ограничениями в необходимых для работы программах.

В продуктах Apple меня всегда вдохновляло, что, даже несмотря на более слабые заявленные характеристики (оперативная память, размер батареи и так далее), они работают гораздо лучше решений конкурентов».

Proxima_Centuari,
пользователь Reddit


«Пару недель назад перешёл на базовую модель M1 MacBook Air. Это мой первый продукт Apple за более чем 10 лет. Однажды у него произошёл один сбой — причину я так и не выяснил. Но в остальном это лучший компьютер, который у меня когда-либо был, — и я сомневаюсь, что когда-нибудь снова куплю ноутбук с Windows. Трекпад тонкий, крутой и совершенно бесшумный, мощности хватает для большей части моих задач. У меня есть и десктоп с Windows, но нужен он только для игр».

GRosasSilva,
пользователь Reddit

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

«Вредоносных программ и вирусов на маке практически нет. У моих родителей дома стоит ПК с Windows 10, а для путешествий я подарил им свой старенький MacBook. Каждый раз, приходя к ним в гости, я обычно проверяю их компьютер на вирусы. И в Windows стабильно нахожу до 600 нежелательных элементов. В итоге я даже забрал права администратора у отца. А что в macOS? Ноль…»

Jeff LeBlanc,
пользователь Quora, администратор SCCM


«Компьютеры от Apple не так сильно распространены, поэтому для macOS пишется меньше вредоносного ПО — хотя угроза постепенно растёт, например за счёт популярности кросс-платформенной Java. У Windows — гораздо больше установок, чем у других ОС для настольных компьютеров, поэтому чаще всего вирусописатели целятся именно в неё».

Akshay M,
пользователь Quora

Когда вы покупаете макбук, он уже работает как надо. Достаточно только авторизоваться в системе под своим Apple ID: все данные и конфигурации быстро переносятся с предыдущего девайса. В процессе использования вам также не понадобится делать каких-то сложных манипуляций, чтобы установить ПО или настроить систему. В Windows возможностей для настроек и установки софта будет значительно больше, но и сделать всё это нормально будет сложнее.

«Я думаю, что компьютеры Mac — лучший вариант для людей, которые хотят делать только то, что им действительно нужно. Это похоже на разницу между вождением и ремонтом автомобиля. Есть люди, которые любят возиться со своими автомобилями и тюнинговать их — в этом нет ничего плохого. Но есть и люди, которые просто хотят добраться из пункта А в пункт Б, и такие люди просто выбирают максимально комфортную машину.

То же с macOS и Microsoft Windows. Я пробовал Windows много раз — у нас на работе даже есть ноутбук с Windows, но, по моим ощущениям, он гораздо менее интуитивный по сравнению с макбуками. Однако тут надо отметить, что я всю жизнь пользуюсь Mac, поэтому у меня давно сформировались привычки».

Jorge Chambers,
инженер-программист, пользователь Quora

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

«Apple контролирует все пакеты аппаратного и программного обеспечения, обновления, поэтому каждый Mac работает бесперебойно: не возникает задержек или несовместимости по железу. Для Windows разные модели ноутбуков и даже персональные ПК могут не иметь подходящих драйверов для каждого компонента в каждой версии ОС, поэтому регулярно выскакивают проблемы с совместимостью и тормоза. Иногда из-за этого невозможно достичь ожидаемой производительности».

Akshay M,
пользователь Quora

Любителей Windows — тоже немало. Есть даже такие грешники, которые предпочитают ставить Windows… на устройства от Apple, хотя это скорее исключение из правил.

Скриншот: Skillbox Media

Фанаты Windows отмечают, что эту систему легче настроить под себя, а ещё она более функциональна и подходит под большее число задач.

Ещё Windows — единственный вариант для геймеров. На macOS и Linux выбор игр сильно ограничен. Да и по-настоящему крутые игровые компьютеры с мощной графикой существуют только в мире Windows.

«Будучи тру-геймером, я люблю использовать Windows из-за её хардкорной графики и потрясающей производительности, а также простоты доступа по сравнению с macOS».

Akshay M,
пользователь Quora

А ещё на Windows существует больше бесплатного софта, а в ОС от Apple почти за всё нужно платить.

Для Windows существует больше разнообразных программ. Гораздо больше. Кроме игр есть куча софта для архитектуры, видеомонтажа, бизнес-аналитики и других задач — и многие из этих программ выпускаются в режиме only Windows.

Инженеры утверждают, что в Windows можно запускать среду разработки, сохраняя идентичность окружения, что довольно удобно. А ещё есть свой аналог CLI — WSL — и нет проклятущего Finder, как в macOS.

Скриншот: Skillbox Media

Многим нравится, что Windows поддерживает MST: при закрытии окна закрывается и приложение, а аудиомикшер позволяет регулировать громкость каждого приложения отдельно, а не только всех сразу. Плюс на «окнах» удобнее работать, используя только клавиатуру.

По мнению многих разработчиков, Windows лучше подходит для корпоративной рабочей среды.

«Mac привлекает графических дизайнеров, продюсеров видео и музыки, технических журналистов, разработчиков приложений и так далее. У Windows же широкий охват по всем профилям. А бизнес-пользователи, как правило, используют оборудование с Windows на борту из-за хорошей совместимости».

Akshay M,
пользователь Quora

По версии специалистов, организовать корпоративную рабочую среду, где есть AD, групповые политики Exchange, серверы, клиенты и тонкие клиенты на macOS или iOS, — нереально.

Скриншот: Skillbox Media

Инструменты разработки для Windows чаще всего критикуют за то же, за что и инструменты для Apple, — ценовую политику. Зато сам выбор софта на платформе от Microsoft, безусловно, шире.

«Инструменты разработки под Win хороши, но дороги — например, та же Visual Studio. Да и все инструменты разработки под Win в первую очередь выпускаются для Win (и конечно, не бесплатно), при этом остальные ОС поддерживаются гораздо хуже. А уж инструменты разработки с открытым исходным кодом на Windows поддерживаются и настраиваются гораздо хуже, чем в Linux и macOS».

Sergiy Reypolskyy,
разработчик в Apple, пользователь Quora

Компьютеры на базе Windows гораздо более гибкие в настройке — и их проще сконфигурировать под себя. На macOS всё гораздо строже, поэтому, если вам не пришлась по вкусу яблочная экосистема, велик шанс, что вы вернётесь к Windows.

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

С точки зрения персонализации и настройки под себя macOS — ужасная система, потому что в ней очень мало пространства для манёвра. Конечно, Mac тоже можно использовать для разработки, но я предпочитаю Windows, потому что маковский терминал не умеет запускать сложные программы».

Sameep Rastogi,
технический энтузиаст, пользователь Quora

Чтобы полноценно работать с Windows, не нужно покупать какой-то специальный ноутбук, есть множество вариантов по любым ценам — от эконом-класса до мощных машин, не уступающих по ценам продукции Apple. А ещё вы всегда можете докупить оперативной памяти или сменить жёсткий диск. В случае с техникой Apple это сделать уже нельзя. Единственная возможность апгрейдить яблочный ноутбук или ПК — купить новую модель.

«Когда вы покупаете ПК с Windows (или любой ПК со стандартным аппаратным обеспечением), это ваш компьютер. Вы администратор. Вы можете изменять, настраивать и обновлять всё, что захотите. Вы можете собрать компьютер с нуля. Вы можете установить SSD любого размера, оперативную память, процессор, ОС, аккумулятор, устройства чтения дисков и так далее. Обновляйте своё оборудование в любое время — как хотите и гораздо дешевле. Я активно использовал Windows на множестве компьютеров, но никогда не сталкивался с синим экраном смерти, BSOD».

Evan Sawyer,
пользователь Quora


«Windows — это универсальная ОС, которая поддерживает всё, что вы ей предлагаете. Я могу использовать её с любой конфигурацией процессора, материнской платы, видеокарты, и она заработает под управлением Windows».

Collin Campbell,
пользователь Quora

Полноценно пользоваться операционной системой от Apple можно, только если вы счастливый обладатель фирменной техники. А вот купить и поставить копию Windows может любой человек — и оборудование может стоить хоть 300, хоть 3000 долларов.

«Покупка Mac в наши дни — это, по сути, покупка ПК от Gucci. Процессор, платы и другое железо имеют ту же архитектуру, что и железо других брендов, — во многих случаях они идентичны. Единственное, что удерживает вас от запуска macOS на ПК, — это один дополнительный чип на материнской плате. Однако в итоге вы платите бешеные деньги за этот маленький логотип Apple на корпусе».

Gregg Schoenberger,
специалист по компьютерной безопасности и системный администратор, разработчик, бакалавр компьютерных наук, пользователь Quora

Обычно выбор операционки зависит от того, чем именно занимается человек и какой софт для работы ему нужен. Например, пользователи 3ds Max используют Windows, потому что этот самый Max существует только в версии для Windows. А пользователи Final Cut Pro, напротив, используют компьютеры Mac, потому что этот софт не работает на Windows.

Скриншот: Skillbox Media

Современные macOS и Windows 10 — удобные и инновационные операционные системы с кучей классных приложений, функций и инструментов. Поэтому многие разработчики констатируют, что выбирают одну или другую ОС просто потому, что им так привычнее.

Скриншот: Skillbox Media

Однако есть и третья коалиция — суровые линуксоиды, «бздуны», бубунтоводы и прочие маргиналы от IT, которые плюются от «проприетарщины» и давно сидят на Linux, BSD-системах :)

Жизнь можно сделать лучше!
Освойте востребованную профессию, зарабатывайте больше и получайте от работы удовольствие. А мы поможем с трудоустройством и важными для работодателей навыками.

Посмотреть курсы

Уровень сложности
Простой

Время на прочтение
50 мин

Количество просмотров 43K

Предисловие

Что ж, перед тем, как перейти к содержательной части, обозначу, в чем я вижу здесь проблему, стоящую упоминания. Компьютер — довольно сложное в управлении устройство. Если вам кажется, что это не так, попробуйте вспомнить свое первое знакомство с клавиатурой, когда вам надо на ней что-то напечатать, а где буквы — вы еще не выучили. Я вот помню, что у нас это была целая лабораторная работа — набрать на компьютере короткое стихотворение Пушкина из трех строф, и на это отводился весь академический час — 45 минут. И этого еще не хватало, потому что все время, отведенное на выполнение задания, занимал поиск «да где же тут эта чертова буква на этой чертовой клавиатуре».

Это понимали люди, стоявшие у истоков тех рек, чье мощное течение создало ландшафт IT-экосистемы в том виде, в котором мы имеем честь наблюдать его в настоящее время. Одним из таких людей был специалист по UI-UX интерфейсам, одно время возглавлявший данное направление в корпорации Apple, а также летчик-любитель Джеф Раскин. Именно он сформулировал основной принцип проектирования эргономичных (удобных для использования) интерфейсов, применимый равно как для взаимодействия людей и самолетов, так и людей и компьютеров  — принцип монотонности.

Этот принцип, хотя и расшифровывается достаточно просто и понятно (Раскин раскрывал его как «одинаковое действие всегда должно вести к одинаковому результату», а, в качестве пояснения использовал примеры из авиации, вроде тех, что «представьте, что вы пилот самолета, и потянули штурвал на себя, а самолет, вместо того, чтобы пойти вверх, начал пикировать, и на таком самолете вы могли бы нормально летать только после очень долгого переучивания»), имеет несколько следствий.  Например, таких:

  • переучиваться больно и тяжело

  • выгоды от переучивания должны превышать затраченный на переучивание труд

  • лучше сразу учиться делать правильно (эргономично и экономно), чтобы не пришлось переучиваться

Что ж, купив макбук и, попробовав на нем поработать, я почти сразу осознал, что либо мне придется переучиваться под принятые в этой экосистеме правила, либо я попытаюсь как-то настроить систему, чтобы она вела себя так, как я привык, и как мне надо. Ну, я почему-то решил попробовать второй вариант, и у меня в общем и целом получилось, хотя не полностью и не окончательно. Вот, что я предпринял.

Часть 1. Что не так и что с этим можно сделать?

  • Штатный Alt-Tab не работает (так, как должен). Решилось установкой бесплатной опенсорсной программы AltTab.

  • Непривычные (для виндузятника) хоткеи. Решается тем, что в штатных настойках клавиатуры отключаются почти все хоткеи, назначенные по умолчанию, а потом постепенно, по мере использования, перенастраиваются на привычные.

  • Штатное в Windows и в Ubuntu переключение на самые нужные приложения по Win-1, Win-2, Win-3 и т.д. не работает. Решилось установкой бесплатной программы Snap (спасибо за совет коллеге Алексею. Алексей, привет!)

  • Штатное переключение РУС/ЛАТ по Caps Lock есть и работает, но в моём специальном случае (надо часто подключаться по RDP к машинам с Windows) очень быстро задолбало его включать и отключать. Решилось созданием клавиатурной раскладки ruscaps в бесплатной программе Ukelele (точно такое же концептуально решение я использую и на Windows, которое подсмотрел в статье Ассемблер/дизассемблер клавиатурных раскладок Windows с помощью flat assembler здесь же на Хабре. Работает этот способ хорошо как на маке, так и на винде, по сути это оказался и там и там самый безглючный способ использовать переключение языка по Caps Lock. В Приложении техническая инструкция, как настроить[1]).

  • При использовании такого способа переключения клавиатурных раскладок очень хочется иметь наглядный индикатор, какая именно сейчас раскладка активна, а штатного индикатора состояния Caps Lock, которое и служит индикатором активной раскладки, в menu bar нет. Решилось установкой бесплатной программы Captin (программа работает хорошо, хотя по таймеру состояние Caps (нажато или нет) не опрашивает, отчего иногда кажется, что она зависла)

  • Как семантический эквивалент клавиши Ctrl в системе используется специфичная для маков клавиша Command, которой ни на каких других компьютерах нет. Тут пользователю надо либо переучиться, изменив свои десятилетиями наработанные клавиатурные привычки, либо попытаться настроить систему под себя.  Второй путь сложнее, но я пошел по нему, потому что Vim (для мака это будет MacVim, один из основных моих инструментов) ничего не знает про клавишу Command, и по умолчанию использует клавиатурные комбинации с клавишей Control.

  • Idea в клавиатурной раскладке по умолчанию на маках использует Command вместо Ctrl, но это решается перенастройкой клавиатурной схемы, что требует много телодвижений, но хотя бы работает  (скорее всего, она, как и MacVim, ловит скан-коды, и поэтому может использовать любую клавиатурную раскладку, но почему-то в комплект не положили схему «Idea classic как в Windows», где вместо Command был бы Control, и ее пришлось городить самостоятельно).

  • Очень непривычно себя ведут операции манипулирования с текстом в обычных текстовых полях и редакторах, в частности, при вводе текста в textarea в браузерах, и т.п. Сочетания Ctrl-Home, Ctrl-End, Shift-Ctrl-Home, Shift-Ctrl-End, и аналогичные сочетания с кнопками курсора делают не совсем то (или совсем не то), что они делают в Windows и в Ubuntu. Это приводит просто к ужасному дискомфорту, когда Idea и Vim ведут себя как надо (ну, почти), а редактирование текста в браузерной форме (набить заметку в Evernote) или штатном редакторе вроде TextEdit использует совершенно другие сочетания клавиш для тех же самых действий. Так жить совершенно точно нельзя и не нужно, и, к счастью, это можно почти полностью исправить с помощью настроек: DefaultKeyBinding (в Приложении инструкция, как настроить[2]).

  • горячие клавиши в Chrome (Ctrl-T, Ctrl-W, Ctrl-L, Ctrl-F, F3) не работают по дефолту, потому что вместо Ctrl тут для них нужно использовать Command. Решилось штатными настройками горячих клавиш в System Settings — Keyboard — Application hotkeys (заменить Command на Ctrl, и клавиатурное управление наиболее частыми действиями в Chrome становится консистентным с Windows).

  • Аналог «ножниц» (сделать скриншот части экрана) есть, но сочетание клавиш для его активации не такое, как в Windows. Решилось назначением хоткея Win-Shift-S (такой же, как в Windows) при помощи штатных средств (системные настройки хоткеев)

  • Некоторого привычного софта нету, а есть только аналоги. Решается тем, что приобретается новый опыт, как использовать эти аналоги для решения задач, справляться с которыми ранее помогал привычный софт. (привычный Tortoise Git или DBForge не поставишь, но в Idea есть почти вся нужная функциональность, которую нужно освоить, попутно освоив способы, как обходить присущие этой функциональности баги и шероховатости. Idea хорошая программа, и JetBrains хорошая корпорация, но UX дизайнеров уровня Раскина там нет ни одного, и, кажется, не будет никогда).

  • вместо Far Manager тут Midnight Commander. Некоторой функциональности в нем все равно нет, но базовые вещи (вроде пользовательского меню с пунктами «Отправить в MacVim», «Показать в Finder», «Скопировать путь» и т.п.) настроить вроде получилось (в Приложении инструкция, как именно [3]). Также есть возможность сделать список с самыми часто используемыми директориями, и SFTP-подключения (которые умеют использовать ключи из ssh-agent). В настройках программы Terminal нужно включить галку «Use Option as Meta key», и тогда оно станет реагировать на клавиатурные сочетания, включающие Meta key (это Alt на обычной клавиатуре), а их там немало.

  • кое-где всё равно используются только маковские хоткеи. Вставить текст из буфера в терминале получается только по Command-V. Решилось… никак не решилось, но таких мест мало, и я решил, что пока с ними можно смириться. Возможно, по мере обживания конфигов найдется способ что-то подправить и там.

  • Концепция «рабочих простанств» (Spaces) оказалась сравнительно удобной для использования вместе с виртуальными машинами, но пришлось немного подкрутить: — штатный хоткей для перемещения туда-сюда между пространствами это Ctrl-Left и Ctrl-Right, который использовать совершенно невозможно, потому что в моем представлении это сочетание клавиш должно использоваться для перемещения курсора между словами при редактировании текста. Это довольно просто перенастраивается штатными средствами (я сделал Ctrl-Alt-Shift-(Left | Right). Второй нюанс в том, что мне нужно, чтобы виртуальная машина ловила все хоткеи, в том числе те, для которых назначено действие в хост-системе (Alt-Tab, Win-1, Win-2, Win-3, …). И этого можно достичь, если в настройках Parallels включить пункт «Send macOs system shortcuts = Always». Но побочным следствием такого будет то, что по Ctrl-Alt-Shift-Right войти в виртуальную машину можно, а выйти из нее по Ctrl-Alt-Shift-Left уже нельзя! К счастью, нашелся workaround — если двинуть мышь вверх, чтобы показалось системное меню Parallels, то Ctrl-Alt-Shift-Left обработается хост-системой. Ну и еще одно, что надо упомянуть — по умолчанию macOs использует поведение «Automatically rearrange spaces based on most recent use», что, возможно, иногда оправдано, но нарушает вышеупомянутый принцип монотонности совершенно явным образом (Раскин бы не одобрил), и чаще всего лучше эту опцию выключить.

  • Еще часто критикуют Макось за ее «недостаточные» возможности, предназначенные для тайлинга (расположения окон приложений по рабочему пространству одного или нескольких мониторов). Тут ничего толкового сказать не могу, потому что мой сценарий использования — это окно приложения, распахнутое на весь экран и переход к этому окну «монотонным» способом — Vim: Win-1, Chrome: Win-2, Far (Terminal): Win-3 и так далее.  Однако в комментариях к предыдущей статье был упомянут проект https://github.com/ianyh/Amethyst — на первый взгляд его возможностей должно быть достаточно для тех, кто привык раскладывать из окон красивую мозаику (автор вдохновлялся xmonad, когда его делал). Я, возможно, когда-нибудь попробую его поюзать.

Часть 2.  Субъективные реплики к пунктам статей этой своеобразной серии.

Читайте только если занудства в первой части вам показалось маловато, и надо бы добавить еще.

Тут попробую записать свое восприятие проблем, которые при переходе на Mac испытали авторы двух перечисленных статей. Начну с более старой опытной «7 причин почему вам не стоит переходить на Mac, или как справиться с этой демонической машиной»

  • Бестолковый Dock Bar

Мне он не показался бестолковым, потому что я, пользуясь Windows с версии Windows 95, еще помню, как эволюционировал Task Bar там. Раньше он выглядел так:

но, начиная с Windows Vista, стал выглядеть очень похоже на Mac-версию. В Windows 7 иконки приложений стали более квадратными (чтобы их помещалось по горизонтали больше) — как и в Mac, добавились визуальные элементы индикации, отображающие текущий статус приложения (запущено, не запущено, сколько окон — как и в Маке, скачивает / занято процессом — лучше, чем в Маке), но в целом никаких неудобств докбар не вызвал, потому что этот элемент управления работает и ведет себя почти так же, как и в Windows. Здесь мы видим пример процесса, когда UI-элементы из разных систем эволюционируют, перенимая друг у друга лучшие черты, и превращаются плюс-минус в одно и то же. Мое имхо: докбар — хорошо сделано, еще и выглядит eye-candy.  Доставить программу Snap, и оно еще и на клавиши начинает реагировать монотонно.

  • Планшетный LaunchPad

Это просто второстепенное приложение для запуска других приложений, которое использует метафоры UI, принятые на планшетах — вроде «перетащите Pages на Numbers, чтобы сделать Productivity», и т.п. Никаких проблем это не вызывает, потому что этим можно пользоваться точно так же, как на iPad, если привык к такому UI-решению, либо не пользоваться вовсе, если оно не нужно (как мне). А вот облегчить переходный период пользователю iPad, который впервые купил себе Макбук зачем-то, такое приложение может.

  • Активные углы

Тут пока воздержусь от комментария, потому что не пользовался, и не имею hands-on experience, как оно. Но в теории, эта штука обладает свойством монотонности, то есть бросок мыши в конкретный угол экрана должен приводить к одинаковому результату. Поэтому, вероятно, если настроить эту фичу правильно, то она скорее полезна, чем вредна.

  • Окна — боль

Тут сценарии использования тоже могут отличаться, но по моим многолетним наблюдениям за собой и за окружающими, основной сценарий использования — это окно приложения, распахнутое на весь экран, и переключение между несколькими  такими «максимизированными» окнами по мере того, какое приложение нужно. История с тайловыми менеджерами, призванными городить хитрую мозаику из окон запущенных приложений, почти никогда не находит применений в практике (исключения — двухпанельный интерфейс файловых менеджеров вроде Far, mc, Total Commander — но и там удобнее оказалось это сделать в виде двух панелей внутри одного приложения, и дашборды мониторинга, где надо одновременно выводить много метрик (визуально оформленных как градусники, спидометры, энцефалограммы, и т.п.) в реальном времени — но и там оказалось удобнее сделать это в чем-то вроде Графаны). В результате эти кнопки светофорных цветов оказались не особо нужны, поэтому и не особо мешают (хотя то, что они ведут себя по разному для разных приложений — это стыд, позор и нарушение принципа монотонности Раскина — например, красная кнопка может просто «свернуть» приложение, а может отправить виртуальную машину в сон, что, хотя концептуально и похоже на «свернуть», а все же значительно отличается, потому что при отправке в сон, в отличие от свертывания, порвутся открытые сокетные соединения).

  • Full Screen — выбор между плохим и ужасным

Вообще в теории Full Screen режим — это хорошо, потому что вспомогательные элементы управления прячутся и не отвлекают внимания, а нужное в данный момент приложение занимает всё доступное место. На практике же это оказывается неудобным, потому что прячутся не только ненужные элементы интерфейса, но и нужные тоже (menu bar вверху, где нужно обычно не само меню, а часы, календарь, текущая раскладка, статус клавиши CapsLock), докбар (где нужна иконка System Monitor с текущей загрузкой процессора), и подобные мелочи. Эту информацию о текущем статусе системы наверняка можно реализовать как дополнительное приложение, которое будет показывать ее и в полноэкранном режиме тоже, в виде какого-нибудь полупрозрачного окна, но такое приложение надо либо искать, либо писать. Кстати, это мысль.

  • Trackpad

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

  • Touch Bar

Про Touch Bar либо хорошо, либо ничего. Его убрали в новых макбуках, и правильно сделали.

Теперь про статью «Перейти с Linux на macOS и не сойти с ума».

Проблема: Dock занимает много места, принося минимальную пользу.

Решение: убрать влево, включить автоскрытие.

Почти согласен. Тоже убрал влево, но автоскрытие выключил, потому что от него (имхо) больше вреда, чем пользы. Автоскрытие было и есть и в таскбаре Windows тоже уже очень давно, и там оно тоже приносит больше вреда, чем пользы, по причинам, перечисленным выше.

Проблема: Command + Tab (аналог Alt + Tab в других ОС) показывает все приложения со всех рабочих столов, непригоден для переключения между несколькими окнами одного приложения.

Решение: использовать альтернативный переключатель окон AltTab, использовать жесты тачпада.

Тут благодарность автору за наводку на бесплатную опенсорсную программу Alt-Tab. Работает очень хорошо, хотя и не совсем так как в Windows, но в чем-то даже лучше.

Проблема: Тайлинг окон, нормальное разворачивание окна на весь экран.

Решение: Rectangle.

Для меня это не оказалось проблемой, потому что окно разворачивается на весь экран двойным кликом по заголовку (как и в Windows) и дальше остается в этом состоянии до перезагрузки. Еще можно зажать Alt на клавиатуре и мышкой нажать на зеленую кнопку — это, оказалось, как раз разворачивание окна на весь экран.

Проблема: Переключение раскладки клавиатуры по CapsLock для тех, кто быстро печатает и часто переключает раскладки.

Решение: Использование Karabiner-Elements.

А вот тут мне пришлось почесать репу. Я тоже быстро печатаю, и тоже привык использовать CapsLock для переключения РУС/ЛАТ. В Макоси есть для этого штатная функция (Use CapsLock to switch to and from US, что-то такое), и, сначала показалось, что это прямо то, что нужно. Оно действительно работает хорошо, пока не надо использовать странные сценарии, вроде таких как «подключиться по RDP к Windows-машине», где клавиатурную раскладку тоже нужно переключать по CapsLock. TL;DR: рабочим решением оказалось сделать то же самое, что и под Windows, а именно — сконструировать кастомную клавиатурную раскладку. На Маке это оказалось сделать (с помощью программы Ukelele) даже проще, потому что клавиатурная раскладка здесь — это файл в xml-формате, а на Windows — это полноценная DLL в формате PE, который еще разный под 32, 64 и ARM архитектуру должен быть. Под ARM (aarch64) у меня пока не получилось такую DLL собрать. Пичалька.

Проблема: Непривычная русская раскладка.

Решение: Использование раскладки «Russian — PC».

Для меня это не оказалось проблемой, потому что я сразу последовал этому совету, и поставил Russian — PC. И, хотя потом пришлось городить свою раскладку, русские буквы я разложил в ней именно так, как в Russian — PC, которая была взята за основу. Спасибо автору за хороший совет.

Проблема: Autocomplete в терминале.

Решение: Fig.

Тут я это решение использовать пока не стал, потому что мне настолько хитрое решение пока не нужно, а автодополнение названий веток в Git по Tab как-то само заработало (то ли после установки Homebrew, то ли сразу было).  Терминал (zsh) можно подвергнуть настройке, чтобы показывал текущую ветку git. Для этого в ~/.zshrc нужно дописать примерно такое (честно утянуто со StackOverflow):

Hidden text

parse_git_branch() {
    git branch 2> /dev/null | sed -n -e 's/^\* \(.*\)/[\1]/p'
}
COLOR_DEF='%f'
COLOR_USR='%F{243}'
COLOR_DIR='%F{197}'
COLOR_GIT='%F{39}'
NEWLINE=$'\n'
setopt PROMPT_SUBST
export PROMPT='${COLOR_USR}%n@%M ${COLOR_DIR}%d ${COLOR_GIT}$(parse_git_branch)${COLOR_DEF}%% '

Проблема: Docker-контейнеры тормозят.

Решение: нет.

Тут промолчу, ибо сам еще не налаживал и не запускал, но, говорят, что если надо запустить что-то x64, то придется использовать какое-то странное решение, в котором одновременно встречаются слова «docker» и «qemu», и оно вроде как еще потребляет много оперативы. (A work around is to spin up an x86 container using Colima, https://oralytics.com/2022/09/22/running-oracle-database-on-docker-on-apple-m1-chip/)

Проблема: Виртуальная машина с Windows и Linux.

Решение: UTM или QEMU.

Там автору подсказали, что «более лучшее» решение — это Parallels. Работает очень хорошо, Microsoft совсем недавно (февраль 2023) что-то даже официально сертифицировала, что Parallels для запуска Windows на макбуках с процессором Apple Silicon — это ОК, но все же Windows работает в режиме виртуальной машины там. То есть софт, который не лезет в ядро, вроде как работает весь, и с отличной, почти native, скоростью, но драйвера не запустятся, даже сравнительно безопасные, типа виртуальных сетевых интерфейсов для openconnect.

Часть 3.  Минусы и плюсы.

Начну с субъективных минусов (которых достаточно), чтобы закончить субъективными плюсами (которых тоже немало).

Сильнее всего не понравилось — это поведение курсора и системы выделения текста в штатных полях редактирования текста. Как-будто специально сделано, чтобы виндузятники не лезли на мак, и наоборот, с целью огораживания. Это оказалось возможным преодолеть (не полностью), но сама необходимость этим заниматься (гуглить нетривиальный способ настройки, а затем еще тюнить его под мои потребности) — создало достаточное количество предвзятости, немного даже переходящей в негатив. При этом в GUI линуксов, сколько их помню, редактирование текста вело себя так же, как в Windows, либо очень похоже.

Еще напрягло (и напрягает до сих пор) скроллинг по колесу внешней (не эппловской, а логитековской) мыши: он то слишком быстрый, то слишком медленный, и нельзя настроить, чтоб было привычно, как в Windows.

Не понравилось, что частота сканирования внешней клавиатуры совсем уж мала (внутренняя работает без нареканий), и с нее Caps иногда не включается или не выключается, когда жмешь его слишком быстро. «А вы просто не жмите так, а жмите помедленнее, с чувством, с толком, с расстановкой», — ну, что ж, такой совет помогает. Но вот в Windows никогда не крохоборничали на этой частоте, и оно всегда, сколько помню, отрабатывало моментально (с одним исключением — когда у Windows забивается дисковая очередь — вот тогда даже ядро начинает тормозить в базовых функциях реагирования на мышь и клавиатуру)

Что еще? Ну, непривычное и неконсистентное поведение кнопок управления размером окна… но это не воспринималось, как напряг, просто местная особенность.

Остальное же плюс-минус точно такое же, как и в других компьютерах. Процессор с регистрами, память, прерывания, планировщик, тред, файл, диск, сокет, пайп, GUI с реактивной моделью, что тут еще можно придумать… [место для смайлика с разведенными руками ¯_(ツ)_/¯ ]

Теперь про плюсы.

  • не глючит (не глючит сама ОС, приложения, к сожалению, еще как глючат и вылетают, в том числе даже системный WindowServer)

  • не тормозит (заставить тормозить не удалось)

  • не греется и не жужжит вентиляторами (заставить греться и жужжать получилось, но для этого надо было выключить режим low power mode, запустить виртуалку с виндой и в ней запустить GPU Stress Test системы «волосатый бублик», при этом включив еще опции «cpu burner», и запустить этот cpu burner параллельно с бубликом)

  • производительный (10 ядер, быстрая оперативка, можно запустить виртуальную машину с виндой и в ней упомянутый «волосатый бублик», и он будет показывать 60 FPS на FullHD. Не знаю, умеет ли так какой-либо ноутбук на Windows).

  • почти все нужные тулзы тут есть сразу (ssh, openssl, base64, md5, curl, split, xmllint, вот это вот все) — на винде сейчас приходится доустанавливать даже банальный telnet. Git, как я понял, ставится вместе с Homebrew, и потом тоже доступен везде.

  • чего нету — обычно легко доустанавливается через Homebrew (типа jq для форматирования JSON или nginx, тоже бывает нужен, хотя бы захостить статику)

  • обнаружил, что MacVim довольно тесно интегрируется с шеллом (zsh), и может исполнять команды шелла прямо если написать непосредственно в текущем документе (а не в режиме командной строки), причем это корректно отрабатывает даже с sudo-командами, когда надо вводить пароль, или ping, которые выдают строку за строкой. Это повышает удобство использования CLI-утилит просто в разы, и на Винде такой тесной интеграции мне достичь не удалось, хотя дёргать CLI-утилиты таким способом можно и там тоже (см. Приложение [4]).

  • долго держит батарейку (не проверял, потому что у меня компьютер практически всегда подключен к сети, и мне это не очень актуально)

  • умеет подзаряжаться даже от старых и слабых телефонных зарядок. Как-то у меня не было нормального мощного зарядного устройства, и пришлось подключить разряженный макбук к тому, что было (телефонное зарядное устройство, 5В, 2А). Часов за 9 он набрал полный заряд. Не видел, чтобы виндобуки так умели делать.

  • есть Spotlight Search (тот самый, который по Command-Space) — вот он работает быстро и принцип монотонности соблюдает как раз просто канонически. Хотя, справедливости ради, похожий по назначению Everything Search Engine под Windows работает не хуже, если не считать, что функциональность последнего ограничена поиском только по именам файлов и каталогов.

  • вроде как не кряхтит даже под нагрузкой (две виртуальных машины, Ubuntu и Windows 11, Идея,  запущенный java-проект и запущенный dev server под node, запущенный Хром и остальное по мелочи) — и оно не демонстрирует никаких подтормаживаний, хотя график Memory Pressure в мониторе ресурсов уже устойчиво уходит в желтую зону. Это у меня с 16 Gb RAM конфигурация, а бывают и с 32.

  • экран и встроенная клавиатура, говорят, хороши, но я пользуюсь нормальной внешней клавиатурой со стандартной раскладкой, к которой приспособлен мой навык десятипальцевой слепой печати, и, по возможности, внешним монитором тоже (4K 60 Hz без проблем работает через HDMI), так что тут оценить в полной мере не могу.

  • Имеется rosetta2 (которую надо, сначала, доустановить с помощью sudo softwareupgrade rosetta2), которая позволяет запускать собранные (для Макоси, конечно) бинарники с архитектурой x86_64. Помогает, если нужно запустить что-то, что под aarch64 еще не успели пересобрать.

  • Как Ubuntu, так и ARM-версия Windows 11 запускаются в Parallels, причем работают почти что с native-производительностью. При этом Windows с помощью какой-то магии умеет запускать exe-шники всех трех архитектур: x86, x86_64 и ARM (hint: чтобы посмотреть, что это за exe-шник, можно использовать встроенную в макбук программу file). Однако полного чуда все равно не происходит, и кое-что все равно не работает: некоторые драйверы (у меня не завелся openconnect под Windows, потому что он не смог установить tap/tun драйвер, или что-то такое), а также не смогла загрузиться DLL с клавиатурной раскладкой, предназначенной для переключения по Caps Lock, собранная под x86_64, причем система ее видит и показывает в списке доступных клавиатурных раскладок, но не может использовать. Даже Microsoft Keyboard Layout Creator, запущенный под ARM-виндой, собирает DLL под архитектуру x86_64, и она под этой виндой оказывается неюзабельной.

  • красиво и престижно иметь красивый и престижный компьютер с яблоком (ну, тут, как бы да, но как бы и не совсем)

Эпилог. «И как тебе макбук»?

Скорее стал нравиться,  после полугодовой доработки напильником, но фэнбойства никакого не появилось и близко. Как-то так. У этого компьютера есть ощутимые плюсы, которые, может быть, перевешивают минусы, но минусы никуда не деваются, а устранить их могут только в корпорации Apple, потому что это вопросы идеологии. «Является ли такое поведение системы багом или фичей», вот в чем вопрос.

Стоило ли оно того (полгода не очень больших, но всё же усилий, чтобы сконфигурировать этот макбук под мои потребности виндузятника)? Вопрос почти риторический. В моем случае — скорее это было не оправдано. На Винде у меня уже всё было готовое (не только набор софта, но и клавиатурные привычки и наработанные способы решения задач), а тут мне пришлось многое заново изучать, настраивать и конфигурировать. Но с другой стороны, любим же мы компьютерщину не за то, что все настроено и работает, а именно за то, что можно возиться и все настраивать и улучшать :). По принципу «put the fun back into computing — use Linux, BSD…» Поэтому с одной стороны у меня присутствует ощущение потраченных не таких уж маленьких денег и затраченного не такого уж маленького времени, чтобы настроить этот компьютер до состояния, что я могу на нем работать (а при этом он работает плюс-минус с той же отзывчивостью, скоростью и безглючностью, что и хороший виндобук), а с другой стороны, есть и ощущение некоторого удовлетворения, что я смог разобраться и настроить как мне надо, и, в процессе этого, наверное, узнал какие-то новые нюансы взаимодействия с nix-системами.  От которых мы в ближайшем обозримом будущем никуда не денемся, потому что сейчас уже понятно, что мало-мальски важную инфраструктуру будут впредь выстраивать именно на открытых, а не на проприетарных решениях.

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

Еще некоторое удовлетворение приносит факт, что я осилил дописать эту статью :)

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

Приложение. Как конкретно настроить то, сё, пятое, десятое. Технические подробности.

Мои конфиги для макоси, которые описываю ниже, я разместил в репозитории https://github.com/konstlvov/macos.

  1. Переключение РУС/ЛАТ по CapsLock. Решается с помощью создания кастомной клавиатурной раскладки «ruscaps» с помощью программы Ukelele для Макоси. Эта программа предоставляет графический интерфейс, с помощью нажимания на кнопки в котором в конце концов получается примерно такой файл:

Hidden text

<?xml version="1.1" encoding="UTF-8"?>
<!DOCTYPE keyboard SYSTEM "file://localhost/System/Library/DTDs/KeyboardLayout.dtd">
<!--Created by Ukelele version 359 on 2023-02-24 at 13:05 (GMT+3)-->
<!--Last edited by Ukelele version 359 on 2023-02-26 at 13:38 (GMT+3)-->
<keyboard group="126" id="-5618" name="ruscaps" maxout="1">
    <layouts>
        <layout first="0" last="17" mapSet="ANSI" modifiers="Modifiers"/>
        <layout first="18" last="18" mapSet="JIS" modifiers="Modifiers"/>
        <layout first="21" last="23" mapSet="JIS" modifiers="Modifiers"/>
        <layout first="30" last="30" mapSet="JIS" modifiers="Modifiers"/>
        <layout first="33" last="33" mapSet="JIS" modifiers="Modifiers"/>
        <layout first="36" last="36" mapSet="JIS" modifiers="Modifiers"/>
        <layout first="194" last="194" mapSet="JIS" modifiers="Modifiers"/>
        <layout first="197" last="197" mapSet="JIS" modifiers="Modifiers"/>
        <layout first="200" last="201" mapSet="JIS" modifiers="Modifiers"/>
        <layout first="206" last="207" mapSet="JIS" modifiers="Modifiers"/>
    </layouts>
    <modifierMap id="Modifiers" defaultIndex="10">
        <keyMapSelect mapIndex="0">
            <modifier keys=""/>
        </keyMapSelect>
        <keyMapSelect mapIndex="1">
            <modifier keys="anyShift"/>
        </keyMapSelect>
        <keyMapSelect mapIndex="2">
            <modifier keys="anyOption"/>
        </keyMapSelect>
        <keyMapSelect mapIndex="3">
            <modifier keys="anyShift caps? anyOption"/>
        </keyMapSelect>
        <keyMapSelect mapIndex="4">
            <modifier keys="caps"/>
        </keyMapSelect>
        <keyMapSelect mapIndex="5">
            <modifier keys="command"/>
        </keyMapSelect>
        <keyMapSelect mapIndex="6">
            <modifier keys="anyShift command"/>
        </keyMapSelect>
        <keyMapSelect mapIndex="7">
            <modifier keys="anyOption command"/>
        </keyMapSelect>
        <keyMapSelect mapIndex="8">
            <modifier keys="anyShift anyOption command"/>
        </keyMapSelect>
        <keyMapSelect mapIndex="9">
            <modifier keys="caps command"/>
        </keyMapSelect>
        <keyMapSelect mapIndex="10">
            <modifier keys="anyControl"/>
        </keyMapSelect>
        <keyMapSelect mapIndex="11">
            <modifier keys="caps anyControl"/>
        </keyMapSelect>
        <keyMapSelect mapIndex="12">
            <modifier keys="anyShift caps"/>
        </keyMapSelect>
    </modifierMap>
    <keyMapSet id="ANSI">
        <keyMap index="0">
            <key code="0" output="a"/>
            <key code="1" output="s"/>
            <key code="2" output="d"/>
            <key code="3" output="f"/>
            <key code="4" output="h"/>
            <key code="5" output="g"/>
            <key code="6" output="z"/>
            <key code="7" output="x"/>
            <key code="8" output="c"/>
            <key code="9" output="v"/>
            <key code="10" output="§"/>
            <key code="11" output="b"/>
            <key code="12" output="q"/>
            <key code="13" output="w"/>
            <key code="14" output="e"/>
            <key code="15" output="r"/>
            <key code="16" output="y"/>
            <key code="17" output="t"/>
            <key code="18" output="1"/>
            <key code="19" output="2"/>
            <key code="20" output="3"/>
            <key code="21" output="4"/>
            <key code="22" output="6"/>
            <key code="23" output="5"/>
            <key code="24" output="="/>
            <key code="25" output="9"/>
            <key code="26" output="7"/>
            <key code="27" output="-"/>
            <key code="28" output="8"/>
            <key code="29" output="0"/>
            <key code="30" output="]"/>
            <key code="31" output="o"/>
            <key code="32" output="u"/>
            <key code="33" output="["/>
            <key code="34" output="i"/>
            <key code="35" output="p"/>
            <key code="36" output="&#x000D;"/>
            <key code="37" output="l"/>
            <key code="38" output="j"/>
            <key code="39" output="&#x0027;"/>
            <key code="40" output="k"/>
            <key code="41" output=";"/>
            <key code="42" output="\"/>
            <key code="43" output=","/>
            <key code="44" output="/"/>
            <key code="45" output="n"/>
            <key code="46" output="m"/>
            <key code="47" output="."/>
            <key code="48" output="&#x0009;"/>
            <key code="49" output=" "/>
            <key code="50" output="`"/>
            <key code="51" output="&#x0008;"/>
            <key code="53" output="&#x001B;"/>
            <key code="64" output="&#x0010;"/>
            <key code="65" output="."/>
            <key code="66" output="&#x001D;"/>
            <key code="67" output="*"/>
            <key code="69" output="+"/>
            <key code="70" output="&#x001C;"/>
            <key code="71" output="&#x001B;"/>
            <key code="72" output="&#x001F;"/>
            <key code="75" output="/"/>
            <key code="76" output="&#x0003;"/>
            <key code="77" output="&#x001E;"/>
            <key code="78" output="-"/>
            <key code="79" output="&#x0010;"/>
            <key code="80" output="&#x0010;"/>
            <key code="81" output="="/>
            <key code="82" output="0"/>
            <key code="83" output="1"/>
            <key code="84" output="2"/>
            <key code="85" output="3"/>
            <key code="86" output="4"/>
            <key code="87" output="5"/>
            <key code="88" output="6"/>
            <key code="89" output="7"/>
            <key code="91" output="8"/>
            <key code="92" output="9"/>
            <key code="96" output="&#x0010;"/>
            <key code="97" output="&#x0010;"/>
            <key code="98" output="&#x0010;"/>
            <key code="99" output="&#x0010;"/>
            <key code="100" output="&#x0010;"/>
            <key code="101" output="&#x0010;"/>
            <key code="103" output="&#x0010;"/>
            <key code="105" output="&#x0010;"/>
            <key code="106" output="&#x0010;"/>
            <key code="107" output="&#x0010;"/>
            <key code="109" output="&#x0010;"/>
            <key code="111" output="&#x0010;"/>
            <key code="113" output="&#x0010;"/>
            <key code="114" output="&#x0005;"/>
            <key code="115" output="&#x0001;"/>
            <key code="116" output="&#x000B;"/>
            <key code="117" output="&#x007F;"/>
            <key code="118" output="&#x0010;"/>
            <key code="119" output="&#x0004;"/>
            <key code="120" output="&#x0010;"/>
            <key code="121" output="&#x000C;"/>
            <key code="122" output="&#x0010;"/>
            <key code="123" output="&#x001C;"/>
            <key code="124" output="&#x001D;"/>
            <key code="125" output="&#x001F;"/>
            <key code="126" output="&#x001E;"/>
        </keyMap>
        <keyMap index="1">
            <key code="0" output="A"/>
            <key code="1" output="S"/>
            <key code="2" output="D"/>
            <key code="3" output="F"/>
            <key code="4" output="H"/>
            <key code="5" output="G"/>
            <key code="6" output="Z"/>
            <key code="7" output="X"/>
            <key code="8" output="C"/>
            <key code="9" output="V"/>
            <key code="10" output="±"/>
            <key code="11" output="B"/>
            <key code="12" output="Q"/>
            <key code="13" output="W"/>
            <key code="14" output="E"/>
            <key code="15" output="R"/>
            <key code="16" output="Y"/>
            <key code="17" output="T"/>
            <key code="18" output="!"/>
            <key code="19" output="@"/>
            <key code="20" output="#"/>
            <key code="21" output="$"/>
            <key code="22" output="^"/>
            <key code="23" output="%"/>
            <key code="24" output="+"/>
            <key code="25" output="("/>
            <key code="26" output="&#x0026;"/>
            <key code="27" output="_"/>
            <key code="28" output="*"/>
            <key code="29" output=")"/>
            <key code="30" output="}"/>
            <key code="31" output="O"/>
            <key code="32" output="U"/>
            <key code="33" output="{"/>
            <key code="34" output="I"/>
            <key code="35" output="P"/>
            <key code="36" output="&#x000D;"/>
            <key code="37" output="L"/>
            <key code="38" output="J"/>
            <key code="39" output="&#x0022;"/>
            <key code="40" output="K"/>
            <key code="41" output=":"/>
            <key code="42" output="|"/>
            <key code="43" output="&#x003C;"/>
            <key code="44" output="?"/>
            <key code="45" output="N"/>
            <key code="46" output="M"/>
            <key code="47" output="&#x003E;"/>
            <key code="48" output="&#x0009;"/>
            <key code="49" output=" "/>
            <key code="50" output="~"/>
            <key code="51" output="&#x0008;"/>
            <key code="53" output="&#x001B;"/>
            <key code="64" output="&#x0010;"/>
            <key code="65" output="."/>
            <key code="66" output="&#x001D;"/>
            <key code="67" output="*"/>
            <key code="69" output="+"/>
            <key code="70" output="&#x001C;"/>
            <key code="71" output="&#x001B;"/>
            <key code="72" output="&#x001F;"/>
            <key code="75" output="/"/>
            <key code="76" output="&#x0003;"/>
            <key code="77" output="&#x001E;"/>
            <key code="78" output="-"/>
            <key code="79" output="&#x0010;"/>
            <key code="80" output="&#x0010;"/>
            <key code="81" output="="/>
            <key code="82" output="0"/>
            <key code="83" output="1"/>
            <key code="84" output="2"/>
            <key code="85" output="3"/>
            <key code="86" output="4"/>
            <key code="87" output="5"/>
            <key code="88" output="6"/>
            <key code="89" output="7"/>
            <key code="91" output="8"/>
            <key code="92" output="9"/>
            <key code="96" output="&#x0010;"/>
            <key code="97" output="&#x0010;"/>
            <key code="98" output="&#x0010;"/>
            <key code="99" output="&#x0010;"/>
            <key code="100" output="&#x0010;"/>
            <key code="101" output="&#x0010;"/>
            <key code="103" output="&#x0010;"/>
            <key code="105" output="&#x0010;"/>
            <key code="106" output="&#x0010;"/>
            <key code="107" output="&#x0010;"/>
            <key code="109" output="&#x0010;"/>
            <key code="111" output="&#x0010;"/>
            <key code="113" output="&#x0010;"/>
            <key code="114" output="&#x0005;"/>
            <key code="115" output="&#x0001;"/>
            <key code="116" output="&#x000B;"/>
            <key code="117" output="&#x007F;"/>
            <key code="118" output="&#x0010;"/>
            <key code="119" output="&#x0004;"/>
            <key code="120" output="&#x0010;"/>
            <key code="121" output="&#x000C;"/>
            <key code="122" output="&#x0010;"/>
            <key code="123" output="&#x001C;"/>
            <key code="124" output="&#x001D;"/>
            <key code="125" output="&#x001F;"/>
            <key code="126" output="&#x001E;"/>
        </keyMap>
        <keyMap index="2">
            <key code="0" output=""/>
            <key code="1" output=""/>
            <key code="2" output=""/>
            <key code="3" output=""/>
            <key code="4" output=""/>
            <key code="5" output=""/>
            <key code="6" output=""/>
            <key code="7" output=""/>
            <key code="8" output=""/>
            <key code="9" output=""/>
            <key code="10" output=""/>
            <key code="11" output=""/>
            <key code="12" output=""/>
            <key code="13" output=""/>
            <key code="14" output=""/>
            <key code="15" output=""/>
            <key code="16" output=""/>
            <key code="17" output=""/>
            <key code="18" output=""/>
            <key code="19" output=""/>
            <key code="20" output=""/>
            <key code="21" output=""/>
            <key code="22" output=""/>
            <key code="23" output=""/>
            <key code="24" output=""/>
            <key code="25" output=""/>
            <key code="26" output=""/>
            <key code="27" output=""/>
            <key code="28" output=""/>
            <key code="29" output=""/>
            <key code="30" output=""/>
            <key code="31" output=""/>
            <key code="32" output=""/>
            <key code="33" output=""/>
            <key code="34" output=""/>
            <key code="35" output=""/>
            <key code="36" output="&#x000D;"/>
            <key code="37" output=""/>
            <key code="38" output=""/>
            <key code="39" output=""/>
            <key code="40" output=""/>
            <key code="41" output=""/>
            <key code="42" output=""/>
            <key code="43" output=""/>
            <key code="44" output=""/>
            <key code="45" output=""/>
            <key code="46" output=""/>
            <key code="47" output=""/>
            <key code="48" output="&#x0009;"/>
            <key code="49" output=""/>
            <key code="50" output=""/>
            <key code="51" output="&#x0008;"/>
            <key code="53" output="&#x001B;"/>
            <key code="64" output="&#x0010;"/>
            <key code="65" output=""/>
            <key code="66" output="&#x001D;"/>
            <key code="67" output=""/>
            <key code="69" output=""/>
            <key code="70" output="&#x001C;"/>
            <key code="71" output="&#x001B;"/>
            <key code="72" output="&#x001F;"/>
            <key code="75" output=""/>
            <key code="76" output="&#x0003;"/>
            <key code="77" output="&#x001E;"/>
            <key code="78" output=""/>
            <key code="79" output="&#x0010;"/>
            <key code="80" output="&#x0010;"/>
            <key code="81" output=""/>
            <key code="82" output=""/>
            <key code="83" output=""/>
            <key code="84" output=""/>
            <key code="85" output=""/>
            <key code="86" output=""/>
            <key code="87" output=""/>
            <key code="88" output=""/>
            <key code="89" output=""/>
            <key code="91" output=""/>
            <key code="92" output=""/>
            <key code="96" output="&#x0010;"/>
            <key code="97" output="&#x0010;"/>
            <key code="98" output="&#x0010;"/>
            <key code="99" output="&#x0010;"/>
            <key code="100" output="&#x0010;"/>
            <key code="101" output="&#x0010;"/>
            <key code="103" output="&#x0010;"/>
            <key code="105" output="&#x0010;"/>
            <key code="106" output="&#x0010;"/>
            <key code="107" output="&#x0010;"/>
            <key code="109" output="&#x0010;"/>
            <key code="111" output="&#x0010;"/>
            <key code="113" output="&#x0010;"/>
            <key code="114" output="&#x0005;"/>
            <key code="115" output="&#x0001;"/>
            <key code="116" output="&#x000B;"/>
            <key code="117" output="&#x007F;"/>
            <key code="118" output="&#x0010;"/>
            <key code="119" output="&#x0004;"/>
            <key code="120" output="&#x0010;"/>
            <key code="121" output="&#x000C;"/>
            <key code="122" output="&#x0010;"/>
            <key code="123" output="&#x001C;"/>
            <key code="124" output="&#x001D;"/>
            <key code="125" output="&#x001F;"/>
            <key code="126" output="&#x001E;"/>
        </keyMap>
        <keyMap index="3">
            <key code="0" output=""/>
            <key code="36" output="&#x000D;"/>
            <key code="48" output="&#x0009;"/>
            <key code="51" output="&#x0008;"/>
            <key code="53" output="&#x001B;"/>
            <key code="64" output="&#x0010;"/>
            <key code="66" output="&#x001D;"/>
            <key code="70" output="&#x001C;"/>
            <key code="71" output="&#x001B;"/>
            <key code="72" output="&#x001F;"/>
            <key code="76" output="&#x0003;"/>
            <key code="77" output="&#x001E;"/>
            <key code="79" output="&#x0010;"/>
            <key code="80" output="&#x0010;"/>
            <key code="96" output="&#x0010;"/>
            <key code="97" output="&#x0010;"/>
            <key code="98" output="&#x0010;"/>
            <key code="99" output="&#x0010;"/>
            <key code="100" output="&#x0010;"/>
            <key code="101" output="&#x0010;"/>
            <key code="103" output="&#x0010;"/>
            <key code="105" output="&#x0010;"/>
            <key code="106" output="&#x0010;"/>
            <key code="107" output="&#x0010;"/>
            <key code="109" output="&#x0010;"/>
            <key code="111" output="&#x0010;"/>
            <key code="113" output="&#x0010;"/>
            <key code="114" output="&#x0005;"/>
            <key code="115" output="&#x0001;"/>
            <key code="116" output="&#x000B;"/>
            <key code="117" output="&#x007F;"/>
            <key code="118" output="&#x0010;"/>
            <key code="119" output="&#x0004;"/>
            <key code="120" output="&#x0010;"/>
            <key code="121" output="&#x000C;"/>
            <key code="122" output="&#x0010;"/>
            <key code="123" output="&#x001C;"/>
            <key code="124" output="&#x001D;"/>
            <key code="125" output="&#x001F;"/>
            <key code="126" output="&#x001E;"/>
        </keyMap>
        <keyMap index="4">
            <key code="0" output="ф"/>
            <key code="1" output="ы"/>
            <key code="2" output="в"/>
            <key code="3" output="а"/>
            <key code="4" output="р"/>
            <key code="5" output="п"/>
            <key code="6" output="я"/>
            <key code="7" output="ч"/>
            <key code="8" output="с"/>
            <key code="9" output="м"/>
            <key code="10" output="ё"/>
            <key code="11" output="и"/>
            <key code="12" output="й"/>
            <key code="13" output="ц"/>
            <key code="14" output="у"/>
            <key code="15" output="к"/>
            <key code="16" output="н"/>
            <key code="17" output="е"/>
            <key code="18" output="1"/>
            <key code="19" output="2"/>
            <key code="20" output="3"/>
            <key code="21" output="4"/>
            <key code="22" output="6"/>
            <key code="23" output="5"/>
            <key code="24" output="="/>
            <key code="25" output="9"/>
            <key code="26" output="7"/>
            <key code="27" output="-"/>
            <key code="28" output="8"/>
            <key code="29" output="0"/>
            <key code="30" output="ъ"/>
            <key code="31" output="щ"/>
            <key code="32" output="г"/>
            <key code="33" output="х"/>
            <key code="34" output="ш"/>
            <key code="35" output="з"/>
            <key code="36" output="&#x000D;"/>
            <key code="37" output="д"/>
            <key code="38" output="о"/>
            <key code="39" output="э"/>
            <key code="40" output="л"/>
            <key code="41" output="ж"/>
            <key code="42" output="\"/>
            <key code="43" output="б"/>
            <key code="44" output="."/>
            <key code="45" output="т"/>
            <key code="46" output="ь"/>
            <key code="47" output="ю"/>
            <key code="48" output="&#x0009;"/>
            <key code="49" output=" "/>
            <key code="50" output="ё"/>
            <key code="51" output="&#x0008;"/>
            <key code="53" output="&#x001B;"/>
            <key code="64" output="&#x0010;"/>
            <key code="65" output="."/>
            <key code="66" output="&#x001D;"/>
            <key code="67" output="*"/>
            <key code="69" output="+"/>
            <key code="70" output="&#x001C;"/>
            <key code="71" output="&#x001B;"/>
            <key code="72" output="&#x001F;"/>
            <key code="75" output="/"/>
            <key code="76" output="&#x0003;"/>
            <key code="77" output="&#x001E;"/>
            <key code="78" output="-"/>
            <key code="79" output="&#x0010;"/>
            <key code="80" output="&#x0010;"/>
            <key code="81" output="="/>
            <key code="82" output="0"/>
            <key code="83" output="1"/>
            <key code="84" output="2"/>
            <key code="85" output="3"/>
            <key code="86" output="4"/>
            <key code="87" output="5"/>
            <key code="88" output="6"/>
            <key code="89" output="7"/>
            <key code="91" output="8"/>
            <key code="92" output="9"/>
            <key code="96" output="&#x0010;"/>
            <key code="97" output="&#x0010;"/>
            <key code="98" output="&#x0010;"/>
            <key code="99" output="&#x0010;"/>
            <key code="100" output="&#x0010;"/>
            <key code="101" output="&#x0010;"/>
            <key code="103" output="&#x0010;"/>
            <key code="105" output="&#x0010;"/>
            <key code="106" output="&#x0010;"/>
            <key code="107" output="&#x0010;"/>
            <key code="109" output="&#x0010;"/>
            <key code="111" output="&#x0010;"/>
            <key code="113" output="&#x0010;"/>
            <key code="114" output="&#x0005;"/>
            <key code="115" output="&#x0001;"/>
            <key code="116" output="&#x000B;"/>
            <key code="117" output="&#x007F;"/>
            <key code="118" output="&#x0010;"/>
            <key code="119" output="&#x0004;"/>
            <key code="120" output="&#x0010;"/>
            <key code="121" output="&#x000C;"/>
            <key code="122" output="&#x0010;"/>
            <key code="123" output="&#x001C;"/>
            <key code="124" output="&#x001D;"/>
            <key code="125" output="&#x001F;"/>
            <key code="126" output="&#x001E;"/>
        </keyMap>
        <keyMap index="5">
            <key code="0" output="a"/>
            <key code="1" output="s"/>
            <key code="2" output="d"/>
            <key code="3" output="f"/>
            <key code="4" output="h"/>
            <key code="5" output="g"/>
            <key code="6" output="z"/>
            <key code="7" output="x"/>
            <key code="8" output="c"/>
            <key code="9" output="v"/>
            <key code="10" output=""/>
            <key code="11" output="b"/>
            <key code="12" output="q"/>
            <key code="13" output="w"/>
            <key code="14" output="e"/>
            <key code="15" output="r"/>
            <key code="16" output="y"/>
            <key code="17" output="t"/>
            <key code="18" output="1"/>
            <key code="19" output="2"/>
            <key code="20" output="3"/>
            <key code="21" output="4"/>
            <key code="22" output="6"/>
            <key code="23" output="5"/>
            <key code="24" output="="/>
            <key code="25" output="9"/>
            <key code="26" output="7"/>
            <key code="27" output="-"/>
            <key code="28" output="8"/>
            <key code="29" output="0"/>
            <key code="30" output="]"/>
            <key code="31" output="o"/>
            <key code="32" output="u"/>
            <key code="33" output="["/>
            <key code="34" output="i"/>
            <key code="35" output="p"/>
            <key code="36" output="&#x000D;"/>
            <key code="37" output="l"/>
            <key code="38" output="j"/>
            <key code="39" output="&#x0027;"/>
            <key code="40" output="k"/>
            <key code="41" output=";"/>
            <key code="42" output="\"/>
            <key code="43" output=","/>
            <key code="44" output="/"/>
            <key code="45" output="n"/>
            <key code="46" output="m"/>
            <key code="47" output="."/>
            <key code="48" output="&#x0009;"/>
            <key code="49" output=" "/>
            <key code="50" output="`"/>
            <key code="51" output="&#x0008;"/>
            <key code="53" output="&#x001B;"/>
            <key code="64" output="&#x0010;"/>
            <key code="65" output=""/>
            <key code="66" output="&#x001D;"/>
            <key code="67" output="*"/>
            <key code="69" output="+"/>
            <key code="70" output="&#x001C;"/>
            <key code="71" output="&#x001B;"/>
            <key code="72" output="&#x001F;"/>
            <key code="75" output="/"/>
            <key code="76" output="&#x0003;"/>
            <key code="77" output="&#x001E;"/>
            <key code="78" output="-"/>
            <key code="79" output="&#x0010;"/>
            <key code="80" output="&#x0010;"/>
            <key code="81" output="="/>
            <key code="82" output="0"/>
            <key code="83" output="1"/>
            <key code="84" output="2"/>
            <key code="85" output="3"/>
            <key code="86" output="4"/>
            <key code="87" output="5"/>
            <key code="88" output="6"/>
            <key code="89" output="7"/>
            <key code="91" output="8"/>
            <key code="92" output="9"/>
            <key code="96" output="&#x0010;"/>
            <key code="97" output="&#x0010;"/>
            <key code="98" output="&#x0010;"/>
            <key code="99" output="&#x0010;"/>
            <key code="100" output="&#x0010;"/>
            <key code="101" output="&#x0010;"/>
            <key code="103" output="&#x0010;"/>
            <key code="105" output="&#x0010;"/>
            <key code="106" output="&#x0010;"/>
            <key code="107" output="&#x0010;"/>
            <key code="109" output="&#x0010;"/>
            <key code="111" output="&#x0010;"/>
            <key code="113" output="&#x0010;"/>
            <key code="114" output="&#x0005;"/>
            <key code="115" output="&#x0001;"/>
            <key code="116" output="&#x000B;"/>
            <key code="117" output="&#x007F;"/>
            <key code="118" output="&#x0010;"/>
            <key code="119" output="&#x0004;"/>
            <key code="120" output="&#x0010;"/>
            <key code="121" output="&#x000C;"/>
            <key code="122" output="&#x0010;"/>
            <key code="123" output="&#x001C;"/>
            <key code="124" output="&#x001D;"/>
            <key code="125" output="&#x001F;"/>
            <key code="126" output="&#x001E;"/>
        </keyMap>
        <keyMap index="6">
            <key code="0" output="A"/>
            <key code="1" output="S"/>
            <key code="2" output="D"/>
            <key code="3" output="F"/>
            <key code="4" output="H"/>
            <key code="5" output="G"/>
            <key code="6" output="Z"/>
            <key code="7" output="X"/>
            <key code="8" output="C"/>
            <key code="9" output="V"/>
            <key code="11" output="B"/>
            <key code="12" output="Q"/>
            <key code="13" output="W"/>
            <key code="14" output="E"/>
            <key code="15" output="R"/>
            <key code="16" output="Y"/>
            <key code="17" output="T"/>
            <key code="18" output="!"/>
            <key code="19" output="@"/>
            <key code="20" output="#"/>
            <key code="21" output="$"/>
            <key code="22" output="^"/>
            <key code="23" output="%"/>
            <key code="24" output="+"/>
            <key code="25" output="("/>
            <key code="26" output="&#x0026;"/>
            <key code="27" output="_"/>
            <key code="28" output="*"/>
            <key code="29" output=")"/>
            <key code="30" output="}"/>
            <key code="31" output="O"/>
            <key code="32" output="U"/>
            <key code="33" output="{"/>
            <key code="34" output="I"/>
            <key code="35" output="P"/>
            <key code="36" output="&#x000D;"/>
            <key code="37" output="L"/>
            <key code="38" output="J"/>
            <key code="39" output="&#x0022;"/>
            <key code="40" output="K"/>
            <key code="41" output=":"/>
            <key code="42" output="|"/>
            <key code="43" output="&#x003C;"/>
            <key code="44" output="?"/>
            <key code="45" output="N"/>
            <key code="46" output="M"/>
            <key code="47" output="&#x003E;"/>
            <key code="48" output="&#x0009;"/>
            <key code="49" output=" "/>
            <key code="50" output="~"/>
            <key code="51" output="&#x0008;"/>
            <key code="53" output="&#x001B;"/>
            <key code="64" output="&#x0010;"/>
            <key code="66" output="&#x001D;"/>
            <key code="67" output="*"/>
            <key code="69" output="+"/>
            <key code="70" output="&#x001C;"/>
            <key code="71" output="&#x001B;"/>
            <key code="72" output="&#x001F;"/>
            <key code="75" output="/"/>
            <key code="76" output="&#x0003;"/>
            <key code="77" output="&#x001E;"/>
            <key code="78" output="-"/>
            <key code="79" output="&#x0010;"/>
            <key code="80" output="&#x0010;"/>
            <key code="81" output="="/>
            <key code="82" output="0"/>
            <key code="83" output="1"/>
            <key code="84" output="2"/>
            <key code="85" output="3"/>
            <key code="86" output="4"/>
            <key code="87" output="5"/>
            <key code="88" output="6"/>
            <key code="89" output="7"/>
            <key code="91" output="8"/>
            <key code="92" output="9"/>
            <key code="96" output="&#x0010;"/>
            <key code="97" output="&#x0010;"/>
            <key code="98" output="&#x0010;"/>
            <key code="99" output="&#x0010;"/>
            <key code="100" output="&#x0010;"/>
            <key code="101" output="&#x0010;"/>
            <key code="103" output="&#x0010;"/>
            <key code="105" output="&#x0010;"/>
            <key code="106" output="&#x0010;"/>
            <key code="107" output="&#x0010;"/>
            <key code="109" output="&#x0010;"/>
            <key code="111" output="&#x0010;"/>
            <key code="113" output="&#x0010;"/>
            <key code="114" output="&#x0005;"/>
            <key code="115" output="&#x0001;"/>
            <key code="116" output="&#x000B;"/>
            <key code="117" output="&#x007F;"/>
            <key code="118" output="&#x0010;"/>
            <key code="119" output="&#x0004;"/>
            <key code="120" output="&#x0010;"/>
            <key code="121" output="&#x000C;"/>
            <key code="122" output="&#x0010;"/>
            <key code="123" output="&#x001C;"/>
            <key code="124" output="&#x001D;"/>
            <key code="125" output="&#x001F;"/>
            <key code="126" output="&#x001E;"/>
        </keyMap>
        <keyMap index="7">
            <key code="0" output=""/>
            <key code="36" output="&#x000D;"/>
            <key code="48" output="&#x0009;"/>
            <key code="51" output="&#x0008;"/>
            <key code="53" output="&#x001B;"/>
            <key code="64" output="&#x0010;"/>
            <key code="66" output="&#x001D;"/>
            <key code="70" output="&#x001C;"/>
            <key code="71" output="&#x001B;"/>
            <key code="72" output="&#x001F;"/>
            <key code="76" output="&#x0003;"/>
            <key code="77" output="&#x001E;"/>
            <key code="79" output="&#x0010;"/>
            <key code="80" output="&#x0010;"/>
            <key code="96" output="&#x0010;"/>
            <key code="97" output="&#x0010;"/>
            <key code="98" output="&#x0010;"/>
            <key code="99" output="&#x0010;"/>
            <key code="100" output="&#x0010;"/>
            <key code="101" output="&#x0010;"/>
            <key code="103" output="&#x0010;"/>
            <key code="105" output="&#x0010;"/>
            <key code="106" output="&#x0010;"/>
            <key code="107" output="&#x0010;"/>
            <key code="109" output="&#x0010;"/>
            <key code="111" output="&#x0010;"/>
            <key code="113" output="&#x0010;"/>
            <key code="114" output="&#x0005;"/>
            <key code="115" output="&#x0001;"/>
            <key code="116" output="&#x000B;"/>
            <key code="117" output="&#x007F;"/>
            <key code="118" output="&#x0010;"/>
            <key code="119" output="&#x0004;"/>
            <key code="120" output="&#x0010;"/>
            <key code="121" output="&#x000C;"/>
            <key code="122" output="&#x0010;"/>
            <key code="123" output="&#x001C;"/>
            <key code="124" output="&#x001D;"/>
            <key code="125" output="&#x001F;"/>
            <key code="126" output="&#x001E;"/>
        </keyMap>
        <keyMap index="8">
            <key code="0" output=""/>
            <key code="36" output="&#x000D;"/>
            <key code="48" output="&#x0009;"/>
            <key code="51" output="&#x0008;"/>
            <key code="53" output="&#x001B;"/>
            <key code="64" output="&#x0010;"/>
            <key code="66" output="&#x001D;"/>
            <key code="70" output="&#x001C;"/>
            <key code="71" output="&#x001B;"/>
            <key code="72" output="&#x001F;"/>
            <key code="76" output="&#x0003;"/>
            <key code="77" output="&#x001E;"/>
            <key code="79" output="&#x0010;"/>
            <key code="80" output="&#x0010;"/>
            <key code="96" output="&#x0010;"/>
            <key code="97" output="&#x0010;"/>
            <key code="98" output="&#x0010;"/>
            <key code="99" output="&#x0010;"/>
            <key code="100" output="&#x0010;"/>
            <key code="101" output="&#x0010;"/>
            <key code="103" output="&#x0010;"/>
            <key code="105" output="&#x0010;"/>
            <key code="106" output="&#x0010;"/>
            <key code="107" output="&#x0010;"/>
            <key code="109" output="&#x0010;"/>
            <key code="111" output="&#x0010;"/>
            <key code="113" output="&#x0010;"/>
            <key code="114" output="&#x0005;"/>
            <key code="115" output="&#x0001;"/>
            <key code="116" output="&#x000B;"/>
            <key code="117" output="&#x007F;"/>
            <key code="118" output="&#x0010;"/>
            <key code="119" output="&#x0004;"/>
            <key code="120" output="&#x0010;"/>
            <key code="121" output="&#x000C;"/>
            <key code="122" output="&#x0010;"/>
            <key code="123" output="&#x001C;"/>
            <key code="124" output="&#x001D;"/>
            <key code="125" output="&#x001F;"/>
            <key code="126" output="&#x001E;"/>
        </keyMap>
        <keyMap index="9">
            <key code="0" output="A"/>
            <key code="1" output="S"/>
            <key code="2" output="D"/>
            <key code="3" output="F"/>
            <key code="4" output="H"/>
            <key code="5" output="G"/>
            <key code="6" output="Z"/>
            <key code="7" output="X"/>
            <key code="8" output="C"/>
            <key code="9" output="V"/>
            <key code="10" output=""/>
            <key code="11" output="B"/>
            <key code="12" output="Q"/>
            <key code="13" output="W"/>
            <key code="14" output="E"/>
            <key code="15" output="R"/>
            <key code="16" output="Y"/>
            <key code="17" output="T"/>
            <key code="18" output="1"/>
            <key code="19" output="2"/>
            <key code="20" output="3"/>
            <key code="21" output="4"/>
            <key code="22" output="6"/>
            <key code="23" output="5"/>
            <key code="24" output="="/>
            <key code="25" output="9"/>
            <key code="26" output="7"/>
            <key code="27" output="-"/>
            <key code="28" output="8"/>
            <key code="29" output="0"/>
            <key code="30" output="]"/>
            <key code="31" output="O"/>
            <key code="32" output="U"/>
            <key code="33" output="["/>
            <key code="34" output="I"/>
            <key code="35" output="P"/>
            <key code="36" output="&#x000D;"/>
            <key code="37" output="L"/>
            <key code="38" output="J"/>
            <key code="39" output="&#x0027;"/>
            <key code="40" output="K"/>
            <key code="41" output=";"/>
            <key code="42" output="\"/>
            <key code="43" output=","/>
            <key code="44" output="/"/>
            <key code="45" output="N"/>
            <key code="46" output="M"/>
            <key code="47" output="."/>
            <key code="48" output="&#x0009;"/>
            <key code="49" output=" "/>
            <key code="50" output="`"/>
            <key code="51" output="&#x0008;"/>
            <key code="53" output="&#x001B;"/>
            <key code="64" output="&#x0010;"/>
            <key code="65" output=""/>
            <key code="66" output="&#x001D;"/>
            <key code="67" output="*"/>
            <key code="69" output="+"/>
            <key code="70" output="&#x001C;"/>
            <key code="71" output="&#x001B;"/>
            <key code="72" output="&#x001F;"/>
            <key code="75" output="/"/>
            <key code="76" output="&#x0003;"/>
            <key code="77" output="&#x001E;"/>
            <key code="78" output="-"/>
            <key code="79" output="&#x0010;"/>
            <key code="80" output="&#x0010;"/>
            <key code="81" output="="/>
            <key code="82" output="0"/>
            <key code="83" output="1"/>
            <key code="84" output="2"/>
            <key code="85" output="3"/>
            <key code="86" output="4"/>
            <key code="87" output="5"/>
            <key code="88" output="6"/>
            <key code="89" output="7"/>
            <key code="91" output="8"/>
            <key code="92" output="9"/>
            <key code="96" output="&#x0010;"/>
            <key code="97" output="&#x0010;"/>
            <key code="98" output="&#x0010;"/>
            <key code="99" output="&#x0010;"/>
            <key code="100" output="&#x0010;"/>
            <key code="101" output="&#x0010;"/>
            <key code="103" output="&#x0010;"/>
            <key code="105" output="&#x0010;"/>
            <key code="106" output="&#x0010;"/>
            <key code="107" output="&#x0010;"/>
            <key code="109" output="&#x0010;"/>
            <key code="111" output="&#x0010;"/>
            <key code="113" output="&#x0010;"/>
            <key code="114" output="&#x0005;"/>
            <key code="115" output="&#x0001;"/>
            <key code="116" output="&#x000B;"/>
            <key code="117" output="&#x007F;"/>
            <key code="118" output="&#x0010;"/>
            <key code="119" output="&#x0004;"/>
            <key code="120" output="&#x0010;"/>
            <key code="121" output="&#x000C;"/>
            <key code="122" output="&#x0010;"/>
            <key code="123" output="&#x001C;"/>
            <key code="124" output="&#x001D;"/>
            <key code="125" output="&#x001F;"/>
            <key code="126" output="&#x001E;"/>
        </keyMap>
        <keyMap index="10">
            <key code="0" output="&#x0001;"/>
            <key code="1" output="&#x0013;"/>
            <key code="2" output="&#x0004;"/>
            <key code="3" output="&#x0006;"/>
            <key code="4" output="&#x0008;"/>
            <key code="5" output="&#x0007;"/>
            <key code="6" output="&#x001A;"/>
            <key code="7" output="&#x0018;"/>
            <key code="8" output="&#x0003;"/>
            <key code="9" output="&#x0016;"/>
            <key code="10" output="0"/>
            <key code="11" output="&#x0002;"/>
            <key code="12" output="&#x0011;"/>
            <key code="13" output="&#x0017;"/>
            <key code="14" output="&#x0005;"/>
            <key code="15" output="&#x0012;"/>
            <key code="16" output="&#x0019;"/>
            <key code="17" output="&#x0014;"/>
            <key code="18" output="1"/>
            <key code="19" output="2"/>
            <key code="20" output="3"/>
            <key code="21" output="4"/>
            <key code="22" output="6"/>
            <key code="23" output="5"/>
            <key code="24" output="="/>
            <key code="25" output="9"/>
            <key code="26" output="7"/>
            <key code="27" output="&#x001F;"/>
            <key code="28" output="8"/>
            <key code="29" output="0"/>
            <key code="30" output="&#x001D;"/>
            <key code="31" output="&#x000F;"/>
            <key code="32" output="&#x0015;"/>
            <key code="33" output="&#x001B;"/>
            <key code="34" output="&#x0009;"/>
            <key code="35" output="&#x0010;"/>
            <key code="36" output="&#x000D;"/>
            <key code="37" output="&#x000C;"/>
            <key code="38" output="&#x000A;"/>
            <key code="39" output="&#x0027;"/>
            <key code="40" output="&#x000B;"/>
            <key code="41" output=";"/>
            <key code="42" output="&#x001C;"/>
            <key code="43" output=","/>
            <key code="44" output="/"/>
            <key code="45" output="&#x000E;"/>
            <key code="46" output="&#x000D;"/>
            <key code="47" output="."/>
            <key code="48" output="&#x0009;"/>
            <key code="49" output=""/>
            <key code="50" output="`"/>
            <key code="51" output="&#x0008;"/>
            <key code="52" output="&#x0003;"/>
            <key code="53" output="&#x001B;"/>
            <key code="65" output="."/>
            <key code="66" output="&#x001D;"/>
            <key code="67" output="*"/>
            <key code="69" output="+"/>
            <key code="70" output="&#x001C;"/>
            <key code="71" output="&#x001B;"/>
            <key code="72" output="&#x001F;"/>
            <key code="75" output="/"/>
            <key code="76" output="&#x0003;"/>
            <key code="77" output="&#x001E;"/>
            <key code="78" output="-"/>
            <key code="81" output="="/>
            <key code="82" output="0"/>
            <key code="83" output="1"/>
            <key code="84" output="2"/>
            <key code="85" output="3"/>
            <key code="86" output="4"/>
            <key code="87" output="5"/>
            <key code="88" output="6"/>
            <key code="89" output="7"/>
            <key code="91" output="8"/>
            <key code="92" output="9"/>
            <key code="96" output="&#x0010;"/>
            <key code="97" output="&#x0010;"/>
            <key code="98" output="&#x0010;"/>
            <key code="99" output="&#x0010;"/>
            <key code="100" output="&#x0010;"/>
            <key code="101" output="&#x0010;"/>
            <key code="102" output="&#x0010;"/>
            <key code="103" output="&#x0010;"/>
            <key code="104" output="&#x0010;"/>
            <key code="105" output="&#x0010;"/>
            <key code="106" output="&#x0010;"/>
            <key code="107" output="&#x0010;"/>
            <key code="108" output="&#x0010;"/>
            <key code="109" output="&#x0010;"/>
            <key code="110" output="&#x0010;"/>
            <key code="111" output="&#x0010;"/>
            <key code="112" output="&#x0010;"/>
            <key code="113" output="&#x0010;"/>
            <key code="114" output="&#x0005;"/>
            <key code="115" output="&#x0001;"/>
            <key code="116" output="&#x000B;"/>
            <key code="117" output="&#x007F;"/>
            <key code="118" output="&#x0010;"/>
            <key code="119" output="&#x0004;"/>
            <key code="120" output="&#x0010;"/>
            <key code="121" output="&#x000C;"/>
            <key code="122" output="&#x0010;"/>
            <key code="123" output="&#x001C;"/>
            <key code="124" output="&#x001D;"/>
            <key code="125" output="&#x001F;"/>
            <key code="126" output="&#x001E;"/>
        </keyMap>
        <keyMap index="11">
            <key code="0" output="&#x0001;"/>
            <key code="1" output="&#x0013;"/>
            <key code="2" output="&#x0004;"/>
            <key code="3" output="&#x0006;"/>
            <key code="4" output="&#x0008;"/>
            <key code="5" output="&#x0007;"/>
            <key code="6" output="&#x001A;"/>
            <key code="7" output="&#x0018;"/>
            <key code="8" output="&#x0003;"/>
            <key code="9" output="&#x0016;"/>
            <key code="10" output="0"/>
            <key code="11" output="&#x0002;"/>
            <key code="12" output="&#x0011;"/>
            <key code="13" output="&#x0017;"/>
            <key code="14" output="&#x0005;"/>
            <key code="15" output="&#x0012;"/>
            <key code="16" output="&#x0019;"/>
            <key code="17" output="&#x0014;"/>
            <key code="18" output="1"/>
            <key code="19" output="2"/>
            <key code="20" output="3"/>
            <key code="21" output="4"/>
            <key code="22" output="6"/>
            <key code="23" output="5"/>
            <key code="24" output="="/>
            <key code="25" output="9"/>
            <key code="26" output="7"/>
            <key code="27" output="&#x001F;"/>
            <key code="28" output="8"/>
            <key code="29" output="0"/>
            <key code="30" output="&#x001D;"/>
            <key code="31" output="&#x000F;"/>
            <key code="32" output="&#x0015;"/>
            <key code="33" output="&#x001B;"/>
            <key code="34" output="&#x0009;"/>
            <key code="35" output="&#x0010;"/>
            <key code="36" output="&#x000D;"/>
            <key code="37" output="&#x000C;"/>
            <key code="38" output="&#x000A;"/>
            <key code="39" output="&#x0027;"/>
            <key code="40" output="&#x000B;"/>
            <key code="41" output=";"/>
            <key code="42" output="&#x001C;"/>
            <key code="43" output=","/>
            <key code="44" output="/"/>
            <key code="45" output="&#x000E;"/>
            <key code="46" output="&#x000D;"/>
            <key code="47" output="."/>
            <key code="48" output="&#x0009;"/>
            <key code="49" output=""/>
            <key code="50" output="`"/>
            <key code="51" output="&#x0008;"/>
            <key code="52" output="&#x0003;"/>
            <key code="53" output="&#x001B;"/>
            <key code="65" output="."/>
            <key code="66" output="&#x001D;"/>
            <key code="67" output="*"/>
            <key code="69" output="+"/>
            <key code="70" output="&#x001C;"/>
            <key code="71" output="&#x001B;"/>
            <key code="72" output="&#x001F;"/>
            <key code="75" output="/"/>
            <key code="76" output="&#x0003;"/>
            <key code="77" output="&#x001E;"/>
            <key code="78" output="-"/>
            <key code="81" output="="/>
            <key code="82" output="0"/>
            <key code="83" output="1"/>
            <key code="84" output="2"/>
            <key code="85" output="3"/>
            <key code="86" output="4"/>
            <key code="87" output="5"/>
            <key code="88" output="6"/>
            <key code="89" output="7"/>
            <key code="91" output="8"/>
            <key code="92" output="9"/>
            <key code="96" output="&#x0010;"/>
            <key code="97" output="&#x0010;"/>
            <key code="98" output="&#x0010;"/>
            <key code="99" output="&#x0010;"/>
            <key code="100" output="&#x0010;"/>
            <key code="101" output="&#x0010;"/>
            <key code="102" output="&#x0010;"/>
            <key code="103" output="&#x0010;"/>
            <key code="104" output="&#x0010;"/>
            <key code="105" output="&#x0010;"/>
            <key code="106" output="&#x0010;"/>
            <key code="107" output="&#x0010;"/>
            <key code="108" output="&#x0010;"/>
            <key code="109" output="&#x0010;"/>
            <key code="110" output="&#x0010;"/>
            <key code="111" output="&#x0010;"/>
            <key code="112" output="&#x0010;"/>
            <key code="113" output="&#x0010;"/>
            <key code="114" output="&#x0005;"/>
            <key code="115" output="&#x0001;"/>
            <key code="116" output="&#x000B;"/>
            <key code="117" output="&#x007F;"/>
            <key code="118" output="&#x0010;"/>
            <key code="119" output="&#x0004;"/>
            <key code="120" output="&#x0010;"/>
            <key code="121" output="&#x000C;"/>
            <key code="122" output="&#x0010;"/>
            <key code="123" output="&#x001C;"/>
            <key code="124" output="&#x001D;"/>
            <key code="125" output="&#x001F;"/>
            <key code="126" output="&#x001E;"/>
        </keyMap>
        <keyMap index="12">
            <key code="0" output="Ф"/>
            <key code="1" output="Ы"/>
            <key code="2" output="В"/>
            <key code="3" output="А"/>
            <key code="4" output="Р"/>
            <key code="5" output="П"/>
            <key code="6" output="Я"/>
            <key code="7" output="Ч"/>
            <key code="8" output="С"/>
            <key code="9" output="М"/>
            <key code="10" output="Ё"/>
            <key code="11" output="И"/>
            <key code="12" output="Й"/>
            <key code="13" output="Ц"/>
            <key code="14" output="У"/>
            <key code="15" output="К"/>
            <key code="16" output="Н"/>
            <key code="17" output="Е"/>
            <key code="18" output="!"/>
            <key code="19" output="&#x0022;"/>
            <key code="20" output="№"/>
            <key code="21" output=";"/>
            <key code="22" output=":"/>
            <key code="23" output="%"/>
            <key code="24" output="+"/>
            <key code="25" output="("/>
            <key code="26" output="?"/>
            <key code="27" output="_"/>
            <key code="28" output="*"/>
            <key code="29" output=")"/>
            <key code="30" output="Ъ"/>
            <key code="31" output="Щ"/>
            <key code="32" output="Г"/>
            <key code="33" output="Х"/>
            <key code="34" output="Ш"/>
            <key code="35" output="З"/>
            <key code="36" output="&#x000D;"/>
            <key code="37" output="Д"/>
            <key code="38" output="О"/>
            <key code="39" output="Э"/>
            <key code="40" output="Л"/>
            <key code="41" output="Ж"/>
            <key code="42" output="/"/>
            <key code="43" output="Б"/>
            <key code="44" output=","/>
            <key code="45" output="Т"/>
            <key code="46" output="Ь"/>
            <key code="47" output="Ю"/>
            <key code="48" output="&#x0009;"/>
            <key code="49" output=" "/>
            <key code="50" output="Ë"/>
            <key code="51" output="&#x0008;"/>
            <key code="53" output="&#x001B;"/>
            <key code="64" output="&#x0010;"/>
            <key code="65" output="."/>
            <key code="66" output="&#x001D;"/>
            <key code="67" output="*"/>
            <key code="69" output="+"/>
            <key code="70" output="&#x001C;"/>
            <key code="71" output="&#x001B;"/>
            <key code="72" output="&#x001F;"/>
            <key code="75" output="/"/>
            <key code="76" output="&#x0003;"/>
            <key code="77" output="&#x001E;"/>
            <key code="78" output="-"/>
            <key code="79" output="&#x0010;"/>
            <key code="80" output="&#x0010;"/>
            <key code="81" output="="/>
            <key code="82" output="0"/>
            <key code="83" output="1"/>
            <key code="84" output="2"/>
            <key code="85" output="3"/>
            <key code="86" output="4"/>
            <key code="87" output="5"/>
            <key code="88" output="6"/>
            <key code="89" output="7"/>
            <key code="91" output="8"/>
            <key code="92" output="9"/>
            <key code="96" output="&#x0010;"/>
            <key code="97" output="&#x0010;"/>
            <key code="98" output="&#x0010;"/>
            <key code="99" output="&#x0010;"/>
            <key code="100" output="&#x0010;"/>
            <key code="101" output="&#x0010;"/>
            <key code="103" output="&#x0010;"/>
            <key code="105" output="&#x0010;"/>
            <key code="106" output="&#x0010;"/>
            <key code="107" output="&#x0010;"/>
            <key code="109" output="&#x0010;"/>
            <key code="111" output="&#x0010;"/>
            <key code="113" output="&#x0010;"/>
            <key code="114" output="&#x0005;"/>
            <key code="115" output="&#x0001;"/>
            <key code="116" output="&#x000B;"/>
            <key code="117" output="&#x007F;"/>
            <key code="118" output="&#x0010;"/>
            <key code="119" output="&#x0004;"/>
            <key code="120" output="&#x0010;"/>
            <key code="121" output="&#x000C;"/>
            <key code="122" output="&#x0010;"/>
            <key code="123" output="&#x001C;"/>
            <key code="124" output="&#x001D;"/>
            <key code="125" output="&#x001F;"/>
            <key code="126" output="&#x001E;"/>
        </keyMap>
    </keyMapSet>
    <keyMapSet id="JIS">
        <keyMap index="0" baseMapSet="ANSI" baseIndex="0">
            <key code="512" output=""/>
        </keyMap>
        <keyMap index="1" baseMapSet="ANSI" baseIndex="1">
            <key code="512" output=""/>
        </keyMap>
        <keyMap index="2" baseMapSet="ANSI" baseIndex="2">
            <key code="512" output=""/>
        </keyMap>
        <keyMap index="3" baseMapSet="ANSI" baseIndex="3">
            <key code="512" output=""/>
        </keyMap>
        <keyMap index="4" baseMapSet="ANSI" baseIndex="4">
            <key code="512" output=""/>
        </keyMap>
        <keyMap index="5" baseMapSet="ANSI" baseIndex="5">
            <key code="512" output=""/>
        </keyMap>
        <keyMap index="6" baseMapSet="ANSI" baseIndex="6">
            <key code="512" output=""/>
        </keyMap>
        <keyMap index="7" baseMapSet="ANSI" baseIndex="7">
            <key code="512" output=""/>
        </keyMap>
        <keyMap index="8" baseMapSet="ANSI" baseIndex="8">
            <key code="512" output=""/>
        </keyMap>
        <keyMap index="9" baseMapSet="ANSI" baseIndex="9">
            <key code="512" output=""/>
        </keyMap>
        <keyMap index="10" baseMapSet="ANSI" baseIndex="10">
            <key code="512" output=""/>
        </keyMap>
        <keyMap index="11" baseMapSet="ANSI" baseIndex="11">
            <key code="512" output=""/>
        </keyMap>
        <keyMap index="12" baseMapSet="ANSI" baseIndex="12">
            <key code="512" output=""/>
        </keyMap>
    </keyMapSet>
</keyboard>

Потом этот файл помещается в /Users/konst/Library/Keyboard Layouts/  ,  в настройках системы он становится виден как новая клавиатурная раскладка с названием ruscaps, и, когда ее выбрать, в режиме, когда включен Caps, набираются русские буквы, а когда выключен — латинские. Система же думает, что язык и клавиатурная раскладка никогда не переключается.

  1. Стандартное (почти) поведение Ctrl, Shift, Home, End, PgUp, PgDown и стрелочных клавиш в режиме редактирования текста достигается созданием файла Users/konst/Library/KeyBindings/DefaultKeyBinding.dict

в котором написано примерно следующее:

Hidden text

{ 
  "^\UF72B"  = "moveToEndOfDocument:";                         /* Ctrl-End */ 
  "^$\UF72B" = "moveToEndOfDocumentAndModifySelection:";       /* Ctrl + Shift + End */ 
  "^\UF729"  = "moveToBeginningOfDocument:";                   /* Ctrl  + Home  */ 
  "^$\UF729" = "moveToBeginningOfDocumentAndModifySelection:"; /* Shift + Ctrl  + Home */ 
  "\UF729"   = "moveToBeginningOfLine:";                       /* Home         */ 
  "$\UF729"  = "moveToBeginningOfLineAndModifySelection:";     /* Shift + Home */ 
  "\UF72B"   = "moveToEndOfLine:";                             /* End          */ 
  "$\UF72B"  = "moveToEndOfLineAndModifySelection:";           /* Shift + End  */ 
  "\UF72C"   = "pageUp:";                                      /* PageUp       */ 
  "\UF72D"   = "pageDown:";                                    /* PageDown     */ 
  "^\U007F"  = "deleteWordBackward:";                          /* Ctrl  + Backspace */ 
  "^c"       = "copy:";                                        /* Ctrl  + C */ 
  "^v"       = "paste:";                                       /* Ctrl  + V */ 
  "^x"       = "cut:";                                         /* Ctrl  + X */ 
  "^z"       = "undo:";                                        /* Ctrl  + Z */ 
  "^с"       = "copy:";                                        /* Ctrl  + C in Russian keyboard layout */ 
  "^м"       = "paste:";                                       /* Ctrl  + V in Russian keyboard layout */ 
  "^ч"       = "cut:";                                         /* Ctrl  + X in Russian keyboard layout */ 
  "^я"       = "undo:";                                        /* Ctrl  + Z in Russian keyboard layout */ 
   
  "^\UF702" = moveWordLeft:; 
  "^\UF703" = moveWordRight:; 
  "^$\UF702" = moveWordLeftAndModifySelection:; 
  "^$\UF703" = moveWordRightAndModifySelection:; 
}
  1. Далее приведены страшные символы, создающие полезные пункты в пользовательском меню Midnight Commander, которое вызывается по F2. Придумать их невозможно, можно только нагуглить из интернета.

Итак, для начала создаем файл ~/mc.menu и в нем дописываем, кому что надо. Мне сразу понадобилось такое:

+ ! t t
v       Edit with MacVim
        /Applications/MacVim.app/Contents/MacOS/Vim --remote-tab-silent %f
+ ! t t
@       Set full path to current file to flist
        echo %d/%f >> ~/flist 
+ ! t t
l       Launch file (with finder)
        open %f
+ ! t t
o       Open and show file in Finder
        open -R %f
+ ! t t
@       Do something bad on the current file
        CMD=%{Enter command}
        $CMD %f
  1. Интеграция Vim и терминала (zsh) у меня выглядит примерно так (фрагмент из моего .vimrc):

" Отформатировать JSON
vnoremap ,j :! /opt/homebrew/bin/jq . <CR>

" Отформатировать XML
vnoremap ,f :!xmllint --format -<CR>

" Исполнить текущую строку в bash (например, вызвать curl на api endpoint)
" точка перед w означает, что использовать надо конкретную строку
nnoremap ,e :.w !bash<CR>:echo('...done.')<CR>

" то же самое, но вставить вывод команды в текущий буфер
nnoremap ,E :exec 'r!'.getline('.')<CR>

" Исполнить текущее выделение (range of lines) в bash
vnoremap ,e :w !bash<CR>

An in-depth comparison guide to help you make the best choice

by Milan Stanojevic

Milan has been enthusiastic about technology ever since his childhood days, and this led him to take interest in all PC-related technologies. He’s a PC enthusiast and he… read more


Updated on

  • Windows 11 vs. macOS Ventura, which is a better operating system?
  • Microsoft recently announced Windows 11, which has a fresh and streamlined user interface.
  • macOS has been known for years for its minimalistic interface and security, so it’s an operating system of choice for many.
  • Today we’ll compare Windows 11 vs. macOS Ventura and find out which ticks most boxes in terms of security and performance.

windows 11 vs macos

XINSTALL BY CLICKING THE DOWNLOAD
FILE

Windows 11 was announced recently, and many are looking forward to it. We have already compared Windows 10 and 11, and we can confidently say that Windows 11 is a significant step forward.

Judging by Windows 11 build 22000.65, the new Windows looks pretty enticing with its exciting design and features, but is it better than its main competitor, macOS?

Today’s guide will compare Windows 11 and macOS Ventura and see your better operating system.

Windows 11 vs macOS Ventura comparision

In this article

  • Windows 11 vs macOS Ventura comparision
  • User interface
  • Security and encryption
  • Multitasking and window snapping
  • Android/iOS integration
  • App Store
  • Gaming
  • Touchscreen functionality
  • Widgets
  • Communication
  • Other special features
  • Windows 11 vs. iOS
  • What are the best Windows 11-ready laptops?
  • Why is macOS better than Windows?
  • Can I run Windows 11 on macOS?
  • Closing thoughts on Windows 11 and macOS

User interface

Windows 11 and macOS have many similarities, and with a new design that features rounded corners, the Windows 11 user interface resembles macOS more than ever.

However, that’s not all; the Taskbar on Windows 11 is moved to the center, similar to the Dock on macOS, so it seems that Microsoft is taking notes from Apple regarding the design.

MacOS Ventura dock

Not all users like this change, and fortunately, you can move Start Menu to the left on Windows 11 if you don’t like how it looks while it’s centered.

However, the Taskbar is locked at the bottom position on Windows 11, so you won’t be able to move it to the side like in the previous versions of Windows.

The Start Menu has been decluttered, and now it features your pinned apps and recommended files, folders, and apps. This mainly includes any recently opened files or applications for quick access.

As you can see, no more will you see all installed apps or Live Tiles so that you can focus only on the most critical tasks. However, you can still access all installed applications using the All apps button in the Start Menu.

Unlike Windows, macOS uses Launchpad, which lets you see all your installed applications and organize them into groups simply by clicking your Dock.

macOS lanchpad

As for customization, these options on macOS are relatively limited, while you can completely change the look of Windows 11 with free Windows 11 themes and skins.

Windows 11 brings a fresh and sleek user interface that was supposed to be a part of the canceled Windows 10X project for touchscreen devices, and we’re glad that it has made its way to desktop computers.

Regarding Windows 11 vs. Apple OS in terms of visual appearance, it all comes down to personal preference, but some users think that macOS looks more minimalistic.

Security and encryption

These are not the only similarities that Windows 11 has with macOS. Microsoft is also trying to enhance security using a TPM chip, now a hardware requirement for Windows 11.

If you’re unfamiliar with TPM, we suggest you check our TPM and Windows 11 guide for more information. The TPM chip is quite similar to Apple’s T2 chip that newer models have.

Both chips have similar features for file encryption, boot protection, and storing your credentials.

Microsoft also has bought its security processor called Microsoft Pluton. To learn more, check out the differences between Microsoft Pluton vs. TPM.

macOS uses runtime protection and state-of-the-art protection built-in antivirus software with executing disable features, address space layout randomization, and system integrity protection.

One of the best parts of macOS security is FileVault. It is similar to Windows 11’s BitLocker. However, in this case, macOS is a bit better in terms of performance. Therefore, enabling FileVault doesn’t have a significant impact on performance, unlike BitLocker.

This Apple OS also has other security features like Lockdown that come in handy in many extreme cases.

Lastly, macOS uses Mac App Store for downloading and installing software, thus ensuring that the software is 100% secure and complies with Apple’s rigorous security standards.

There’s also a Gatekeeper feature for applications downloaded from the Internet. With this feature, the applications downloaded from the Internet are scanned by Apple for any malicious code.

As you can see, macOS is a pretty closed platform, which makes it entirely secure, so it’s unlikely that you’ll install any malicious applications. On top of that, macOS is a UNIX-based system, so it’s faster in general.

On the other hand, Windows is a more open platform, and you can install third-party apps without any restrictions, which can be a security risk.

In addition, Windows has a more extensive user base than macOS, with 73% of the market share, resulting in more potentially malicious software and malicious users.

On the other hand, note that macOS holds about 15.5% of the world’s market share.

Windows 11 has built-in Windows Security Defender and reliable antivirus software. Windows 10 also has this feature called Windows Defender, which is a bit behind the latest one.

If you’re not a fan of Windows Defender, there is other antivirus software compatible with Windows 11 that you can use.

How we test, review and rate?

We have worked for the past 6 months on building a new review system on how we produce content. Using it, we have subsequently redone most of our articles to provide actual hands-on expertise on the guides we made.

For more details you can read how we test, review, and rate at WindowsReport.

Microsoft is also changing how Microsoft Store works, which should tighten the security and ensure you download simple and secure apps.

Although Microsoft is making some changes to improve the security of Windows 11, most notably by adding the TPM chip requirement, we still feel like the macOS is a more secure operating system.

It’s not that Windows 11 is insecure; it’s perfectly secure as long as you have good antivirus software and remain vigilant while browsing the web.

Regarding security and the whole Windows 11 vs. Apple OS debate, macOS is a much more closed system that relies heavily on App Store for application distribution; we feel that it’s more secure now.

Multitasking and window snapping

Windows 11 also brings new multitasking options like Snap Layouts and Snap Groups. The first feature lets you quickly arrange windows on your screen using one of six available layouts.

Snap Groups memorizes your snap layouts, allowing you to return to the applications available in your Snap layout quickly.

On the other hand, macOS is very limited in this case, and there are no different layouts to choose from. Therefore, you can put multiple apps side by side manually only. However, with the release of macOS Ventura, Apple introduced a new stage manager feature.

It allows users doing multitasking more easily. Though this feature is more helpful in switching between app windows, you will still get a better experience with it than in pass experiences.

Mission Control is another feature that conveniently helps macOS users switch between apps and virtual desktops.

Stage Manager macOS

Windows 11 brings improvements in terms of docking, which makes it better when using multiple monitors. In addition, the system will now minimize windows on the second display once you disconnect it.

However, the windows will be automatically restored as soon as you connect an additional display, allowing you to continue exactly where you left off.

When comparing Windows 11 vs. Ventura in terms of multitasking, we feel that Windows 11 is far superior with its snap layouts and snap groups features.

Android/iOS integration

Starting from the Big Sur, macOS can run iOS apps natively. This means that you can run almost any iOS app on your Mac alongside your regular apps. However, app publishers can make their apps unavailable on macOS.

That is why you will not find all iOS apps on the App store. But the number of apps available is still huge.

However, there’s a caveat: to run iOS apps natively, you’ll need to have a Mac with an Apple M1 or M2 or any other Apple Silicon chips. We wrote in-depth about iOS apps on Mac in our how to install iOS apps on the macOS guide, so be sure to check it out.

You will get the best from macOS if you have an iPhone or other Apple devices. Everything works like magic in this ecosystem. You can quickly transfer files using Airdrop in the blink of your eye, mirror your iOS screen smoothly, and sync your photos, videos, etc., without going through many settings.

With Windows 11, users can finally run Android apps natively in Windows. To achieve this, Microsoft is using Intel Bridge technology, but Android apps should also work with AMD processors.

This leads many users to question what will happen to Android emulators on Windows 11, but we’re confident that Android emulators will continue to exist on Windows 11 without too many problems.

Android apps are available for download from using the Microsoft Store, but Microsoft is using Amazon App Store to bring them to PC.

Many users aren’t fans of this choice since Amazon App Store has less app variety when compared to Google Play, so it’s possible that you won’t be able to find some of your favorite apps.

In addition, Google is introducing Android App Bundles that could change the way how we run Android apps, and this can lead to compatibility issues with Android apps on Windows 11 in the future.

Nevertheless, this is an exciting feature, and we can’t wait to try it out, but at the moment, macOS integration with iOS apps seems more streamlined with better compatibility.

App Store

Windows 11 Store also underwent some changes, and now it brings a more streamlined interface allowing you to easily access games, apps, and movies from the sidebar.

Another significant change is that Microsoft Store can host any app, including Win32, Android, .NET, Universal apps, Xamarin, Electron, React Native, Java, and Progressive Web Apps.

Moreover, the new store should be able to handle installing the applications from the browser, meaning that the Microsoft Store will automatically download and install your applications in the background.

This vast improvement makes the Microsoft Store more consistent and closer to the Apple Store. For more information, check our first look at the Microsoft Store in Windows 11.

App Store on macOS has been an integral part of Apple’s ecosystem, and it’s used to distribute apps across both macOS and iOS platforms.

It currently has around 1.8 million apps, and Apple is constantly working to ensure that 100% of the apps on its store are secure and malware-free.

In addition, each app needs to be authorized by you to access specific data, so you can always ensure that apps have only the necessary permissions.

Apple enforces strict security standards, and millions of apps have been rejected because they aren’t adhering to the privacy, content, or compatibility policy that Apple enforces.

macOS App Store

In the Windows 11 vs. Ventura app distribution debate, we have to admit that Apple has created a universal and highly secure method for application distribution.

Microsoft is doing the same with the revamp of the Microsoft Store, and we’re still looking to see how this will work in practice, but we’re sure that Microsoft will enforce the highest security standards for its app store.

Gaming

When it comes to gaming, Windows is an absolute champion compared to macOS, without a doubt. Unfortunately, Macs aren’t optimized for gaming, so they can’t compete with Windows PCs.

However, Macs can run certain games, but the performance and compatibility are far superior on the PC platform.

Windows 11 brings many new features for gaming, including DirectX 12 support, Auto HDR, and the DirectStorage feature for faster game loading.

As for gaming improvements, users can now purchase Xbox Game Pass for Windows 11. This will give them access to various games and games developed by Xbox Game Studios and Bethesda on the launch day.

There’s also an Xbox Game Pass Ultimate, allowing you to enjoy Xbox Cloud Gaming from your browser, even on low-end PCs.

Microsoft has again proven that Windows is a leading gaming platform, and comparing Windows 11 vs. Apple OS in gaming wouldn’t even be fair.

Touchscreen functionality

Mac devices offer no support for touchscreen functionality. Instead, they are utilizing only touchpad gestures. Some Macbook pro models have a touch bar to give you a very minimal touch experience with macOS. However, reportedly, Apple will not bring any more touch-bar-based devices in the future.

On the other hand, the Windows platform had support for touchscreens since Windows 8, and this will also be the case with Windows 11.

The new interface is optimized for touchscreen devices, and Windows 11 brings a couple of new touchscreen gestures, an improved touchscreen keyboard, and haptic feedback for pens soon.

Microsoft is focusing heavily on improving the touchscreen functionality, and Windows 11 will continue that trend.

Widgets

Widgets are a new addition to Windows 11 and are intended as a replacement for Live Tiles. The widgets have their panel and can be accessed from the Taskbar or with a keyboard shortcut.

Of course, you can arrange, move or disable Windows 11 widgets any way you want. In our opinion, devices work better than Live Tiles since they won’t be cluttering the Start Menu anymore.

In macOS, widgets are grouped with notifications, which can sometimes create clutter. On the other hand, Windows 11 keeps widgets and notifications separate, each having its pane.

macOS Widgets and Notifications

Overall, macOS widgets look sleek and work great. There’s a wide array of third-party devices to choose from. In addition, it allows you to see all sorts of helpful information at a glance.

If we had to pin Windows 11 vs. macOS Ventura and compare the widgets, we’d say that both systems have a lot of offers in terms of widgets. This feature on both Windows and macOS is valuable and straightforward to use.

Communication

Windows 11 will come with Microsoft Teams built-an allowing users to communicate and collaborate easily.

Microsoft Teams allows users to chat quickly and make video or audio calls. In addition, of course, group calls are fully supported.

Collaboration is another huge component of Microsoft Teams, allowing users to work on files using Microsoft Office.

macOS relies on iMessage for the chat. It also depends on FaceTime as the primary means of communication, focusing on group calls. The software works alongside various apps to make video calls from Safari or Calendar.

Sadly, FaceTime isn’t focused on collaboration, so besides video chat, there’s no option to collaborate on files, which makes Microsoft Teams a better choice, in our opinion.

Though you can install third-party chat and collaboration applications on both OS, nothing will work as great as the native options.

Other special features

macOS Ventura has brought many new and improved features. It has an enhanced focus mode, so you can only see notifications from the allowed apps.

Windows already has such a feature, and we expect it to make its way onto Windows 11. However, Focus mode on macOS Venture has presets, so you can easily switch between them.

To top it off, the Focus mode will sync with all devices, which is not available for Windows.

From the macOS Monterey, Mac users can use the Quick Note feature to make short notes and save them. Of course, you’ll be able to collaborate on your notes with others and tag your messages accordingly.

The new version of macOS will allow you to seamlessly pair and work between devices so that you can control your iOS device from your Mac computer.

Another great feature is Live Text, which allows you to recognize text from images and copy it seamlessly.

macOS Ventura also has a feature in FaceTime that allows you to enjoy multimedia with others or share the screens with the SharePlay feature.

The call quality has improved thanks to spatial audio and voice isolation. FaceTime also allows you to schedule and share calls with a web link in macOS Monterey.

Lastly, you can use FaceTime to communicate with Windows and Android users as long as they have a supported web browser.

Safari went through some changes, and it now comes with a streamlined look with floating tabs that take less space. In addition, you can create tab groups and access them on any Apple device.

new safari tab group

In terms of looks, Windows 11 is similar to macOS Venture in many cases. However, it has some features that work better than the macOS counterparts.

On the other hand, Venture brings a lot of new features that work great across Apple’s ecosystem.

We can’t compare Windows 11 vs. macOS Ventura because there are many similarities with Monterey, so everything we said about Ventura applies to macOS Monterey, even the Big Sur.

Windows 11 vs. iOS

Microsoft has no plans to bring Windows 11 to smartphones, but it seems the developers managed to get Windows 11 running on mobile phones.

It seems that Windows 11 works better on mobile phones than expected, even though it’s designed only for tablets and hybrid devices.

Overall, it’s pretty exciting that developers managed to get Windows 11 to run on the old Microsoft Lumia 950 XL phone.

However, comparing Windows 11 vs. iOS wouldn’t be fair. It is because this is just a project of a single Windows enthusiast and not intended for everyday use. In addition, Microsoft has no plans to bring Windows 11 to mobile phones.

What are the best Windows 11-ready laptops?

As long as your device has a compatible CPU and a TPM chip, you should be able to run Windows 11 without any problems.

However, if you’re looking for a laptop that can run Windows 11 out of the box, consider these Windows 11-ready laptops.

Why is macOS better than Windows?

Many users prefer macOS because it’s more secure than Windows. It is because Apple is pretty rigid with its software policy. So, the chances of downloading malicious software from the Apple App Store are slim to none.

Some users prefer the interface since it feels more streamlined than Windows. However, you can make Windows look like macOS with some tweaking.

macOS is also better optimized since Apple uses only specific hardware, so each software is thoroughly tested and optimized for maximum performance on macOS.

Can I run Windows 11 on macOS?

Yes, you can run Windows on macOS, and we already wrote a guide on how to install Windows on macOS using the Boot Camp feature on macOS.

If you’re not a fan of Boot Camp, you can always use PC emulation software on your Mac, but you might not get the same performance as Boot Camp.

Read more about this topic

  • Are Windows 11 ADMX Templates Backward Compatible?
  • How to Type Accents on Windows 11
  • Are Windows 11 Bugs Fixed? A Look at Its Journey to Stability

Closing thoughts on Windows 11 and macOS

Which one is better, Windows 11 or macOS? The two systems are beginning to look relatively similar with the interface revamp that Windows 11 will bring.

In terms of functionality, window snapping is far better on Windows 11, and the widget section is separated from notifications, which we liked. And as for gaming, there’s no doubt Windows 11 is far superior to macOS.

On the other hand, macOS has seamless integration with other Apple devices, and it has a fair share of unique features that we would like to see in Windows someday.

In the end, it all comes down to your personal preference, what you plan to use your computer for, and if you plan to use it alongside iOS devices.

newsletter icon

Вы, наверняка, уже слышали много мнений на тему того, какая операционная система лучше — macOS или Windows. Оба продукта имеют свои достоинства и недостатки, и выбор между ними зависит от ваших потребностей и предпочтений. Однако, если вы являетесь пользователем продуктов Apple, то macOS может стать для вас идеальным выбором.

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

macos-monterey-vs-windows-11.jpg

Надежность и стабильность

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

Лучшая интеграция с продуктами Apple

Если вы являетесь пользователем продуктов Apple, то macOS будет идеальным выбором для вас благодаря лучшей интеграции с другими устройствами и сервисами компании. macOS позволяет легко синхронизировать все ваши устройства Apple, такие как iPhone, iPad, Apple Watch и другие, что значительно облегчает передачу файлов, документов, фотографий и других данных между устройствами. Кроме того, macOS предлагает полную интеграцию с другими сервисами Apple, такими как iCloud, TV+ и Apple Music, что позволяет пользователю получить полный доступ к своей музыкальной, видео и фото библиотеке, а также сохранять все свои файлы и данные в облаке. В отличие от Windows, которая не так глубоко интегрирована с продуктами Apple и требует дополнительных приложений и программ для связи с другими устройствами.

hq720.jpg

Лучший интерфейс и дизайн

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

Безопасность и защита данных

Безопасность и защита данных — это еще один аспект, в котором macOS превосходит Windows. Apple известна своей приверженностью безопасности, и macOS не является исключением. Операционная система macOS поставляется с целым рядом интегрированных функций безопасности, которые помогают защитить ваш компьютер от различных угроз, включая вредоносное ПО, фишинговые атаки и другие виды киберпреступлений. Кроме того, macOS имеет встроенную защиту от вирусов и других угроз, что делает его менее подверженным к атакам в сравнении с Windows. В дополнение к этому, macOS также предлагает механизмы шифрования данных, что обеспечивает высокий уровень защиты ваших конфиденциальных данных. С другой стороны, Windows, хотя и имеет определенные функции безопасности, известна своей более низкой степенью защиты в сравнении с macOS.

Лучшая производительность и эффективность работы

Еще одним фактором, который делает macOS привлекательным для пользователей, является его превосходная производительность и эффективность работы. Операционная система macOS была разработана, чтобы обеспечить оптимальную производительность на аппаратном обеспечении компьютеров Apple, что делает ее более эффективной в сравнении с Windows. macOS использует свою аппаратную часть и операционную систему более эффективно, что позволяет работать с большим количеством приложений и программ, не замедляя работу компьютера. Кроме того, macOS также обеспечивает высокую скорость работы и отзывчивость интерфейса, что делает работу на компьютере более приятной и продуктивной. В то же время, Windows, хотя и обеспечивает определенную производительность, часто может замедляться при работе с большим количеством программ и приложений, что может негативно сказаться на эффективности работы пользователей.


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

  • Какая оперативная память нужна для windows 10
  • Какая нужна флешка для установки windows 10 64 бит
  • Какая новейшая версия itunes для windows
  • Какая многозадачность используется в windows
  • Какая максимальная длина имени файла в windows