Перед тем как вы будете покупать новый макбук, сперва обратите внимание на разные раскладки клавиатур. Лично для себя всегда беру только раскладку ANSI, но в Европе продается в основном только ISO. Второй момент - это спецсимволы, нанесенные на русских клавиатурах на клавишах 1 - 8 . Дело в том, что русская раскладка мака отличается от русской раскладки PC. Это легко лечится в системе выбором раскладки "Русская - ПК" вместо "Русская", но физические надписи на клавиатуре заменить не так просто. Так что, советую приобретать макбук совсем без русских букв на клавиатуре, а нанести гравировку уже после приобретения, если вы будете в ней нуждаться (вряд ли).

Итак, если вы купили свой первый мак, вы наверняка в этот же день полезете в AppStore в поисках чего-либо знакомого или просто интересного. На самом деле, для линуксоида это очень коварная ошибка. Покупая приложения в AppStore вы не можете от них отказаться, особенно от бесплатных приложений. Да-да, это не фигура речи, в том AppStore действительно продаются бесплатные приложения. Чтобы отказаться от купленного за бесплатно приложения вы должны написать письмо по адресу биллинга Apple, что разработчик приложения мошенник, либо нарушает правила размещения приложений в AppStore, либо нарушает законодательство в каком-нибудь регионе. И только в этом случае вам отменят покупку этого приложения.

Скриншот главной страницы сайта
Скриншот главной страницы сайта

Для любого линуксоида хотелось бы все приложения устанавливать из пакетного менеджера. На маке их работает два. Homebrew содержит огромный список софта. К выбору софта из Homebrew надо подходить с осторожностью. Тут в списках опенсурсный софт вперемешку с проприетарным. Многие программы бесплатные, но попадаются и Trial-версии с бесплатным периодом от 7 до 14 дней. Так что, увидев красивое название пакета, торопиться его ставить не стоит. Сначала надо глянуть на сайт разработчика. Весь опенсурсный софт устанавливается уже собранным релизом от разработчика. Homebrew имеет возможность устанавливать что-то из исходников, но, как правило, этот процесс не завершается успехом и требует вмешательства красноглазого разума.

Скриншот меню brew-services-menubar
позаимствован из README.md репозитория
Скриншот меню brew-services-menubar позаимствован из README.md репозитория

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

Главная страница сайта MacPorts
Главная страница сайта MacPorts

Для любителей собирать софт из исходных кодов есть другой менеджер пакетов MacPorts. Тут уже пакеты исключительно с открытым исходным кодом. Все пакеты со всеми зависимостями собираются из исходного кода. Репозиторий представляет собой список папок, внутри которых лежат скрипты для загрузки исходников и автоматической сборки пакета. Если вы работали с системами *BSD, процесс работы с портами не принесет никаких трудностей. А вот начинающим красноглазикам сие может быть в новинку. По моему мнению, порты чуть-чуть посложнее какого-нибудь AUR. Возможно, так происходит по причине неравных размеров сообщества. Если в AUR есть четкое понимание, для каких архитектур сделан пакет, с какими уже установленными пакетами он конфликтует, и можно найти разные комментарии по свежим ошибкам сборки, то в портах гораздо дольше приходится разбираться с этими трудностями самому, без сообщества, иногда даже непосредственно исправляя исходные коды.

Скринкаст позаимствован из README.md репозитория topgrade
Скринкаст позаимствован из README.md репозитория topgrade

Также стоит упомянуть мой любимый скрипт для поиска и установки обновлений topgrade. Сам topgrade работает одинаково хорошо как на линуксах, так и на маках. Один запуск команды без параметров и у вас обновлено, всё, что вообще может требовать обновлений: от разных xcode до cargo, npm, gems, pip. Работает со всеми менеджерами пакетов brew, macports, ports, portage, dnf, apt, nix, pacman, aur, zypper, flatpack, snap, проверит обновления баз manpages, tldr, metasploit, плагинов tmux, zsh, fish, vim, micro, обновит все шрифты, контейнеры, vagrant, docker, В общем, все, что вообще может обновляться, topgrade обновить не забудет.

Если вы решили пользоваться маком, скорее всего вас не тяготит проприетарная основа системы MacOS. Потому предлагаю сразу дать системе отсканировать 2-3 пальца, и вспоминать о вводе пароля только после перезагрузки. Шифрование всего SSD - это конечно на любителя, а вот пользоваться пальчиками для разблокировки компьютера и менеджера паролей удобно.

Скриншот работающей KeePassXC с открытой базой данных. 
Мне не удалось сделать собственный скриншот KeePassXC, 
потому я позаимствовал с сайта keepassium.com
Скриншот работающей KeePassXC с открытой базой данных. Мне не удалось сделать собственный скриншот KeePassXC, потому я позаимствовал с сайта keepassium.com

Так же как и в Linux, для MacOS есть своя версия KeePassXC с плагинами для Chrome и Firefox. KeePassXC также спрашивает пароль и ключи только для открытия базы с паролями, далее снимать блокировку с базы паролей можно пальчиком. Если вы по какой-то причине не пользовались KeePassXC ранее, то вам нужно попробовать прямо сейчас. Программа защищено хранит логины-пароли, и любую дополнительную информацию к аккаунту в произвольной форме. Сама генерирует пароль максимальной сложности, сама будет заполнять формы авторизаций на сайтах. Тут же есть генератор временных паролей для 2ФА. К каждому внесённому в базу аккаунту можно прикреплять любые файлы, ключи, seed-фразы. Физически база хранится в одном файле, который защищен многослойным шифрованием, так что резервные копии базы можно хранить без опаски за уровень криптостойкости. Очень удобно когда вся самая конфиденциальная информация хранится в одном месте - если пролюбливать, то всё сразу!

