Причины
Примерно год назад купил новый ноутбук известного китайского бренда, снёс Windows 11, поставил Alt Linux 10.1 Workstation и погрузился в совершенно новый для себя мир.
Сразу вопрос, зачем? На ноутбуке шла в комплекте прекрасная система, хорошо изученная и понятная, софт 1С на ней работает предсказуемо хорошо, зачем тогда переходить на малоизвестную, во многом сырую ОС? Дальше всё, что будет написано ИМХО. В мире есть три пользовательских операционных системы, MS Windows, Mac OS и Linux. Та, которая от Microsoft прекрасна, в её разработку вложено огромное количество человеко-часов, написаны тонны прикладного софта и есть только один минус, она американская. ОС от известной яблочной компании имеет тот же недостаток. Политическая ситуация развивается так, что часть секторов экономики будут отказываться от использования иностранного софта и переходить на российский. Именно в этих сферах находятся клиенты компании, в которой я работаю. Тут недавно одна из них закупила 100500 лицензий под RedOS. Так что нужно начинать готовиться заранее. Причём ставить ОС Линукс в качестве второй системы и иногда туда заглядывать – это не вариант лично для меня. Я работаю там, где всё настроено и удобно работать, от этого зависит моя производительность труда, соответственно работа будет вестись в Винде, а Линукс будет просто так для имитации процесса. Сразу скажу, что после установки Линукс производительность труда упала, потребовалось приложить усилия, чтобы выровнять этот момент.
Итак, настройка и установка
Я сразу совершил две ошибки, которые потом пришлось исправлять. Итак, для системного раздела выделяйте больше памяти, я при установке по умолчанию оставил 50 Гб и потом пришлось увеличивать, а после шифрования домашнего раздела это сложно. И если у вас современный компьютер или ноутбук, ставьте графическое окружение KDE Plasma 5, я поставил MATE, потом переставлял. В KDE куча настроек и вообще она удобней и красивей, встречаются глюки, но они терпимые. Некоторый функционал, например, темизацию пришлось дополнительно активировать, т.к. разработчик ОС свои темы не делает, а чужим не доверяет.
Сразу приведу этот мем, нужно быть готовым, что приложения в Линуксе предлагают очень большое количество настроек, это не значит, что в других ОС их нет, они есть, технологии одинаковые и настройки у них одинаковые, но в других ОС они настраиваются автоматически и скрыты от пользователя. Для написания механизмов автонастройки создатели проприетарных ОС нанимали высококвалифицированных специалистов, платили им много денег, а в Линуксе хорошо, если есть графический интерфейс, а дальше сам. Поэтому трогаем только то, что понимаем, благо в сети уже есть много статей по настройке Линукс и на русском языке и переводчики в браузерах нормально работают.
Платформа 1С в Линуксе
Платформа 1С для Линукс есть уже давно, сейчас установка чуть сложнее, чем в Windows, т.к. нужно запустить терминал и набрать "sudo ...", а в RedOS даже есть графический интерфейс, чтобы ввести пароль рута, там всё ставится в графическом режиме. Но нормально работающий конфигуратор появился только с версии 8.3.23.1912, в 8.3.21 курсор всё время куда-то скачет, в 8.3.22 периодически появляются странные не закрываемые окна, а в 8.3.23 вроде всё починили. Есть только один нюанс, с 8.3.23 изменили формат расширений конфигурации и при разработке под старые версии платформ, приходится терпеть неудобства. Т.е. с октября прошлого года можно комфортно работать программистом 1С используя Линукс.
EDT в Линуксе
Попробовал я и этого зверя версии 2023.2.4 приручить и даже загрузил в него конфигурацию, разрабатываемую нашей компанией, а там только cf-файл 1,9 Гб. Вот тут как раз и понадобились 16 Гб оперативной памяти ноута, учитывая, что сама ОС к ресурсам не требовательна, а EDT съедает всё, что дают. Причём есть один важный момент, ядро Линукс поддерживает большое количество различных файловых систем, которые оптимизированы для решения конкретных задач. Так вот для хранения временных файлов есть специальная файловая система tempfs, и располагается она в памяти, занимая до 50% всей оперативы (по умолчанию). При импорте конфигурации в EDT, она сначала выгружается из конфигуратора в XML, архивируется, а потом преобразуется в формат проекта EDT. Т.е. и сам EDT потребляет память, и для хранения выгрузки нужна память, в итоге мне и 16 Гб не хватило. Оказалось, что можно назначить для конкретной ява-машины путь к папке с временными файлами через параметр -Djava.io.tmpdir, это тут написано. В итоге заработал EDT с вполне сносным быстродействием, но расстраивали меня ошибки в системе анализа кода, жду следующую версию...
Программы для Windows
Тут всё просто и сложно одновременно, пробовал использовать Wine в чистом виде, не получилось, сложно настраивать. Одну программу настроил, вторая сломалась. Перешёл на Play On Linux, тут стало сильно проще, оболочка делает за тебя все операции по настройке, и для каждого экземпляра вина (wine) своя бутылка (профиль). В итоге у меня работает Winbox и The Dude для управления роутером, MS Office 2010 к сожалению без него пока никак и HMM III Hota иногда поиграть. Проблем с установкой прикладного софта нет, плохо дело с графическим софтом, например PowerPoint показывает презентации с артефактами. Ну и стабильность работы софта под wine оставляет желать лучшего, в любой момент может всё сломаться. Там, где это возможно, ищем программы именно под Линукс. Для игр есть проект Port Proton, народ как-то играет, у меня даже VK.Play не взлетел :-]
А теперь непосредственно софт для Линукс
Я там грусти навёл в предыдущем абзаце, но это не так, в Линуксе софт есть и его много, только он другой и непривычный. Например, любите вы Notepad++, а в Линуксе его нет, но зато в каждом дистрибутиве есть свой супернавороченный блокнот с похожими функциями. Ещё можно посмотреть в сторону софта, который присутствует на всех платформах, я о LibreOffice, GIMP, Sublime Text, Blender и т.д. Он везде одинаковый.
Но зато ставится софт из красивого центра приложений Discover (это в оболочке KDE), где программы распределены по категориям, есть изображения, описания (на английском в основном) и рейтинги (часто пустые). В общем, как магазин приложений в мобильниках на минималках. Но далеко не все приложения есть в репозитории у разработчика вашей ОС Линукс, я бы даже сказал, что там довольно унылая картина. Ставить приложения просто из Инета или собирать из исходников на Git Hub не очень хорошо и небезопасно. Там вам вообще никто ничего не гарантирует. Но выход есть.
Немного теории. В Линуксе, как и в Windows часть исполняемого кода находится во внешних библиотеках, тут они называются зависимостями. Сравнение не совсем корректно, т.к. зависимостями являются не только библиотеки, но и программы. Но они не лежат кучами в системной папке авось понадобятся кому-нибудь, а строго учитываются специальными людьми у разработчика ОС и обновляются при выходе новой версии, старая при этом может быть удалена. Поэтому «не родной» софт даже написанный под Линукс из той же ветки вполне может не заработать из-за невозможности удовлетворить зависимости, т.е. отсутствия необходимых библиотек.
Но ведь можно поставлять софт сразу со всеми зависимостями, да дистрибутив будет больше размером, но диски сейчас большие, Инет широкий, что мешает? Так делает, например, PostgresPro (они ещё свой репозиторий добавляют), а ещё есть два проекта Snap и FlatPack, они используют немного разные механизмы, но помимо упаковки зависимостей в дистрибутив, позволяют изолировать программу от операционной системы, ведь от неё нужно только ресурсы, а файлы нужны не все. Для FlatPack в KDE есть специальный раздел с настройками прав. Сейчас многие программы публикуются именно в этих проектах а утилита Discover умеет искать софт во всех источниках сразу.
Про железо
Линукс – это операционная система, которая базируется на монолитном ядре, как раз это ядро и написал в своё время Торвальдс Линус. Он до сих пор возглавляет проект Kernel.org, который делает ядра для Линукса. Ну так вот, в монолитном ядре вся поддержка железа находится внутри ядра, т.е. драйверов, как в Windows нет и поэтому или ваше железо сразу заработает или сразу не заработает, вариантов всего два. Иногда помогает что-то подкрутить в настройках, но редко. Если не заработает, то ждём новое ядро. У меня так было, не работал звук полгода, вышло ядро версии 6.0, звук появился сам.
Все Линуксы общего назначения распространяются в виде загрузочных образов, можно загрузиться с диска и всё проверить до установки, ну и не гнаться за самым новым железом, т.к. его поддержки может не быть.
Плюсом монолитного ядра, лично для себя, считаю возможность переехать на новый комп просто переставив диск со старого. Возможно вы не сможете сразу загрузиться, но этот вопрос вполне решаемый, зато потом не нужно ничего настраивать заново.
Драйвера нужны только для периферийных устройств (и некоторых видеокарт), тут тоже всё просто, или всё настроится само или нет. Утилита настройки печати сама загрузит нужный драйвер принтера. Или не загрузит.
Про используемый софт
С 1С всё понятно, весь софт ставится нормально, инструкций куча, набьёте руку и по времени будет быстрее, чем в винде, зато при установке новой платформы ощущаешь себя Кевином Митником :-)
Для работы с текстами и таблицами использую Мой Офис, он умеет сильно меньше, чем офис от всем известной компании, но процентов на 80 покрывает потребности. Можно ещё посмотреть в сторону Libre Office, он может почти всё, что и обычный, правда меню придётся заново изучать, т.к. оно не привычное.
Браузеры есть на любой вкус, я пользуюсь Яндекс.Браузером, всё работает, синхронизируется со всеми устройствами.
Клиентов для Telegramm обычно, целых 3 штуки, есть родной от поставщика ОС (лучше использовать его), и ещё есть в репозиториях Snap и FlatPack, выбирай любой. Я использую тот, который от Snap, только его иногда нужно руками обновлять.
Почтовый клиент Mozilla Thanderbird, умеет всё, кроме работы с серверами Microsoft Exchange, это решается специальным плагином, но его не оплатить по понятным причинам, пока не решил, что делать.
Для обработки фото использую GIMP, он очень могучий, мне для рисования логотипов публикации на Инфостарт хватает :-)
Подключение к удалённым рабочим столам по протоколу RDP (и не только) возможно с помощью приложения Remmina. У меня получалась даже довольно замороченная схема с дополнительной авторизацией смарт-картой. В одной особо сильно зашифрованной компании сначала работало, потом перестало, буду разбираться.
Поддерживаются любые технологии виртуальных частных сетей, лично пользуюсь OpenVPN, SSTP и Cisco AnyConnect, всё в одном месте собрано и очень удобно. Но тут есть одна опасность. Нужно понимать, какие параметры куда писать в настройках, не все конфиги OpenVPN нормально загружаются, а админы из организаций, к которым нужно подключиться, не факт, что смогут помочь, они Линукс не знают.
Обработка XML, JSON, написание кода на скриптовых языках – это SublimeText 3 с соответствующими плагинами.
Для мастеров Web-сервисов есть утилита SOAPUI, она и для Винды есть, но на сайте разработчика против нас введены санкции, а в репозитории санкций нет.
Есть своя виртуальная машина QEMU KVM, на ней можно поставить Windows для софта, который не хочет работать под Линукс. Также можно поставить и Virtual Box при желании.
Для резервного копирования домашней папки использую LuckyBackup, это просто графическая надстройка над консольной программой rsync, которой вообще нет равных в вопросах копирования файлов. Т.к. Линукс чаще всего используется на серверах, то именно для решения серверных задач софт очень продвинутый, а десктопных пользователей за 2023 год в мире насчитали всего 3%, соответственно и софт сыроват.
Полнотекстовый поиск в локальных документах хорошо делает Recall, немного дизайн простоват, но функционал достойный.
Есть программы сканирования, NAPS2, например, а можно и сканирование с распознаванием OCRFeeder (русский в наличии), там используется мощный OCR движок Tesseract (я тут о нём писал).
Обалденная программа для проведения в человеческий вид домашних библиотек фотографий и видео – digiCam, не относится к работе непосредственно, но уж очень она классная.
Программа для хранения наиболее ценных паролей есть, KeePassXC называется, в принципе её можно и для автозаполнения в браузере использовать, но менеджер паролей Яндекса сильно умнее.
Скриншотеры есть разные, в оболочке MATE очень понравился FlameShot, а для KDE есть Spectacle.
Ну и просмотрщики разные на все случаи жизни тоже присутствуют, а если их нет, то открываем Discover пишем в поиске расширение, которое хотим прочитать и выбираем нужную программу. Для просмотра видео могу порекомендовать всеядный VLC.
Даже игрушки есть нативные, например Sauerbraten Cube 2 на движке Quake 2 побегать, Sarious Sam первые две части (игровые данные нужно загружать отдельно), стратегия есть 0 A.D. очень сложная... И вообще раздел игр с Discover совсем не пуст.
И всё это безвозмездно, т.е. даром. Да, и нужно привыкнуть, что весь софт за редким исключением сам обновляется, это очень удобно.
Всё, и так много букв получилось. Надеюсь, что всех колеблющихся я вдохновил, но ответственность за ваши действия я не несу... Удачи!