При использовании многих копий базы с паролями есть одна тонкость - всегда работайте только с последней версией базы данных. Если вы будете использовать разные версии базы или синхронизировать их вручную (то есть вручную копировать базу между носителями/компьютерами), велика вероятность, что в один прекрасный день вы чутка ошибётесь и затрёте старой версией базы новую. Тогда вы лишитесь добавленных аккаунтов позже старой версии, которой вы заменили актуальную версию. - Такой конфуз кажется невероятным, но я слышал уже как минимум о трех таких случаях. Если используете в качестве дополнительной защиты помимо парольной фразы файлы на компьютере, пусть это будут не те любимые альбомы в mp3. Если по ним пройдется какой-нибудь EasyRetagger, велика вероятность потерять доступ ко всей базе.

Если локальная база паролей вас не устраивает, нужна всеобщая или корпоративная синхронизация аккаунтов, то вам больше подойдет Bitwarden.

Запрос авторизации Touch ID для программы sudo
Запрос авторизации Touch ID для программы sudo

Можно даже поставить пальчики на авторизацию sudo и забыть про ввод паролей даже в терминале. Для этого вам надо добавить в файл /etc/pam.d/sudo строку прямо первой строчкой:

auth       sufficient     pam_tid.so

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

Бывает ситуация, когда через vim открыл конфиг от обычного пользователя (то есть без прав на запись), внес кучу изменений, а в конце выхватываешь проблему сохранения. Если добавить эту строчку в ~/.vimrc:

cmap w!! w !sudo tee > /dev/null % 

то можно будет сохранить файл с запросом прав sudo не закрывая vim командой :w!! (источник).

Если по какой-то религиозной причине vim категорически вас не устраивает, и вы до сих пор пользуетесь nano, забудьте про редактор nano и встречайте micro. Micro - это тот же nano, но с поддержкой выделения текста мышкой и человечными хоткеями. Если пытаться сказать про micro в двух словах, это бы звучало так:  они сделали notepad.exe, работающий в терминале. Работают хоткеи: Ctrl+Z отмена (undo), Ctrl+X вырезать (cut), Ctrl+C копировать (copy), Ctrl+V вставить (paste), Ctrl+F найти (find), Ctrl+S сохранить (save), Ctrl+Q выход (quit). И даже скромный набор тем и дополнений никак не усложнит работу привычными с детства жестами. Вопрос с повышением прав до sudo в редакторе уже решен из коробки без всяких плагинов и настроек. 

Кстати, о хоткеях. Они в маках другие, и к ним придется привыкать. Пытаться менять их бесполезно. Чтобы не пугать читателей, попробую объяснить принцип мысли маковода на пальцах. В MacOS очень большая роль отдается главному меню приложения. Как правило, почти все операции, которые может выполнить то или иное приложение можно найти в меню. И наоборот, все операции, которые можно найти в меню, скорее всего доступны для активации из терминала и из Automator. Какая-то часть операций доступна для активации через хоткеи, которые легко заменить, добавить, отменить средствами системы. 

про Automator
Скриншот программы Automator
Скриншот программы Automator

Automator - это системный инструмент записи и воспроизведения макросов в системах MacOS. Automator поддерживает визуальный конструктор скриптов для непрограммистов (а-ля CodeBlocks), и свой язык автоматизации AppleScript, который не сложнее VisualBasic в Microsoft Office. Фактически экосистема позволяет использовать любые операции из установленных программ как отдельно от запуска программы, так и последовательности операций (например, запустить программу, открыть файл, что-то в нем изменить, сохранить файл, выйти). Если вы хотите перенастраивать, например, пункты контекстного меню элементов Finder, то, скорее всего, придется писать автоматизацию на AppleScript, а не на bash. 

Возвращаясь к теме хоткеев. Я уже отметил, что хоткеи во всех приложениях задаются на уровне системы. Есть отличный инструмент для новичков, который отображает список всех доступных хоткеев для текущего приложения, Программа называется Cheatsheet. Активируется по длительному нажатию клавиши Command. Как бы затупил чутка, пока вспоминал хоткей, и тут бац! открылась подсказка. Есть возможность ее распечатать.

Скриншот Fluor
Скриншот Fluor

Говоря о клавиатуре, нельзя не упомянуть отличную утилиту Fluor, которая выручает меня не первый год. По умолчанию MacOS включает верхний ряд клавиш в "media-режим". Это удобно, когда ты смотришь фильмец на zetflix, но дико выводит, когда, например, загрузил в терминале midnight commander и по клавише F6 вместо открытия диалога перемещения папки компьютер выключает дисплей, тем самым уходя в сон. Fluor автоматически переключает режим работы верхнего ряда клавиш в зависимости от открытого приложения.

Кстати, о Finder. Finder - это менеджер файлов MacOS. То есть тоже самое, что Nautilus в GNOME, Thunar в XFCE, PCManFM в LXDE. В системе из коробки мне лично не хватало такого пункта контекстного меню Finder, который открывает Терминал в текущей открытой директории. К сожалению, однозначного железного решения я не нашел. Но есть две утилиты которые мне помогают справиться с этим. 

Первая утилита называется cd to, которая при запуске из всех открытых окон Finder находит то, которое было активно в наиболее позднюю точку времени и открывает терминал в папке, которая была открыта в этом окне. Не то что бы это прям то, что нужно, но забиндив на её запуск хоткей, можно смириться. И так сойдет! 

Скриншот работающей программы Service Station
Скриншот работающей программы Service Station

Вторая утилита поинтереснее. Называется Service Station. Интегрирует свои пункты в контекстное меню Finder в зависимости от типа выбранного файла или папки. Может запускать программы, скрипты AppleScript, скрипты bash(!), ну и соответственно, любую команду или скрипт, которую можно запустить через терминал. Жаль, что эта утилита проприетарная и неплохо урезана в бесплатном режиме.

Одна из самых используемых программ на моих компьютерах - Google Chrome. Как и на других ОС, любимый многими браузер также хорошо работает на MacOS. Но мне был непривычен один тачпадный жест, который я не хотел выключать для всей системы. Свайп двумя пальцами влево-вправо переключал текущую на предыдущую-следующую страницу по истории браузера. Причем, это чисто маковский прикол (в других ОС такого я не наблюдал). И настройки, где можно было бы снять галочку, как вы понимаете, такой нету. Все пункты настроек Chrome досконально одинаковы во всех ОС. Возможно сейчас где-то и появилась эта настройка, но на тот момент гугл советовал лишь отключить свайп двумя пальцами в системных настройках. Нет свайпа - нет проблем! Конечно, свайп двумя пальцами отключать нельзя, ведь он отвечает за прокрутку каждого окна! Бывалые маководы давно привыкли не елозить тачпад влево-вправо без нужды. И я тоже пытался. Но чаша терпения треснула и я нашел рецепт лечения недуга. Надо-то всего лишь открыть терминал и выполнить команду (как же это было очевидно, Google):

defaults write com.google.Chrome AppleEnableSwipeNavigateWithScrolls -bool FALSE
Скриншот Silicon Info
позаимствован из README.md репозитория
Скриншот Silicon Info позаимствован из README.md репозитория

Маки с чипами M1-M2 могут запускать приложения, оптимизированные как для архитектуры ARM, так и для x86_64. Разница в работе между этими двумя архитектурами может быть несущественной, но все же, приложения под ARM кушают меньше ресурсов. Утилита Silicon Info отображает индикатор, который поможет отличить, оптимизировано ли текущее используемое приложение под ARM, или же приложение запущено через Rosetta Stone.

Скриншот настроек горячих клавиш Rectangle
позаимствован из README.md репозитория
Скриншот настроек горячих клавиш Rectangle позаимствован из README.md репозитория

Если вы, как и я любите тайловые менеджеры окон вроде i3, awesome или даже openbox, то вам понравится утилита Rectangle. С помощью нее легко делить дисплей на 1-5 частей и при помощи хоткеев мгновенно переключаться между окнами и экранами, распределять и перетаскивать окна по разным частям экрана. В последних версиях Rectangle появился режим ToDo-mode, который вытаскивает отдельное окно так, чтобы оно отображалось поверх всех окон. Единственный минус - она не запоминает расположение окон, и при перезагрузке компьютера приходится заново распределять окна по частям экрана. Но этот процесс легко автоматизировать с помощью упомянутого Automator.

Фото из README.md репозитория MiddleClick
Фото из README.md репозитория MiddleClick

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

Скриншот настроек LinearMouse
Скриншот настроек LinearMouse

Возможно, вы захотите использовать физическую выделенную мышку вместе с ноутбуком. Разумеется, в каких-то ситуациях использование выделенной мышки проблематично или вовсе невозможно. В таких ситуациях все же иногда приходится использовать тачпад. И тут становится проблема привычной ориентации прокрутки. На тачпаде я привык работать с так называемым natural scroll. Но когда в руке мышка с обычным колесиком, я бы хотел прокручивать окна по привычной большинству классической ориентации прокрутки. К сожалению, для MacOS глубоко по барабану что именно вы используете в данный момент тачпад или мышку, в настройках есть только одна опция, отвечающая за ориентацию прокрутки, а не раздельные опции для тачпада и мыши, как в дистрибутивах Linux. Для решения этой проблемы сделано много разных утилит. И, безусловно, задача решается не дольше 5 минут гугления. Я перепробовал три или четыре разные утилиты, решающие эту проблему полностью. Наиболее функциональной мне показалась утилита LinearMouse. Во-первых, она полностью опенсурсная. Помимо ориентации прокрутки там есть разные настройки скоростей прокрутки в зависимости от зажатых клавиш-модификаторов. Сам я мышками не пользуюсь, и тачпад заменяет мышь на все 100%, но для любителей физической классической мыши утилита обязательна к использованию.

Одна из самых эпичных проблем MacOS является проблема смены дефолтных приложений для открытия файлов того или иного формата. Тут присутствует и навязывание неудаляемого QuickTime вместо любимого видеоплеера VLC. Приложение для открытия файла приходится менять через задний проход окно свойств файла, и это надо повторять на каждом видео-файле. Ни галочка всегда открывать в приложении, ни кнопочка рядом с заменой приложения в свойствах файла не дает результата. Так происходит только на всех форматах видео-файлов. Мало того, что приходится выбирать VLC для каждого файла отдельно через свойства файла, так эта настройка даже не сохраняется после перезагрузки. И что самое эпичное - QuickTime может даже не поддерживать этот формат файлов (как минимум не поддерживает *.mkv), о чем он и сообщает, открывая любой файл вместо нормального видеоплеера. Рецепт я гуглил долго. Но кто ищет, тот всегда найдет. Спасибо неравнодушному разработчику утилиты duti. Для лечения нужно создать конфиг для duti в любом месте:

org.videolan.vlc .avi all
org.videolan.vlc .flac all
org.videolan.vlc .flv all
org.videolan.vlc .mkv all
org.videolan.vlc .mov all
org.videolan.vlc .mp4 all
org.videolan.vlc .mpg all
org.videolan.vlc .wmv all

и запустить с этим конфигом:

brew install duti
duti ./путь_до_конфига.duti
Скриншот рабочей программы Stat позаимствован из README.md репозитория программы
Скриншот рабочей программы Stat позаимствован из README.md репозитория программы

Среди линуксоидов обязательно есть фанаты conky. Если хочется мониторить в реальном времени загрузку CPU/GPU/RAM/SSD, куда же без conky?! На MacOS эту задачу решает Stats. Конечно кастомизация отображения не на столько богатая, как у conky. Но работает красиво, показывает любые нужные индикаторы в цифрах и графиках и "моргалках" в углу верхней панели. При нажатии на любой модуль отображения открывается попап с более глубокой степенью информативности. Из попапов можно завершать ненужные процессы одним-двумя кликами.

Для более глубокого мониторинга состояния системы есть системная консольная утилита powermetrics. Если запустить sudo powermetrics без параметров, утилита будет отображать в реальном времени все свои модули, и данных будет настолько много, что они могут уместиться наверное только на трех мониторах. Все данные разделены на 12 модулей: tasks, battery, network, disk, int_sources, interrupts, cpu_power thermal, sfi, gpu_power, bandwidth, ane_power. Кстати, отличительной особенностью MacOS является определение в цифрах параметра, сколько электроэнергии кушает тот или иной процесс. Такой точности определения ранее я нигде не встречал. 

Работающее приложение ForkLift
Работающее приложение ForkLift

Фанатам двухпанельных менеджеров файлов могу предложить ForkLift. Программа имеет подобный TotalCommander-у функционал, завернутый в лаконичный дизайн нативных маковских приложений. Жаль, приложение проприетарное, но полностью бесплатное.

В последнее время над Википедией сгущаются тучи. Хорошо, что есть возможность сохранить полную или частичную локальную копию к себе на компьютер или смартфон. Все это стало возможно с проектом Kiwix. Это не чисто маковский проект, сама программа Kiwix есть под все ОС, также присутствуют в F-droid. Архивы Википедии и некоторых других wiki-проектов можно скачать с сайта проекта. Данные предоставляются в формате Zim.

Хочется рассказать про еще одну интересную красивую утилиту KeyCastr. Утилита отображает где-нибудь в углу все нажимаемые клавиши в реальном времени. Сделана специально для записи скринкастов и видео-мануалов, для демонстрации каких-либо фактов/багов. Софтинка специфичная. Лично я пользуюсь ей нечасто. Но когда она нужна,  она просто незаменима.

Иногда по долгу службы приходится подключаться к рабочим столам Windows по RDP. Для этого многоуважаемая компания Microsoft разработала специальную утилиту для MacOS. Но спустя некоторое время в просторах сети интернета я обнаружил опенсурсное исполнение этого функционала. Программка называется CoRD. Имеет нативный маковский дизайн менеджера соединений. Может коннектиться сразу к нескольким рабочим столам. Поддерживает forwarding, файловый Drag'n'Drop и общий буфер обмена.

Скриншот пост-редактирования скриншота в Shottr
Скриншот пост-редактирования скриншота в Shottr

В MacOS системой предусмотрено несколько видов скриншотов. Среди них есть скриншоты экрана, окна, выделенной области и т.д. Все это хозяйство особо даже не требует настроек. Я лишь настроил сохранение скриншотов в отдельную папку, ярлык которой установил в dock рядом с корзиной. И этого бы хватало, если бы не могло быть еще лучше. Утилита называется Shottr. Имеет множество настроек самого захвата скриншотов, а также удобный редактор для пост-обработки. Можно сразу запикселить или заблурить приватные области скриншота перед отправкой кому-либо или перед публикацией. Будьте внимательны, программа проприетарная(!).

Для творческих личностей MacOS богат на выбор всевозможных платных и бесплатных, опенсурсных и проприетарных графических редакторов. Разумеется, все опенсурсные редакторы свою основу берут из Linux и вы обо всех этих редакторах слышали не раз: GIMP, Krita, Inkscape, FontForge. Среди проприетарных Figma, SketchBook, Canva, Lunacy, Vectomator. Насколько мне не изменяет память из перечисленных редакторов платная только Figma, остальные денег не требуют. Никаких рекламных баннеров за ними замечено не было. Хотя я не могу ручаться, что в будущем ситуация не изменится. Уже даже Телеграм стал платный.

А вот хорошего color-picker под мак я пока не нашел, потому пользуюсь тем, что имеется. А именно Menubar Colors. Да, это конечно не gpick, но цвета с экрана забирать умеет. Программка не очень удобная, но пользоваться можно. Благодаря opensource-базе, может быть допилена сообществом в будущем. 

Скриншот работающей web-версии Syncthing
Скриншот работающей web-версии Syncthing

В качестве синхронизатора файлов я повсеместно использую Syncthing. Утилита написана на Go, работает почти как Dropbox, но без сервера. Все данные хранятся только на собственных носителях. Глобальные серверы выполняют функцию обнаружения устройств друг-друга. Есть реализация под все десктопные ОС и под Android. Новые устройства в сеть добавляются через QR-коды. Поэтому с телефона добавить новое устройство проще чем с десктопа. Имеет гибкие настройки разграничений. Можно использовать, например, на одном устройстве одновременно и в личных и в корпоративных целях. То есть, отдельные папки синхронизируются среди сослуживцев, а отдельные папки синхронизируются между домашними родственниками, а некоторые папки синхронизируются только между собственным телефоном и компьютером. Может сохранять много версий одних и тех же файлов, если потребуется. В общем, штука очень удобная. Недавно среди комментариев Хабры был слух об ограничениях функциональности на территории РФ. Но среди официальных источников никаких заявлений не поступало, никаких новых issue в официальном репозитории замечено не было.

Со средствами разработки на маке также все отлично. Работают инструменты от JetBrains, Lapce, VSCode/Codium, Android Studio, Eclipse, Netbeans. Также, даже если вы не программите под MacOS и iOS, у вас на компьютере все равно будет стоять почти бесполезный в остальных задачах XCode. Для разработок сложных БД можно использовать оперсурсный DBeaver. Из виртуальных машин работает Qemu, для дирижирования виртуалками можно использовать Vagrant. Работает Docker. На них останавливаться не будем. Хочется уделить больше внимания средствам, которые есть только под MacOS. 

Скриншот Sequel-Ace
Скриншот Sequel-Ace

Среди огромных масс всевозможных программ под MacOS иногда попадаются жемчужины. Одна из таких жемчужин Sequel Ace. Это клиент для серверов баз данных MySQL. Жаль, что только MySQL. Прога имеет 20-летнюю историю и за это время обросла наиболее богатыми возможностями по сравнению с любыми аналогами. Вылизана каждая мелочь.Подключается через порт, сокет, SSH. Идеально подходит для разработки БД, для манипуляций с существующими БД. Программа имеет потрясающе-красивый интерфейс. В общем, работа в Sequel Ace приносит массу удовольствия.

Еще одна утилита для ленивых разработчиков DevToys со всякими мелочами вроде конвертаций, или считалки хэш-сумм. В ней нет ничего особенного. Но она бесплатная и опенсурсная, кушать не просит, пойдет в копилочку. Авось, когда-нибудь кому-нибудь пригодится. Для ознакомления с полным списком функционала откройте спойлер.

Скриншот DevToys

По работе с GPG-ключами, его же шифрованием и подписями я долго искал приложение подобное Kleopatra или GPG-Crypter. Пока самое удобное из того что находил - это GPG Tools. Вполне годная опенсурсная версия. Удобный менеджер ключей. Шифрование/расшифрование/подпись/валидация осуществляется выделением нужного файла или текста и хоткеем, заданным через настройки системы (где, в принципе, настраиваются все хоткеи в MacOS).

На этом, пожалуй, можно закончить первую часть статьи. Ссылка на вторую часть появится здесь после публикации. Сама вторая часть уже на 90% написана. В большей степени будет посвящена приложениям, запускаемыми в эмуляторе терминала. Не уверен, что кому-то понравится такая мешанина всего в кучу. Текста итак много получилось. Если будет что добавить, или увидели, что я откровенно наврал, напишите комментарий. Только ответить я могу вносив в статью изменения. Комментарии пока мне не доступны.

Комментарии (59)


  1. N-Cube
    21.06.2022 06:28
    +12

    купленного за бесплатно приложения

    Кошмар, что тут автор сказать хотел? Если вдруг речь идет про платные версии бесплатных приложений, как правило, на сайте разработчиков всегда указывается, что это один из путей доната приложения - если хотите помочь разработчикам, можно купить приложение в App Store (для публикации приложения в магазине нужен аккаунт разработчика Apple, который стоит денег, кстати сказать), а если не хотите, то просто скачать с сайта разработчиков или поставить через HomeBrew. И если автор совершенно безосновательно обвиняет разработчиков, добавивших еще один удобный и опциональный способ установки приложения, в мошенничестве - это выглядит мерзко.

    Один из самых эпичных проблем MacOS является проблема смены дефолтных приложений для открытия файлов того или иного формата.

    «Один проблем» это действительно звучит эпично. А по сути ложь - дефолтное приложение выставляется как отдельно для одного файла, так и для всех файлов разом, причем есть несколько способов (в свойствах файла или через системные настройки). Вдобавок, помнится, в плеере VLC при установке была опция сразу с ним все поддерживаемые видеоформаты ассоциировать. Ах да, еще есть и четвертый путь - можно системными утилитами командной строки настроить ассоциации типов файлов.

    Увы, это очередная статья про мак с каким-то злобным кликбейтом с надерганными разрозненными «советами»…


    1. zikasak
      21.06.2022 06:40
      +10

      Кошмар, что тут автор сказать хотел?

      Автору не нравится, что в AppStore скачивание бесплатного приложения технически реализовано через покупку за 0$. Я вообще не понял этой претензии. Ну оформлено как покупка, ну висит в аккаунте. Проблема то в чем?


      1. 13werwolf13
        21.06.2022 08:08
        -6

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


      1. garbagecollected Автор
        21.06.2022 08:12
        -11

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


        1. zikasak
          21.06.2022 09:12
          +12

          Ничего не устанавливается само. Ни при каком обновлении.


        1. yroman
          21.06.2022 11:12
          +9

          Какой-то лютый бред. Ничего само не устанавливается.

          PS: Для эстетов - откройте для себя кнопку Hide Purchase... и наслаждайтесь нужным вам списком покупок.


          1. garbagecollected Автор
            24.06.2022 01:38

            Как минимум еще 51 человек имеет ту же проблему https://discussions.apple.com/thread/6683986


  1. LosMolinos
    21.06.2022 07:33
    -36

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


    1. randomsimplenumber
      21.06.2022 07:36
      +27

      реальная возможность получить люлей, если планируете работать из-за границы.

      От кого??


    1. 13werwolf13
      21.06.2022 08:09
      +3

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


      1. Wyrd
        22.06.2022 02:48
        +1

        Karabiner-elements отлично переназначает любые клавиши на любые, одна проблема - привыкаешь к тому что капс это шифт, а потом чужими ноутами пользоваться невозможно https://karabiner-elements.pqrs.org


    1. Vilgelm
      21.06.2022 08:16
      +1

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

      А вообще сам давно не обращаю внимания на то, какая раскладка на клавиатуре, обычно покупаю все с американской раскладкой просто потому что так дешевле, а в некоторых случаях удобнее (сравните американские и европейские клавиатуры Logitech, американские — классические, на европейских какие-то дополнительные неудобные кнопки и непонятная форма enter).


    1. sden77
      21.06.2022 08:56
      +7

      Хм, а с украинской клавиатурой проблем точно не будет? Люлей дают только предварительно убедившись в отсутствии буквы "ї" в раскладе?


  1. x171819
    21.06.2022 08:41

    Статья - отличный чит-шит. Автор не слушай хейтеров. Юзаю и Мак и линух лет 10, но некоторые вещи новы для меня, сегодня же поставлю.


  1. AxKoff
    21.06.2022 09:15
    -12

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


    1. randomsimplenumber
      21.06.2022 09:39
      +13

      Задумывался ... Но отложу..

      Хороший продавец, быстрая доставка, 5 звезд. Пока не распаковывал.


  1. TokminD
    21.06.2022 09:42
    -3

    Из мастхева еще бы отметил Dozer ибо верхняя панелька загромаждается с поразительной скоростью. Название второй утилиты BackgroundMusic - позволяет рулить громкостью. Оказалось что мак даже не умеет управлять громкостью приложений. Без этого вообще пользоваться не возможно.

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

    Кстати как там новые маки, научились не включаться с закрытым дисплеем в рюкзаке с выжиганием дисплея от перегрева?


  1. ris58h
    21.06.2022 09:58
    +6

    Конечно, свайп двумя пальцами отключать нельзя, ведь он отвечает за прокрутку каждого окна!

    Настройка отключает переход между страницами, но не прокрутку. System Preferences -> Trackpad -> More Gestures -> Swipe between pages.


  1. kahi4
    21.06.2022 10:11
    +5

    Статья как перейти с линукса на мак, а iterm2 даже не упомянули. А он просто таки мастхев (ещё у него есть няшная интеграция с screens/tmux).

    И у макос по-умолчанию стоит zsh, а не bash, не великая проблема, но советую сразу же ставить oh my zsh.

    И раз начали про скриншоты, можно было указать на хоткеи cmd + shift + 2,3,4,5 - (весь монитор, выделенная область, выбранное окно и запись видео (правда удачи записать видео с звуком, но без микрофона)).

    Вообще забавно что я на маке лет 10 уже, а из статьи использую разве что brew и vim. Ну и хром ещё. Keepassx -> strongbox из-за удобной поддержки на айфоне (прости Andrei Popleteev если ты тут, я правда хотел выбрать keePassium, но тут рекурсия - мне поддержка десктопа тоже хочется). Замену i3 так и не нашёл, все поделки кажутся жутко неудобными и проще сразу приучиваться к тому как макос спроектирован.


    1. DVF
      21.06.2022 10:41
      +6

      Вот избегаю iterm2. Встроенный терминал весьма неплох и без таких уязвимостей. https://www.bleepingcomputer.com/news/security/iterm2-patches-critical-vulnerability-active-for-7-years/


      1. V1tol
        21.06.2022 13:22

        Пользовался iterm2 исключительно из-за поддержки quake режима. Сейчас на линуксе с этим помогает yakuake.


    1. anmipo
      22.06.2022 12:02

      прости Andrei Popleteev если ты тут, я правда хотел выбрать keePassium, но тут рекурсия - мне поддержка десктопа тоже хочется

      Да ничего, я переживу :) KeePassium отлично работает с KeePassXC (и всеми остальными, собственно). Но потихоньку допиливаю мак-версию тоже.


    1. rz6agx
      22.06.2022 18:03

      я правда хотел выбрать keePassium, но тут рекурсия - мне поддержка десктопа тоже хочется

      Как бы есть на Мак бета-версия, вполне неплохо работает, нативный интерфейс, поддержка Apple Silicon и Intel процессоров. Рекомендую.


  1. SporeMaster
    21.06.2022 10:18
    +14

    Непонятно почему у статьи столько минусов. Хотя лично мне, линуксоиду с 20+ летним стажем главное так и непонятно - а зачем переходить на Мак?

    Сам, если честно, даже не пробовал.

    В инете встречал прогеров, которым выдают мак нахаляву, они убирают его в чулан и продолжают сидеть в линуксе. Нахаляву Макос не сладкий? )


    1. eshimischi
      21.06.2022 10:59
      +4

      Это дело привычки уже, если вас устраивает Линукс, это же не плохо. Лет 20 назад игрался с ним и свой собирал и пытался работать, но для меня он как был не "юзер - френдли", так и остается. Это личный опыт, навык работы есть и когда нужно - он пригождается. В остальное время только мак, 10+ лет - привычка, проф работа и тд


    1. advan20092
      21.06.2022 11:06
      +4

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


    1. ris58h
      21.06.2022 12:11
      +3

      Лично я перешёл только из-за Macbook, т.к. среди ноутбуков он вне конкуренции: хороший экран, отличные динамики и шикарный тачпад. Т.е. дело сугубо в железе, т.к., в моём случае, софт весь кросплатформенный и особой разницы какой ОС пользоваться нет.


    1. rstepanov
      21.06.2022 12:54

      Если только для работы - линукс норм, а если ноут еще и для себя - под мак много интересного софта, которого нет под линукс - обработка фотографий, видеомонтаж, аудиоплагины и тд.


    1. N-Cube
      21.06.2022 13:10
      +5

      Главный ответ - экран. Второй ответ - время работы от батареи и вес, если речь идет про ноутбук. Остальное дело вкуса - например, мне после отправки разнообразных баг-репортов и патчей (в KDE, дебиан и так далее) и вдоволь пообщавшись с мантейнерами и разработчиками, захотелось ограничиться исключительно консолью (и только в дебиане). На маке есть практически полностью совместимый шелл (за мелкими исключениями, в дебиане при смене bash на dash куда больше проблем было) и не надо настраивать шрифты, не нужно патчить hal-менеджер для поддержки юникода на подключаемых носителях (да, давно это было), не нужно патчить и пересобирать видеодрайвер для встроенной графики amd каждый месяц (на debian testing, а на debian stable работать невозможно, потому что весь софт устарел лет на 5 и бэкпорты всего делать жизни не хватит), не нужно объяснять авторам KDE что не сдался им mysql просто для записи истории действий пользователя (не убедил - сказали, так круче, чем писать хотя бы в SQLite) и так далее. Теперь я в свободное время могу сделать и выложить полезный опенсорс проект (например, систему спутниковой интерферометрии или геоинформационный софт для 4D анализа) вместо вот этой вот мартышкиной работы.


  1. amarao
    21.06.2022 10:28
    +1

    Меня всегда интересовал вопрос безопасности homebrew. Кто проверяет содержимое hb? Что мешает там появиться лефтпаду или какой-то малвари?


    1. bosha
      21.06.2022 10:57
      +1

      Никто не проверяет, всё на доверии. Тут немного спасает Gatekeeper, который не позволяет слепо (без явного подтверждения) запустить неподписанный софт.


      1. amarao
        21.06.2022 11:13
        +1

        Доверии кому?

        Кто имеет право аплоада в homebrew и откуда мы знаем, что upload идёт от того, кому доверяют? Как появляются новые люди с правами аплоада?


        1. bosha
          21.06.2022 21:30

          На доверии тому, кто загружает туда cask-и ????

          Загружать туда может почти кто угодно. Так что по сути ты доверяешь всем, кто туда что-то загружает.


          1. evg_krsk
            22.06.2022 09:15

            Но ведь каски это просто высокоуровневая обвязка вокруг скачивания артефактов с сайтов авторов ПО (пример). Ставишь каск — значит доверяешь автору ПО.


            1. amarao
              22.06.2022 15:45

              Это тьюринг-полная обвязка? Там можно дописать малварь будучи аплоадером?


          1. amarao
            22.06.2022 15:44
            +2

            То есть модель безопасности npm - то есть никакая. Спасибо, не надо.

            Я предпочту модель безопасности Debian, где избранные и хорошо известные мейнтейнеры с репутацией загружают бинарные артефакты, проверяемые отдельной группой ftpmasters перед публикацией в Архиве.


            1. bosha
              22.06.2022 22:47
              +1

              Я так то тоже предпочёл бы дебьян или любой другой дистрибутив, но увы пока (имхо!) только apple делают хорошие ноуты которые долго живут на одном заряде батареи и производительные. Есть слабая надежда, что когда нибудь завезут полноценно работающий линукс на современные маки на ARM.

              В целом всё не так плохо, на самом деле. Как я выше писал, сейчас в MacOS есть gatekeeper. Эта штука проверяет подпись всех запускаемых программ. Если подписи нет, то просто так не запустить. Это надо идти и явно разрешать в настройках системы. Так что подсунуть что-то с малварью может только сам разработчик софта. Если не ставить сомнительный софт от сомнительных разработчиков то проблем быть не должно, но это уровень проверки пакетов Debian, да :)


              1. bosha
                23.06.2022 15:05

                у меня там "не" потерялось :) Должно быть:

                но это НЕ уровень проверки пакетов Debian, да :)


              1. amarao
                23.06.2022 15:30

                Это не защищает. Как только у вас brew install pyenv, то дальше там pip, wheels, бинарные сошки и чёрти что компилирующееся на вашей машине. Или просто запускающееся, как любят делать во всяких npm'ах, где so'шки тупо качаются из артефактов GH.


                1. evg_krsk
                  23.06.2022 17:26

                  Как будто бы в дебиане или любом другом дистрибутиве общего назначения что-то сильно защищает от "pip install что=угодно". В некотором смысле в макоси получается даже безопаснее :-)


  1. DVF
    21.06.2022 10:35
    +8

    XCode не установлен по-умолчанию. Forklift не бесплатен. Само ничего не устанавливается. Ассоциации файлов правятся не так. Изучите операционную систему до написания второй части. Иначе «вредные советы» получаются.


    1. vsheg
      21.06.2022 11:59

      Ссылки из статьи тоже надо изучать: ForkLift, иначе «фейки» получаются.

      ForkLift 3 is currently not available in the Mac App Store. To avoid confusion we made ForkLift 2 free


      1. yroman
        21.06.2022 12:16

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


      1. DVF
        21.06.2022 13:40

        Древняя и неподдерживаемая. Даже про тёмную схему не знает.


    1. gapsf
      21.06.2022 13:36
      +2

      Хоспади, возьмите Double Commander


      1. DVF
        21.06.2022 13:42

        У меня нет предубеждений, чтобы не платить за лицензию. Просто уточнил, что софт платный.


  1. ALexhha
    21.06.2022 11:10
    +5

    Homebrew имеет возможность устанавливать что-то из исходников, но, как правило, этот процесс не завершается успехом и требует вмешательства красноглазого разума.

    о чем вообще речь ? За два года использования ни разу не было проблем

    Шифрование всего SSD - это конечно на любителя

    до первой утери ноута, а кое где это корпоративные требования безопасности

    Одна из таких жемчужин Sequel Ace. Это клиент для серверов баз данных MySQL.

    а в чем заключается жемчужность ?

    Жаль, что только MySQL.

    есть же бесплатный dbeaver, который поддерживает, наверное, все что только можно

    Free multi-platform database tool for developers, SQL programmers, database administrators and analysts.

    Supports any database which has JDBC driver (which basically means - ANY database).
    Commercial versions also support non-JDBC datasources such as MongoDB, Cassandra, Couchbase, Redis, BigTable, DynamoDB, etc.


  1. engine9
    21.06.2022 11:41
    -2

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


    1. rstepanov
      21.06.2022 12:57

      Ну да, она ломает старые привычки и появляются новые. Возвращаться с нее потом больно.


      1. engine9
        21.06.2022 14:22
        +3

        А смысл? Лезть в корпоративную кабалу ради выбрасывания на помойку опыта? Меня его купить уговорил приятель маковод, так нахваливал, в таких красках расписывал. А я не смог за день разобраться как посмотреть фотографии с флешки. Причём на линукс с винды намного проще было перелезть, чем на мак. Где это хвалёное юзабилити? Чувствую себя немного обманутым, ведь и я считал что мак это прям "святой грааль UX".

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


        1. rstepanov
          21.06.2022 21:24
          +9

          А я не смог за день разобраться как посмотреть фотографии с флешки.

          Я впечатлен. Пожалуй, лучше вам его действительно продать.


  1. sergq
    21.06.2022 13:36

    Не совсем понятна проблема с покупкой бесплатного софта... Это какой-то пунктик автора?.... Кстати открою секрет - на Айфоне тоже самое - установка бесплатного приложения идет как покупка... И я бы не сказал, что это замедляет работу Appstore... Да и удалить без проблем можно... Автор то ли не разобрался, то ли видел мак только на картинках) Лично мне Мак больше нравится, для домашних дел конечно, в проф сфере не знаю...


  1. DerRotBaron
    21.06.2022 16:51
    +3

    Спасибо за статью, несколько интересных утилит для себя нашёл, например без middle click жить было не очень удобно.


    Хочу добавить несколько своих путевых заметок. Для "лечения" проблем с клавиатурой советую Karabiner Elements, во-первых мастхэв если с ноутбуком использовать PC-шные клавиатуры, чтобы все сочетания клавиш оказывались на своём месте. А ещё можно заменить менее полезные Fn-клавиши на более полезные, поменять местами Fn и Ctrl (и не в EFI, как у виндовых ноутов) и даже настроить переключение раскладки, например, на Caps/Shift+Caps,


    пусть и для последнего надо писать сложно понимаемые json.
    {
        "title": "Caps -> en, Shift+Caps -> ru",
        "rules": [
          {
            "description": "Caps -> en",
            "manipulators": [
              {
                "to_if_alone": [
                  {
                    "select_input_source": {
                      "language": "en"
                    }
                  }
                ],
                "from": {
                  "key_code": "caps_lock"
                },
                "to": [
                  {
                    "key_code": "right_option"
                  }
                ],
                "type": "basic"
              }
            ]
          },
          {
            "description": "Shift+Caps -> ru",
            "manipulators": [
              {
                "to": [
                  {
                    "select_input_source": {
                      "language": "ru"
                    }
                  }
                ],
                "from": {
                    "key_code": "caps_lock",
                    "modifiers": {
                        "mandatory": ["shift"]
                    }
                },
                "type": "basic"
              }
            ]
          }
        ]
      }

    Кроме этого мыши на маке всегда скроллят в "противоположную" тачпаду сторону и переключатель на это один общий, и чтобы с этим не страдать, есть опенсорсные UnnaturalScrollWheels и как всегда у маков несколько проприетарных и кажется даже платных аналогов.


    И в целом согласиться с тем, что macOS "просто работает из коробки" я не могу, да и не зря есть такое количество твикеров и затычек, а местами (например, оконный менеджер или хоткеи для работы с текстом) она настолько хуже десктопного Линукса с KDE или Винды, что не понятно, как такое в 2022 вообще могло случиться. И для разработки я бы всё равно маку предпочёл Thinkpad с KDE, будь у меня такой выбор.


  1. gbrdhvndi
    21.06.2022 17:07
    +1

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

    Ну не совсем так. System Preferences → Trackpad → More Gestures → Swipe between pages можно отключить, не теряя горизонтальной прокрутки двумя пальцами. Либо можно перенастроить на три пальца (но я предпочитаю использовать три пальца для перетаскивания окон).


  1. Brewdog
    21.06.2022 17:12

    Как настроить по умолчанию использование micro в mc на маке? Пробовал через редактирование .bash_profile с отключением в mc редактора по-умолчанию.


  1. KReal
    21.06.2022 21:06

    А что за редактор Lapce? На хабре упоминается только в этой статье. На сайт сходил, но все равно ничего не понятно)


    1. eshimischi
      22.06.2022 13:30

      Написанный на языке Rust (новый тренд сейчас), редактор по типу VScode, функционал ограничен пока что


  1. savostin
    22.06.2022 15:32

    Вот такой вот пердимонокль:

    brew install topgrade
    ==> Downloading https://ghcr.io/v2/homebrew/core/topgrade/manifests/9.0.1
    Already downloaded: /Users/user/Library/Caches/Homebrew/downloads/cfbf033ff16e36b3a42db9d4bbc783aa6cb16ab07956b5b55da1a7fc36cceef5--topgrade-9.0.1.bottle_manifest.json
    ==> Downloading https://ghcr.io/v2/homebrew/core/topgrade/blobs/sha256:b05f120d3adfaad977f6cb9e6485ff529c034c8e2542586974c94b86a626dbe5
    ##O=#  #
    curl: (22) The requested URL returned error: 401
    Error: topgrade: Failed to download resource "topgrade"

    Как же он "всё обновит", если сам установиться/обновиться не может?


    1. ALexhha
      22.06.2022 15:51

      Как же он "всё обновит", если сам установиться/обновиться не может?

      возможно какая то блокировка. Ибо у меня установилось без проблем

      $ brew install topgrade
      ==> Downloading https://ghcr.io/v2/homebrew/core/topgrade/manifests/9.0.1
      ######################################################################## 100.0%
      ==> Downloading https://ghcr.io/v2/homebrew/core/topgrade/blobs/sha256:844ab6103beb84030b712dce7938224ac
      ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:844ab6103beb84030b7
      ######################################################################## 100.0%
      ==> Pouring topgrade--9.0.1.monterey.bottle.tar.gz
      ????  /usr/local/Cellar/topgrade/9.0.1: 7 files, 3.0MB