tag:blogger.com,1999:blog-98987931146612492024-03-13T15:22:12.112+04:00Блог начинающего линуксоида.советы, руководства, инструкции.Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.comBlogger117125tag:blogger.com,1999:blog-9898793114661249.post-50497163818670843892023-06-28T23:58:00.000+04:002023-06-28T23:58:30.666+04:00TileOS - новый дистрибутив с мозаичными оконными менеджерами<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAVg-iJlHWbXjd6nRqPl-8QmxaL7bplyf9vTyzQIBPUdlQ8YOp4zBuXrQBnxwQUBeYEmsy08819IWXlI_BFGsSJRNJ9jwN53Q1bA1Ra2eA-aJyuobBvbGVNGCSOlHLjSGdvB925KREb04bLwbi5s5ibfd2dq4zSYF0k52LdzT2ZIy6zTYF-hskWDxCBQ/s256/tile.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="256" data-original-width="256" height="78" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAVg-iJlHWbXjd6nRqPl-8QmxaL7bplyf9vTyzQIBPUdlQ8YOp4zBuXrQBnxwQUBeYEmsy08819IWXlI_BFGsSJRNJ9jwN53Q1bA1Ra2eA-aJyuobBvbGVNGCSOlHLjSGdvB925KREb04bLwbi5s5ibfd2dq4zSYF0k52LdzT2ZIy6zTYF-hskWDxCBQ/w78-h78/tile.png" width="78" /></a></div>Приветствую. Сегодня хочу подробно рассказать о своем новом проекте, работу над которым начал в мае этого года - <b>TileOS</b>. TileOS это дистрибутив на базе Debian Stable, использующий в качестве рабочего стола различные мозаичные (тайлинговые) оконные менеджеры, преимущественно - на <b>Wayland</b>. Основная цель этого дистрибутива отчасти схожа с проектом <a href="http://ubuntusway.com" target="_blank"><b>Ubuntu Sway Remix</b></a> - предоставить готовое к использованию окружение, дружелюбное как к опытным пользователям Linux, так и к новичкам, желающим попробовать мозаичные оконные менеджеры, не тратя кучу времени на их настройку.<p></p><span><a name='more'></a></span><p>Поводом для создания TileOS послужила неоднозначность Ubuntu. Во первых - я так и не добился официального ответа по поводу включения Ubuntu Sway Remix в официальное семейство Ubuntu. Во-вторых - <a href="https://www.omgubuntu.co.uk/2023/05/immutable-all-snap-ubuntu-desktop" target="_blank">намеченный</a> переход на сборки, полностью построенные на пакетном менеджере <b>Snap</b>, и несмотря на заявления Canonical о том, что классические сборки останутся на месте - есть повод для беспокойства. Да и в целом Ubuntu нравится меньшему количеству людей, чем Debian. Однако заранее хочу подчеркнуть - отказываться от дальнейшей разработки и поддержки Ubuntu Sway Remix я не собираюсь. Кроме этого, TileOS лишен всяческих ограничений, как лицензионного, так и технического характера. Если в Ubuntu Sway Remix я вынужден более менее следовать общепринятым заветам по созданию Ubuntu Flavors, сохраняя структуру дистрибутива, используя те же методы сборки и так далее, то в TileOS у меня полностью развязаны руки и полный карт-бланш на внесение любых изменений (в пределах разумного). Поэтому даже несмотря на то, что по мнению некоторых пользователей Linux я выбрал весьма неудачную основу для нового дистрибутива, можно все сделать очень красиво и привлекательно для всех. Было бы время :( И хочу ещё раз ответить на вопрос - почему Debian? Потому что этим дистрибутивом я пользуюсь 10 лет, я ему абсолютно доверяю и знаю его очень хорошо.<br /></p><p>Одна из сложностей создания сборки или иного дистрибутива на базе Debian заключается в том, что вам необходим репозиторий, в котором вы будете публиковать свои пакеты с настройками и прочим ПО. В случае Ubuntu эту проблему решает<a href="https://launchpad.net/" target="_blank"> Launchpad</a>, в котором можно просто создать <b>PPA</b> и загружать туда все необходимое. Ресурс дает 2 гигабайта места (потом можно попросить увеличить) и берет на себя всю заботу по сборке пакета, его публикации и цифровой подписи. В Debian такого нет. Изначально для этих целей я использовал <b><a href="https://build.opensuse.org/" target="_blank">Open Build Service</a></b>, от проекта OpenSUSE, и в целом меня все устраивало. Однако недавно начались серьезные проблемы с его зеркалами, в результате чего мой репозиторий попросту отваливался в случайные моменты, из-за чего я не мог ни собрать ISO-образ, ни банально обновить систему из него. Решено было создать собственный репозиторий, и полностью контролировать его самому. Минус у этого, лично для меня, всего один - сборка пакетов происходит на локальной машине (на моем компе), и в репозиторий загружаются уже готовые пакеты. Ну и много ручной работы, хотя я просто ленивый и все никак не могу заставить себя обернуть все это в скрипты. Тем не менее, новый репозиторий <a href="https://repo.tile-os.com/" target="_blank">создан</a> и успешно работает, доступны две ветки - <b>stable</b> и <b>testing</b>, в будущем планируется добавление ещё одного репозитория со свежими видеодрайверами. Ну и наверное главное преимущество - репозиторий доступен людям по всему миру, никаких ограничений, блокировок и тд, VPN не понадобится.</p><p>Так как я большой фанат Sway, основную редакцию было решено делать именно с ним. Тем более уже есть наработки из Ubuntu Sway Remix. Для второй редакции я выбрал <a href="https://github.com/riverwm/river" target="_blank">River</a> - активно развивающийся Wayland-композитор, сочетающий в себе все хорошие стороны <b>dwm</b> и <b>Awesome</b>, правда пока находящийся в статусе экспериментального. От чего этот статус получит и вариант TileOS с ним. Структура дистрибутива такова, что любой желающий может предложить свой собственный вариант TileOS, с нужным ему оконным менеджером, не обязательно на Wayland. Для этого я напишу отдельную инструкцию и разумеется - буду помогать со сборкой пакетов и адаптацией конфигов.</p><p>Теперь рассмотрим сам TileOS. На момент написания статьи доступна <a href="https://drive.google.com/drive/folders/1DAlyqjbAi0g5UtDTEjwUdWrWIA9mqLmx?usp=sharing" target="_blank">вторая альфа-версия</a>, с оконным менеджером Sway. Как и Ubuntu Sway Remix, TileOS использует установщик <b>Calamares</b>, а также дисплейный менеджер <b>greetd</b> для управления входом в систему. Поддерживается режим LiveCD. Сама система содержит минимальное количество ПО, только самое необходимое. Дополнительное ПО можно выбрать прямо в установщике, выбор основан на моих личных предпочтениях, однако любой может предложить и что-то свое. Большинство конфигов <a href="https://github.com/Ubuntu-Sway/ubuntu-sway-default-settings" target="_blank">взято</a> из Ubuntu Sway Remix с минимальными изменениями, так как они успешно показали себя в работе на протяжении уже трех выпусков USR. В качестве темы оформления и общей цветовой палитры дистрибутива был выбран <a href="https://github.com/catppuccin/catppuccin" target="_blank">Catppuccin</a>, использующий мягкие пастельные тона цветов, и имеющий готовые цветовые схемы и темы для огромного числа компонентов, таких как эмуляторы терминала, GTK, Qt, Sway и так далее. Возможно конечно не идеал, но здесь уже вкусовщина. И я работаю над тем, чтобы сделать смену оформления интерфейса максимально простой для пользователя, которому не понравится дефолтный вид TileOS. И да - логотип дистрибутива пока тоже не финальный. Работа ведется.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDqrfRWkbrg12NBD1N2t4wuF2qKc0rc7S_Ke3bSMQCrhZzj1MwNWtvQfz7ZcQOXjxwyT6PDAwH3p9SuymJgC-v49X2TjIFcGU8Je6AYPxnuaTGmbVIyLIj9PHSvgdvNhuBgI7pE8J9RzAJ1kWxhp8TpnF0SfYOogQOwPDvhrEUaR74qsUdpvYBBZYIAQ/s1920/screen1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDqrfRWkbrg12NBD1N2t4wuF2qKc0rc7S_Ke3bSMQCrhZzj1MwNWtvQfz7ZcQOXjxwyT6PDAwH3p9SuymJgC-v49X2TjIFcGU8Je6AYPxnuaTGmbVIyLIj9PHSvgdvNhuBgI7pE8J9RzAJ1kWxhp8TpnF0SfYOogQOwPDvhrEUaR74qsUdpvYBBZYIAQ/s320/screen1.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP0h7YtC_C3OWcEnYbxERTKRzsH3fNGmEjGtnj2ZlqjtSkhBKtXCuJ2Wllzvg99Eb1SaF9UZ4bv3uU-SE3GASbpSohb0Lym-v_2lLZnsuHrVaLr5URpRNMTYx62WCY576G2aVbwUzPCWdoqOo-KtTPTupiv9UjS5-q059TaRaXchJFI4mI3Swt6ZJRaw/s1920/screen2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP0h7YtC_C3OWcEnYbxERTKRzsH3fNGmEjGtnj2ZlqjtSkhBKtXCuJ2Wllzvg99Eb1SaF9UZ4bv3uU-SE3GASbpSohb0Lym-v_2lLZnsuHrVaLr5URpRNMTYx62WCY576G2aVbwUzPCWdoqOo-KtTPTupiv9UjS5-q059TaRaXchJFI4mI3Swt6ZJRaw/s320/screen2.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ3FzcQcnh5IlQ0mn9cOWHx6CG2lLswo7k8TRQBcbJsFiLVtUpL7ZhXMi62xxFbrzZvTLlIj0hMvqu64zLMpda02oL78Lm5Q9Iq07J_eZWy3LCQcPzDWtVw_fmf0vvj8_8aHQDDVJlhB3Qsd6KFdSCvMooe5yA3b5l6anHO6jOM-vZUxJ1qTL8rz7iPQ/s1920/screen3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ3FzcQcnh5IlQ0mn9cOWHx6CG2lLswo7k8TRQBcbJsFiLVtUpL7ZhXMi62xxFbrzZvTLlIj0hMvqu64zLMpda02oL78Lm5Q9Iq07J_eZWy3LCQcPzDWtVw_fmf0vvj8_8aHQDDVJlhB3Qsd6KFdSCvMooe5yA3b5l6anHO6jOM-vZUxJ1qTL8rz7iPQ/s320/screen3.png" width="320" /></a></div><br /><p><br /></p><p>Гораздо больше изменений находится под капотом. В первую очередь - это интеграция компонентов рабочего стола с системным менеджером <b>systemd</b>, благодаря проекту <a href="https://github.com/alebastr/sway-systemd" target="_blank">sway-systemd</a>. С его помощью многие компоненты, например панель Waybar, запускаются как пользовательские сервисы systemd, независимо от общего конфигурационного файла Sway. Таким образом для перезапуска панели, с целью смены её настроек, не требуется перезапуск всего оконного менеджера. Плюс ко всему все компоненты, запущенные таким образом, помещаются в отдельную контрольную группу (<b>cgroups</b>), что позволяет задействовать механизм <b>systemd-oomd</b>, предотвращающий коллапс системы при резком заполнении всей оперативной памяти. Без раздельных контрольных групп systemd-oomd в момент пикового потребления ОЗУ может грохнуть весь рабочий стол целиком. Здесь же он пристрелит строго виновника перегрузки, и мягко его завершит. Таким образом достигается существенно более гибкий контроль над ресурсами системы, возможность независимого аудита отдельных компонентов (например просмотр системного журнала только для панели Waybar) и многое другое. Также sway-systemd управляет и автозапуском приложений, для чего достаточно поместить ярлык нужного приложения в <i>~/.config/autostart</i>. Хотя многие программы делают это и сами при активации такой настройки (например Telegram). Минус у подобного решения, как по мне, всего один - нельзя задействовать кастомную директорию для конфигов компонента. Например, в Ubuntu Sway Remix дефолтные настройки Waybar лежат в <i>/etc/xdg/xdg-ubuntusway/waybar</i>, и пользователь может заменить их своими, расположив их в <i>~/.config/waybar</i>, а при их удалении - вернуть все в заводское состоянии. При использовании sway-systemd так сделать нельзя - конфиг должен уже находиться в <i>~/.config/waybar</i>, в противном случае будет задействован тот, что предоставляется по умолчанию самим Waybar. Поэтому некая защита от дурака исчезла, и при случайном удалении конфигов в домашней директории - все сломается.</p><p>Другим заметным преимуществом является <a href="https://github.com/Tile-OS/tileos-system-adjustments" target="_blank">набор твиков</a> системы, безопасных но полезных. Например при клике на накопителе в файловом менеджере не требуется вводить пароль администратора, как это имеет место быть в обычном Debian (фактически я воссоздал поведение Ubuntu), для разных типов накопителей задействуются оптимальные планировщики ввода-вывода: для обычных жестких дисков это <b>BFQ</b>, для SSD и eMMC это <b>mq-deadline</b>, а для NVMe накопителей планировщик отключается вовсе (ибо не нужен). Добавлены некоторые оптимизации из SteamOS, направленные на улучшение работы игр, запущенных в Proton. Уменьшен таймер остановки сервисов systemd, с 2-х минут до 10 секунд, чтобы в случае повисания какого-либо из сервисов - не ждать 2 минуты пока он завершится принудительно. Увеличены лимиты на количество открытых файловых дескрипторов и поднят приоритет для некоторых звуковых устройств, что будет полезно людям, занимающимся музыкой. И это не предел.</p><p>Кроме того, в репозиторий планируется добавлять или бэкпортировать из Debian Testing некоторое ПО, востребованное в подобного рода окружениях, а также поддерживать сам рабочий стол в актуальном состоянии. Например wlroots, Sway и некоторое другое ПО в TileOS УЖЕ свежее чем в Debian 12. Плюс ко всему подключены репозитории со сторонним ПО, таким как Visual Studio Code, Waydroid, Onlyoffice, а также браузерами Brave и Librewolf. Их также можно выбрать в установщике, либо установить в уже установленной системе.</p><p>Сейчас главным образом идет подготовка к первой бете. В скором времени планируется создать страницы на Mastodon, открыть Telegram-канал и комнату в Matrix, для обсуждения дистрибутива и его разработки. Ну и само собой - сделать видеообзор :) Четкой даты релиза TileOS нет, он будет выпущен как будет готов. Однако минорные обновления планируется выпускать раз в квартал, также как и в Debian. Отписываться о тестировании в настоящее время можно в Телеграм-чате по ссылке ниже. На этом у меня пока все. Ссылки на все ресурсы по TileOS вы найдете ниже. До встречи!</p><p>Репозиторий: <a href="https://repo.tile-os.com">https://repo.tile-os.com</a><br /></p><p>Репозиторий на Github: <a href="https://github.com/Tile-OS">https://github.com/Tile-OS</a></p><p>Телеграм-чат: <a href="https://t.me/+kIglYNXl6qY3ZjBi" target="_blank">https://t.me/+kIglYNXl6qY3ZjBi </a><br /></p>Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com0tag:blogger.com,1999:blog-9898793114661249.post-65680452122066301202022-06-22T22:05:00.000+04:002022-06-22T22:05:55.647+04:00Ubuntu Sway Remix: отчет о развитии (Июнь 2022)<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLphpVF-SVd0gSVYrZnMzj46gCwLLoO0CXo1S6VHC8_JMLbSN4ygWw0i-TWNdLJTQilphCray99mIIOT3EgIhtgqZPH_DlzbC2QA_fszpZcL0DkEeeL7exNA_nWqcMq0zY9RE9nM_3ZkUFZbGQLbKYQfQOShe6n0GQsZQ3Zn0wxBzVtcPoqrUABfg/s64/logo.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="64" data-original-width="64" height="64" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLphpVF-SVd0gSVYrZnMzj46gCwLLoO0CXo1S6VHC8_JMLbSN4ygWw0i-TWNdLJTQilphCray99mIIOT3EgIhtgqZPH_DlzbC2QA_fszpZcL0DkEeeL7exNA_nWqcMq0zY9RE9nM_3ZkUFZbGQLbKYQfQOShe6n0GQsZQ3Zn0wxBzVtcPoqrUABfg/s1600/logo.png" width="64" /></a></div>Приветствую. Для тех, кто не в курсе что к чему - в конце марта я начал работу над новым дистрибутивом (точнее сказать, вариантом дистрибутива) на основе Ubuntu, с оконным менеджером <a href="https://github.com/swaywm/sway" target="_blank">Sway</a> - <b>Ubuntu Sway Remix</b>. Обзор первой его беты вы можете найти на моём <a href="https://youtu.be/Cnnv1sotmc0" target="_blank">YouTube-канале</a>. С тех пор в дистрибутив было влито огромное число изменений, как внешних, так и внутренних. И я решил что неплохо бы своими словами, без сухих чейнджлогов, рассказать о проделанной работе. Время от времени я буду выкладывать подобные отчеты, а на канал делать обзор финальных версий дистрибутива.<span><a name='more'></a></span><p></p><h3 style="text-align: left;">Сайт <br /></h3><p>У проекта появился <a href="https://ubuntu-sway.github.io/" target="_blank">собственный сайт</a>! Весьма простенький конечно, но все же. Сайт построен на платформе GitHub Pages, что весьма удобно. ISO-образы пока по-прежнему загружаются с Гитхаба, и да, я знаю - это очень медленно. На данный момент <a href="https://github.com/Ubuntu-Sway/Ubuntu-Sway-Remix/issues/11" target="_blank">обсуждается</a> вопрос поднятия своего сервера для сайта и распространения образов, но в краткосрочной перспективе я рассматриваю SourceForge и раздачу образов торрентами, например через <a href="https://linuxtracker.org/" target="_blank">Linuxtracker</a>.<br /></p><h3 style="text-align: left;">Установщик</h3><p>Установщик Calamares обновлен до последней версии в ветке 3.2, куда влито внушительное число исправлений. Некоторые пользователи отписывались о проблеме, при которой если во время установки дистрибутива не была установлена галочка на пункте автоматического входа в систему, то система отказывалась загружаться и показывала просто черный экран с мигающим курсором. Как мне казалось, проблема была в дисплейном менеджере <a href="https://sr.ht/~kennylevinsen/greetd/" target="_blank"><span style="background-color: #eeeeee;">greetd</span></a>, ведь именно он не запускался и не выдавал приглашение входа. Но после детального изучения проблемы, выяснилось, что виноват установщик. Дело в том, что по умолчанию Ubuntu Sway содержит <a href="https://github.com/Ubuntu-Sway/iso-builder/blob/main/etc/config/includes.chroot/etc/greetd/config.toml" target="_blank">конфиг</a>, в котором прописан автологин для пользователя LiveCD (ubuntu), для того чтобы после загрузки с флешки автоматически запускалась графическая оболочка. Если во время установки, поставить галочку на <b>"Автоматический вход в систему"</b>, то установщик перезапишет имя Live-пользователя на то, что вы указали. И все без проблем будет работать. Но вот если не поставить эту галочку - пользователь <b>"ubuntu"</b> так и останется в конфигурационном файле <span style="background-color: #eeeeee;">greetd</span>, и после установки и перезагрузки, не найдя в системе пользователя с таким именем, <span style="background-color: #eeeeee;">greetd</span> откажется запускаться. Благодаря разработчикам Calamares подготовлен <a href="https://github.com/calamares/calamares/pull/1996" target="_blank">патч</a>, решающий эту проблему. Отныне, если пользователь не включил автоматический вход в систему, установщик будет удалять запись для пользователя <b>"ubuntu"</b>, и по окончанию установки и перезагрузке - будет корректно выдаваться приглашение входа, где нужно будет ввести имя созданного пользователя и его пароль.</p><p>Кроме решения проблем с установкой, было добавлено слайдшоу, рассказывающее о наполнении дистрибутива. Наверняка не самый красивый и стильный вариант, но на данный момент - лучше чем ничего. Любые идеи активно принимаются <a href="https://github.com/Ubuntu-Sway/calamares-settings-ubuntusway/issues" target="_blank">здесь</a>. Тема оформления также изменена, поскольку Calamares плохо дружит с темными темами. Отныне используется стиль оформления Fusion (используется по умолчанию для Qt) и светлые тона, в сочетании с зелеными элементами. Кроме того, окно установщика теперь корректно запускается в плавающем режиме, а не во весь экран как было раньше, что приводило к таким приколам, как не влезающий в экран список регионов.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKHQYuf-_JRfitZmSA9F8M89ShWp_jewvTUBfDtck5v4emydmCXE55NgBckY1NYsOSjpPLBOUzm4wdivy8LAr4sgeuLZBLWSSyRkHtoa7ACnvIZKSVLKvZTVjlzPF4ZAGCfh0r7NPpA8qucZJ2ub8w-h_n2ekoQ0nrWsVQLGZuUU2DTNooM_Ud_ek/s810/Accessories.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="485" data-original-width="810" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKHQYuf-_JRfitZmSA9F8M89ShWp_jewvTUBfDtck5v4emydmCXE55NgBckY1NYsOSjpPLBOUzm4wdivy8LAr4sgeuLZBLWSSyRkHtoa7ACnvIZKSVLKvZTVjlzPF4ZAGCfh0r7NPpA8qucZJ2ub8w-h_n2ekoQ0nrWsVQLGZuUU2DTNooM_Ud_ek/s320/Accessories.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTB8wQYqr1Pc19cViqexAI8psoBQnCnFrK3KEilBaP_aSoJDI4LvSptfnL3rcjjoFvYCpJqL4uetSRN7bZ8IEKbi6KH0WAhKogKUs6HOkYuXlDwqSYar4eAt-A0D0ZyN9VB6WP_6Anw09cfYf6vcXJgay5aecagldAd4BbRt1dha5eRonGKdcRWpo/s810/Customize.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="485" data-original-width="810" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTB8wQYqr1Pc19cViqexAI8psoBQnCnFrK3KEilBaP_aSoJDI4LvSptfnL3rcjjoFvYCpJqL4uetSRN7bZ8IEKbi6KH0WAhKogKUs6HOkYuXlDwqSYar4eAt-A0D0ZyN9VB6WP_6Anw09cfYf6vcXJgay5aecagldAd4BbRt1dha5eRonGKdcRWpo/s320/Customize.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6zAnyv2D-C0S04ZE8-BkbdxMOVKEbINZ8Jko0upvqOCerTjulPhbZK08XZb1xP9en8StdczVBil_MTELvPxYTE8cE8jhx8DEHtkSITfG3x2N5kgf6lHM3s7EblghZstlAu1Rzjv_SiXoHu-oHkHp-lLx8AWvbmxc93rSTDfDyn8diJFr_B4PzJFw/s810/FindUs.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="485" data-original-width="810" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6zAnyv2D-C0S04ZE8-BkbdxMOVKEbINZ8Jko0upvqOCerTjulPhbZK08XZb1xP9en8StdczVBil_MTELvPxYTE8cE8jhx8DEHtkSITfG3x2N5kgf6lHM3s7EblghZstlAu1Rzjv_SiXoHu-oHkHp-lLx8AWvbmxc93rSTDfDyn8diJFr_B4PzJFw/s320/FindUs.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_Ff78Rw_LjCKb6KkJBN9uZPn9u5av3ymaRDJbLHT2K7HPJYt_PU7JhIkKpALWrzILQIR9TY-2V9TfzL7bKtmwaXQ3FFDwm0LXtJrXBpj6ZTtpl0Uqcnx3kHTg-EBHpDRhNqeknsjlzgn5d3A07ZNgFB7zJ6HzV8iBk-arAbnyYor-I0pZhnILqs4/s810/Internet.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="485" data-original-width="810" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_Ff78Rw_LjCKb6KkJBN9uZPn9u5av3ymaRDJbLHT2K7HPJYt_PU7JhIkKpALWrzILQIR9TY-2V9TfzL7bKtmwaXQ3FFDwm0LXtJrXBpj6ZTtpl0Uqcnx3kHTg-EBHpDRhNqeknsjlzgn5d3A07ZNgFB7zJ6HzV8iBk-arAbnyYor-I0pZhnILqs4/s320/Internet.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbuC3ZFsrhiOezfOQtV7wrknea8U3Vk4g6EcRlwzDjqT8ERoPfEGMHZzSapA-4OhxPYqO230JHMeZ2pUeWa0rlkd9vrPMGMLATvAcJUYzxS5md39rMqzmxTrGnb9dYcNUMd-ud80Trxg0XfM1GOzYEtjxHmRs6uuHiKxQLIHANVSiMBVIGgkOEmRY/s810/Multimedia.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="485" data-original-width="810" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbuC3ZFsrhiOezfOQtV7wrknea8U3Vk4g6EcRlwzDjqT8ERoPfEGMHZzSapA-4OhxPYqO230JHMeZ2pUeWa0rlkd9vrPMGMLATvAcJUYzxS5md39rMqzmxTrGnb9dYcNUMd-ud80Trxg0XfM1GOzYEtjxHmRs6uuHiKxQLIHANVSiMBVIGgkOEmRY/s320/Multimedia.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUesVqmoZC5FRlm05EKBR-T2M_7jd6fZbdnWZn81-mH6wk5VIGX233N_dZr4BDK_TXzNeVXX7NOjKR8Ht-4YS_tfNcKKozqXFPsf_vWnuYy-JZP_JnwgXrA6xrdP-CE4EMY8NodviY-U2qCKLM3l9Xd81Nazvr4LA2O4SM6MiW2ECc6hqHKEIncPo/s810/Productive.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="485" data-original-width="810" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUesVqmoZC5FRlm05EKBR-T2M_7jd6fZbdnWZn81-mH6wk5VIGX233N_dZr4BDK_TXzNeVXX7NOjKR8Ht-4YS_tfNcKKozqXFPsf_vWnuYy-JZP_JnwgXrA6xrdP-CE4EMY8NodviY-U2qCKLM3l9Xd81Nazvr4LA2O4SM6MiW2ECc6hqHKEIncPo/s320/Productive.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr7hInF9SLF8CxFFlpheTMUtsMdXRo-iLzdxjsbltAu-hES2zXSXJYxTFfgPZWZa1UBk95P1n0rlPjtAscw-w_PVXwsQpN28dxgK6-y_uXAXVfU9wNSLwnTSPQ9Bt4S7MB68kbW5JXKILmMuu17grwSElV5FUF6Z94Ma6STNzs-4O1FE9WCEzBFoI/s810/TUI.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="485" data-original-width="810" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr7hInF9SLF8CxFFlpheTMUtsMdXRo-iLzdxjsbltAu-hES2zXSXJYxTFfgPZWZa1UBk95P1n0rlPjtAscw-w_PVXwsQpN28dxgK6-y_uXAXVfU9wNSLwnTSPQ9Bt4S7MB68kbW5JXKILmMuu17grwSElV5FUF6Z94Ma6STNzs-4O1FE9WCEzBFoI/s320/TUI.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCZp36cmpBK9WBksJNqgvBTpJbhnJuwY7mZha4kMF9XLm4sgUbht-MxRjda8r344smshEkLX5y1U6HSKh9ttQLT30qozduxAnF4BFxyD9inqhRZSpi4cO0LJh794iClPhyDCqK9-VwNMKtluh_mzYVMEScsdz0Q3huel4Q7qalJVgIQygV9iPsohs/s800/welcome.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="800" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCZp36cmpBK9WBksJNqgvBTpJbhnJuwY7mZha4kMF9XLm4sgUbht-MxRjda8r344smshEkLX5y1U6HSKh9ttQLT30qozduxAnF4BFxyD9inqhRZSpi4cO0LJh794iClPhyDCqK9-VwNMKtluh_mzYVMEScsdz0Q3huel4Q7qalJVgIQygV9iPsohs/s320/welcome.png" width="320" /></a></div><br /><p><br /></p><h3 style="text-align: left;">Оформление</h3><p>Тема оформления теперь может сменяться на лету, благодаря утилите <a href="https://github.com/nwg-piotr/nwg-look" target="_blank">nwg-look</a>. Это своего рода аналог LXappearance, только сделанная специально для Wayland и Sway. В ней можно изменить тему GTK, тему курсора и шрифты. Все связанные с оформлением компоненты вынесены в отдельный пакет <a href="https://github.com/Ubuntu-Sway/ubuntusway-artwork" target="_blank">ubuntusway-artwork</a>, для упрощения сопровождения. Добавлена тема для загрузочного экрана Plymouth. Во всех компонентах интерфейса, использующих CSS, применены общие свойства цветов из GTK, поэтому при смене темы оформления - они будут корректно перерисовываться и адаптироваться, без необходимости в ручном изменении цвета элементов. Разве что цвета обрамления и фона самих окон Sway останутся без изменений, но тут уж ничего не поделать. </p><p><br /></p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoJNNJcA2HZyhLE0TgQoaNMCoojzoF26kNif0aGEVfw_ov6ggZEnDvu7xvkokXLlrvuSb-FnaMbY3y6gP57osaVnv0P5uKK0hBWAMDTaCm3yNBjqJMXyvsmynm0Z7Dh1WjNyiL__mrglTSTyeMNYky9oqD2SkNrv9XaRaH1msWPnsohh3sgV7YXQE/s1280/plymouth_logo.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="720" data-original-width="1280" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoJNNJcA2HZyhLE0TgQoaNMCoojzoF26kNif0aGEVfw_ov6ggZEnDvu7xvkokXLlrvuSb-FnaMbY3y6gP57osaVnv0P5uKK0hBWAMDTaCm3yNBjqJMXyvsmynm0Z7Dh1WjNyiL__mrglTSTyeMNYky9oqD2SkNrv9XaRaH1msWPnsohh3sgV7YXQE/s320/plymouth_logo.png" width="320" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Заставка Plymouth (снизу появляется анимация загрузки)<br /></td></tr></tbody></table><br /><h3 style="text-align: left;">Waybar</h3><p>Панель Waybar претерпела ряд небольших изменений. Теперь она корректно работает со светлыми темами оформления, все элементы и текст читабельны. Исправлен стиль некоторых модулей, для более целостного вида. Добавлен новый модуль с утилитой <a href="https://github.com/ArtsyMacaw/wlogout" target="_blank">wlogout</a>, выводящей на экран кнопки блокировки, сна, гибернации, выхода, перезагрузки и выключения, заменившей собой <b>swaynag</b>, который хоть и вызывался клавиатурной комбинацией - требовал мышь для активации своих элементов. Меню <b>wlogout</b> поддерживает навигацию как мышью, так и клавиатурой, и может также быть вызвано комбинацией <b>Mod+Shift+E</b>, ранее вызывавшей <b>swaynag</b>.</p><p> <table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBQdsZ4EU7oP1bZD8MuFZB22VYIc-yPbqicv6RxmxGJPhPDFwOWcHEw9y1dbIjAk1Iu15juIUZV6uVpYzD_eXRZKksMGmSFFCKfmeT1qfiCSgBQyJTzOOXfoMHTU_LCx1ZMLD17cA_y1c1VFsXxvBr_fSH8lcPDDoLX47Vzu3LcuWlneALe6GIx24/s1439/Screenshot_20220622_213144.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="900" data-original-width="1439" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBQdsZ4EU7oP1bZD8MuFZB22VYIc-yPbqicv6RxmxGJPhPDFwOWcHEw9y1dbIjAk1Iu15juIUZV6uVpYzD_eXRZKksMGmSFFCKfmeT1qfiCSgBQyJTzOOXfoMHTU_LCx1ZMLD17cA_y1c1VFsXxvBr_fSH8lcPDDoLX47Vzu3LcuWlneALe6GIx24/s320/Screenshot_20220622_213144.png" width="320" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Светлая тема Adwaita в nwg-look<br /></td></tr></tbody></table><br /></p><p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRyAMBmTnCu2F0j5O3YEJ0u6g_G4tN9OZxnouicTyHkt9Hfu1z71qDjdqlfK0QRiu6aaXHX3EBr9cAhKEIK6wCE45pVntUnufja9ko0Anpo6Y7u2L4-YxAigA6n67dmYhQz8-MEd64RyDMG3x1D6mObgEHwF2SOj5dC6lRPsFLCbR5-9UxnR7YO5Y/s1443/Screenshot_20220622_210808.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="900" data-original-width="1443" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRyAMBmTnCu2F0j5O3YEJ0u6g_G4tN9OZxnouicTyHkt9Hfu1z71qDjdqlfK0QRiu6aaXHX3EBr9cAhKEIK6wCE45pVntUnufja9ko0Anpo6Y7u2L4-YxAigA6n67dmYhQz8-MEd64RyDMG3x1D6mObgEHwF2SOj5dC6lRPsFLCbR5-9UxnR7YO5Y/s320/Screenshot_20220622_210808.png" width="320" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">wlogout</td></tr></tbody></table><br /></p><p> </p><h3 style="text-align: left;">Работа в виртуальных машинах</h3><p>Sway по умолчанию требует обязательного наличия аппаратного ускорения, в противном случае - падает с ошибкой. В VirtualBox эта проблема решается просто - нужно установить галочку на пункте "3D ускорение" в свойствах виртуальной машины. Однако в QEMU/KVM с этим не так просто, и дело тут не только в Sway, но и косяках в QEMU. Поэтому были созданы обходные пути для решения проблем с работой Ubuntu Sway в виртуальных машинах. В QEMU/KVM используется программная отрисовка через Pixman, которая не сильно медленнее, но позволяет без проблем пользоваться дистрибутивом. VirtualBox, после установки дополнений гостевой ОС, также работает превосходно с Ubuntu Sway. Кроме того, видеодрайверы этих виртуальных машин не поддерживают так называемый аппаратный курсор, поэтому после запуска он был невидимым. Для решения этой проблемы пришлось отключить аппаратный курсор при запуске в VirtualBox и QEMU/KVM, оставив только программный. Теперь курсор видимый и полностью функциональный, хоть и малость тормозной. При запуске Ubuntu Sway в VirtualBox или QEMU/KVM он автоматически обнаруживает виртуальные окружения и применяет <a href="https://github.com/Ubuntu-Sway/ubuntusway-default-settings/blob/main/etc/profile.d/sway.sh#L20" target="_blank">эти</a> исправления. <br /></p><h3 style="text-align: left;">Наполнение дистрибутива</h3><p>Претерпел изменения и штатный набор софта. Файловый менеджер <b>Thunar </b>заменен на <b>PCManFM</b>, собранный с <b>GTK 3</b>. Причиной замены является нестабильность Thunar при работе в Sway, в частности при обращении к каталогу, на который у пользователя нет прав, Thunar начинает бесконтрольно спамить сообщениями, что к этому каталогу доступ запрещен, и пока не прибьешь его через терминал - не останавливается. Ни с одним другим файловым менеджером такой проблемы не было, но PCManFM был выбран как наиболее близкая по духу и легковесности к Thunar альтернатива. Также по причине крахов и нестабильной работы, менеджер <a href="https://ru.wikipedia.org/wiki/Polkit" target="_blank">PolicyKit</a> от GNOME заменен на <b>lxpolkit</b>, от LXDE, также собранный с GTK 3. Архиватор <b>File-Roller</b> заменен на более удобный <b>Engrampa</b>, из MATE, из которого ранее был взят текстовый редактор <b>Pluma</b>. Также от MATE интегрирован калькулятор. Так как Sway в большей степени ориентирован на работу с клавиатуры, добавлен Vim-подобный веб-браузер <b>Qutebrowser</b> и консольный файловый менеджер <b>Ranger</b>. В качестве дополнительного эмулятора терминала, вместо <b>Tilix</b> задействован <b>Kitty</b>, более подходящий для тайлинговых оконных менеджеров и активно использующий аппаратное ускорение. Последнее явилось причиной почему он не применен по умолчанию вместо <b>Foot</b> - в виртуальных машинах он отказывается работать нормально, поэтому пока оставлен в запасных. <b>Alacritty</b> я не стал применять по причине того, что он не поддерживает лигатуры, и его достаточно тяжело собрать для Ubuntu. Хотя не исключено, что в одном из следующих выпусков Ubuntu Sway он появится, но на данный момент - Foot дефолтный эмулятор терминала. Добавлен <a href="https://github.com/jceb/dex" target="_blank">dex</a> - утилита для автоматического запуска приложений, ярлыки которых размещены в <span style="background-color: #eeeeee;">/etc/xdg/autostart</span>. Таким образом налажена работа уведомлений о наличии обновлений системы, работа утилиты для сбора отчётов об ошибках, работа уведомлений на значках приложений в трее и т.д. Интегрирован <b>Waypipe</b> - прокси, позволяющий пробрасывать удаленно графический интерфейс приложения, та самая "сетевая прозрачность". Добавлен <b>Wayvnc</b>, реализация VNC-сервера для Sway. Кроме всего прочего добавлен <a href="https://github.com/Ubuntu-Sway/ubuntusway-default-settings/blob/main/usr/share/applications/mimeapps.list" target="_blank">mimelist</a> для приложений по умолчанию, чтобы например изображения открывались в Swaymsg, PDF-документы - в Zathura и так далее. А для установки дополнительного софта - добавлен графический менеджер приложений <b>GNOME Packagekit</b>.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyLTsbtSPLBXVSqBmyp3sVYI4UsN1y-sXOvcRbK-OOaoMUixioy7wVW6wy9NZrBhxOFmzXPcMOb9UdaCqgb9_GLN4qW0kXRiFepit3OoNR7IP8ZqRziBlOgmFZyTk3f_m4IylEQQEApffD_pTLOwAhQX2hPHMiJz_BgpeThgwNzwHWzX9dKrWVaRA/s1447/Screenshot_20220622_210728.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="902" data-original-width="1447" height="199" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyLTsbtSPLBXVSqBmyp3sVYI4UsN1y-sXOvcRbK-OOaoMUixioy7wVW6wy9NZrBhxOFmzXPcMOb9UdaCqgb9_GLN4qW0kXRiFepit3OoNR7IP8ZqRziBlOgmFZyTk3f_m4IylEQQEApffD_pTLOwAhQX2hPHMiJz_BgpeThgwNzwHWzX9dKrWVaRA/s320/Screenshot_20220622_210728.png" width="320" /></a></div><p><br /></p><h3 style="text-align: left;">Документация</h3><h3 style="text-align: left;"> </h3><div style="text-align: left;"><a href="https://github.com/Ubuntu-Sway/Ubuntu-Sway-Remix/wiki" target="_blank">Документация</a> ведется на встроенной Wiki Гитхаба. Богатством пока не отличается, но ответы на некоторые вопросы уже есть. Например руководство по запуску на компьютерах с видеокартами <b>Nvidia с использованием проприетарного драйвера</b>. Документация будет пополняться, но помощь конечно же приветствуется.</div><div style="text-align: left;"> </div><div style="text-align: left;"><h3 style="text-align: left;">Kanban-доска</h3><h3 style="text-align: left;"> </h3></div><div style="text-align: left;">Дистрибутив обзавелся собственной <a href="https://github.com/Ubuntu-Sway/Ubuntu-Sway-Remix/wiki" target="_blank">kanban-доской</a> все в том же GitHub, где будут размещаться предложенные фичи, баги, пулл-реквесты и тд, и сортироваться по степени значимости. Таким образом можно будет следить за развитием проекта.</div><div style="text-align: left;"><br /></div><h3 style="text-align: left;">Дальнейшие планы</h3><p>В целом, дистрибутив более чем стабилен. Почти все запланированные и предложенные фичи реализованы, но пределов совершенству конечно же нет. Однако если продолжать искать что ещё можно добавить или изменить, то дистрибутив никогда не выйдет :) поэтому сейчас все в стадии активного тестирования с тем, что есть. К концу июня выйдет вторая бета, и если все будет хорошо - в десятых числах июля полноценный релиз. Далее работа сместится в сторону Ubuntu Sway 22.10, и туда уже можно будет включить то, что не попало в 22.04. Поинт-релизы Ubuntu Sway продолжат выходить как положено (22.04.1, 22.04.2 и так далее). На этом у меня все, до встречи!</p><p><br /></p><p>Ссылки:</p><p>Проект на GitHub: <a href="https://github.com/Ubuntu-Sway">https://github.com/Ubuntu-Sway</a></p><p>Проект на Launchpad: <a href="https://launchpad.net/~ubuntusway-dev">https://launchpad.net/~ubuntusway-dev</a></p><p>Обсуждение в Matrix: <a href="https://matrix.to/#/#ubuntusway:matrix.org">https://matrix.to/#/#ubuntusway:matrix.org</a><br /></p>Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com0tag:blogger.com,1999:blog-9898793114661249.post-83542680047492714542021-07-06T21:49:00.001+04:002021-07-06T21:49:38.174+04:00Создание мультизагрузочной флешки с помощью Ventoy<div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-uux6lffoqic/YOSXcbMzIFI/AAAAAAAAB64/Kum1wrv485YBQSxlaPD2AiiBPGxoPsLFACNcBGAsYHQ/s512/drive%252Bflash%252Bmemory%252Busb%252Bstick%252Bicon-1320167912744218971.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="512" data-original-width="512" height="106" src="https://1.bp.blogspot.com/-uux6lffoqic/YOSXcbMzIFI/AAAAAAAAB64/Kum1wrv485YBQSxlaPD2AiiBPGxoPsLFACNcBGAsYHQ/w110-h106/drive%252Bflash%252Bmemory%252Busb%252Bstick%252Bicon-1320167912744218971.png" width="110" /></a></div><br />Приветствую. До недавнего времени единственным более менее полноценным инструментом для создания загрузочной флешки с несколькими ОС под Linux я считал <a href="http://liveusb.info/dotclear/" target="_blank">Multisystem</a>, довольно старую и популярную утилиту. И несмотря на в принципе удовлетворительную её работу, у неё имеется целый ряд недостатков. К примеру она требует ручного монтирования флешки в определённый каталог, не понимает некоторые образы, да и порой просто глючит. Но недавно я чисто случайно наткнулся на куда более качественный её аналог - <b>Ventoy</b>. К тому же ещё и кроссплатформенный.<span><a name='more'></a></span><div><br /></div><div>В отличии от Multisystem, который является набором shell-скриптов и откровенно кривенькой графической оболочкой для них, Ventoy написан на языке C, и его архитектура более продумана. Вот его ключевые особенности:</div><div><br /></div><div><ul><li>Полностью <a href="https://github.com/ventoy/Ventoy" target="_blank">открытый исходный код</a><br /></li><li>Простой в использовании<br /></li><li>Очень быстрый, скорость ограничена лишь физическими ограничениями на копирование данных<br /></li><li>Загрузка прямо с ISO-образа, без необходимости в его распаковке.<br /></li><li>Одновременная поддержка UEFI и Legacy-загрузки<br /></li><li>Поддержка UEFI Secure Boot<br /></li><li>Поддержка режима постоянного хранилища (для сохранения изменений сделанных в Live-образе ОС)<br /></li><li>Поддержка загрузочных файлов WIM как в UEFI, так и в Legacy (можно ставить например Windows 10 на разные машины без необходимости в особой записи образа)<br /></li><li>Автоматическая установка<br /></li><li>Поддержка ISO-образов размером более 4-х гигабайт</li></ul><div>и многое другое. За подробностями прошу на <a href="https://www.ventoy.net/en/index.html" target="_blank">официальный сайт</a>. Суть работы Ventoy в том, что она создаёт на флешке 2 раздела - первый, отформатированный в exFAT, используется для хранения образов операционных систем, которые могут находиться как в корне раздела, так и в подкаталогах (Ventoy автоматически будет проверять все каталоги на предмет наличия ISO-образов, важно чтобы в названии не было пробелов). Второй скрытый, для хранения файлов самого Ventoy. Тем самым можно легко обновлять программу после выхода новой версии без необходимости в полном форматировании флешки и повторного копирования нужных образов. Ventoy доступен для Linux и Windows, имеет простой графический установщик, правда в версии для Linux - работающий через браузер.</div><div><br /></div><div>Сперва конечно же понадобится сама флешка. Чем больше её объём - тем больше образов можно будет уместить. Под свои файлы Ventoy занимает незначительное количество места, поэтом большая часть флешки будет доступна для хранения. Вставляем флешку, открываем терминал и выясняем как она определилась в системе:</div><div> </div><div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-v1vrFDVebzo/YOSQ7u7MKkI/AAAAAAAAB6E/aqBXvOm6rgQWw-g9VsdLvJXrfSpQI6mMACNcBGAsYHQ/s1920/Screenshot_20210706_212006.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1080" data-original-width="1920" height="225" src="https://1.bp.blogspot.com/-v1vrFDVebzo/YOSQ7u7MKkI/AAAAAAAAB6E/aqBXvOm6rgQWw-g9VsdLvJXrfSpQI6mMACNcBGAsYHQ/w400-h225/Screenshot_20210706_212006.png" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">lsblk покажет список всех дисковых накопителей в системе.<br />В моём случае моя флешка на 32 гигабайта - это /dev/sdg<br /></td></tr></tbody></table><br /> </div><div><br /></div><div><a href="https://www.ventoy.net/en/download.html" target="_blank">Скачиваем</a> архив с программой и распаковываем в домашний каталог. Переходим в каталог с распакованной программой и открываем в нём терминал в меню правой кнопки мыши. В терминале выполняем команду:<br /><br /><b>sudo sh ./VentoyWeb.sh</b><br /></div><div><br /></div><div>Открываем браузер и переходим по адресу, указанному в терминале ( <b>http://127.0.0.1:24680</b>). Процедура установки аналогична таковой в Windows: в выпадающем списке выберите ваш USB накопитель, в меню Language вы можете указать русский язык, а в меню Options указать дополнительные параметры, например разметить флешку в GPT, вместо MBR, что требуется для загрузки на системах с UEFI. Либо включить поддержку Secure Boot. Осталось лишь нажать кнопку "Установить" и подождать несколько секунд.</div><div></div><div></div><div></div><div></div><div><br /></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-XU6riSiCraE/YOSWNCHSX1I/AAAAAAAAB6o/-RZR1_znLa8EY-WMSU_V7hmvxQOs4nMLgCNcBGAsYHQ/s613/Screenshot_20210706_213318.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="419" data-original-width="613" src="https://1.bp.blogspot.com/-XU6riSiCraE/YOSWNCHSX1I/AAAAAAAAB6o/-RZR1_znLa8EY-WMSU_V7hmvxQOs4nMLgCNcBGAsYHQ/s320/Screenshot_20210706_213318.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-h085Jj8Bf54/YOSWNE-25AI/AAAAAAAAB6k/jnx0YkA1BLM84ngUwQpAHQCU1BQKwRHiACNcBGAsYHQ/s584/Screenshot_20210706_213327.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="397" data-original-width="584" src="https://1.bp.blogspot.com/-h085Jj8Bf54/YOSWNE-25AI/AAAAAAAAB6k/jnx0YkA1BLM84ngUwQpAHQCU1BQKwRHiACNcBGAsYHQ/s320/Screenshot_20210706_213327.png" width="320" /></a></div><br />Теперь можно копировать образы нужных ОС на раздел Ventoy. Дальнейшая настройка не требуется, всё будет автоматически производиться при загрузке с флешки.</div><div> </div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://camo.githubusercontent.com/0280fc6415276f7940c16341aa4c484a3a7a4ba85bb0e9f71e877a01707198c6/68747470733a2f2f7777772e76656e746f792e6e65742f7374617469632f696d672f73637265656e2f73637265656e5f756566692e706e67" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="586" data-original-width="794" height="236" src="https://camo.githubusercontent.com/0280fc6415276f7940c16341aa4c484a3a7a4ba85bb0e9f71e877a01707198c6/68747470733a2f2f7777772e76656e746f792e6e65742f7374617469632f696d672f73637265656e2f73637265656e5f756566692e706e67" width="320" /></a></div> <br /></div><div>Есть альтернативный вариант установки, целиком через терминал. Для этого воспользуйтесь командой:<br /><br /><b>sudo sh ./Ventoy2Disk.sh -i /dev/sdX</b> где <b>sdX</b> - ваш накопитель. В моём случае команда будет выглядеть так:<br /><br /><b>sudo sh ./Ventoy2Disk.sh -i /dev/sdg</b><br /></div></div><br />На этом установка закончена. До встречи!<br />Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com0tag:blogger.com,1999:blog-9898793114661249.post-4855387342584092732021-06-15T20:36:00.002+04:002021-06-16T10:14:18.585+04:00Anbox - простой и эффективный эмулятор Android | Установка и настройка<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-ZkDFsDyJpxc/VauKVO43nwI/AAAAAAAAAR4/flMCizDYfos8-wZvKeVp-C3Ro_8kOgqwACPcBGAYYCw/s64/android_platform.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="64" data-original-width="64" src="https://1.bp.blogspot.com/-ZkDFsDyJpxc/VauKVO43nwI/AAAAAAAAAR4/flMCizDYfos8-wZvKeVp-C3Ro_8kOgqwACPcBGAYYCw/s0/android_platform.png" /></a></div><br />Приветствую. Тема запуска приложений с Android на других операционных системах или устройствах, пожалуй, будет актуальна всегда. Даже Microsoft обещает уже в этом году добавить возможность запуска Андроидового софта в Windows 10. Ну а я в свою очередь расскажу об одном из способов запуска оного в десктопных дистрибутивах Linux - с помощью проекта <b>Anbox</b>.<span><a name='more'></a></span><p></p><p>Что такое Anbox? Anbox (Android in a Box) представляет из себя урезанную версию Android, запускаемую в изолированном контейнере LXC (Linux Containers), связанную с хост-системой посредством двух драйверов, добавленных в ванильное ядро Linux - <b>binderfs</b> и <b>ashmem</b>. Первый является реализацией механизма межпроцессного взаимодействия, применяемого в Android для обеспечения связи между приложениями и системными процессами (аналог в десктопном Linux - D-Bus). Второй является реализацией механизма разделяемой памяти, с помощью которой процессы внутри системы могут использовать общие ресурсы. Это что-то вроде облачного хранилища, в котором несколько пользователей хранят свои файлы и могут пользоваться файлами других людей. Работа Anbox реализована с помощью двух программ - менеджера контейнеров, который берёт на себя всю низкоуровневую работу по запуску контейнера с Android и поддержания его стабильной работы, и менеджера сеансов, который обеспечивает взаимодействие Android с хост окружением вашего дистрибутива, интеграцию окон приложений с вашим оконным менеджером, работу сети и так далее. Схематически это выглядит так:<br /><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-V0AlR7kvkgk/YMjQqWBnh5I/AAAAAAAAB5M/cl5CbIUH23wc6NmZ-WxBvoJQjyC4UmtKwCNcBGAsYHQ/architecture.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="592" data-original-width="925" height="205" src="https://lh3.googleusercontent.com/-V0AlR7kvkgk/YMjQqWBnh5I/AAAAAAAAB5M/cl5CbIUH23wc6NmZ-WxBvoJQjyC4UmtKwCNcBGAsYHQ/architecture.png" width="320" /></a></div>Таким образом Anbox технически не является эмулятором Android, и даже виртуальной машиной, поскольку запущенная внутри него версия Android использует ресурсы вашего компьютера напрямую, ограничиваясь лишь рамками контейнера LXC. Сейчас это распространённое решение, и тот же <b>BlueStacks</b> также использует в себе урезанный вариант Android, хотя и работа оного реализована иначе. Потому эмулятором я его назвал лишь из практических целей :)<br /><p></p><p>Несмотря на то, что автор Anbox ушёл делать его <a href="https://anbox-cloud.io/" target="_blank">проприетарную версию</a> для Ubuntu Cloud, сообщество продолжает поддержку и развитие оригинального Anbox. Исходный код доступен <a href="https://github.com/anbox/anbox" target="_blank">здесь</a>.<br /></p><h3 style="text-align: left;">Установка<br /></h3><p>Установку покажу на примере Debian/Ubuntu и производных. Установить Anbox можно двумя путями: используя штатный репозиторий дистрибутива, или с помощью Snap.<b></b> <br /></p><p>Первый способ ничем не отличается от обычной установки программ с использованием менеджера приложений или терминала. В случае терминала достаточно выполнить команду:</p><p><b>sudo apt install anbox</b></p><p>Второй способ более универсален и является официальным. Для его
установки вам потребуется установить пакетный менеджер Snap (если вы не
пользуетесь Ubuntu) и затем установить Anbox:<b><br /></b></p><p><b>sudo apt install snapd</b></p><p><b>snap install --devmode --edge anbox</b> <br /></p><p>Режим <i>--devmode</i>
используется по причине того, что Anbox всё ещё в стадии активной
разработки, и пока не поддерживает все возможности по изоляции
приложений, предоставляемые Snap. Как побочный эффект - не будет
работать автоматическое обновление, поэтому для обновления Anbox,
установленного через Snap, потребуется использовать команду:</p><b>snap refresh --edge --devmode anbox</b><p>Но это половина дела. Далее нам необходимо скачать образ операционной системы Android, который будет использоваться для запуска приложений этой ОС. Последняя на данный момент версия образа - 7.1. Его нужно разместить в каталоге <i>/var/lib/anbox</i> под именем <b>android.img</b>:</p><p><b>wget https://build.anbox.io/android-images/2018/07/19/android_amd64.img</b></p><p><b>sudo mv android_amd64.img /var/lib/anbox/android.img</b><br /></p><p>Теперь нужно немного подправить один из сервисов systemd, чтобы корректно работал менеджер приложений Anbox:</p><p><span style="color: red;">Далее для редактирования файлов я буду использовать консольный текстовый редактор nano. Сохранение файла в неё осуществляется комбинацией Ctrl+O, Enter, а выход из редактора - Ctrl+X. Вы можете использовать любой на своё усмотрение. </span><br /></p><p><b>sudo nano /usr/lib/systemd/user/anbox-session-manager.service</b></p><p>Перед строкой <b>"ExecStart"</b> поместите строку <b>Environment="DISPLAY=:0"</b>, чтобы выглядело так:</p><p><span style="background-color: #fcff01;">[Unit]<br />Description=Anbox Session Manager<br />Documentation=man:anbox(1)<br /><br />[Service]<br /><b>Environment="DISPLAY=:0"</b><br />ExecStart=/usr/bin/anbox session-manager<br /><br />[Install]<br />WantedBy=default.target</span><br /></p><p>Запускаем и активируем необходимые сервисы:</p><p><b>systemctl start anbox-container-manager.service</b></p><p><b>systemctl --user enable anbox-session-manager.service</b></p><p><b>systemctl --user start anbox-session-manager.service</b><br /></p><p>Теперь желательно перезагрузиться. Проверяем статус сервисов Anbox:</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-nRaaxvlvpLg/YMibNgNjAtI/AAAAAAAAB4o/uYtYOxyJ5do_IgiF5lZ6-iwutPZUK1BrACNcBGAsYHQ/Screenshot_20210615_162104.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1080" data-original-width="1920" height="180" src="https://lh3.googleusercontent.com/-nRaaxvlvpLg/YMibNgNjAtI/AAAAAAAAB4o/uYtYOxyJ5do_IgiF5lZ6-iwutPZUK1BrACNcBGAsYHQ/Screenshot_20210615_162104.png" width="320" /></a></div><br />В меню приложений находим Anbox Launcher и запускаем:<p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-nDfGZfpxXvM/YMibdFwJNqI/AAAAAAAAB4w/3c22lWiPasAjsfxreBW1AZGj41ddWXRcgCNcBGAsYHQ/Screenshot_20210615_162207.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1080" data-original-width="1920" height="180" src="https://lh3.googleusercontent.com/-nDfGZfpxXvM/YMibdFwJNqI/AAAAAAAAB4w/3c22lWiPasAjsfxreBW1AZGj41ddWXRcgCNcBGAsYHQ/Screenshot_20210615_162207.png" width="320" /></a></div><br /><br /><p></p><h3 style="text-align: left;">Установка Google Play и поддержки приложений ARM</h3><p>В Anbox возможно устанавливать приложения двумя способами: посредством <b>ADB</b>, устанавливая скачанный apk-файл, либо традиционно через Play Market. Также возможно активировать поддержку запуска приложений для архитектуры ARM, использую библиотеку <b>libhoudini</b>, применяемую в Android x86. Упростить всё это поможет <a href="https://github.com/geeks-r-us/anbox-playstore-installer/blob/master/install-playstore.sh" target="_blank">вот этот скрипт</a>, однако для его корректной работы нужно провести одну манипуляцию. А именно создать каталог для размещения дополнительного конфига systemd, который переопределит параметры запуска Anbox:</p><p><b>sudo mkdir -p /etc/systemd/system/anbox-container-manager.service.d</b></p><p><b>sudo touch /etc/systemd/system/anbox-container-manager.service.d/override.conf</b><br /></p><p><b>sudo apt install wget curl lzip tar unzip squashfs-tools</b></p><p><b>wget https://raw.githubusercontent.com/geeks-r-us/anbox-playstore-installer/master/install-playstore.sh</b></p><p><b>chmod +x install-playstore.sh </b><br /></p><p>Теперь запускаем скрипт от имени администратора и ждём окончания установки:</p><p><b>sudo ./install-playstore.sh</b><br /></p><p>После этого открываем Anbox Launcher, переходим в настройки (Settings -> Apps -> Google Play Services -> Permissions) и даём разрешения для Google Play Services:</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-hPsTamKuH20/YMiavHCXYOI/AAAAAAAAB4g/2xxKPgKcxzQh0HiKAmpCEZGWXr8kxtrJQCNcBGAsYHQ/Screenshot_20210615_161900.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1080" data-original-width="1920" height="180" src="https://lh3.googleusercontent.com/-hPsTamKuH20/YMiavHCXYOI/AAAAAAAAB4g/2xxKPgKcxzQh0HiKAmpCEZGWXr8kxtrJQCNcBGAsYHQ/Screenshot_20210615_161900.png" width="320" /></a></div><br /><br /><p></p><p>Далее запускаем Play Market, входим под своей учётной записью и пробуем установить требуемые программы:<br /><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-9dYGrbuIggQ/YMjN5F46aYI/AAAAAAAAB44/prdGTGbGdmwFv2DX5uM62XJNmdG10QMXgCNcBGAsYHQ/Screenshot_20210615_195218.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1080" data-original-width="1920" height="180" src="https://lh3.googleusercontent.com/-9dYGrbuIggQ/YMjN5F46aYI/AAAAAAAAB44/prdGTGbGdmwFv2DX5uM62XJNmdG10QMXgCNcBGAsYHQ/Screenshot_20210615_195218.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-l8W-NWCm-Ao/YMjN7rcS-dI/AAAAAAAAB48/SMOvkE9TSVcZOn_tVLUBrWLvZ0E8YFOYACNcBGAsYHQ/Screenshot_20210615_195457.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1080" data-original-width="1920" height="180" src="https://lh3.googleusercontent.com/-l8W-NWCm-Ao/YMjN7rcS-dI/AAAAAAAAB48/SMOvkE9TSVcZOn_tVLUBrWLvZ0E8YFOYACNcBGAsYHQ/Screenshot_20210615_195457.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-bdeO7FHkn4k/YMjOFhR9sbI/AAAAAAAAB5A/5l6NiehgHN87BFm_oXdtYQioL4SJihgzgCNcBGAsYHQ/Screenshot_20210615_195645.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1080" data-original-width="1920" height="180" src="https://lh3.googleusercontent.com/-bdeO7FHkn4k/YMjOFhR9sbI/AAAAAAAAB5A/5l6NiehgHN87BFm_oXdtYQioL4SJihgzgCNcBGAsYHQ/Screenshot_20210615_195645.png" width="320" /></a></div><br />Помните: многие программы определяют Anbox в лучшем случае как кастомный ROM, поэтому стабильная работа не гарантируется. В комментариях напишите, какой софт установили вы и насколько хорошо он работал. До встречи!<br /><br /><p></p>Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com0tag:blogger.com,1999:blog-9898793114661249.post-53014989497437631412020-09-28T20:43:00.001+04:002020-09-28T20:43:26.693+04:00Установка свежих графических драйверов и ядра в Debian 10 (AHS)<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-_0Mo0HzRndE/Vp9JilyRGAI/AAAAAAAAA4I/AovU7wMYGpU2HFbmrOY6gv3jN0ZWX4qUgCPcBGAYYCw/s85/glxosd1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="85" data-original-width="85" height="85" src="https://1.bp.blogspot.com/-_0Mo0HzRndE/Vp9JilyRGAI/AAAAAAAAA4I/AovU7wMYGpU2HFbmrOY6gv3jN0ZWX4qUgCPcBGAYYCw/w85-h85/glxosd1.png" width="85" /></a></div><br />Приветствую. Как-то однажды я предпринимал попытку создания репозитория со свежим графическим стеком для стабильной версии Debian. Однако в одиночку такое нереально потянуть, тем более что требуется достаточное количество оборудования, чтобы всё это тестировать. К счастью не одного меня заботит наличие свежих графических драйверов в Debian, а уповать на репозиторий Backports порой не приходится - свежие ядра там есть, да и драйвер Nvidia нет да нет, но обновят. А вот Mesa, набор открытых видеодрайверов, ждать порой приходится крайне долго. На помощь приходит - <a href="http://mxrepo.com/mx/repo/pool/ahs/" target="_blank">AHS</a> - Advanced Hardware Support, репозиторий, поддерживаемый разработчиками MX Linux. А так как последняя версия MX использует в основе Debian 10 - никаких конфликтов и поломок зависимостей возникнуть не должно. Однако всё равно использовать этот репозиторий можно исключительно на свой страх и риск. Сейчас расскажу как его подключить.<span></span><p></p><a name='more'></a><p>В первую очередь обязательно сделайте резервную копию системы, поскольку в случае возникновения ошибок - откатывать десятки пакетов то ещё удовольствие. Далее откройте терминал и выполните следующую команду:</p><p><span style="background-color: #9fc5e8;">echo "deb http://mxrepo.com/mx/repo buster ahs" | sudo tee /etc/apt/sources.list.d/ahs.list</span><br /></p><p>Она добавит репозиторий AHS в список источников приложений. Теперь необходимо установить ключ репозитория, поскольку иначе система будет считать его недоверенным и не даст ничего оттуда установить. Название ключа будет отображено в строке с ошибкой, после обновления источников ПО. Выполняем следующие команды:</p><p><span style="background-color: #9fc5e8;">wget http://mxrepo.com/mx/repo/pool/main/m/mx-archive-keyring/mx-archive-keyring_2018.2mx17_all.deb<br /><br />sudo dpkg -i mx-archive-keyring_2018.2mx17_all.deb</span></p><p>Теперь можно снова обновить список пакетов и приступить к установке обновлений.</p><p><span style="background-color: #9fc5e8;">sudo apt update<br />sudo apt full-upgrade</span><br /></p><p>В репозитории AHS находится не только свежая Mesa, но и ядро Linux, DDX-драйверы AMDGPU, i965 и Nouveau, FFmpeg, DXVK и много чего ещё. И даже проприетарные драйверы Nvidia. Будьте внимательны, чтобы при обновлении не удалилось ничего важного. На этом всё. До встречи.<br /></p>Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com1tag:blogger.com,1999:blog-9898793114661249.post-13388614960356479642019-09-04T11:39:00.000+04:002019-09-04T11:39:36.930+04:00PipeWire - что это и зачем?<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-vbZTsns2g1M/XW9pqi7QHuI/AAAAAAAABqc/qCjMHNI_nJMqJrIZIS8gL33qDdaFVKZmACLcBGAs/s1600/1200px-Pipewire_logo.svg.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="97" data-original-width="120" src="https://1.bp.blogspot.com/-vbZTsns2g1M/XW9pqi7QHuI/AAAAAAAABqc/qCjMHNI_nJMqJrIZIS8gL33qDdaFVKZmACLcBGAs/s1600/1200px-Pipewire_logo.svg.png" /></a></div>
Приветствую. Сегодня хочу немного поговорить о такой штуке, как <a href="https://pipewire.org/" target="_blank"><b>PipeWire</b></a>. Проект ещё молодой и активно развивающийся, потому информации в сети не так много. Как вы наверняка знаете, в Linux, для управления звуковыми потоками приложений, применяется звуковой сервер <b>PulseAudio</b>, написанный во второй половине нулевых печально знаменитым <b>Леннартом Поттерингом</b>. Дело в то, что сами по себе звуковые подсистемы Linux, такие как ALSA и почившая OSS, любили монопольно захватывать звуковую карту. Слушаете вы к примеру музыку через Amarok, и захотели включить ролик на ютубе. А там нет звука, потому что в этот момент звуковая карта занята плеером. Позднее конечно эту проблему решили частично, но всё же это было крайне неудобно. Нельзя было например играть в игру и слушать музыку одновременно. Для решения этой проблемы применялись звуковые сервера – для Гнома это был <a href="https://ru.wikipedia.org/wiki/Enlightened_Sound_Daemon" target="_blank"><b>ESD</b></a>, для KDE – <a href="https://ru.wikipedia.org/wiki/ARts" target="_blank"><b>aRTS</b></a>. PulseAudio же стал стандартом, хотя первое время от него было больше вреда, чем пользы (сильная загрузка процессора, эпичные искажения звука). Плюс он позволяет гонять звук по сети, пользоваться Bluetooth-гарнитурами безо всякого пердолинга и много чего ещё. Но – это лишь звуковой сервер. И с видео он работать не умеет.<br />
<a name='more'></a><br />
<br /><br />А для чего нужно управлять видеопотоками? Ну, допустим вы пользутесь одновременно скайпом и каким-нибудь другим приложением для видеоконференций, или же пишете скринкаст, и вам нужно, чтобы ваше лицо передавалось по веб-камере на оба этих приложения. Вопрос – как поделить между ними вашу вебку? Ответ – никак, потому что она также будет захватываться монопольно каким-нибудь одним приложением. Другой пример – как получить доступ к содержимому экрана из изолированного приложения, запущенного в контейнере? Ответ будет прежним. И хотя на первый взгляд проблема не кажется такой уж острой – она реально серьёзна. Ещё и по причине того, что на рабочие столы активно внедряется Wayland, а там, как известно, нет определённого механизма для захвата содержимого экрана или передачи его по сети. Именно с целью решить все эти проблемы, а также заодно проблемы PulseAudio, был создан PipeWire.<br /><br />Изначально данный проект так и назывался – PulseAudio for Video, позднее его переименовали в Pinos, в честь итальянского города, а затем уже в PipeWire, более простое и отражающее суть этого инструмента название. Разработка ведётся одним из ключевых разработчиков фреймворка Gstreamer Вимом Таймансом, также являющимся одним из разработчиков GNOME. Суть PipeWire – это многопоточная система на основе графов, или нодов, позволяющая рулить видеопотоками отдельных приложений так как душе угодно. В частности – раздать вебкамеру всем желающим. Помимо этого PipeWire обеспечивает безопасный доступ к содержимому экрана из приложений Flatpak и Snap, а также является общепринятым решением для захвата экрана и удалённого доступа к рабочему столу в окружениях Wayland. Но не видеопотоками едиными. В будущем PipeWire, по словам разработчиков, сможет прозрачно заменить не только PulseAudio, но и JACK – звуковой сервер, применяющийся для работы цифровых звуковых студий и музыкальных инструментов, то есть обеспечивая минимальные задержки захвата и вывода звука. При этом будет сохранена совместимость со всеми приложениями, использующими Gstreamer, а это большинство современных видео и аудиопроигрывателей. Звучит здорово, не правда ли? Радует тот факт, что архитектура PipeWire гораздо более продумана, нежели PulseAudio, и он уже работает. К примеру он включён по умолчанию в последних Федорах, а также используется для работы удалённого рабочего стола в GNOME на Wayland. Вим в настоящее время занят доработкой именно звуковой части PipeWire, и скорее всего новый релиз войдёт в состав Fedora 31. PipeWire можно рассматривать как очередной шаг в сторону стандартизации в Linux, и среди дистрибутивов Linux в частности. Поддержка PipeWire добавлена в свежие выпуски Google Chrome, Chromium и Firefox, для обеспечения работы расшаривания экрана в Wayland, что решает проблемы в работе того же Скайпа, в веб-версии. <br /><br />Своей видеофункциональностью, PipeWire напоминает <a href="http://syphon.v002.info/" target="_blank">Syphon</a> – OpenGL-плагин для оконного менеджера Quartz из macOS, который позволяет делить видеопоток между несколькими приложениями или устройствами. Данный плагин очень востребован в игровых движках и различном профессиональном ПО для создания контента, а значит и PipeWire наверняка сможет найти в них своё место. По звуковой части, PipeWire будет прекрасной заменой PulseAudio, так как разрабатывается с целью обеспечить минимальные задержки при выводе звука, и избавить от необходимости в дополнительном ПО, вроде JACK. Почти все эти фичи сейчас обкатываются в <a href="https://github.com/PipeWire/pipewire/tree/work" target="_blank">отдельной ветке на GiHub</a>. На этом у меня пока всё. Я продолжу следить за проектом и делать периодически заметки о нём.</div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com3tag:blogger.com,1999:blog-9898793114661249.post-70374346928467988792019-08-28T13:41:00.000+04:002019-08-28T13:41:33.524+04:00Оптимизация Linux для дома (2019 edition)<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/--Xzl9wsXytA/VnFHqQF6v6I/AAAAAAAAAws/z8u17fkuFd8CaQGW6j3nj0TMhKn0GcWZQCPcBGAYYCw/s1600/icon-lg-speed.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="78" data-original-width="78" src="https://1.bp.blogspot.com/--Xzl9wsXytA/VnFHqQF6v6I/AAAAAAAAAws/z8u17fkuFd8CaQGW6j3nj0TMhKn0GcWZQCPcBGAYYCw/s1600/icon-lg-speed.png" /></a></div>
Приветствую. Несколько лет назад я написал <a href="https://linuxoidblog.blogspot.com/2015/12/blog-post_17.html" target="_blank">большую статью</a> об оптимизации большинства Linux-дистрибутивов, а также графических окружений, для повседневных задач. Ведь как ни крути - железо у всех разное, а сделать единую систему, которая будет идеально работать на миллионах аппаратных конфигураций - невозможно. Однако с тех пор дистрибутивы Linux, и все их компоненты, шагнули вперёд настолько далеко, что большая часть той стати потеряла актуальность. Поэтому я хочу выделить из неё то, что ещё можно применить для оптимизации, а также дать пару советов. Поехали.<br />
<a name='more'></a><br />
<h3 style="text-align: left;">
Оптимизация дисковых операций.</h3>
<br />
На многих системах (в том числе моей) наблюдаются весьма ощутимые подтормаживания системы при копировании файлов на медленные носители, в частности флешки. Проявляется это как подвисания курсора и заикание работающей фоном музыки. Исправить ситуацию поможет уменьшение дискового кэша до разумной
величины. Также стоит уменьшить кэш файловых систем. Открываем <i>/etc/sysctl.conf</i> и в конец добавляем строки:<br />
<br />
<span style="background-color: yellow;">vm.dirty_bytes = 10485760<br />vm.dirty_background_bytes = 2621440</span><br />
<span style="background-color: yellow;">vm.vfs_cache_pressure = 50</span><br />
<br />
Прошу обратить внимание на последнюю строку: этот параметр отвечает за
кэширование объектов файловой системы в оперативную память. При значении
<b>0</b>, объекты не высвобождаются и так и остаются в оперативной
памяти. Чем больше значение, тем чаще ядро будет проводить "зачистку"
оперативной памяти. Поэтому если у вас оперативной памяти меньше 2
гигов, то оставьте значение <b>50</b>, дабы сократить число дисковых операций в разделе подкачки. Это также полезно в случае если у вас SSD. Но если у вас <b>больше 2 гигов оперативки</b>, и обычный жёсткий диск, то выставьте значение этого параметра на <b>1000</b>.
Это позволит более агрессивно кэшировать дисковые операции, тем самым
повысив быстродействие при достаточном количестве оперативной памяти. По
умолчанию значение этого параметра равно <b>100</b>.<br />
<br />
<h4 style="text-align: left;">
Tmpfs.</h4>
<br />
<a href="https://ru.wikipedia.org/wiki/Tmpfs"><b>Tmpfs</b></a> - это так называемый <a href="https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B4%D0%B8%D1%81%D0%BA"><b>RAM-диск</b></a>,
то есть виртуальный диск, расположенный в оперативной памяти. В
располагают какие-нибудь кэши или временные файлы, для мгновенного
доступа к ним. В Линуксе (да и в других Unix-подобных ОС), в нём чаще
всего располагают каталог с временными файлами - <b>/tmp</b>. Это
позволяет очень значительно повысить скорость работы, например,
пакетного менеджера или любой другой программы, которая складывает туда
временные файлы. Командой <u>df</u> можно посмотреть какие каталоги куда смонтированы:<br />
<br />
<span style="background-color: yellow;"> Файловая система 1K-блоков Использовано Доступно Использовано% Cмонтировано в<br />udev 10240 0 10240 0% /dev<br />tmpfs 1607944 10240 1597704 1% /run<br />/dev/sdc1 25065036 17858216 5910440 76% /<br />tmpfs 4019852 59996 3959856 2% /dev/shm<br />tmpfs 5120 8 5112 1% /run/lock<br />tmpfs 4019852 0 4019852 0% /sys/fs/cgroup<br />/dev/sda3 828078076 527223576 300854500 64% /media/DISK_D<br />/dev/sdc6 202464704 5138012 187018984 3% /media/LINUX_OTHER_DATA<br />/dev/sdc3 374818504 348099716 7656016 98% /home<br />/dev/sdc5 100666964 33621380 61908888 36% /media/KVM<br />tmpfs 803972 8 803964 1% /run/user/1000</span><br />
<br />
<br />
Как видим, в tmpfs уже по умолчанию смонтированы некоторые каталоги, к
которым часто обращается система или программы. К слову, Tmpfs - не
единственная реализация рамдиска в Linux. Популярной альтернативой ему
является <b>Ramfs</b>. Чем они отличаются:<br />
<br />
<ul style="text-align: left;">
<li>Ramfs никогда не использует подкачку, а заполняет оперативку до предела;</li>
<li>Ramfs, в отличии от Tmpfs, не поддерживает никаких параметров монитрования и всегда монтируется с правами root;</li>
<li>Tmpfs может использовать подкачку, поддерживает параметры монтирования и позволяет жёстко указать размер файловой системы.</li>
</ul>
<br />
Для того чтобы смонтировать /tmp в Tmpfs, делаем так:<br />
<br />
<u>sudo nano /etc/fstab</u><br />
<br />
В конец добавляем строку (обратите внимание, что вместо пробелов используется табуляция. То есть нужно нажимать клавишу Tab):<br />
<br />
<span style="background-color: yellow;">tmpfs /tmp tmpfs defaults,size=2G,mode=1777 0 0</span><br />
<br />
Таки образом мы смонтировали /tmp в tmpfs, указали ему размер в 2 гига,
после чего он начнёт использовать подкачку, а также выставили <a href="https://ru.wikipedia.org/wiki/Chmod">права доступа 1777</a>, чтобы не было проблем в работе некоторых приложений. Сохраните и перезагрузитесь. После перезагрузки, снова введите <u>df</u><br />
<br />
<span style="background-color: yellow;"> Файловая система 1K-блоков Использовано Доступно Использовано% Cмонтировано в<br />udev 10240 0 10240 0% /dev<br />tmpfs 1607944 10240 1597704 1% /run<br />/dev/sdc1 25065036 17858216 5910440 76% /<br />tmpfs 4019852 59996 3959856 2% /dev/shm<br />tmpfs 5120 8 5112 1% /run/lock<br />tmpfs 4019852 0 4019852 0% /sys/fs/cgroup<br /><span style="background-color: red;">tmpfs 2097152 4732 2092420 1% /tmp</span><br />/dev/sda3 828078076 527223576 300854500 64% /media/DISK_D<br />/dev/sdc6 202464704 5138012 187018984 3% /media/LINUX_OTHER_DATA<br />/dev/sdc3 374818504 348099716 7656016 98% /home<br />/dev/sdc5 100666964 33621380 61908888 36% /media/KVM<br />tmpfs 803972 8 803964 1% /run/user/1000</span><br />
<br />
Как видим, /tmp смонтирован в tmpfs и работает. Если вы используете
дистрибутив Gentoo, можете смонтировать туда кэш portage
(/var/tmp/portage).<br />
<br />
<h3 style="text-align: left;">
Улучшение отзывчивости системы.</h3>
<br />
Начиная с ядра Linux 3.16 доступна новая многопоточная подсистема блочных устройств - <b>blk-mq</b>, а с версии 4.19 - включена по умолчанию. Ранее разработчики не включали её по умолчанию по причине отсутствия планировщиков ввода-вывода для классических однопоточных устройств, таких как HDD или SATA SSD. Однако теперь она стабильна, а начиная с ядра Linux 5.0 старая подсистема удалена полностью. Если ранее пользователю были доступны <b>CFQ</b> (по умолчанию в большинстве дистрибитивов), <b>Deadline</b> (по умолчанию в Ubuntu/Mint) и <b>No-Op</b>, то теперь это <b>mq-deadline</b> (порт классического deadline на новую подсистему), долгожданный <b>BFQ</b> и <b>Kyber</b>, разработанный компанией Facebook специально для современных высокоскоростных SSD, а также режим работы без планировщика вообще - none. Что из этого выбрать? По умолчанию теперь используется mq-deadline, а для высокоскоростных NVMe SSD планировщик не используется вообще (<b>none</b>). Однако как показывают тесты, BFQ показывает куда более впечатляющие результаты, нежели mq-deadline, и потому его включили по умолчанию в ChromeOS и Fedora 31. Поэтому я рекомендую также включить его. Для наилучшего результата рекомендую использовать ядро 5.2 и новее, ибо там влили огромное количество оптимизаций для BFQ. На моей системе это привело к гораздо более быстрой загрузке рабочего стола и более быстрому открытию программ когда система чем-то серьёзно загружена (например рендерингом видео). Для этого нужно создать файл с правилами для udev, который будет включать BFQ после загрузки системы. Если у вас Debian или производные - нужно будет сперва подгрузить модуль BFQ и прописать его в автозагрузку:<br />
<br />
<u>sudo modprobe bfq</u><br />
<u>sudo echo "bfq" >> /etc/initramfs-tools/modules</u><br />
<u>sudo update-initramfs -u</u><br />
<u>sudo touch /etc/udev/rules.d/60-scheduler.rules</u><br />
<br />
Откройте последний созданный файл 60-scheduler.rules и добавьте в него строку:<br />
<br />
<span style="background-color: yellow;"><span class="blob-code-inner">ACTION=="add|change", KERNEL=="sd*[!0-9]|sr*", ATTR{queue/scheduler}="bfq"</span></span><br />
<br />
<span class="blob-code-inner">Сохраните и перезагрузитесь. Признак того, что всё получилось:</span><br />
<br />
<span style="background-color: yellow;"><span class="blob-code-inner">sunderland93@Debian-PC:~$ cat /sys/block/*/queue/scheduler</span></span><br />
<span style="background-color: yellow;"><span class="blob-code-inner">mq-deadline [bfq] kyber none</span></span><br />
<span style="background-color: yellow;"><span class="blob-code-inner">mq-deadline [bfq] kyber none</span></span><br />
<span style="background-color: yellow;"><span class="blob-code-inner">mq-deadline [bfq] kyber none</span></span><br />
<span style="background-color: yellow;"><span class="blob-code-inner">mq-deadline [bfq] kyber none</span></span><br />
<span style="background-color: yellow;"><span class="blob-code-inner">mq-deadline [bfq] kyber none</span></span><br />
<span style="background-color: yellow;"><span class="blob-code-inner">mq-deadline [bfq] kyber none</span></span><br />
<span style="background-color: yellow;"><span class="blob-code-inner">mq-deadline [bfq] kyber none</span></span><br />
<span class="blob-code-inner"><span style="background-color: yellow;">mq-deadline [bfq] kyber none</span></span><br />
<span class="blob-code-inner"><br /></span>
<span class="blob-code-inner"><br /></span>
<span class="blob-code-inner">Для того чтобы система не становилась раком при исчерпании всей оперативной памяти, а также для предотвращения подобных ситуаций - установите демон <b>EarlyOOM</b>, который будет автоматически следить за процессами и в критической ситуации убивать наиболее прожорливых:</span><br />
<span class="blob-code-inner"><br /></span>
<u><span class="blob-code-inner">sudo apt install earlyoom</span></u><br />
<span class="blob-code-inner"><br /></span>
<h4 style="text-align: left;">
<span class="blob-code-inner">ZRAM и ZSWAP</span></h4>
<span class="blob-code-inner"><br /></span>
<span class="blob-code-inner">См. <a href="https://linuxoidblog.blogspot.com/2015/12/zram-zswap.html" target="_blank">"Zram и Zswap или как увеличить эффективность оперативной памяти"</a></span><br />
<br />
<h3 style="text-align: left;">
Оптимизация игр.</h3>
<div style="text-align: left;">
Использование утилиты <a href="https://github.com/FeralInteractive/gamemode/" target="_blank"><b>GameMode</b></a> позволит выставить игре более высокий приоритет процессора, а также (в последних версиях) - включать режим максимальной производительности для видеокарт. GameMode существует в репозиториях большинства новых дистрибутивов Linux. После его установки, для запуска игры следует использовать команду:</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<u>gamemoderun "игра"</u></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
для более старых версий:</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
LD_PRELOAD="$LD_PRELOAD:/usr/\$LIB/libgamemodeauto.so.0" "игра"</div>
</div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com4tag:blogger.com,1999:blog-9898793114661249.post-5316380211934535802019-07-26T20:46:00.000+04:002019-07-26T20:46:46.491+04:00Настройка после установки Debian 10 "Buster"<div dir="ltr" style="text-align: left;" trbidi="on">
<h3 style="text-align: left;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-TMvYYiI3c3A/VW_kjNoGLmI/AAAAAAAAAFU/V-UVO3u8neAKzygsjSmeJw1KYV18ApNvwCPcBGAYYCw/s1600/openlogo-nd-100.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="68" data-original-width="56" src="https://1.bp.blogspot.com/-TMvYYiI3c3A/VW_kjNoGLmI/AAAAAAAAAFU/V-UVO3u8neAKzygsjSmeJw1KYV18ApNvwCPcBGAYYCw/s1600/openlogo-nd-100.png" /></a></div>
Настройка репозиториев</h3>
<h3 style="text-align: left;">
</h3>
<div style="text-align: left;">
Откройте файл /etc/apt/sources.list любым текстовым редактором с правами администратора (например nano) и добавьте строки <b>contrib</b> и <b>non-free</b> после каждого адреса. Если вам не нужен исходный код всех программ в репозиториях Debian - поставьте<b> #</b> перед строками <b>deb-src. </b>Для включения поддержки установки 32-х битных версий драйверов и другого ПО:<br />
<br />
<u>sudo dpkg --add-architecture i386</u><br />
<u>sudo apt update</u><b><br /></b></div>
<div style="text-align: left;">
<br />
<a name='more'></a><br /></div>
<h3 style="text-align: left;">
Установка драйверов и кодеков</h3>
<h3 style="text-align: left;">
</h3>
<div style="text-align: left;">
По умолчанию в системе устанавливаются свободные видеодрайверы для карт AMD, Intel и Nvidia. Для AMD возможно потребуется установить микрокод. Для этого у вас должны быть включены компоненты contrib и non-free (см. пред. пункт):<br />
<br />
<u>sudo apt install firmware-amd-graphics firmware-linux-nonfree</u><br />
<br />
<span style="color: red;">Обратите внимание</span>: Nvidia прекратила поддержку видеокарт серий 400 и 500, поэтому вам нужно установить legacy-драйвер! Иначе после перезагрузки вы получите чёрный экран:<br />
<br />
<u>sudo apt install nvidia-legacy-390xx-driver</u><br />
<br />
Для установки драйверов сетевых карт и Wi-Fi модулей установите следующие пакеты:<br />
<br />
<u>sudo apt install firmware-realtek firmware-ralink firmware-atheros</u><br />
<br />
Мультимедия кодеки установлены по умолчанию. Для дополнительных установите пакет ffmpeg.</div>
<div style="text-align: left;">
<br /></div>
<h3 style="text-align: left;">
Установка и настройка Flatpak и Snap</h3>
<h3 style="text-align: left;">
</h3>
<div style="text-align: left;">
Для установки пакетов Flatpak через центр приложений, необходимо установить сам пакетный менеджер Flatpak и соответствующие плагины:</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Для GNOME Software:<br />
<br />
<u>sudo apt install flatpak gnome-software-plugin-flatpak</u><br />
<u>flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo</u></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Для Plasma Discover:<br />
<br />
<u>sudo apt install flatpak plasma-discover-backend-flatpak</u><br />
<u>flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo </u></div>
<div style="text-align: left;">
<br />
Кроме того подключить репозиторий Flathub можно непосредственно из менеджера приложений (по крайней мере для Discover).<br />
<br /></div>
<div style="text-align: left;">
Для установки пакетов Snap:</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<u>sudo apt install snapd gnome-software-plugin-snap</u><br />
<br />
или<br />
<br />
<u>sudo apt install snapd plasma-discover-backend-snap</u><br />
<br />
<h3 style="text-align: left;">
Интеграция Firefox с рабочим столом KDE</h3>
<br />
Для возможности использования в Firefox родных файловых диалогов KDE, выполните следующее:<br />
<br />
<u>sudo apt install xdg-desktop-portal-kde xdg-desktop-portal</u><br />
<br />
Запустите Firefox командой GTK_USE_PORTAL=1 firefox либо отредактируйте ярлык Firefox в меню приложений, прописав эту команду запуска.<br />
<br /></div>
<h3 style="text-align: left;">
Включение поддержки Wayland для приложений Qt5 и SDL</h3>
<br />
Поддержка запуска приложений на Qt5 включена по умолчанию только в KDE Plasma 5. В GNOME они запускаются через Xwayland. В то же время, для запуска приложений, написанных с помощью SDL (например игр, таких как OpenArena) требуется явно передать параметр запуска. Если вы хотите включить по умолчанию запуск SDL и Qt5 приложений в Wayland, сделайте следующее:<br />
<br />
Откройте файл /etc/profile и в конец добавьте строки:<br />
<br />
<span style="background-color: yellow;">export QT_QPA_PLATFORM=wayland-egl</span><br />
<span style="background-color: yellow;">export SDL_VIDEODRIVER=wayland</span><br />
<br />
Сохраните и перезагрузитесь. Для KDE Plasma 5 первую строку приписывать не нужно. Однако помните, что Qt5 приложения, запущенные в GNOME на Wayland, будут сильно выбиваться из общего оформления, а некоторые (например Kdenlive) будут работать с дикими багами. Имейте ввиду.<br />
<br />
<h3 style="text-align: left;">
Интеграция LibreOffice с рабочим столом KDE Plasma 5</h3>
<h3 style="text-align: left;">
</h3>
<div style="text-align: left;">
Для возможности создания документов Libreoffice из контекстного меню Dolphin, а также отрисовки интерфейса через плагин Qt5, установите пакет libreoffice-kde5.<br />
<br /></div>
<h3 style="text-align: left;">
Предотвращение зависания системы при исчерпании оперативной памяти</h3>
<h3 style="text-align: left;">
</h3>
<div style="text-align: left;">
В репозиторий Debian Buster добавлен демон EarlyOOM, задача которого заключается в предотвращении зависания системы при исчерпании доступной оперативной памяти. В отличии от штатного компонента ядра Linux под названием OOM Killer, EarlyOOM работает в пространстве пользователя, и следит за всеми приложениями в режиме реального времени. Как только какая-нибудь программа начинает пожирать всю доступную память - EarlyOOM стреляет ей в голову. В то время как OOM Killer начинает шевелиться когда система уже встала колом и не реагирует ни на что. А может и вовсе не сработать. Поэтому если вы часто работаете с ресурсоёмкими приложениями - обязательно установите EarlyOOM. Плюс ко всему он защитит систему от утечек памяти в различных программах. Установка проста:</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<u>sudo apt install earlyoom</u><br />
<br />
Когда свободной памяти останется 10%, Earlyoom будет посылать сигнал SIGTERM наиболее жручим процессам, завершая их. Когда памяти останется 5% - демон будет посылать сигнал SIGKILL, принудительно завершая процесс.<br />
<br />
<h3 style="text-align: left;">
Включение операции TRIM по расписанию (для накопителей SSD)</h3>
<br />
<u>sudo systemctl enable fstrim.timer</u><br />
<br />
Дальнейшая настройка сугубо индивидуальна. Debian с каждым релизом становится всё более и более, так скажем, преднастроенным. Поэтому в основном всё сводится к небольшой доводке под себя и паре оптимизаций. </div>
</div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com2tag:blogger.com,1999:blog-9898793114661249.post-52920176373176835942019-04-17T19:43:00.000+04:002019-04-17T19:43:55.948+04:00Установка Linux на GPT + BIOS<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-PhkozjWu490/Vo9LgRj-rHI/AAAAAAAAA1g/6p4goCs4GKwLupC3xMsHSsa7I6jUYPrLQCPcBGAYYCw/s1600/storage_5.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="78" data-original-width="78" src="https://3.bp.blogspot.com/-PhkozjWu490/Vo9LgRj-rHI/AAAAAAAAA1g/6p4goCs4GKwLupC3xMsHSsa7I6jUYPrLQCPcBGAYYCw/s1600/storage_5.png" /></a></div>
Приветствую. В отличии от Windows, Linux можно (и нужно) установить на диск с таблицей разделов GPT, если в компьютере применяется классический BIOS, а не UEFI. Фактически, процедура почти не отличается от установки Linux на UEFI + GPT, однако многие даже не догадываются о существовании такой возможности. Преимущества GPT очевидны: нет ограничений на количество разделов (а также их размер), загрузочная запись дублируется на диске, что в случае её повреждения не сделает нечитаемым весь диск. Приступим.<br />
<a name='more'></a><br />
<br />
Для того чтобы установить любой дистрибутив на GPT с BIOS, необходимо создать на диске таблицу разделов GPT, а также небольшой раздел (2 мегабайта) без файловой системы и с типом <b>biosgrub</b>, в котором будет находится загрузочный код. Проще всего это сделать с помощью <b>GParted</b>, входящим в состав многих дистрибутивов Linux. <span style="color: red;">Внимание:</span> <b>данная процедура уничтожит все данные на диске! Делайте на свой страх и риск!</b> Пример проведём на базе Linux Mint. Загружаемся с LiveCD и запускаем Gparted:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-UCKcuYLmlQA/XLdIAQu1JBI/AAAAAAAABoE/o5k22WtKCWUnJQTxz9PVj7HrZWYPR4omgCLcBGAs/s1600/Screenshot_20190417_193023.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="714" data-original-width="1021" height="223" src="https://3.bp.blogspot.com/-UCKcuYLmlQA/XLdIAQu1JBI/AAAAAAAABoE/o5k22WtKCWUnJQTxz9PVj7HrZWYPR4omgCLcBGAs/s320/Screenshot_20190417_193023.png" width="320" /></a></div>
<br />
<br />
Перед нами неразмеченное пространство на диске. Если у вас несколько дисков - выбирайте тот, на который хотите установить систему. Далее наверху выбираем "Устройства - Создать таблицу разделов (Device - Create partition table" и указываем "GPT":<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-FUnQQYA7T-I/XLdIKgSWVjI/AAAAAAAABoM/MLPe76lT_ocszRGzOQGY8YRc5g6qDgFewCLcBGAs/s1600/Screenshot_20190417_193209.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="713" data-original-width="1022" height="223" src="https://2.bp.blogspot.com/-FUnQQYA7T-I/XLdIKgSWVjI/AAAAAAAABoM/MLPe76lT_ocszRGzOQGY8YRc5g6qDgFewCLcBGAs/s320/Screenshot_20190417_193209.png" width="320" /></a></div>
<br />
<br />
Теперь запускаем установщик, доходим до стадии разметки диска. Первым делом создаём раздел, размером 2 мегабайта и типом "Резервная загрузочная область BIOS":<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-XsIRgK6-5VY/XLdIVJjjghI/AAAAAAAABoQ/GGOAyWYmGacRl8Lnnup3RDmiGjmyT5uGwCLcBGAs/s1600/Screenshot_20190417_193400.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="568" data-original-width="910" height="199" src="https://1.bp.blogspot.com/-XsIRgK6-5VY/XLdIVJjjghI/AAAAAAAABoQ/GGOAyWYmGacRl8Lnnup3RDmiGjmyT5uGwCLcBGAs/s320/Screenshot_20190417_193400.png" width="320" /></a></div>
<br />
<br />
Далее уже как обычно - корневой раздел, раздел /home и так далее. Обратите внимание: если у вас установлено несколько дисков, убедитесь что для установки загрузчика GRUB выбран верный диск. После этого продолжайте установку. Вот, собственно, и всё.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-dokGW1NOQFc/XLdIZ5LhXnI/AAAAAAAABoY/s29VcAEhBa4mYPE0_ZW0X0Jr88B02xM-wCLcBGAs/s1600/Screenshot_20190417_193533.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="569" data-original-width="914" height="199" src="https://3.bp.blogspot.com/-dokGW1NOQFc/XLdIZ5LhXnI/AAAAAAAABoY/s29VcAEhBa4mYPE0_ZW0X0Jr88B02xM-wCLcBGAs/s320/Screenshot_20190417_193533.png" width="320" /></a></div>
</div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com0tag:blogger.com,1999:blog-9898793114661249.post-92095152334509003972019-01-29T22:27:00.000+04:002019-01-29T22:28:03.645+04:00RetroArch и Wayland<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-GJisLrKlBGY/XFCKDqqFbjI/AAAAAAAABmo/4y0uJ8pZL-8xO_0FxQfkn5edH64aGsiTgCLcBGAs/s1600/3178f0212ceaf3d604accacf6b7f98bf14afa794.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="128" data-original-width="128" src="https://3.bp.blogspot.com/-GJisLrKlBGY/XFCKDqqFbjI/AAAAAAAABmo/4y0uJ8pZL-8xO_0FxQfkn5edH64aGsiTgCLcBGAs/s1600/3178f0212ceaf3d604accacf6b7f98bf14afa794.png" /></a></div>
Последние 3 месяца я потратил на доработку одной из самых нужных мне программ - <b>RetroArch</b>. Если вкратце - это мультисистемный, мультиплатформенный эмулятор различных игровых консолей. За подробностями прошу на официальный <a href="https://www.retroarch.com/" target="_blank">сайт</a>. Вся суть доработки заключается в улучшении работы RetroArch в окружениях на базе композитного сервера <b>Wayland</b>.<br />
<a name='more'></a><br />
<br />
На самом деле, RetroArch уже давно имеет не только поддержку работы в Wayland, но и может работать в Wayland через <b>Vulkan</b>-видеодрайвер, при чём поддержка Vulkan была в него добавлена в день официального выхода спецификации Vulkan 1.0 и именно в Wayland. Однако, несмотря на то, что сам протокол Wayland уже много лет является стабильным, а его поддержка в графических окружениях и тулкитах с каждым годом улучшается и крепчает, RetroArch нуждался в некоторой доработке/рефакторинге. Главное из них - <b>xdg-shell</b>.<br />
<br />
<h3 style="text-align: left;">
XDG-Shell </h3>
<br />
В базовом протоколе Wayland, описанном в <a href="https://gitlab.freedesktop.org/wayland/wayland/blob/master/protocol/wayland.xml" target="_blank">wayland.xml</a>, есть интерфейсы для создания окна, его перемещения, изменения размера и т.д. Однако по своим возможностям они не дотягивают до возможностей современных рабочих столов. Дело в том, что Wayland создавался как очень простой и гибкий протокол, который можно было бы применять не только на десктопных системах, но и в мобильных, киосках, автомобильных интерфейсах. И там он уже активно применяется (например SailfishOS, Tizen). И зачастую того, что есть в базовом протоколе, вполне достаточно. А в случае необходимости - можно написать дополнительный протокол-расширение, и там реализовать что нужно. Но об этом чуть позже. Если же запихнуть в один протокол всё, ну в смысле <b>ВСЁ</b>, то на выходе мы получим страшного, толстого, огромного и неповоротливого монстра. Что абсолютно противоречит изначальной концепции Wayland. Те самые возможности изменения размеров окна, перемещения и так далее, описаны в интерфейсе <b>wl_shell</b>, находящимся в основном протоколе Wayland. Первоначально на нём и были построены те же GNOME Shell или Plasma 5, когда в них только зарождалась поддержка Wayland. Однако вскоре стало понятно, что <b>wl_shell</b> будет недостаточно для реализации всех востребованных пользователями возможностей рабочего стола. И потому разработчики приступили к созданию расширения, специально предназначенного для десктопов и дескопных графических оболочек - <b>xdg-shell</b>.<br />
<br />
Протокол xdg-shell реализует в себе всё те же возможности изменения размера окна, перемещения, полноэкранного отображения окна, сворачивания/разворачивания и так далее, однако он гораздо более гибок и удобен с точки зрения разработки десктопной оболочки. Я не буду сейчас углубляться в его нутро, в контексте данной статьи это не имеет смысла. Скажу лишь то, что за несколько лет было выпущено несколько версий этого расширения, прежде чем оно окончательно стабилизировалось в конце 2017 года, правда ходовыми были всего два - <a href="https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/xdg-shell/xdg-shell-unstable-v5.xml" target="_blank">xdg_shell_v5</a> и <a href="https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/xdg-shell/xdg-shell-unstable-v6.xml" target="_blank">xdg_shell_v6</a>. Первое было сразу вытеснено вторым, и даже сейчас в той же Plasma 5.14 используется именно шестая, нестабильная версия этого протокола. Что это значит? Нестабильность в данном контексте говорит о том, что в новой версии могут сломать обратную совместимость с предыдущей, и придётся программу дорабатывать. В расширениях, признанных стабильными, гарантируется обратная совместимость, даже если будут добавлены новые функции. Поддержка стабильной версии протокола <a href="https://cgit.freedesktop.org/wayland/wayland-protocols/tree/stable/xdg-shell/xdg-shell.xml" target="_blank">xdg-shell</a> уже реализована в GNOME начиная с 3.28, в Plsama 5.15, Enlightenment E22, Sway 1.0_beta и Mir. Поддержка в Weston (референсном Wayland-композиторе) пока не реализована.<br />
<br />
<b>wl_shell</b> признан устаревшим и не рекомендуется для использования в продакшене. Однако из основного протокола Wayland его выкинуть нельзя, это нарушит обратную совместимость. Теперь непосредственно о том, что сделал я. Изначально я полностью удалил из кода RetroArch поддержку wl_shell, и <a href="https://github.com/libretro/RetroArch/pull/7607" target="_blank">реализовал</a> только стабильную версию xdg-shell (при чём сделать это удалось далеко не сразу, но тут сказалась моя неопытность и как программиста, и как Wayland-разработчика). Однако почесав репу, и решив что есть люди, которые будут пользоваться чем-то, что имеет только поддержку <b>xdg_shell_v6</b>, а то и вовсе её не имеет, я позже <a href="https://github.com/libretro/RetroArch/pull/7699" target="_blank">добавил</a> в качестве запасного варианта поддержку xdg_shell_v6, а также до кучи вернул <b>wl_shell</b>. Здесь я последовал примеру разработчиков SDL2. Далее были некоторые доработки, поломки, фиксы, но в целом основная задача была решена - RetroArch получил поддержку работы в современных Wayland-окружениях.<br />
<br />
<h3 style="text-align: left;">
Блокировка экранной заставки</h3>
<br />
Следующее, что я сделал, это <a href="https://github.com/libretro/RetroArch/pull/7655" target="_blank">добавил</a> в программу поддержку Wayland-расширения <a href="https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml" target="_blank">idle-inhibit-unstable-v1</a>. Данный интерфейс нужен для блокировки скринсивера (экранной заставки) во время работы приложения. Ранее данная функция была реализована через D-bus, но я посчитал это костылём и сделал всё более менее стандартно. Это было самое простое, что я сделал, протокол невероятно прост. Попутно благодаря этой работе я раскрыл один <a href="https://bugs.kde.org/show_bug.cgi?id=401499" target="_blank">баг</a> в KDE Plasma, при котором блокировка экранной заставки не срабатывала корректно. Баг успешно пофикшен.<br />
<br />
<h3 style="text-align: left;">
Декорация окна</h3>
<br />
А вот это моя любимая часть - декорации окон. В Wayland (как впрочем и в X11) нет интерфейсов для отрисовки рамки окна приложения. Исторически этим занимались оконные менеджеры, которые лепят одну стандартную декорацию окон всем приложениям, будь то медиаплеер, браузер или окно эмулятора терминала. Wayland не занимается отрисовкой вообще, эта задача целиком и полностью ложится на графические библиотеки (GTK+, Qt и так далее), композитор оперирует уже готовыми буферами изображений, связывая их в единое целое и выводя на экран. Это же сейчас происходит в классическом Xorg - он не принимает участие в отрисовке <strike>потому должен быть уничтожен</strike>. Однако, рамку окна может рисовать как оконный менеджер (композитор в случае с Wayland), так и само приложение. Это сейчас и происходит в GNOME, Weston и например Google Chrome. Те, кто пользуются Гномом, знают что это.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://aozoeky4dglp5sh0-zippykid.netdna-ssl.com/wp-content/uploads/2013/11/Music.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="377" data-original-width="800" height="150" src="https://aozoeky4dglp5sh0-zippykid.netdna-ssl.com/wp-content/uploads/2013/11/Music.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
<br />
Так как рамку окна приложение рисует себе само, есть возможность кроме стандартных кнопок закрытия, сворачивания и разворачивания, разместить там что угодно. С одной стороны это выглядит современно, функционально, и та же macOS переняла к себе эту фичу. С другой - это невероятный геморрой по обеспечению единого стиля оформления, а также контроля окна (так как оконный менеджер не участвует в отрисовке окна, зависшее приложение невозможно сдвинуть с места). Всё это называется отрисовкой декораций окон на стороне клиента - <b>Client-Side Decorations</b>, или <b>CSD</b>. В противоположность этому, рисовать рамку окна может сам оконный менеджер/композитор - <b>SSD</b> - <b>Server-Side Decorations</b>. Именно этот путь избрали для себя разработчики KDE, и именно это решение поддержало адекватное большинство (например разработчики MPV, SDL2, Qt5, VLC, Sway, wlroots), выпустив стандартное Wayland-расширение <a href="https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml" target="_blank">xdg-decoration-unstable-v1</a>, заменившее собой аналогичное расширение KDE - server-decoration. Это избавляет от ряда проблем, и самое главное - все приложения выглядят единым стилем, а не каждый во что горазд, как в Windows. Однако разработчики GNOME <a href="https://gitlab.gnome.org/GNOME/mutter/issues/217" target="_blank">категорически против</a> этого, и стараются всех склонить к использованию CSD и своего стека технологий. Так что эта война закончится нескоро.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-wIfOtRom3EI/XFCJCZDQBtI/AAAAAAAABmU/5cikq58DZ5onXIULlsApz04BXhk2v6rjwCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2018-11-25%2B21-08-24.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://1.bp.blogspot.com/-wIfOtRom3EI/XFCJCZDQBtI/AAAAAAAABmU/5cikq58DZ5onXIULlsApz04BXhk2v6rjwCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2018-11-25%2B21-08-24.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">RetroArch в GNOME на Wayland. Рамки окна нет и не предвидится.</td></tr>
</tbody></table>
<br />
<br />
RetroArch под Wayland, как нетрудно догадаться, запускался без рамки окна. И здесь, как уже было сказано, два пути: реализовать для RetroArch возможность рисовать рамку окна своими силами, что чрезвычайно сложно, либо - вежливо попросить об этом композитор. Поэтому я <a href="https://github.com/libretro/RetroArch/pull/7717" target="_blank">реализовал</a> поддержку <b>xdg-decoration</b>, и теперь в окружениях, поддерживающих этот протокол (Sway, Plasma 5.15 пока что) RetroArch получает свою заслуженную рамку окна!<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-wJmxlWZ77B4/XFCIsarUjjI/AAAAAAAABmI/mxxr23S6BcgLvY2NAKZFx2mB3OysdsEUQCLcBGAs/s1600/Screenshot_20190103_210129.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://1.bp.blogspot.com/-wJmxlWZ77B4/XFCIsarUjjI/AAAAAAAABmI/mxxr23S6BcgLvY2NAKZFx2mB3OysdsEUQCLcBGAs/s320/Screenshot_20190103_210129.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">RetroArch запущенный в Plasma Wayland 5.15</td></tr>
</tbody></table>
<br />
<br />
Это основное, что было реализовано, не считая кучи мелких правок и доработок. Но это ещё не всё, мест для улучшения на самом деле ещё хватает. Но о них поговорим в другой раз. Внизу оставлю ссылки на полезные материалы, объясняющие суть Wayland и работы всей современной графики в Linux простым понятным языком.<br />
<br />
<a href="https://habr.com/ru/post/321470/" target="_blank">Что придёт на замену X?</a><br />
<a href="https://habr.com/ru/post/322580/" target="_blank">Wayland на замену X Window System</a></div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com0tag:blogger.com,1999:blog-9898793114661249.post-27803530629451661722018-05-29T07:40:00.000+04:002018-05-29T07:41:27.000+04:00Система видеокомпозитинга Natron теперь в виде Flatpak<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-yjRWLa8HAMA/WZln_ipzk6I/AAAAAAAABbk/0bYab57rY18kZe0HMTCt8cKSOn7g1mCCACPcBGAYYCw/s1600/Natron_icon.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="82" data-original-width="82" src="https://2.bp.blogspot.com/-yjRWLa8HAMA/WZln_ipzk6I/AAAAAAAABbk/0bYab57rY18kZe0HMTCt8cKSOn7g1mCCACPcBGAYYCw/s1600/Natron_icon.png" /></a></div>
Приветствую. Последний месяц я был занят тем, что упаковывал одну из моих любимейших свободных программ в форму самодостаточного универсального пакета Flatpak. Для тех кто не знает: Flatpak (ранее xdg-app) это формат пакетов, изначально представленный одним из разработчиков компании Red Hat Александром Ларссоном (Alexander Larsson). Этот проект нацелен на предоставление формата пакетов, независимого от дистрибутива, при этом обеспечивающего надёжную изоляцию как от основной системы, так и от других таких пакетов. Это позволяет держать на одной системе множество версий одной и той же программы без каких либо конфликтов. Подробнее можете почитать <a href="https://flatpak.org/">здесь</a>. А сейчас я хочу рассказать о процессе создания пакета, о трудностях, с которыми пришлось столкнуться и так далее. Погнали!<br />
<a name='more'></a><br />
<br />
Если кто забыл - Natron это система видеокомпозитинга, для создания визуальных эффектов (VFX). Это полнофункциональный аналог таких программ, как Adobe After Effects, Nuke и Blackmagic Fusion. От AE он отличается лишь тем, что использует систему узлов (node), тогда как AE работает со слоями, подобно Фотошопу. Сам по себе Natron распространяется в виде deb и rpm пакетов, которые разработчики собирают на своей сборочной ферме и размещают на <a href="https://natron.fr/">официальном сайте</a> (сайт старый, <a href="https://natrongithub.github.io/Fahad/">новый</a> в разработке). Плюс ко всему существует установщик аля Windows Installer, где простыми кликами "Далее далее далее" ставится программа. Пользователю доступна как последняя стабильная версия, так и тестовые и так называемые снапшоты (это нечто среднее). Не так давно создатель репозитория Deb Multimedia <a href="https://www.deb-multimedia.org/dists/unstable/main/binary-amd64/package/natron">разместил</a> у себя грамотно собранные deb-пакеты, для Debian естественно. На базе его работы я создал <a href="https://launchpad.net/~samoilov-lex/+archive/ubuntu/natron">PPA для Ubuntu</a>, и поддерживаю его до сих пор. Однако есть у такого подхода определённые минусы.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-0nDvDlcbUxk/WwzC_u7Fj9I/AAAAAAAABkE/cvrVfI10TwsRtZb0S2HQYwdsFLv9IV0cgCLcBGAs/s1600/natron-screenshot3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://3.bp.blogspot.com/-0nDvDlcbUxk/WwzC_u7Fj9I/AAAAAAAABkE/cvrVfI10TwsRtZb0S2HQYwdsFLv9IV0cgCLcBGAs/s320/natron-screenshot3.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-fvjP7GzT5cM/WwzDE1SCIiI/AAAAAAAABkI/G4gjhd70IIcLqeP5i2KfPt9WcM9tLJY1QCLcBGAs/s1600/natron-screenshot4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://4.bp.blogspot.com/-fvjP7GzT5cM/WwzDE1SCIiI/AAAAAAAABkI/G4gjhd70IIcLqeP5i2KfPt9WcM9tLJY1QCLcBGAs/s320/natron-screenshot4.png" width="320" /></a></div>
<br />
<br />
Дело в том, что многие библиотеки, необходимые для сборки и работы Натрона, особым образом патчатся. Эти патчи необходимы как для включения определённой функциональности, так и для закрытия каких-либо недочётов. По ряду причин эти патчи не могут быть приняты в основные проекты, например Qt4 уже давно не развивается, но он всё ещё является основным тулкитом, на котором строится интерфейс Natron. Далее, некоторые компоненты, в частности ImageMagic, в большинстве дистрибутивов собирается с 16-ти битной глубиной Quantum, тогда как для Натрона разработчики рекомендуют 32 бита. Ну и всё в таком духе. Благо при сборке Flatpak все эти нюансы можно учесть.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://3.bp.blogspot.com/-BdkDNYnSuVg/WwzDYBA1dlI/AAAAAAAABkU/fklvcG88HGMqWI1oqJjZPcmZaa1J_VrjwCLcBGAs/s1600/Screenshot_20180529_070446.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://3.bp.blogspot.com/-BdkDNYnSuVg/WwzDYBA1dlI/AAAAAAAABkU/fklvcG88HGMqWI1oqJjZPcmZaa1J_VrjwCLcBGAs/s320/Screenshot_20180529_070446.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Часть сборочного рецепта Natron для Flatpak</td></tr>
</tbody></table>
<br />
<br />
Сама сборка Flatpak-пакета сводится к написанию сборочного "рецепта" - файла в формате JSON, где описываются зависимости (и то как они должны быть собраны), прописываются пути к патчам, указывается какие команды нужно выполнить на том или ином этапе и так далее. А также - прописываются разрешения, которые получит собираемая программа. Это одна из важнейших частей, ведь от этого и зависит безопасность программы. В частности для Натрона разрешён лишь доступ к файловой системе хоста, графической подсистеме (и соответствующим устройствам) и....всё. Дальше этого он никуда не сунется. Большую часть времени у меня отняла именно отладка этого рецепта.<br />
<br />
Мне крайне сильно помог один из основных разработчиков Natron <a href="http://devernay.free.fr/">Frederic Devernay</a>, за что ему огромное спасибо. Он поделился всеми <a href="https://github.com/NatronGitHub/Natron/tree/RB-2.3/tools/jenkins">патчами и скриптами</a>, которые используются для сборки официальных версий. Большинство патчей я внедрил в сборочный рецепт, а предоставленные скрипты показали с какими ключами должны собираться зависимости. Далее дело было за малым - тестирование. Тестировал всё на своей машине, сборка занимала чуть более часа. Очень много мата уходило на то, что некоторые вещи (например встроенные плагины) нужно было копировать вручную в нужный каталог, прописывая определённые команды в рецепт (в нормальных условиях всем этим занимается сборочная система программы). На последних этапах мне помогли мейнтейнеры <a href="https://flathub.org/home">Flathub</a> - каталога программ, куда и загружаются все Flatpak-пакеты.<br />
<br />
И наконец всё готово! Хотя осталось добавить скриншоты и кое-какую дополнительную информацию. Но установить программу можно уже сейчас. В собранный мною пакет входят все официальные плагины OpenFX, даже адаптация плагина G'MIC. А это значит возможности этой программы просто запредельны. Flatpak-пакет с Natron является <b>официальным</b>, и информация по его установки скоро будет добавлена на официальный сайт. Для установки вам потребуется Flatpak не ниже версии 0.10. Если он у вас ещё не установлен:<br />
<br />
<span style="background: #eeeeee; display: block; padding: 10px;"><br /><b>
Для Ubuntu 18.04:</b><br />
<br />
sudo apt install flatpak<br />
<br /><b>
Для установки поддержки Flatpak в GNOME Software или Plasma Discover выполните:</b><br />
<br />
sudo apt install gnome-software-plugin-flatpak<br />
<br /><b>
Для Plasma Discover:</b><br />
<br />
sudo apt install plasma-discover-flatpak-backend<br />
<br /><b>
Далее подключите репозиторий Flathub:</b><br />
<br />
flatpak remote-add --if-not-exist flathub https://flathub.org/repo/flathub.flatpakrepo<br />
<br /><b>
Далее уже можно ставить Natron, либо из графического менеджера приложений, либо через терминал:</b><br />
<br />
flatpak install flathub fr.natron.Natron</span><br />
<br />
<a href="https://flathub.org/apps/details/fr.natron.Natron">Страница</a> программы на Flathub. Обо всех ошибках в работе пакета прошу отписываться в комментариях. А ещё лучше - <a href="https://github.com/flathub/fr.natron.Natron/issues">здесь</a>. На этом у меня всё. Скоро увидимся!</div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com0tag:blogger.com,1999:blog-9898793114661249.post-74389454052831896682018-03-23T00:26:00.000+04:002018-03-23T00:26:50.085+04:00Гайд: Запуск Icaros Desktop в режиме hosted на Linux<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-Ynym6YljUu8/WrQIvCJUD7I/AAAAAAAABjU/yp5zHwsEsRsMBk53-i2_HS56eg3nAzB-wCLcBGAs/s1600/icarosdesktop.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="79" data-original-width="128" src="https://3.bp.blogspot.com/-Ynym6YljUu8/WrQIvCJUD7I/AAAAAAAABjU/yp5zHwsEsRsMBk53-i2_HS56eg3nAzB-wCLcBGAs/s1600/icarosdesktop.jpg" /></a></div>
Приветствую. Данная заметка будет интересна всем фанатам легендарного компьютера <b>Commodore Amiga</b> и операционной системы <b>AmigaOS</b> в частности. Речь пойдёт о запуске <a href="http://vmwaros.blogspot.ru/">Icaros Desktop</a>, дистрибутива Amiga-подобной операционной системы <a href="https://ru.wikipedia.org/wiki/AROS">AROS</a>, в режиме hosted, то есть как обычное приложение. AROS (Amiga Research Operating System) - это проект по созданию свободной, переносимой операционной системы, совместимой на уровне программных интерфейсов (API) с AmigaOS 3.1, и доступная для архитектур x86, PowerPC и m68k. Данный проект развивается с середины 90х годов, и в настоящее время обладает всеми частями полноценной операционной системы. В свою очередь Icaros Desktop (ранее VMwaros) - это преднастроенный дистрибутив, включающий в себя очень большое количество самого разнообразного ПО. Сейчас я готовлю вторую часть <a href="https://www.youtube.com/watch?v=8LUzoHFB2c0">истории Amiga</a>, где также уделю много внимания AROS.<br />
<a name='more'></a><br />
<br />
Сам по себе Icaros Desktop может быть установлен на обычный ПК или ноутбук, система невероятно быстрая и легковесная. Хотя конечно она будет неудобна тем, кто не привык работать с AmigaOS и её своеобразным интерфейсом <b>Workbench</b>. Тем не менее. На Icaros Desktop доступно гигантское количество ПО, от мультимедиа программ, текстовых и графических редакторов, до игровых эмуляторов и игр. Кстати об эмуляторах. Для совместимости с приложениями оригинальной AmigaOS, в Icaros встроен эмулятор EUAE, правда для его работы потребуется самостоятельно раздобыть kickstart-файлы, так как они под копирайтами и не распространяются свободно. Найти их можно например в сборнике <a href="https://www.amigaforever.com/">Amiga Forever</a> на DVD, или Amiga Forever Essentials в <a href="https://play.google.com/store/apps/details?id=com.cloanto.amigaforever.essentials">Google Play</a> (130 рублей).<br />
<br />
Однако не всё так просто. Дело в том, что для Icaros нужно специально подбирать железо. В силу своей малой распространённости и небольшого количества разработчиков, вполне естественно что он не будет поддерживать весь зоопарк ПК железа. Обычно он без проблем ставится на компьютеры 2005-2008 года, или же ноутбуки (нетбуки) тех лет. Но об этом я наверно расскажу в другой раз. Сейчас речь пойдёт о другом. С недавнего времени, Icaros Desktop обзавёлся режимом hosted, что позволяет запускать его в Linux и Windows как обычную программу. Для этого на диске (iso-образе) подготовлен специальный скрипт, который распакует файлы и настроит сеть. Сейчас я покажу как это всё сделать. Для примера будет использоваться Ubuntu MATE 18.04 LTS.<br />
<br />
Скачиваем дистрибутив с <a href="http://vmwaros.blogspot.ru/p/download.html">официального сайта</a>. Он доступен в двух вариантах: Light и Live. Нам нужен второй, так как он содержит в себе ту самую кучу софта.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-ZWib8PXXd6s/WrP1XgFP1UI/AAAAAAAABhQ/Y45OBTuQjqQ_7lFFmBuCSKrx3chba_UcACLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B22-24-58.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://2.bp.blogspot.com/-ZWib8PXXd6s/WrP1XgFP1UI/AAAAAAAABhQ/Y45OBTuQjqQ_7lFFmBuCSKrx3chba_UcACLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B22-24-58.png" width="320" /></a></div>
<br />
<br />
<br />
Разархивируем его. Далее образ необходимо смонтировать:<br />
<br />
<u>sudo mount -o loop -t iso9660 /путь к образу диска/icaros-pc-i386.iso /mnt</u><br />
<br />
Для работы сети в Icaros необходимо установить пакет <b>net-tools</b>:<br />
<br />
<u>sudo apt install net-tools</u><br />
<br />
Далее узнаём имя своего сетевого интерфейса:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-RMnVU20W1PU/WrP4Xofb6YI/AAAAAAAABhc/6y8JUVokXIIRahJWZdrrpvhTzPjifAhUwCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B22-37-06.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="762" data-original-width="939" height="259" src="https://2.bp.blogspot.com/-RMnVU20W1PU/WrP4Xofb6YI/AAAAAAAABhc/6y8JUVokXIIRahJWZdrrpvhTzPjifAhUwCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B22-37-06.png" width="320" /></a></div>
<br />
<br />
Переходим в каталог /mnt и запускаем установочный скрипт:<br />
<br />
<u>cd /mnt</u><br />
<u>sh linux-hosted-install.sh</u><br />
<br />
Установочный скрипт выведет 3 опции: смена пути установки (по умолчанию это IcarosDesktop в вашем домашнем каталоге), настройка сети и запуск установки Icaros.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-qwNBrbBva7U/WrQDSbwv-XI/AAAAAAAABhs/0WEUZiGxs78IcCnSGOM6e7jVkNMmrhlRQCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-11-56.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="806" data-original-width="986" height="261" src="https://2.bp.blogspot.com/-qwNBrbBva7U/WrQDSbwv-XI/AAAAAAAABhs/0WEUZiGxs78IcCnSGOM6e7jVkNMmrhlRQCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-11-56.png" width="320" /></a></div>
<br />
<br />
Если путь по умолчанию вас устраивает, переходим к настройке сети. В противном случае введите 1, затем Enter и укажите другой путь для распаковки файлов. Выбираем 2.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-RDHZyratkKs/WrQDgEwSWzI/AAAAAAAABhw/Z3_-R27wppAUJCXL_yB9O6l4o_NZraEXQCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-12-05.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="804" data-original-width="983" height="261" src="https://4.bp.blogspot.com/-RDHZyratkKs/WrQDgEwSWzI/AAAAAAAABhw/Z3_-R27wppAUJCXL_yB9O6l4o_NZraEXQCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-12-05.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-Qe05g-xnOvE/WrQDrZI7tdI/AAAAAAAABh0/t72Prxjo8_om71Qiuvzs5yTWvd1J7qi9gCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-13-26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="803" data-original-width="987" height="260" src="https://3.bp.blogspot.com/-Qe05g-xnOvE/WrQDrZI7tdI/AAAAAAAABh0/t72Prxjo8_om71Qiuvzs5yTWvd1J7qi9gCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-13-26.png" width="320" /></a></div>
<br />
<br />
Скрипт установит необходимые пакеты и попросит ввести имя сетевого интерфейса. В моём случае это <b>enp2s0</b>. Затем скрипт попросит ввести количество оперативной памяти, которое будет выделяться под Icaros при его запуске. Я указал 1024 (мегабайта).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-YOIR8Ef2uKk/WrQD3MfRvzI/AAAAAAAABh4/AsnrHj1I_Vo0ZFyyrPDin8L4l6rTa7GKwCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-13-58.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="804" data-original-width="986" height="260" src="https://4.bp.blogspot.com/-YOIR8Ef2uKk/WrQD3MfRvzI/AAAAAAAABh4/AsnrHj1I_Vo0ZFyyrPDin8L4l6rTa7GKwCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-13-58.png" width="320" /></a></div>
<br />
<br />
После этого переходим в каталог с распакованным Icaros Desktop, и запускаем его:<br />
<br />
<u>cd /home/sunderland93/IcarosDesktop<br />./icaros</u><br /><br />На вопрос о запуске сетевого интерфейса нажмите <b>y</b> и Enter. Запустится инсталлятор самого Icaros. На первом экране нажимаем Yes:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-iiBupJIokls/WrQEINrIamI/AAAAAAAABh8/56wRmQfGHKwzSV9IpbmyRv4LHrNH8w7AQCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-16-17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="634" data-original-width="806" height="251" src="https://3.bp.blogspot.com/-iiBupJIokls/WrQEINrIamI/AAAAAAAABh8/56wRmQfGHKwzSV9IpbmyRv4LHrNH8w7AQCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-16-17.png" width="320" /></a></div>
<br />
Далее предстоит выбрать страну и раскладку клавиатуры. Скажу сразу - с русской локализацией у AROS/Icaros проблемы. Можете нарваться на крякозябры вместо нормально отображаемых символов, так как UTF-8 не поддерживается. Потому рекомендую оставить как есть - Америку и её раскладку клавиатуры. Здесь и далее для сохранения всех параметров нажимайте на <b>Save</b>:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-8OaSXEWC9IY/WrQEjWBEvHI/AAAAAAAABiI/iA1G1qPlG8A5I3teKMDY3WDvw303MoBagCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-16-41.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="634" data-original-width="809" height="250" src="https://4.bp.blogspot.com/-8OaSXEWC9IY/WrQEjWBEvHI/AAAAAAAABiI/iA1G1qPlG8A5I3teKMDY3WDvw303MoBagCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-16-41.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-sVm34hh1Fc4/WrQEsc56_HI/AAAAAAAABiQ/YDEhn5tQvloSkKVZzeRKNY7N_aYJeBwpwCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-16-48.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="636" data-original-width="807" height="252" src="https://1.bp.blogspot.com/-sVm34hh1Fc4/WrQEsc56_HI/AAAAAAAABiQ/YDEhn5tQvloSkKVZzeRKNY7N_aYJeBwpwCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-16-48.png" width="320" /></a></div>
<br />
Выбираем желаемое разрешение экрана (точнее окна):<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-ittNTPBRX_k/WrQFBtCsIlI/AAAAAAAABiU/KiBFhHSA-zoBF-PsvPh_y8se0c3dpQc6gCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-17-07.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="628" data-original-width="804" height="249" src="https://4.bp.blogspot.com/-ittNTPBRX_k/WrQFBtCsIlI/AAAAAAAABiU/KiBFhHSA-zoBF-PsvPh_y8se0c3dpQc6gCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-17-07.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
Теперь предстоит настроить звук. Звук будет выводиться напрямую через ALSA. Однако по умолчанию громкость выставлена почти на максимум, потому даже если вы убавите системную громкость на минимум - после запуска Icaros, он автоматом её поднимет и запустит свой звук входа в систему, что заставит вас как минимум вздрогнуть и закричать. Поэтому сперва у пункта "Music unit", справа, двигаем ползунок Volume влево, примерно на -60-70, затем нажимаем и держим левую кнопку мыши на строке "Music unit", выбираем "Unit 1" (не отпуская кнопку мыши) и как только выбрали - отпускаем кнопку. У него также регулируем значение громкости. И сохраняемся.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-bh3PrzMDbmQ/WrQF8Cafs_I/AAAAAAAABik/DIJUPYiqY7w3zZdCdNYXr4qQKQqpS_kogCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-17-47.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="635" data-original-width="806" height="252" src="https://2.bp.blogspot.com/-bh3PrzMDbmQ/WrQF8Cafs_I/AAAAAAAABik/DIJUPYiqY7w3zZdCdNYXr4qQKQqpS_kogCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-17-47.png" width="320" /></a></div>
<br />
Ну а далее выбираем тип интерфейса (современный или классический, как у AmigaOS), и запускаем полную установку (Full installation):<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-zXPl8h4it0s/WrQGXEjQwjI/AAAAAAAABio/gKj37kRAHIgA3XSuYm0vwwLwIcZ69Jm1ACLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-18-10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="636" data-original-width="806" height="252" src="https://3.bp.blogspot.com/-zXPl8h4it0s/WrQGXEjQwjI/AAAAAAAABio/gKj37kRAHIgA3XSuYm0vwwLwIcZ69Jm1ACLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-18-10.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-ZOvxPqZB_84/WrQGfW-r0GI/AAAAAAAABis/-y_IUQC7xJgctMr1zpLoqMCA5owE5rblACLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-18-16.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="636" data-original-width="807" height="252" src="https://2.bp.blogspot.com/-ZOvxPqZB_84/WrQGfW-r0GI/AAAAAAAABis/-y_IUQC7xJgctMr1zpLoqMCA5owE5rblACLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-18-16.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-VT2a0eQnuBY/WrQGnT9FPGI/AAAAAAAABiw/K6XQI2w435YESgiIyVUJ5jpkreGJe4gkgCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-19-06.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="631" data-original-width="803" height="251" src="https://4.bp.blogspot.com/-VT2a0eQnuBY/WrQGnT9FPGI/AAAAAAAABiw/K6XQI2w435YESgiIyVUJ5jpkreGJe4gkgCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-19-06.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-xOVn8WLdyLc/WrQGvQf0NVI/AAAAAAAABi0/-Yh5FuEaxt4w7otAdmfBGSuuXzL32WoPwCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-21-58.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="633" data-original-width="806" height="251" src="https://4.bp.blogspot.com/-xOVn8WLdyLc/WrQGvQf0NVI/AAAAAAAABi0/-Yh5FuEaxt4w7otAdmfBGSuuXzL32WoPwCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-21-58.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
После установки вы услышите характерную мелодию. Закрывайте окно где распаковывались файлы (кнопка закрытия слева, квадратик) и всё, поздравляю - Icaros Desktop установлен!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-_tE0qpiawIc/WrQHCTTpWlI/AAAAAAAABjA/w8AnH21Sg3IhGgYzk2tc70V1Np6F_vY4ACLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-24-34.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://3.bp.blogspot.com/-_tE0qpiawIc/WrQHCTTpWlI/AAAAAAAABjA/w8AnH21Sg3IhGgYzk2tc70V1Np6F_vY4ACLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25B2%2B2018-03-22%2B23-24-34.png" width="320" /></a></div>
<br />
<br />
Теперь несколько очень важных замечаний. Во первых - остановить запущенный Icaros Desktop можно лишь прибиванием его процесса. Возможно в будущем выпуске это исправят, но пока, если вы хотите закрыть Icaros Desktop - набирайте в терминале команду:<br />
<br />
<u>killall -9 AROSBootstrap</u><br />
<br />
Во-вторых, запущенная система работает почти в режиме эмуляции, или как в виртуальной машине. Потому не будет иметь прямого доступа к железу компьютера. Это важно если вы планируете играть в игры на Icaros, запущенном в режиме hosted. Некоторые программы могут падать, и уносить за собой Icaros. Но в целом, работает система прекрасно. И её производительность на должном уровне. Я бы с удовольствием сделал руководство по её установке на реальное железо, если бы располагал таковым. На моём компьютере она работает хреново, как и на ноутбуке. На этом пока всё. Вопросы оставляйте в комментариях.<br />
</div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com0tag:blogger.com,1999:blog-9898793114661249.post-27990765502745604952018-02-07T02:48:00.000+04:002018-02-07T02:48:04.176+04:00Разбираемся с самодостаточными пакетами Flatpak, Snap и Appimage<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-uASDqLdNhUY/VsNNX7Fk8NI/AAAAAAAAA8w/mWO_VryRNLc-cEvKs4Oqw_0jHlp4hi26ACPcBGAYYCw/s1600/download_icon_256.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="80" data-original-width="80" src="https://4.bp.blogspot.com/-uASDqLdNhUY/VsNNX7Fk8NI/AAAAAAAAA8w/mWO_VryRNLc-cEvKs4Oqw_0jHlp4hi26ACPcBGAYYCw/s1600/download_icon_256.png" /></a></div>
Всем привет! Не секрет, что для многих пользователей, перешедших на Linux, особой проблемой является поиск необходимого софта. В винде это обычно решается походом на всякие Софтпорталы, торрент-трекеры, в редких случаях - на официальные сайты нужных программ. Конечно в Linux с этим всё гораздо проще и порядочнее. Есть система репозиториев, откуда софт можно установить несколькими разными способами, и где есть гарантии, что этот софт не содержит в себе чего-то вредоносного. Плюс - никакой рекламы. Однако концепция репозиториев хоть и является одной из лучших черт Линукса, она не всегда удобна. Нужной программы может не оказаться в репозитории вашего дистрибутива, или же она вообще официально собирается лишь под один конкретный. Ещё пару лет назад это было проблемой, но теперь ситуация изменилась в лучшую сторону, благодаря так называемым самодостаточным пакетам - <b>Flatpak</b>, <b>Snap</b> и <b>Appimage</b>. Пришло время рассмотреть их в деталях.<br />
<a name='more'></a><br />
<br />
Что является самодостаточностью? Для начала стоит разобраться с самим понятием "пакет с программой". Пакет - это архив, в котором находится программа, а также некий управляющий файл, который размещает программу в нужном каталоге, устанавливает для неё зависимости (дополнительные пакеты, требующиеся для работы) и даёт указание пакетному менеджеру следить за программой, в результате чего если вы захотите удалить программу - пакетный менеджер удалит всё, что с ней связано. Пакеты в репозитории вашего дистрибутива собраны с учётом его особенностей, версий других пакетов в репозитории и так далее. Они создан чтобы работать конкретно в вашем дистрибутиве, и они НЕ обязаны работать в других. Хотя и есть способы их там установить. В случае с самодостаточными пакетами, программа собирается в нейтральном окружении, и таскает с собой все необходимые зависимости. Это идёт в ущерб размеру пакета и занимаемому месту на диске, но позволяет устанавливать и использовать программу в абсолютно любом дистрибутиве Linux, при чём его можно установить параллельно с этой же программой из репозитория и они никак не будут конфликтовать! Важно понимать, что эти самые самодостаточные пакеты не являются заменой штатному пакетному менеджеру и программам в репозиториях дистрибутива. Они лишь дополняют их.<br />
<br />
На сегодняшний день существует несколько вариантов самодостаточных пакетов, отличающихся методом работы, установки и использования. Остановимся на тройке лидеров: Flatpak от компании Red Hat, Snap от компании Canonical и Appimage, развиваемый сообществом.<br />
<br />
<h3 style="text-align: left;">
Flatpak</h3>
<br />
Изначально эта технология называлась <a href="http://linuxoidblog.blogspot.ru/2016/02/xdg-app-gnome.html">xdg-app</a>, её автором является Александер Ларссон - сотрудник компании Red Hat, принимающий активное участие в разработке GNOME. По своей сути <a href="https://flatpak.org/">Flatpak</a> - ни что иное как контейнер, в котором программа целиком и полностью изолирована как от основной системы, так и от других таких же программ. Изоляция программы осуществляется с использованием штатных технологий ядра Linux, таких как cgroups, пространства имён и SElinux. Вывод графики осуществляется через Wayland, хотя есть и режим совместимости с Xorg (менее безопасен), а звук выводится через PulseAudio. Сам по себе контейнер с программой минималистичен, и содержит лишь специфичные библиотеки, необходимые для конкретной программы. Всё остальное, например библиотеки Qt, GTK и подобное, распространяется в виде рантаймов (runtime) - специальных архивов, которых может быть несколько в системе (например могут сосуществовать Qt 5.6 и Qt 5.9, или несколько разных версий GTK). Для распространения пакетов используется та же классическая система репозиториев, но немного иная. Готовый flatpak-пакет можно установить и вручную, но это не совсем удобно. Самым крупным репозиторием для Flatpak является <a href="https://flathub.org/">Flathub</a> - хранилище, куда разработчики приложений могут загружать свои flatpak-пакеты, что позволит им не только упростить тестирование своих приложений, но и быстрее доставить их пользователю. Отдельно существует репозиторий KDE Apps, в котором, как понятно из названия, находятся программы от проекта KDE. Да да. Именно оттуда вы можете легко установить, например, Dolphin, или браузер Falkon. Чтобы начать пользоваться Flatpak, его необходимо установить. В некоторых дистрибутивах (например Linux Mint 18.3) он уже установлен по умолчанию. Для Debian это будет так:<br />
<br />
<u>sudo apt install flatpak</u><br />
<br />
Далее подключим репозитории Flathub и KDE Apps:<br />
<br />
<u>flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo</u><br />
<br />
<u>flatpak remote-add --if-not-exists kdeapps --from https://distribute.kde.org/kdeapps.flatpakrepo</u><br />
<br />
Обновление списка пакетов выполняется командой <b>flatpak update</b>. Для того чтобы посмотреть список доступных пакетов в конкретном репозитории (например Flathub) нужно ввести команду:<br />
<br />
<u>flatpak remote-ls flathub</u><br />
<br />
Более подробно о доступных командах можно узнать из вывода <b>flatpak --help</b>. Но главное - как установить программу? В указанной выше команде из списка выберите то, что нужно, и установите командой (на примере GIMP):<br />
<u><br /></u>
<u>flatpak install flathub org.gimp.GIMP</u><br />
<br />
Установится свежая версия графического редактора GIMP. Но согласитесь - не самая удобная операция установки? Не беда. Поддержка Flatpak уже есть во многих графических менеджерах приложений. В том же Linux Mint 18.3 пакеты из Flathub доступны прямо в менеджере приложений.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-QWv8Wt329a0/WnoDzgdXcvI/AAAAAAAABgg/qXJBqkh0oSYCYgFpijnCUjbvF52cUxPiACLcBGAs/s1600/0_1511790941.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="814" data-original-width="803" height="320" src="https://1.bp.blogspot.com/-QWv8Wt329a0/WnoDzgdXcvI/AAAAAAAABgg/qXJBqkh0oSYCYgFpijnCUjbvF52cUxPiACLcBGAs/s320/0_1511790941.png" width="315" /></a></div>
<br />
<br />
Если вы хотите установить скачанный отдельно flatpak-пакет, например, с LibreOffice, то команда для установки будет такой:<br />
<br />
<u>flatpak install --bundle /путь/к/пакету/LibreOffice.flatpak</u><br />
<br />
А теперь о плюсах и минусах:<br />
<br />
Плюсы:<br />
<br />
<div style="text-align: left;">
</div>
<ul>
<li>Полная изоляция от основной системы и других приложений;</li>
<li>Поддержка современных технологий в Linux (например Wayland);</li>
<li>Децентрализованность (можно в том числе создать свой репозиторий с Flatpak);</li>
<li>Доступен в подавляющем большинстве дистрибутивов Linux;</li>
<li>Разрабатывается Red Hat совместно с сообществом.</li>
<li>Имеет возможности для распространения игр, в том числе виндовых со вшитым Wine.</li>
</ul>
<br />
<div style="text-align: left;">
<br /></div>
Минусы:<br />
<br />
<div style="text-align: left;">
</div>
<ul>
<li>Рантаймы. Их размер достигает почти 300 мегабайт, и сохраняются они на корневом разделе. Поэтому рекомендуется выделить достаточно места под программы во Flatpak;</li>
<li>Поддержка в графических менеджерах приложений есть только в свежих версиях оных, поэтому на некоторых дистрибутвах придётся использовать терминал для работы с Flatpak;</li>
<li>Плохо интегрируется с рабочим столом и штатным оформлением;</li>
<li>Не самый удобный интерфейс командной строки;</li>
<li>Ориентирован только на десктоп.</li>
</ul>
<br />
<div style="text-align: left;">
<br /></div>
<h3 style="text-align: left;">
Snap</h3>
<br />
<a href="https://snapcraft.io/">Snap</a> - разработка Canonical, компании, разрабатывающей дистрибутив Ubuntu. Изначально эта технология именовалась <b>Click</b>, и предназначалась для мобильной редакции Ubuntu, дабы заменить классические deb-пакеты. После того как Canonical представила технологию <a href="https://www.opennet.ru/opennews/art.shtml?num=45428">Snappy Ubuntu Core</a>, монолитный базовый образ системы, обновляющийся атомарно (целиком), технология click-пакетов получила развитие в виде Snap. По своей сути это также контейнер с программой и необходимыми зависимостями, однако в отличии от Flatpak, Snap для изоляции использует <b>Apparmor</b>, и более тесно работает с основной системой, включая работу графики через Xorg. Базовое окружение строится на компонентах <b>ubuntu-core</b>, который устанавливается при первой установке любого snap-пакета. Скачанный snap-пакет при помощи <b>systemd</b> монтируется в каталог <b>/snap</b>, как образ диска, и уже оттуда происходит запуск программы. Пакеты в формате Snap распространяются через централизованный каталог <a href="https://snapcraft.io/store">Snap Store</a>, хотя Canonical заявляла, что любой желающий может создать хранилище для snap-пакетов. Также в отличии от Flatpak, Snap ориентирован и на распространение проприетарных программ, в том числе платных.<br />
<br />
Snap-пакет имеет значительно больший размер, чем пакет в формате Flatpak, так как таскает всё необходимое в себе. При этом если скачанной программе требуются те же самые компоненты, которые уже есть в скачанном snap-пакете с другой программой - качаться заново они не будут. Для установки пакетов из Snap Store, без использования sudo, требуется регистрация <a href="https://login.ubuntu.com/">аккаунта Ubuntu</a>, и при первой попытке установить программу с помощью snap install - будет выдан запрос на логин и пароль. Можно залогиниться сразу:<br />
<br />
<u>sudo apt install snapd</u><br />
<u>sudo snap login вашлогин</u><br />
<br />
Далее можно ставить программы:<br />
<br />
<u>snap install имяпрограммы</u><br />
<br />
Для поиска используется команда <b>find</b>:<br />
<br />
<u>snap find </u><br />
<br />
Чтобы посмотреть список установленных snap-пакетов, введите:<br />
<br />
<u>snap list</u><br />
<br />
Чтобы обновить программу, установленную из Snap, наберите команду:<br />
<br />
<u>snap refresh имяпрограммы</u><br />
<br />
и для удаления:<br />
<br />
<u>snap remove имяпрограммы</u><br />
<br />
Программа может быть установлена из нескольких каналов: <b>stable</b>, <b>candidate</b>, <b>beta</b> и <b>edge</b>, в порядке убывания стабильности и повышения свежести. Для этого нужно добавить соответствующий ключ в команду установки пакета:<br />
<br />
<u>snap install --edge gimp</u><br />
<br />
Если же вы скачали Snap-пакет с сайта разработчика, то для его установки не потребуется аккаунт Ubuntu, только режим разработчика:<br />
<br />
<u>snap install --devmode /путь/к/пакету/</u><br />
<br />
Помимо этого имеются ещё две интересные команды: <b>snap buy</b>, с помощью которой можно купить платное приложение в пакете snap, и <b>snap revert</b>, с помощью которой можно откатить пакет к предыдущей версии. Последняя команда очень полезна при появлении серьёзных багов в новой версии программы. Это важное отличие от Flatpak, хотя технология OStree, на которой тот <a href="https://www.opennet.ru/opennews/art.shtml?num=44640">построен</a>, позволяет более гибко откатывать изменения, подобно Git. Но в настоящее время этот интерфейс для Flatpak в разработке, а в Snap доступен уже сейчас. Более подробно о командах можно узнать из man-страницы snapd:<br />
<br />
<u>man snap</u><br />
<br />
Это что касается интерфейса командной строки. Многие графические менеджеры пакетов, включая таковые в GNOME и свежих версиях KDE, поддерживают Snap из коробки, достаточно лишь ввести название интересующей программы в строку поиска и установить как обычно.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.omgubuntu.co.uk/wp-content/uploads/2016/10/snaps-in-ubuntu-software.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="506" data-original-width="800" height="202" src="https://www.omgubuntu.co.uk/wp-content/uploads/2016/10/snaps-in-ubuntu-software.jpg" width="320" /></a></div>
<br />
<br />
Плюсы:<br />
<br />
<div style="text-align: left;">
</div>
<ul>
<li>Лучше адаптирован для Ubuntu и производных;</li>
<li>Более плотная интеграция с рабочим столом;</li>
<li>Ориентирован в том числе и на проприетарное коммерческое ПО;</li>
<li>Простой синтаксис команд;</li>
<li>Поддержка отката пакета к предыдущей версии;</li>
<li>Не требует внешних рантаймов (за исключением ubuntu-core);</li>
<li>Ориентирован не только на десктоп, но и на сервера, мобильные платформы и IoT (интернет вещей).</li>
</ul>
<br />
<div style="text-align: left;">
<br /></div>
Минусы:<br />
<br />
<div style="text-align: left;">
</div>
<ul>
<li>Централизован, требует регистрации аккаунта Ubuntu для установки без прав администратора;</li>
<li>Не полностью изолируется от системы и других программ;</li>
<li>Вследствие использования прямого доступа к Xorg - создаётся потенциальная угроза захвата ввода (особенно опасно при запуске вредоносного пакета);</li>
<li>Меньше распространён в сторонних дистрибутивах, чем Flatpak;</li>
<li>Разработка ведётся Canonical, влияние сообщества минимально.</li>
</ul>
<br />
<h3 style="text-align: left;">
Appimage</h3>
<br />
Данный формат пакетов был впервые представлен в далёком 2004 году под именем klik. Представлял он из себя ссылку, по которой загружался "рецепт", который в свою очередь брал пакеты из Debian Stable и перепаковывал их в особый формат .cmg, который не зависел от конкретного дистрибутива. Однако klik не использовал файловую систему в пространстве пользователя (FUSE), потому одновременно можно было запустить лишь 8 таких пакетов, что связано с ограничениями ядра. Впоследствии, эта технология была переименована в PortableLinuxApps, а затем - в <a href="https://appimage.org/">Appimage</a>, также существенно изменившись внутренне. Пакет в формате Appimage, говоря простым языком - это самый обычный образ диска, который при запуске монтируется поверх FUSE, а благодаря скрипту внутри - запускается исполняемый файл программы. Все необходимые для работы программы компоненты находятся внутри пакета Appimage, кроме тех, которые поставляются штатно с дистрибутивом. Пользователю достаточно скачать программу в формате Appimage, дать ей права на исполнение (в Свойствах, вкладка Права, поставить галочку на "Разрешить выполнение как программы") и запустить двойным кликом. Некоторые программы при запуске предлагают создать ярлык в меню приложений. Appimage взяли на вооружение очень многие разработчики свободного ПО, например Krita, Kdenlive, Darktable и множество других. И хотя существует <a href="https://bintray.com/probono/AppImages">централизованное хранилище</a> для пакетов Appimage - разработчики не совсем поощряют его использование. По их мнению, сам разработчик программы должен запаковать её в Appimage (ибо кто как не он знает все её особенности?) и затем распространять её у себя на сайте. Крупным достоинством Appimage является отсутствие внешних рантаймов, что позволяет таскать приложения на флешке и запускать на компьютерах с любыми дистрибутивами Linux. Поэтому с этой точки зрения - Appimage самый самодостаточный формат. Однако есть у него как большие достоинства, так и большие недостатки:<br />
<br />
Плюсы:<br />
<br />
<div style="text-align: left;">
</div>
<ul>
<li>Не требует установки, достаточно дать права на выполнение и запустить программу двойным кликом;</li>
<li>Не требует никаких дополнительных рантаймов и прочих комплектов библиотек, всё необходимое уже включено в пакет;</li>
<li>Высокая надёжность вследствие простоты структуры пакета;</li>
<li>Разрабатывается сообществом и не зависит от корпораций;</li>
</ul>
<br />
<div style="text-align: left;">
<br /></div>
Минусы:<br />
<br />
<ul style="text-align: left;">
<li>Полное отсутствие изоляции. В настоящее время имеется экспериментальная песочница для Appimage, также возможна изоляция при помощи Firejail, однако пока программы в Appimage имеют прямой доступ ко всему что есть в системе;</li>
<li>Отсутствие нормального централизованного хранилища: Appimage предполагает что разработчик программы должен сам сделать такой пакет и распространять его на своём сайте;</li>
<li>Как следствие предыдущего пункта - только ручное обновление, путём скачивания новой версии пакета. Ведётся разработка метода автоматического обновления;</li>
<li>Большинство пакетов не поддерживают Wayland;</li>
<li>Не слишком качественная интеграция с рабочим столом: программы на Qt не используют системный стиль в KDE, а приложения на GTK+ в редких случаях могут иметь проблемы с темой оформления.</li>
</ul>
<div>
<br />
Ну вот как-то так. Пока что наибольшее распространение получил Appimage, но Flatpak и Snap развиваются не менее активно. Flatpak, на мой взгляд, выглядит более перспективным, его поддержка уже добавлена в новые версии KDE Discover, да и сами приложения KDE уже во всю пакуются в Flatpak. Snap на месте не стоит, но всё же его ориентация на Ubuntu не даст ему добиться по-настоящему широкой поддержки и популярности. Хотя время покажет. Обе эти технологии ещё слишком молоды. Но хотелось бы верить, что они облегчат жизнь разработчикам профессионального коммерческого софта, и те станут поставлять версии своих программ и на Linux. На этом у меня всё. Ваше мнение по поводу этих пакетов оставляйте в комментариях. До встречи!</div>
<div>
<br /></div>
<div>
<iframe allowtransparency="true" frameborder="0" height="213" scrolling="no" src="https://money.yandex.ru/quickpay/shop-widget?writer=seller&targets=%D0%9F%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D1%82%D1%8C%20%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B0&targets-hint=&default-sum=50&button-text=13&payment-type-choice=on&mobile-payment-type-choice=on&hint=&successURL=linuxoidblog.blogspot.ru&quickpay=shop&account=410013059865924" width="450"></iframe></div>
</div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com4tag:blogger.com,1999:blog-9898793114661249.post-33315093576042074792017-12-31T20:17:00.001+04:002017-12-31T20:17:53.644+04:00Всех с Новым Годом и Рождеством!<div dir="ltr" style="text-align: left;" trbidi="on">
Поздравляю всех читателей Блога начинающего линуксоида с Новым 2018 годом и наступающим Рождеством! Желаю минимума переустановок, максимума производительности и бесконечного аптайма! Увидимся уже скоро!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-aryW74EAgpw/WkkNlsg_35I/AAAAAAAABf8/HoTpxiSScMUd15qnL60mj-oi0yMYcYgWgCEwYBhgL/s1600/photo_1514737025.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="431" data-original-width="400" height="320" src="https://3.bp.blogspot.com/-aryW74EAgpw/WkkNlsg_35I/AAAAAAAABf8/HoTpxiSScMUd15qnL60mj-oi0yMYcYgWgCEwYBhgL/s320/photo_1514737025.jpg" width="296" /></a></div>
<br /></div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com0tag:blogger.com,1999:blog-9898793114661249.post-60235918105629773652017-12-29T01:26:00.002+04:002017-12-29T01:26:47.053+04:00Обзор PureOS: Чистая свобода<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-TMvYYiI3c3A/VW_kjNoGLmI/AAAAAAAAAFU/V-UVO3u8neAKzygsjSmeJw1KYV18ApNvwCPcBGAYYCw/s1600/openlogo-nd-100.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="68" data-original-width="56" src="https://4.bp.blogspot.com/-TMvYYiI3c3A/VW_kjNoGLmI/AAAAAAAAAFU/V-UVO3u8neAKzygsjSmeJw1KYV18ApNvwCPcBGAYYCw/s1600/openlogo-nd-100.png" /></a></div>
Приветствую. Не так давно мне на глаза попался один занятный дистрибутив - <b><a href="https://pureos.net/">PureOS</a></b>. Казалось бы ничего удивительного, новые дистрибутивы появляются чуть ли не каждый день. Однако PureOS имеет одно важное отличие - это полностью свободный дистрибутив, по-настоящему свободный. Откуда он? Какие цели у его разработчиков? В чём его преимущества? Сейчас будем разбираться.<br />
<a name='more'></a><br />
<br />
Сперва поговорим о происхождении PureOS. Его разработчиком является компания Purism, широко известная тем, что производит ноутбуки, полностью удовлетворяющие критериям Фонда Свободного ПО, то есть абсолютно не шпионящие за пользователям и максимально уважающие его свободу. Ноутбуки компании носят имя <b><a href="https://puri.sm/products/librem-15/">Librem</a></b>, и могут похвастаться весьма впечатляющими характеристиками: тут вам и процессор Intel последних поколений, и до 32-х гигабайт оперативной памяти, SSD-накопитель объёмом до 1 террабайта, экран с разрешением от 1920x1080 до 4К, хорошая островная клавиатура с подсветкой. На мой взгляд просто мечта, а не ноутбук. А главное - для работы всех его компонентов не требуются проприетарные драйверы и несвободные бинарные прошивки (firmware). В качестве BIOS задействована свободная прошивка <b>Coreboot</b>, применяемая также в Хромбуках и портированная на множество материнских плат и ноутбуков прошлых лет. И в этом фича: Librem один из немногих Coreboot-совместимых ноутбуков с актуальным и мощным железом! Ну и разумеется здесь отключён модуль Intel ME, об <a href="https://www.opennet.ru/opennews/art.shtml?num=47597">уязвимостях</a> в котором трубят по всему Интернету. Из очевидных минусов ноутбуков Librem является их цена (более 1500 долларов) и отсутствие на полках Российских компьютерных магазинов. Впрочем, популярность Librem растёт с каждым годом, и наверняка скоро эти ноутбуки появятся и у нас.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://images.techhive.com/images/article/2015/08/purism-librem-13-100603432-orig.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="549" data-original-width="800" height="219" src="https://images.techhive.com/images/article/2015/08/purism-librem-13-100603432-orig.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://puri.sm/wp-content/uploads/2016/07/librem-15-rev2-4k-left-side-1920px.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="800" height="240" src="https://puri.sm/wp-content/uploads/2016/07/librem-15-rev2-4k-left-side-1920px.jpeg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://habrastorage.org/files/8b8/b02/2c7/8b8b022c7d7f40748cac7250656e5b88.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="499" data-original-width="749" height="213" src="https://habrastorage.org/files/8b8/b02/2c7/8b8b022c7d7f40748cac7250656e5b88.jpg" width="320" /></a></div>
<br />
<br />
Работают эти ноутбуки, как несложно догадаться, на PureOS. Дистрибутив является форком <b>Debian Sid</b>, так как использует его пакеты, но не использует официальные репозитории Debian. Установщик системы основан на фреймворке <a href="https://www.opennet.ru/opennews/art.shtml?num=45895">Calamares</a>, и построен на библиотеке Qt5. Аналогичный установщик можно встретить, например, в Manjaro Linux.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://tracker.pureos.net/file/data/4z2twgbjbrag274q2bqe/PHID-FILE-ubsefr3crbltdpb6mpa2/Screenshot_from_2017-06-21_13-13-22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="441" data-original-width="800" height="176" src="https://tracker.pureos.net/file/data/4z2twgbjbrag274q2bqe/PHID-FILE-ubsefr3crbltdpb6mpa2/Screenshot_from_2017-06-21_13-13-22.png" width="320" /></a></div>
<br />
<br />
Сердцем дистрибутива является ядро <a href="https://www.opennet.ru/opennews/art.shtml?num=47557">Linux Libre</a> - вариант ядра Linux, полностью очищенный от несвободных компонентов. Графическим окружением по умолчанию является <b>GNOME</b>, в котором задействован сеанс на <b>Wayland</b>. При этом разработчиками это преподносится как одна из фич, ведь Wayland не только "графическая подсистема будущего" в Linux, но и также улучшает безопасность (сильно затруднено создание кейлоггеров и скрытая слежка за рабочим столом пользователя, к примеру снятие и отправка скриншотов, как в Windows 10). О работе GNOME на Wayland однозначно судить сложно, ибо как показывает практика - работает не у всех гладко. У некоторых даже не запускается, либо автоматически переключаясь на классическую подсистему Xorg (иксы), либо вовсе показывая красивый чёрный пейзаж с приглашением входа. Мне повезло, и даже на Nvidia с драйвером Nouveau, всё работает прекрасно.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-Fdg4WVCPMFI/WkVdCD_wmAI/AAAAAAAABfE/16ArMGP9Ipc7wrOAn3VooooMKpwbqwCQQCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-12-28%2B23-17-46.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="902" data-original-width="1600" height="180" src="https://4.bp.blogspot.com/-Fdg4WVCPMFI/WkVdCD_wmAI/AAAAAAAABfE/16ArMGP9Ipc7wrOAn3VooooMKpwbqwCQQCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-12-28%2B23-17-46.png" width="320" /></a></div>
<br />
<br />
Внешний вид системы почти не затронут. Изменена только тема иконок, вместо Adwaita применена Papirus. В наличии нескучная обоина. В остальном всё ванильное.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-BXipXuyNGjU/WkVdHFGx19I/AAAAAAAABfI/pMCLYtiF6aUVYpEyPTcSygoJxT_6LFTBgCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-12-28%2B22-17-13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="902" data-original-width="1600" height="180" src="https://1.bp.blogspot.com/-BXipXuyNGjU/WkVdHFGx19I/AAAAAAAABfI/pMCLYtiF6aUVYpEyPTcSygoJxT_6LFTBgCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-12-28%2B22-17-13.png" width="320" /></a></div>
<br />
<br />
Перейдём к набору приложений. Браузером по-умолчанию является <b>Purebrowser</b> - сборка на основе Firefox, в которую также входят компоненты Tor Browser, расширения uBlock Origin и HTTPS Everywhere, а в качестве поискового движка используется DuckDuckGo, которые не отслеживает переходы по ссылкам. Параноидальнее браузер ещё надо поискать :) Проблем в его работе замечено не было. Видео работает, соцсети грузятся, на Rutracker заходит. Правда вот за основу взят Firefox 45, а сейчас, напомню, уже есть Firefox 57. Другой момент - по умолчанию, не пойми зачем, задействован поиск среди пакетов Debian....Хотели что-то поискать в интернете - а вас перекидывает на сайт Дэбиановских репозиториев и пишет, что пакет "скачать скайп" не найден. Приходится лезть в настройки.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-GBdna1aoSMU/WkVdNZELtdI/AAAAAAAABfU/lIGQn8qO8qgjEPxd0v3mqQs3B1YU8OEvgCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-12-28%2B23-17-00.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="902" data-original-width="1600" height="180" src="https://1.bp.blogspot.com/-GBdna1aoSMU/WkVdNZELtdI/AAAAAAAABfU/lIGQn8qO8qgjEPxd0v3mqQs3B1YU8OEvgCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-12-28%2B23-17-00.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-1dR1SCBY8ws/WkVdNMw_6kI/AAAAAAAABfM/Mc_pacXSFUcresEuN54HkTeg_triQ5MYgCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-12-28%2B23-17-10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://1.bp.blogspot.com/-1dR1SCBY8ws/WkVdNMw_6kI/AAAAAAAABfM/Mc_pacXSFUcresEuN54HkTeg_triQ5MYgCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-12-28%2B23-17-10.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-6Y9YUYFGXUc/WkVdNTTIawI/AAAAAAAABfQ/qHFmmLrIm4Ad2-tD_cTWno4BlYhl26QfACLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-12-28%2B23-17-33.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://3.bp.blogspot.com/-6Y9YUYFGXUc/WkVdNTTIawI/AAAAAAAABfQ/qHFmmLrIm4Ad2-tD_cTWno4BlYhl26QfACLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-12-28%2B23-17-33.png" width="320" /></a></div>
<br />
<br />
В качестве эмулятора терминала задействован <b>Tilix</b> (ранее назывался Terminix). Говоря простым языком - это GNOME Terminal со встроенным tmux :) Позволяет открывать несколько терминальных сессий в одном окне, удобно их располагая.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-mdcofALPpLY/WkVdVZ1_PXI/AAAAAAAABfY/5RMpHrfQouo3BCcsxzRkVRCPpj322vRPQCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-12-28%2B23-18-09.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://1.bp.blogspot.com/-mdcofALPpLY/WkVdVZ1_PXI/AAAAAAAABfY/5RMpHrfQouo3BCcsxzRkVRCPpj322vRPQCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-12-28%2B23-18-09.png" width="320" /></a></div>
<br />
В системе также предустановлен медиацентр Kodi (бывший XBMC).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-NHlhgzztHvA/WkVdfgUhUvI/AAAAAAAABfc/vQSt883m2D4OUivskwCt9wSaLOx2sj8SgCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-12-28%2B23-19-01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="893" data-original-width="1600" height="178" src="https://1.bp.blogspot.com/-NHlhgzztHvA/WkVdfgUhUvI/AAAAAAAABfc/vQSt883m2D4OUivskwCt9wSaLOx2sj8SgCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-12-28%2B23-19-01.png" width="320" /></a></div>
<br />
<br />
Для дополнительной защищённости по умолчанию включена система мандатного контроля доступа AppArmor.<br />
<br />
Помимо этого в системе доступен джентльменский набор: LibreOffice, видео-аудио плееры (предустановлен набор свободных кодеков FFmpeg), оболочка для управления виртуальными машинами GNOME Boxes, программа просмотра изображений и прочее. Софт в репозиториях, разумеется, полностью свободный. Здесь вы не найдёте даже Steam. Никто не запрещает подключить репозитории Debian и установить всё необходимое оттуда. Но возникает вопрос - на кой тогда использовать PureOS?<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-CIZDa7JbGzo/WkVdmFCeJ1I/AAAAAAAABfg/6esUXjWZwZQlQeO38ikCgjsnEiagnS3qACLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-12-28%2B22-17-21.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="899" data-original-width="1600" height="179" src="https://3.bp.blogspot.com/-CIZDa7JbGzo/WkVdmFCeJ1I/AAAAAAAABfg/6esUXjWZwZQlQeO38ikCgjsnEiagnS3qACLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-12-28%2B22-17-21.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-Kb5-0Xo1IUE/WkVdmP1Bv4I/AAAAAAAABfk/KZAvxcEk9AAAZp8_Kbp1l-qONHEZMqGgwCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-12-28%2B23-19-30.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="902" data-original-width="1600" height="180" src="https://4.bp.blogspot.com/-Kb5-0Xo1IUE/WkVdmP1Bv4I/AAAAAAAABfk/KZAvxcEk9AAAZp8_Kbp1l-qONHEZMqGgwCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-12-28%2B23-19-30.png" width="320" /></a></div>
<br />
<br />
Поговорим о минусах системы. Один из главных недостатков PureOS является продолжением её достоинств: так в системе полностью отсутствуют несвободные компоненты, это сильно ограничивает список поддерживаемого оборудования. К примеру моей Nvidia GTX 760 для работы не требуются бинарные прошивки (не путать с драйверами), а вот более новым картам Nvidia они необходимы. Без них вы даже нормальное разрешение экрана не выставите. То же самое касается различных плат расширения, веб-камер, Wi-Fi модулей и так далее.<br />
<br />
Среди других недостатков - винегрет в самом GNOME. Некоторые компоненты имеют версию 3.26, в частности гномовские приложения, тогда как GNOME Shell тут версии 3.22, как и параметры системы. Это вводит в ступор, так как в оригинальном Debian Sid, все компоненты Гнома актуальны и соответствуют друг другу. Вследствие этого здесь встречается довольно мерзкий баг, при чём проявляющийся абсолютно рандомно: после первого захода в меню приложений и выхода из него, кнопка входа в это меню перестаёт быть активной. Спасает перезаход в сессию или перезагрузка. Кроме того - не работает автовход. Даже если указать автовход на этапе установки системы - вас всё равно будет встречать окно входа. Эта же помесь пакетов разных версий сильно влияет на работу Wayland-сеанса. Возможно с обновлениями это исправят. Ну, возможно для кого-то недостатком будет сам GNOME, ведь это самое жручее графическое окружение из всех существующих.<br />
<br />
Но если смотреть в целом - PureOS справляется со своей задачей на отлично. Это полностью свободная ОС, с минимумом модификаций, работающая на современном и актуальном железе ноутбуков Librem. Рекомендую ли я его всем? Нет. На подавляющем большинстве компьютеров, без проприетарных драйверов и бинарных прошивок делать нечего. Будут проблемы либо с видео, либо со звуком, Wi-Fi и много чем ещё. PureOS и ноутбуки Librem созданы для тех, чьими целями является полная свобода железа и ОС, полная анонимность и приватность. И одной ОС тут мало. PureOS не даст никаких преимуществ в сравнении с обычным Debian. Впрочем, на сайте FSF вы можете найти <a href="https://www.fsf.org/resources/hw/endorsement">список оборудования</a>, полностью соответствующего критериям фонда. И вот уже под него можно будет выбрать PureOS. Или же другой полностью свободный дистрибутив. А на этом у меня всё! Жду вашего мнения в комментариях. Всего хорошего!</div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com3tag:blogger.com,1999:blog-9898793114661249.post-89851348863974658542017-09-27T06:09:00.000+04:002017-09-27T06:09:48.727+04:00Для MATE подготовлен патч с реализацией поддержки расширения XPresent<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-0oR3Jw3VbGo/WcqHDiM6EnI/AAAAAAAABeI/guMjM71XRYAql9si3dOBMTM20mrHnbPNgCLcBGAs/s1600/1090502426-0-ubuntu-mate-avatar.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="82" data-original-width="82" src="https://3.bp.blogspot.com/-0oR3Jw3VbGo/WcqHDiM6EnI/AAAAAAAABeI/guMjM71XRYAql9si3dOBMTM20mrHnbPNgCLcBGAs/s1600/1090502426-0-ubuntu-mate-avatar.png" /></a></div>
Всем привет! Не так давно я <a href="https://github.com/mate-desktop/marco/issues/326">написал</a> разработчикам графического окружения <b>MATE</b> сообщение, где попросил их добавить поддержку отрисовки через <b><a href="https://lwn.net/Articles/569701/">DRI3/Present</a></b> - расширение оконной системы Xorg, позволяющее отрисовывать графику самым прямым способом, что полностью избавляет от тиринга, а также ощутимо <a href="https://www.phoronix.com/scan.php?page=article&item=radeon-dri3-perf&num=1">повышает</a> производительность 3D графики. Разумеется только на свободных видеодрайверах. И вот на днях, был представлен <a href="https://github.com/mate-desktop/marco/pull/350">патч</a>, добавляющий поддержку расширения XPresent. Сейчас я помогаю его тестировать, и по первым результатам - есть и хорошие и плохие новости. Плохие - на 64-х битной Ubuntu MATE 17.10 оно не работает, и на моём железе (тестировал на Nvidia GTX 760 и Radeon HD7770, всё на свободных видеодрайверах) приводит к сильным глюкам отрисовки. Это касается только 64-х битных систем. Однако на 64-х битном Debian Testing - всё работает просто замечательно! И это весьма обнадёживает. Поэтому будем надеяться, что скоро причина проблемы найдётся. Если вы хотите помочь в тестировании - напишите в комментариях.<br />
<br />
P.S. Поддержка XPresent также была добавлена в Xfce, о чём я <a href="https://linuxoidblog.blogspot.ru/2017/07/linux-mint-182-xfce.html">писал</a> не так давно. В будущем есть планы по добавлению в MATE поддержки GLX, что привнесёт аппаратное ускорение отрисовки через OpenGL.</div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com0tag:blogger.com,1999:blog-9898793114661249.post-35261048937452513212017-09-14T21:54:00.000+04:002017-09-14T21:54:59.594+04:00Установить профессиональный видеоредактор DaVinci Resolve, в Debian, Ubuntu и производных<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-jgbyVmivOJg/WbrA8YhGcrI/AAAAAAAABd0/wJfgoQSS3UYIfwTdvfUaiEvBJRfpYaA8gCLcBGAs/s1600/1479141225_besplatnyy-analog-cyberlink-power-director-davinci-resolve.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="77" data-original-width="82" src="https://3.bp.blogspot.com/-jgbyVmivOJg/WbrA8YhGcrI/AAAAAAAABd0/wJfgoQSS3UYIfwTdvfUaiEvBJRfpYaA8gCLcBGAs/s1600/1479141225_besplatnyy-analog-cyberlink-power-director-davinci-resolve.png" /></a></div>
Если вы <a href="https://www.opennet.ru/opennews/art.shtml?num=46130">следите</a> за <a href="http://www.opennet.ru/opennews/art.shtml?num=47161">новостями</a>, то знаете, что знаменитый профессиональный видеоредактор и система цветокоррекции <b>DaVinci Resolve</b>, в своей бесплатной редакции, доступен теперь и для Linux. Однако официально разработчиками поддерживаются только <b>CentOS</b> и <b>Red Hat Enterprise Linux</b>, как системы для профессиональных графических станций. Однако это вовсе не означает, что Resolve не будет работать в других дистрибутивах. И в этой заметке я покажу как установить его в Debian, Ubuntu и их производных.<br />
<a name='more'></a><br />
<div>
<span style="color: red;"><br /></span></div>
<div>
<span style="color: red;">Важно:</span> программа работает только с проприетарными видеодрайверами Nvidia и AMD. И вообще оптимизирована по большей части под Nvidia, поэтому убедитесь что у вас установлена последняя версия видеодрайвера.</div>
<div>
<br /></div>
<div>
Прежде всего нужно скачать сам редактор. Переходим по <a href="https://www.blackmagicdesign.com/ru/products/davinciresolve/">ссылке</a>, выбираем версию DaVinci Resolve для Linux. Нас попросят зарегистрироваться. Вводите абсолютно левые данные и качайте архив :). После скачивания и распаковки у вас окажутся установочный пакет и PDF'ка с инструкцией. Она нам не нужна. Открываем терминал в том каталоге, куда распаковали установочный файл и вводим:</div>
<div>
<br /></div>
<div>
<u>sudo sh DaVinci_Resolve_14.0_Linux.sh</u></div>
<div>
<br /></div>
<div>
Начнётся установка. Программа ставится в каталог /opt и создаёт нужный для запуска ярлык на рабочем столе и в меню приложений. Так как она собирается с учётом CentOS - то требует старые версии некоторых библиотек, в частности libSSL и libPNG. Первую даунгрейдить не нужно, нужно просто создать несколько символьных ссылок:</div>
<div>
<br /></div>
<div>
<u>sudo ln -s /usr/lib /usr/lib64</u></div>
<div>
<u>sudo ln -s /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0 /usr/lib/libgstreamer-0.10.so.0</u></div>
<div>
<u>sudo ln -s /usr/lib/x86_64-linux-gnu/libgstbase-1.0.so.0 /usr/lib/libgstbase-0.10.so.0</u></div>
<div>
<u>sudo ln -s /lib/x86_64-linux-gnu/libssl.so.1.0.0 /usr/lib/libssl.so.10</u></div>
<div>
<u>sudo ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /usr/lib/libcrypto.so.10</u></div>
<div>
<br /></div>
<div>
Далее если у вас Debian 9 - качаем пакет libpng12 <a href="https://packages.debian.org/jessie/libpng12-0">отсюда</a> (в самом низу странице, выбрав свою архитектуру) и устанавливаем, например, в GDebi. Юзерам Ubuntu 16.10 (и новее) и производных - <a href="https://packages.ubuntu.com/xenial/libpng12-0">сюда</a>.</div>
<div>
<br /></div>
<div>
Вот и вся работа. Можно пользоваться</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-bTbCPpo5OTM/Wbq-vgTBKnI/AAAAAAAABdo/ZyAmVoQU1zoxImQmceB0rw9U4oWhMRVZACLcBGAs/s1600/Screenshot_20170915_023849.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://2.bp.blogspot.com/-bTbCPpo5OTM/Wbq-vgTBKnI/AAAAAAAABdo/ZyAmVoQU1zoxImQmceB0rw9U4oWhMRVZACLcBGAs/s320/Screenshot_20170915_023849.png" width="320" /></a></div>
<div>
<br /></div>
<div>
У приложения отсутствует рамка окна, так что не пугайтесь, это не баг :) Однако в бесплатной линуксовой версии присутствует досадное ограничение: нет возможности экспорта видео кодеком H.264, хотя в Win и Mac версиях эта возможность есть.</div>
</div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com4tag:blogger.com,1999:blog-9898793114661249.post-17831694004817831152017-09-07T19:53:00.001+04:002017-09-07T19:53:36.724+04:00Запуск GNOME on Wayland с проприетарным драйвером Nvidia: История успеха<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-IfOrCuF6Z0w/WWC5v7eY5HI/AAAAAAAABZM/lN6vUqqZ0EsUkc9tbO6nv-dhPLgm8OvkACPcBGAYYCw/s1600/5505cef143beed88616e539ffe940133-nvidia.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="82" data-original-width="82" src="https://1.bp.blogspot.com/-IfOrCuF6Z0w/WWC5v7eY5HI/AAAAAAAABZM/lN6vUqqZ0EsUkc9tbO6nv-dhPLgm8OvkACPcBGAYYCw/s1600/5505cef143beed88616e539ffe940133-nvidia.png" /></a></div>
Итак, свершилось! Мне наконец-то удалось запустить Wayland-сессию GNOME на проприетарном драйвере Nvidia (далее по тексту "блоб"). Для тех, кто не в теме: начиная с версии драйвера 364.12, Nvidia <a href="https://www.opennet.ru/opennews/art.shtml?num=44087">реализовала</a> в нём начальную поддержку Wayland, однако несовместимую с тем, что используется в Mesa. В Mesa применяется библиотека <b>GBM - Generic Buffer Manager</b>, аллокатор буферов изображений. Реализация Nvidia основана на расширениях <b>EGLStreams</b> и <b>EGLDevice</b>, являющихся кроссплатформенным открытым стандартом <b>Khronos </b>(консорциума, разрабатывающего OpenGL, OpenCL, Vulkan и так далее). В списке рассылки разработчиков Wayland, Nvidia представила патчи для композитного менеджера <b><a href="https://ru.wikipedia.org/wiki/Wayland#Weston">Weston</a></b>, однако разработчики их не приняли и, можно сказать, <a href="http://s2.quickmeme.com/img/a3/a3e74e84b75879442f73df18e67c1e0c8cb93e5919a4b3f1baba511bfa3e6cb8.jpg">послали Nvidia подальше</a>. Зато эти патчи адаптировали для Mutter и <a href="https://github.com/SirCmpwn/sway">Sway</a>, но о качестве работы будет ниже. Nvidia же в прошлом году анонсировала новый аллокатор, разрабатываемый совместно с разработчиками Mesa, уже готов <a href="https://github.com/cubanismo/allocator">начальный прототип</a>, но работы ещё много. Nvidia не хочет создавать что-то платформоспецифичное, так как ей проще поддерживать единую кодовую базу для всех ОС.<br />
<a name='more'></a><br />
<br />
Поддержка EGLStreams обеспечена в GNOME 3.24, однако для этого, оконный менеджер Mutter должен быть собран с <b>--enable-egl-device</b> Как оказалось, в Fedora 26 он собран без этой опции, также из-за применения библиотеки GLvnd, получаются лютые тормоза и лаги мышки. Аналогично в Arch Linux.<br />
<br />
Поэтому для тестов я выбрал альфа-версию Ubuntu 17.10. Итак, что для этого нужно проделать:<br />
<br />
<br />
<ul style="text-align: left;">
<li>1) установить драйвер Nvidia (<i>sudo apt install nvidia-375</i>)</li>
<li>2) <a href="https://linuxoidblog.blogspot.ru/2017/07/drm-kms-nvidia.html">включить DRM/KMS</a> (по умолчанию в блобе он выключен из-за недоделанности и проблем со SLI-конфигурациями). Для этого в <i>/etc/default/grub</i>, в секцию параметров ядра, добавляем строку <span style="background-color: yellow;">nvidia-375-drm.modeset=1</span> Номер драйвера указывать только для Ubuntu! Признаком успешного запуска DRM/KMS является Xorg, запущенный от юзера (в этом можно убедиться в менеджере процессов)</li>
</ul>
<br />
<br />
По идее, если всё сделано правильно, то сразу после перезагрузки Гном должен запуститься на Wayland, однако меня встречало окно входа в систему, и сеанс с Wayland никак не грузился. Поэтому я переключился на пятую tty-консоль (Ctrl+Alt+F5), и стартанул сессию командой <b>dbus-run-session -- gnome-shell --display-server --wayland</b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-PLLgmpPWUl8/WZGs8NX6AHI/AAAAAAAABak/xWjQiO1QntQF00AAfQWMnt1MxHmQT3tRACLcBGAs/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://4.bp.blogspot.com/-PLLgmpPWUl8/WZGs8NX6AHI/AAAAAAAABak/xWjQiO1QntQF00AAfQWMnt1MxHmQT3tRACLcBGAs/s320/1.png" width="320" /></a></div>
<br />
<br />
И о чудо! Оно запустилось! Начну с приятных моментов. Отрисовка значительно быстрее, чем с блобом на иксах. Курсор не отстаёт от окна ни на пиксель, анимации плавненькие, изменение размера окон не тормозит. Может немного лагануть меню приложений, но я грешу на старый тормозной HDD, на котором я всё тестировал. Flatpak-приложения работают, но не все. Видео работает без проблем.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-YYZXvWEMEUQ/WZGtTo43NBI/AAAAAAAABa0/yJrq0JEWLa4lKODAjVYwdrp3fhzBhhckgCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-07-13%2B17-59-17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://3.bp.blogspot.com/-YYZXvWEMEUQ/WZGtTo43NBI/AAAAAAAABa0/yJrq0JEWLa4lKODAjVYwdrp3fhzBhhckgCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-07-13%2B17-59-17.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-lemGkfbX7PQ/WZGtTip7M9I/AAAAAAAABa4/a2WwDpyMy5g5afM538wdnkeNlpwXfDcJQCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-07-13%2B18-04-04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://1.bp.blogspot.com/-lemGkfbX7PQ/WZGtTip7M9I/AAAAAAAABa4/a2WwDpyMy5g5afM538wdnkeNlpwXfDcJQCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-07-13%2B18-04-04.png" width="320" /></a></div>
<br />
<br />
Собственно, на этом приятное заканчивается. Далее оглашаю список ограничений:<br />
<br />
1) Первое и самое главное - не работает Xwayland. В большинстве приложений. Из иксовых приложений успешно запустились лишь Firefox, Clementine и Chromium, остальные падают с ошибкой <b>Could not initialize GLX</b> Потому запуск возможен только нативных Wayland-приложений. Чтобы запустить что-то на Qt5, нужно добавить переменную окружения <span style="background-color: yellow;">export QT_QPA_PLATFORM=wayland</span>, но тут тоже есть неприятные моменты, связанные с тем что GNOME не поддерживает серверные декорации окон, и потому Qt5-приложения будут рисовать рамку окна своими силами - та самая синяя и убогая рамка окна, без теней и каких-либо отличий активного окна от неактивного, которую вы возможно наблюдали на скриншотах. Поддержка Xwayland не планируется.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-pnQJXkGfsB4/WZGtEM-7y1I/AAAAAAAABao/xzXHQXBJYzUgHr7wQL0DyncSsMrdyTDRwCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-07-13%2B17-59-43.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://1.bp.blogspot.com/-pnQJXkGfsB4/WZGtEM-7y1I/AAAAAAAABao/xzXHQXBJYzUgHr7wQL0DyncSsMrdyTDRwCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-07-13%2B17-59-43.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-d05QsCLN_wU/WZGtERb0EWI/AAAAAAAABaw/De3KZ4qmm_4UcjsvII8ROLgmyQdO3CYLgCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-07-13%2B18-01-26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://2.bp.blogspot.com/-d05QsCLN_wU/WZGtERb0EWI/AAAAAAAABaw/De3KZ4qmm_4UcjsvII8ROLgmyQdO3CYLgCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-07-13%2B18-01-26.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-ctVUqOfFAwk/WZGtEZ_4KKI/AAAAAAAABas/5ed4p9zlu-EEOgLGsGaBjanPsDtB7t1CwCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-07-13%2B18-01-57.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://4.bp.blogspot.com/-ctVUqOfFAwk/WZGtEZ_4KKI/AAAAAAAABas/5ed4p9zlu-EEOgLGsGaBjanPsDtB7t1CwCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-07-13%2B18-01-57.png" width="320" /></a></div>
<br />
<br />
2) Не запускается панель управления Nvidia (потому на скриншотах её нет), не работают приложения, использующие веб-камеру (правда я только Cheese запускал), и как следствие предыдущего пункта - не работает ни одна игра (кроме встроенных гномовских) или эмулятор игровых консолей.<br />
<br />
3) Иногда грузит CPU на 100%. Баг широко известен в сети, но я не знаю что думает на этот счёт Nvidia. От апстрима Гнома ответа не дождался.<br />
<br />
4) KMS работает частично, в частности переключение между виртуальным консолями происходит секунды 2, а возврат в графическую может проходить и все 5. На свободном драйвере всё происходит мгновенно. Да, если вдруг кто спросит - нет, KMS в блобе не даёт высокое разрешение в консоли. Нету драйвера для <b>fbdev</b>, хотя с <b>efifb</b> (на материнских платах с UEFI) вроде как разрешение высокое.<br />
<br />
5) Родная панель управления Гнома не работает в такой конфигурации, потому запускается её сильно кастрированный вариант<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-SbCFmplQrpc/WZGsv6BZtdI/AAAAAAAABag/QLFGy37tbrMdL7ZYFnXcsQJ2HKrw46PEQCLcBGAs/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-07-13%2B18-04-46.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://4.bp.blogspot.com/-SbCFmplQrpc/WZGsv6BZtdI/AAAAAAAABag/QLFGy37tbrMdL7ZYFnXcsQJ2HKrw46PEQCLcBGAs/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017-07-13%2B18-04-46.png" width="320" /></a></div>
<br />
<br />
Итог: по сути Нвидию, по сути, обвинить не в чем. В кое-то веки смогла в стандарты. Вот только сделала она это слишком поздно. Когда в Linux только начиналось появление и становление Wayland, Nvidia от него отвернулась, сказав что поддерживать это в её планы не входит. Как только сообщество всё отладило и реализовало поддержку в свободных драйверах и оконных менеджерах - Nvidia примчалась и сказала что "есть вариант лучше". Вот только лучше не стало, даже наоборот - всплыли многие косяки. Я не думаю что будут какие-либо серьёзные улучшения как работы блоба с EGLStreams, так и оконных менеджеров куда эти патчи добавили, ибо апстрим не принял, и тестировать некому. Хотя посмотрим как оно будет. На данный момент вердикт - <b>неюзабельно</b>.</div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com0tag:blogger.com,1999:blog-9898793114661249.post-62440093346100532652017-09-07T19:14:00.000+04:002017-09-07T19:15:30.456+04:00Mesa 17.2 доступна для Debian 9 (+репозиторий драйверов Nvidia)<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-_0Mo0HzRndE/Vp9JilyRGAI/AAAAAAAAA4I/AovU7wMYGpU2HFbmrOY6gv3jN0ZWX4qUgCPcBGAYYCw/s1600/glxosd1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="85" data-original-width="85" src="https://1.bp.blogspot.com/-_0Mo0HzRndE/Vp9JilyRGAI/AAAAAAAAA4I/AovU7wMYGpU2HFbmrOY6gv3jN0ZWX4qUgCPcBGAYYCw/s1600/glxosd1.png" /></a></div>
Приветствую! В моём репозитории, со <a href="https://linuxoidblog.blogspot.ru/2017/07/mesa-updates-debian-debian-9.html">свежими свободными графическими драйверами</a> для Debian 9 и производных, обновление: Mesa 17.2. Свежий выпуск Mesa примечателен следующими изменениями:<br />
<a name='more'></a><br /><br />
<br />
<br />
<br />
<ul style="text-align: left;">
<li>В драйвере radeonsi обеспечена начальная поддержка готовящихся к выпуску GPU Radeon RX Vega и Raven Ridge. Улучшена поддержка видеоускорителя VideoCore IV, применяемого в платах Raspberry Pi;</li>
<li>В трекерах состояний XvMC и OMX обеспечена работа с DRI3;</li>
<li>В реализации EGL появилась поддержка модификаторов;</li>
<li>В Vulkan-драйверы RADV (для карт AMD) и ANV (для карт Intel) внесена серия оптимизаций производительности. В драйвере RADV обеспечена полная совместимость с шлемами виртуальной реальности SteamVR.</li>
<li>Добавлена поддержка новых расширений OpenGL:</li>
<li>GL_ARB_bindless_texture в radeonsi</li>
<li>GL_ARB_post_depth_coverage в nvc0 (GM200+)</li>
<li>GL_ARB_shader_ballot в i965/gen8+</li>
<li>GL_ARB_shader_group_vote в i965</li>
<li>GL_ARB_shader_viewport_layer_array в nvc0 (GM200+)</li>
<li>GL_AMD_vertex_shader_layer в nvc0 (GM200+)</li>
<li>GL_AMD_vertex_shader_viewport_index в nvc0 (GM200+)</li>
<li>Удалена поддержка устаревшего расширения GL_APPLE_vertex_array_object.</li>
</ul>
<br />
<div>
Плюс ко всему, Mesa 17.2 в данном репозитории, собрана с поддержкой библиотеки <a href="https://www.opennet.ru/opennews/art.shtml?num=43843">libglvnd</a>, что позволяет на одной системе сосуществовать нескольким реализациям OpenGL, то есть, например, свободному и проприетарному видеодрайверу (Nvidia). Данная библиотека успешно обкатана в Arch Linux и Fedora, и теперь всё работает в Debian. Это важная составляющая для работы ноутбуков с гибридной графикой, и сейчас идёт разработка реализации GLVND на стороне сервера, что позволит автоматически переключать видеокарты на ноутах с Nvidia Optimus, как это происходит в Windows. Mesa 17.2 также будет необходима тем, кто хочет играть в новые игры с поддержкой Linux, например <b>Warhammer 40.000 Dawn of War 3</b>, которой необходимо расширение <b>GL_ARB_bindless_texture</b>. Кроме того отныне доступен <a href="http://download.opensuse.org/repositories/home:/Sunderland93:/nvidia-updates-debian/Debian_9.0/">экспериментальный репозиторий с драйверами Nvidia</a>. Я его сделал для себя, и пока как следует не тестировал. Если желаете мне с этим помочь - буду очень признателен. Также напоминаю: <b>используйте представленные репозитории на свой страх и риск!</b> И не забывайте сообщать об ошибках в их работе, если таковы имеются. Ну, у меня пока всё :)</div>
</div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com3tag:blogger.com,1999:blog-9898793114661249.post-22160359585750964372017-09-03T21:36:00.001+04:002020-11-30T02:18:49.516+04:00Гайд: Установка FreeBSD в качестве десктопной системы (Обновлено и дополнено)<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-u6gK9AfGRfg/WawfTpojDKI/AAAAAAAABdY/oe7Oaktnjck1x8fNYjokluNFs29yVCVCQCEwYBhgL/s1600/freebsd-logo_no_text.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="80" data-original-width="82" src="https://2.bp.blogspot.com/-u6gK9AfGRfg/WawfTpojDKI/AAAAAAAABdY/oe7Oaktnjck1x8fNYjokluNFs29yVCVCQCEwYBhgL/s1600/freebsd-logo_no_text.png" /></a></div>
Весьма странно видеть в "Блоге начинающего <b>линуксоида</b>" статью об установке и настройке совершенно левой операционной системы :) Однако по моим наблюдениям, всё больше и больше людей начинают интересоваться <b>FreeBSD</b>. Кто-то чисто ради интереса, ибо слышал о ней в новостях, или что на ней работает Playstation 4, а кто-то ради <b>"свалить с Линукса, который всё время ломают всякие Поттеринги, со своими systemd"</b>. Лично для меня это первый пункт. Мне нравится пользоваться самыми разнообразными операционными системами, даже теми, которые давно почили, или совершенно не привычны любому современному пользователю ПК. К сожалению, толковой и полной информации о том, как заюзать FreeBSD в качестве десктопа, в рунете я не нашёл. На зарубежных сайтах ситуация гораздо лучше, но всё равно не идеал. Потому собрав всё по частям, я решил написать этот гайд. Он будет актуален для <b>FreeBSD 12</b>. Прошу обратить внимание: предполагается что читатель уже имеет навыки работы с Unix-системами и уверенно себя чувствует в терминале.<br />
<a name='more'></a><br />
<br />
Первым делом нужно <a href="ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/12.2/">скачать</a> дистрибутив системы. В отличии от GNU/Linux, здесь нет тучи разнообразных дистрибутивов, FreeBSD - это одна, единая операционная система. Если вы будете ставить её с флешки (а скорее всего это так) - скачивайте образ с префиксом <b>memstick</b>. И записывайте на флешку любым способом. Я использовал утилиту <b>Mintstick</b>.<br />
<br />
После того как вы загрузитесь с флешки, перед вами предстанет стартовый экран FreeBSD. Жмите Enter и ждите старта установщика. Установщик системы псевдографический, однако здесь работает мышь, так что освоиться будет проще. Нажимаем <i>Intall</i>. Система спросит о том, какую раскладку клавиатуры вы хотите установить. По умолчанию предлагается английская. Не заморачивайтесь и жмите Enter. Далее введите имя компьютера, на который ставите систему. Это будет необходимо, например, для сетевого доступа к ресурсам компьютера. Я в качестве имени написал <b>freebsd-pc</b>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-dhCITnNoxbM/WawP3cRvf_I/AAAAAAAABb8/_gchvS885WcmBVucgda9rxcTzBe3j1ofgCLcBGAs/s1600/Screenshot_20170831_141625.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="411" data-original-width="730" height="180" src="https://1.bp.blogspot.com/-dhCITnNoxbM/WawP3cRvf_I/AAAAAAAABb8/_gchvS885WcmBVucgda9rxcTzBe3j1ofgCLcBGAs/s320/Screenshot_20170831_141625.png" width="320" /></a></div>
<br />
<br />
Далее система спросит об установке дополнительных архивов. По умолчанию выбраны 32-х битные библиотеки, необходимые для работы 32-х битных приложений, и коллекция портов (о них чуть позже). Рекомендую отметить пункт <b>src</b>, пригодится. Для этого выберите этот пункт и нажмите <b>Пробел</b>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-J0-enh4L2eM/WawQEFaxNLI/AAAAAAAABcA/I7TIHLgNW4YYIZ_XpfuqzepelgZCBGcywCLcBGAs/s1600/Screenshot_20170831_141835.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="411" data-original-width="731" height="179" src="https://2.bp.blogspot.com/-J0-enh4L2eM/WawQEFaxNLI/AAAAAAAABcA/I7TIHLgNW4YYIZ_XpfuqzepelgZCBGcywCLcBGAs/s320/Screenshot_20170831_141835.png" width="320" /></a></div>
<br />
<br />
Теперь самый ответственный момент - разметка диска. Установщик поддерживает установку FreeBSD на файловые системы ZFS и UFS. Если ваш компьютер имеет 4 или менее гигабайта оперативной памяти, и у вас нет кучи дисков, которые вы хотели бы собрать в RAID-массив, а также если вам не нужен такой функционал, как создание снимков состояния файловой системы - в использовании ZFS смысла нет. На мой взгляд, в ней вообще нет смысла на десктопе, потому я выбираю классическую Unix File System (UFS).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-zKlEAjP3mQ0/WawQpO8hJZI/AAAAAAAABcM/XyfBMZ5y9rofv9oSuZy1lc_BDXSybhwggCLcBGAs/s1600/Screenshot_20170831_142906.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="407" data-original-width="733" height="177" src="https://3.bp.blogspot.com/-zKlEAjP3mQ0/WawQpO8hJZI/AAAAAAAABcM/XyfBMZ5y9rofv9oSuZy1lc_BDXSybhwggCLcBGAs/s320/Screenshot_20170831_142906.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-r1UbvJzdqds/WawQpEEpTfI/AAAAAAAABcI/wM0juB9SXCA73VXnrZOGRh2LgAQ2nssDACLcBGAs/s1600/Screenshot_20170831_144230.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="412" data-original-width="734" height="179" src="https://2.bp.blogspot.com/-r1UbvJzdqds/WawQpEEpTfI/AAAAAAAABcI/wM0juB9SXCA73VXnrZOGRh2LgAQ2nssDACLcBGAs/s320/Screenshot_20170831_144230.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-gTLFYHM1UVs/WawQpM7FZWI/AAAAAAAABcQ/O3bhkrGLqzQa9faXJR73sYbMzoW1miF8gCLcBGAs/s1600/Screenshot_20170831_144445.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="416" data-original-width="733" height="181" src="https://2.bp.blogspot.com/-gTLFYHM1UVs/WawQpM7FZWI/AAAAAAAABcQ/O3bhkrGLqzQa9faXJR73sYbMzoW1miF8gCLcBGAs/s320/Screenshot_20170831_144445.png" width="320" /></a></div>
<br />
<br />
Итак, допустим у вас на диске есть неразмеченное пространство и диск имеет таблицу разделов GPT. Выбираем тот диск, на котором это неразмеченное пространство, и внизу стрелками выбираем пункт <i>Create</i>. Указываем размер раздела и точку монтирования - <b>/</b> . Таким же способом создаём другие разделы (/home, swap и т.д.). Если же диск у вас имеет таблицу разделов MBR - то сперва потребуется создать раздел с метками BSD, и уже в нём создавать остальные разделы. Что-то вроде расширенного раздела. Внимательно всё перепроверьте, чтобы случайно не затереть рабочие разделы! Если же вы ставите FreeBSD на отдельный пустой диск - то задача будет проще.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-yNvmAfiHKCI/WawQw-doldI/AAAAAAAABcU/cmVxMiDZQdghgk_STCgyEYbUb7ErzP0_ACLcBGAs/s1600/Screenshot_20170831_144518.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="412" data-original-width="733" height="179" src="https://4.bp.blogspot.com/-yNvmAfiHKCI/WawQw-doldI/AAAAAAAABcU/cmVxMiDZQdghgk_STCgyEYbUb7ErzP0_ACLcBGAs/s320/Screenshot_20170831_144518.png" width="320" /></a></div>
<br />
<br />
После окончания разметки выбираем <i>Finish</i> и <i>Commit</i>. Начнётся установка.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-8VBrGWURNNY/WawQ57Pt_vI/AAAAAAAABcY/zIIedMoXXQYozoJmGfiGpbOUcLsxhQP9gCLcBGAs/s1600/Screenshot_20170831_144828.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="414" data-original-width="731" height="181" src="https://1.bp.blogspot.com/-8VBrGWURNNY/WawQ57Pt_vI/AAAAAAAABcY/zIIedMoXXQYozoJmGfiGpbOUcLsxhQP9gCLcBGAs/s320/Screenshot_20170831_144828.png" width="320" /></a></div>
<br />
<br />
После распаковки архивов система попросит указать <b>пароль root</b>. Далее будет настройка сетевых интерфейсов, временной зоны и выбор служб при запуске системы. Я отметил эти<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-CHZYF0vNnpA/WawRyvWUNUI/AAAAAAAABck/F3sAYSPrSA4FX5nn80uvebJ4BTAuve1ugCLcBGAs/s1600/Screenshot_20170831_145153.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="417" data-original-width="726" height="183" src="https://4.bp.blogspot.com/-CHZYF0vNnpA/WawRyvWUNUI/AAAAAAAABck/F3sAYSPrSA4FX5nn80uvebJ4BTAuve1ugCLcBGAs/s320/Screenshot_20170831_145153.png" width="320" /></a></div>
<br />
<br />
Пропускаем раздел <b>System Hardenng</b> и соглашаемся на добавление пользователя в систему. Имя пользователя вводится с маленькой буквы, полное имя уже можно писать с большой. По сути на все вопросы можно отвечать клавишей Enter. Здесь важно лишь указать пароль для своего пользователя, в конце подтвердить введённые данные, набрав yes и нажав Enter, и отказаться от добавления других пользователей (набрав no и нажав Enter). Далее нажимаем <i>Exit</i> и перезагружаемся. Установка системы на этом окончена.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-YCNOBIJ7-v8/WawR_vbV4TI/AAAAAAAABco/AcMZIGTmq20w96eoiKWGFUcn1H6K8PYbACLcBGAs/s1600/Screenshot_20170831_145454.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="413" data-original-width="735" height="179" src="https://3.bp.blogspot.com/-YCNOBIJ7-v8/WawR_vbV4TI/AAAAAAAABco/AcMZIGTmq20w96eoiKWGFUcn1H6K8PYbACLcBGAs/s320/Screenshot_20170831_145454.png" width="320" /></a></div>
<br />
<br />
<h3 style="text-align: left;">
Добавление FreeBSD в меню GRUB 2.</h3>
<br />
Если вы установили FreeBSD рядом с Linux, но при простом обновлении загрузчика GRUB пункт с FreeBSD не появится в меню выбора OS. Потому откройте файл <i>/etc/grub.d/40_custom</i> и добавьте туда:<br />
<br />
<span style="background-color: yellow;">menuentry "FreeBSD 12.2" --class freebsd --class bsd --class os {</span><br />
<span style="background-color: yellow;"> insmod ufs2</span><br />
<span style="background-color: yellow;"> insmod bsd </span><br />
<span style="background-color: yellow;"> insmod part_gpt</span><br />
<span style="background-color: yellow;"> set root='(hd2,5)'</span><br />
<span style="background-color: yellow;"> search --no-floppy --fs-uuid --set 4b22f9090565ab77 </span><br />
<span style="background-color: yellow;"> kfreebsd /boot/loader</span><br />
<span style="background-color: yellow;">}</span><br />
<br />
Важно указать верный раздел. hd2==/dev/sdb, 5 - /dev/sdb5. Таким образом если у вас FreeBSD стоит на разделе /dev/sda3, например - то это будет hd1,3. Выяснить на каком разделе у вас стоит FreeBSD можно командой <u>sudo blkid. </u>Этой же командой узнайте идентификатор нужного раздела (UUID) и впишите его в конфиг (без кавычек).<br />
<u></u><br />
<br />
<h3 style="text-align: left;">
Настройка после установки.</h3>
<b>Для удобства рекомендую сразу перейти к главе об установке графического окружения. Будет проще настраивать :)</b><br />
<br />
Самая вкуснятина :) Теперь предстоит слепить из серверной и по большей части не заточенной строго под что-то конкретное ОС - десктоп.<br />
<br />
Важное примечание: во FreeBSD существует два способа установки программ - с помощью системы портов и установка бинарных пакетов. Порты - это сценарии командной оболочки, скачивающие исходный код программы и компилирующие из него бинарный файл. Установка из портов занимает весьма продолжительное время (зависит от скорости сети и мощности процессора вашего компьютера), но позволяет гибко настраивать и оптимизировать любое ПО. Второй же способ ничем не отличается от установки программ в какой-нибудь Ubuntu. Я предпочитаю именно его. И время экономлю, да и настраивать и оптимизировать что-то я не хочу. Помните как мы отметили на этапе установки пункт src - исходный код базовой системы? Так вот: он понадобится если вы, например, будете устанавливать драйвер Nvidia из портов. Или же пересобирать ядро. Я его поставил для первого случая, ибо в бинарном виде драйвер обновляется не сразу. Можно устанавливать софт и из портов и из бинарных пакетов, они никак не будут конфликтовать.<br />
<br />
Первым делом я устанавливаю sudo, добавляю в него своего пользователя, устанавливаю текстовый редактор <b>nano</b> (так и не смог приучить себя к <b>Vim</b>), а также заменяю командную оболочку <b>sh</b> на <b>Bash</b>:<br />
<br />
<u>pkg install sudo bash nano</u><br />
<br />
Открываем файл <i>/usr/local/etc/sudoers</i>, ищем строку:<br />
<br />
<span style="background-color: yellow;">root ALL=(ALL:ALL) ALL</span><br />
<br />
и под ней пишем то же самое, но вместо root указываем имя вашего пользователя (в моём случае это sunderland93). Теперь установим для него оболочку Bash по умолчанию:<br />
<br />
<u>chsh -s /usr/local/bin/bash sunderland93</u><br />
<br />
Теперь наберите exit и залогиньтесь под своим пользователем.<br />
<br />
Теперь приступим к настройке локалей (мы же хотим иметь русский язык в системе и в приложениях?):<br />
<br />
<u>sudo pw user mod user_name -L russian</u><br />
<br />
Далее в <i>/boot/loader.conf</i> добавьте строки:<br />
<br />
<span style="background-color: yellow;">hw.vga.textmode=0</span><br />
<br />
и перезагрузитесь. Это необходимо для того, чтобы в консоли у вас был русский шрифт, а не крякозябры и вопросительные знаки.<br />
<br />
Отлично. Теперь самое время заняться оптимизацией FreeBSD под десктоп. Открываем файл <i>/etc/sysctl.conf</i> и кидаем туда всё это:<br />
<br />
<span style="background-color: yellow;"># Расширение разделяемой памяти для X11</span><br />
<span style="background-color: yellow;">kern.ipc.shmmax=67108864</span><br />
<span style="background-color: yellow;">kern.ipc.shmall=32768</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Увеличение отзывчивости системы при высокой нагрузке на CPU (200/224)</span><br />
<span style="background-color: yellow;">kern.sched.preempt_thresh=224</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Разделяемая память для Chromium</span><br />
<span style="background-color: yellow;">kern.ipc.shm_allow_removed=1</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"><br /></span>
<span style="background-color: white;">Сохраняем. Теперь добавляем некоторые параметры в загрузчик. Открываем /boot/loader.conf и добавляем следующее:</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Стильный логотип при загрузке</span><br />
<span style="background-color: yellow;">loader_logo="beastie"</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Тюнинг ядра при загрузке</span><br />
<span style="background-color: yellow;">kern.ipc.shmseg=1024</span><br />
<span style="background-color: yellow;">kern.ipc.shmmni=1024</span><br />
<span style="background-color: yellow;">kern.maxproc=100000</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Поддержка картридеров MMC/SD</span><br />
<span style="background-color: yellow;">mmc_load="YES"</span><br />
<span style="background-color: yellow;">mmcsd_load="YES"</span><br />
<span style="background-color: yellow;">sdhci_load="YES"</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Файловая система в пространстве пользователя</span><br />
<span style="background-color: yellow;">fuse_load="YES"</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Температурные датчики Intel</span><br />
<span style="background-color: yellow;">coretemp_load="YES"</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Температурные датчики AMD</span><br />
<span style="background-color: yellow;">amdtemp_load="YES"</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># TMPFS</span><br />
<span style="background-color: yellow;">tmpfs_load="YES"</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Поддержка асинхронного ввода-вывода</span><br />
<span style="background-color: yellow;">aio_load="YES"</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Поддержка юникода для переносных устройств</span><br />
<span style="background-color: yellow;">libiconv_load="YES"</span><br />
<span style="background-color: yellow;">libmchain_load="YES"</span><br />
<span style="background-color: yellow;">cd9660_iconv_load="YES"</span><br />
<span style="background-color: yellow;">msdosfs_iconv_load="YES"</span><br />
<br />
Последние штрихи. Открываем <i>/etc/rc.conf</i> и вписываем:<br />
<br />
<span style="background-color: yellow;"># Управление питанием и энергосбережение</span><br />
<span style="background-color: yellow;">powerd_enable="YES"</span><br />
<span style="background-color: yellow;">powerd_flags="-a hiadaptive -b adaptive"</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Включение BlueTooth</span><br />
<span style="background-color: yellow;">hcsecd_enable="YES"</span><br />
<span style="background-color: yellow;">sdpd_enable="YES"</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Синхронизация даты и времени</span><br />
<span style="background-color: yellow;">ntpd_enable="YES"</span><br />
<span style="background-color: yellow;">ntpd_flags="-g"</span><br />
<br />
Сохраняем. На очереди настройка монтирования дисков (да да, это вам не Linux, здесь и это нужно настроить вручную).<br />
<br />
Подключим виртуальную файловую систему /proc. Она будет очень нужна для кучи софта, а также некоторых графических окружений:<br />
<br />
<u>sudo nano /etc/fstab</u><br />
<br />
<span style="background-color: yellow;">proc<span style="white-space: pre;"> </span>/proc<span style="white-space: pre;"> </span>procfs<span style="white-space: pre;"> </span>rw<span style="white-space: pre;"> </span>0<span style="white-space: pre;"> </span>0</span><br />
<br />
<h3 style="text-align: left;">
Монтирование дисков.</h3>
<br />
Разрешим пользователю монтирование дисков:<br />
<br />
<u>sudo nano /etc/sysctl.conf</u><br />
<br />
<span style="background-color: yellow;">vfs.usermount=1</span><br />
<br />
Добавляем своего пользователя в группы wheel и operator:<br />
<br />
<u>sudo pw usermod sunderland93 -G wheel</u><br />
<u>sudo pw usermod sunderland93 -G operator</u><br />
<br />
Смягчаем права на доступ к блочным устройствам. Открываем <i>/etc/devfs.conf </i>и в конец дописываем:<br />
<br />
<span style="background-color: yellow;"># Разрешить доступ к оптическим устройствам</span><br />
<span style="background-color: yellow;">perm /dev/acd0 0666</span><br />
<span style="background-color: yellow;">perm /dev/acd1 0666</span><br />
<span style="background-color: yellow;">perm /dev/cd0 0666</span><br />
<span style="background-color: yellow;">perm /dev/cd1 0666</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Разрешить монтирование всех USB устройств</span><br />
<span style="background-color: yellow;">perm /dev/da0 0666</span><br />
<span style="background-color: yellow;">perm /dev/da1 0666</span><br />
<span style="background-color: yellow;">perm /dev/da2 0666</span><br />
<span style="background-color: yellow;">perm /dev/da3 0666</span><br />
<span style="background-color: yellow;">perm /dev/da4 0666</span><br />
<span style="background-color: yellow;">perm /dev/da5 0666</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Прочие устройства</span><br />
<span style="background-color: yellow;">perm /dev/pass0 0666</span><br />
<span style="background-color: yellow;">perm /dev/xpt0 0666</span><br />
<span style="background-color: yellow;">perm /dev/uscanner0 0666</span><br />
<span style="background-color: yellow;">perm /dev/video0 0666</span><br />
<span style="background-color: yellow;">perm /dev/tuner0 0666</span><br />
<span style="background-color: yellow;">perm /dev/dvb/adapter0/demux0 0666</span><br />
<span style="background-color: yellow;">perm /dev/dvb/adapter0/dvr 0666</span><br />
<span style="background-color: yellow;">perm /dev/dvb/adapter0/frontend0 0666</span><br />
<br />
Этот список можете дополнить своими устройствами, если что-то у вас откажется работать. Теперь добавляем правила для устройств, которые монтируются после загрузки системы. В <i>/etc/devfs.rules</i><br />
<i><br /></i>
<span style="background-color: yellow;">[devfsrules_common=7]</span><br />
<span style="background-color: yellow;">add path 'ad[0-9]\*' mode 666</span><br />
<span style="background-color: yellow;">add path 'ada[0-9]\*' mode 666</span><br />
<span style="background-color: yellow;">add path 'da[0-9]\*' mode 666</span><br />
<span style="background-color: yellow;">add path 'acd[0-9]\*' mode 666</span><br />
<span style="background-color: yellow;">add path 'cd[0-9]\*' mode 666</span><br />
<span style="background-color: yellow;">add path 'mmcsd[0-9]\*' mode 666</span><br />
<span style="background-color: yellow;">add path 'pass[0-9]\*' mode 666</span><br />
<span style="background-color: yellow;">add path 'xpt[0-9]\*' mode 666</span><br />
<span style="background-color: yellow;">add path 'ugen[0-9]\*' mode 666</span><br />
<span style="background-color: yellow;">add path 'usbctl' mode 666</span><br />
<span style="background-color: yellow;">add path 'usb/\*' mode 666</span><br />
<span style="background-color: yellow;">add path 'lpt[0-9]\*' mode 666</span><br />
<span style="background-color: yellow;">add path 'ulpt[0-9]\*' mode 666</span><br />
<span style="background-color: yellow;">add path 'unlpt[0-9]\*' mode 666</span><br />
<span style="background-color: yellow;">add path 'fd[0-9]\*' mode 666</span><br />
<span style="background-color: yellow;">add path 'uscan[0-9]\*' mode 666</span><br />
<span style="background-color: yellow;">add path 'video[0-9]\*' mode 666</span><br />
<span style="background-color: yellow;">add path 'tuner[0-9]*' mode 666</span><br />
<span style="background-color: yellow;">add path 'dvb/\*' mode 666</span><br />
<span style="background-color: yellow;">add path 'cx88*' mode 0660</span><br />
<span style="background-color: yellow;">add path 'cx23885*' mode 0660</span><br />
<span style="background-color: yellow;">add path 'iicdev*' mode 0660</span><br />
<span style="background-color: yellow;">add path 'uvisor[0-9]*' mode 066</span><br />
<span style="background-color: yellow;">add path 'dri/*' mode 0666 group wheel</span><br />
<br />
В <i>/etc/rc.conf</i> добавьте строки:<br />
<br />
<span style="background-color: yellow;">devfs_system_ruleset="devfsrules_common"</span><br />
<span style="background-color: yellow;">polkit_enable="YES"</span><br />
<span style="background-color: yellow;">kld_list="fuse ext2fs cuse"</span><br />
<br />
Монтирование разделов с файловой системой Ext4:<br />
<br />
<u>sudo pkg install fusefs-ext4fuse</u><br />
<br />
разделов с файловой системой NTFS:<br />
<br />
<u>sudo pkg install fusefs-ntfs</u><br />
<br />Для простого и быстрого подключения накопителей с различными файловыми системами рекомендую использовать <b>DSBMC</b>. Это простой менеджер с графическим интерфейсом, работающий напрямую с системным демоном <b>devd</b>:</div><div dir="ltr" style="text-align: left;" trbidi="on"> </div><div dir="ltr" style="text-align: left;" trbidi="on"><u>sudo pkg install dsbmc dsbmd</u></div><div dir="ltr" style="text-align: left;" trbidi="on"> </div><div dir="ltr" style="text-align: left;" trbidi="on">Запускаем демон и включаем его автозагрузку в /etc/rc.conf:</div><div dir="ltr" style="text-align: left;" trbidi="on"> </div><div dir="ltr" style="text-align: left;" trbidi="on"><u><span style="background-color: white;">sudo kldload dsbmd</span></u><br /><br />в /etc/rc.conf:</div><div dir="ltr" style="text-align: left;" trbidi="on"><br /></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: #fcff01;">dsbmd_enable="YES"</span><br />
<br />
<h3 style="text-align: left;">
Звук. </h3>
<br />
Теперь врубаем звук. ДА ПОГРОМЧЕЕЕЕЕ :) А именно - подгружаем нужный драйвер и указываем устройство вывода звука по умолчанию. FreeBSD использует звуковую подсистему <a href="https://ru.wikipedia.org/wiki/Open_Sound_System">OSS - Open Sound System</a>, которая в бородатые времена применялась и в Linux, пока не была заменена на <b>ALSA</b>. Однако OSS во FreeBSD несколько отличается от того, что был в Linux. Особенностью OSS является то, что она наиболее, так скажем, напрямую работает со звуковым оборудованием (устройствами /dev/dsp, /dev/audio и так далее), и потому естественно имеет к ним монопольный доступ. Тут хочу сделать одно замечание: очень вероятно, что вы столкнётесь с той же проблемой, что и я. Если у вас подключены колонки, к заднему входу, и в передний вы подключите наушники - звук продолжит идти через колонки. И нужно будет снова менять устройство вывода звука по умолчанию. Возможно решением проблемы является PulseAudio. Я пока не разобрался с этой проблемой, но как только разберусь - добавлю решение в эту статью. А пока просто включаем:<br />
<br />Смотрим список своих звуковых устройств:<br />
<br />
<u>cat /dev/sndstat</u><br />
<u><br /></u><span style="background-color: yellow;">Installed devices:<br />pcm0: <NVIDIA (0x0040) (HDMI/DP 8ch)> (play)<br />pcm1: <NVIDIA (0x0040) (HDMI/DP 8ch)> (play)<br />pcm2: <NVIDIA (0x0040) (HDMI/DP 8ch)> (play)<br />pcm3: <NVIDIA (0x0040) (HDMI/DP 8ch)> (play)<br />pcm4: <Realtek ALC888 (Rear Analog)> (play/rec) default<br />pcm5: <Realtek ALC888 (Front Analog)> (play/rec)<br />pcm6: <Realtek ALC888 (Rear Digital)> (play)<br />No devices installed from userspace.</span><br />
Звуковой вход на задней стороне системного блока здесь <b>"pcm4"</b>. Открываем <i>/etc/sysctl.conf</i> и добавляем:<br />
<br />
<span style="background-color: yellow;">hw.snd.default_unit=4</span><br />
<br />
<span style="background-color: yellow;"># Не включать автоматически новые звуковые устройства</span><br />
<span style="background-color: yellow;">hw.snd.default_auto=0</span><br />
<br />
Если вам необходим <b>PulseAudio</b> - его также легко можно установить:<br />
<br />
<u>sudo pkg install pulseaudio </u><br />
<h3 style="text-align: left;">
</h3>
<h3 style="text-align: left;">
Фаерволл. </h3>
<br />
По умолчанию во FreeBSD отключен фаерволл (брандмауэр), и крайне рекомендуется его включить. В составе FreeBSD имеется один из самых лучших в мире фаерволлов - PF, от проекта OpenBSD. Открываем файл <i>/etc/pf.conf</i> и добавляем туда этот конфиг:<br />
<br />
<span style="background-color: yellow;"># The name of our network interface as seen in `ifconfig`</span><br />
<span style="background-color: yellow;">ext_if="re0"</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Macros to define the set of TCP and UDP ports to open.</span><br />
<span style="background-color: yellow;"># Add additional ports or ranges separated by commas.</span><br />
<span style="background-color: yellow;"># UDP 60000-60010 is mosh control http://mosh.mit.edu/</span><br />
<span style="background-color: yellow;">tcp_services = "{ssh, https}"</span><br />
<span style="background-color: yellow;">udp_services = "{60000:60010}"</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># If you block all ICMP requests you will break things like path MTU</span><br />
<span style="background-color: yellow;"># discovery. These macros define allowed ICMP types. The additional</span><br />
<span style="background-color: yellow;"># ICMPv6 types are for neighbor discovery (RFC 4861)</span><br />
<span style="background-color: yellow;">icmp_types = "{echoreq, unreach}"</span><br />
<span style="background-color: yellow;">icmp6_types="{echoreq, unreach, 133, 134, 135, 136, 137}"</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Modulate the initial sequence number of TCP packets.</span><br />
<span style="background-color: yellow;"># Broken operating systems sometimes don't randomize this number,</span><br />
<span style="background-color: yellow;"># making it guessable.</span><br />
<span style="background-color: yellow;">tcp_state="flags S/SA keep state"</span><br />
<span style="background-color: yellow;">udp_state="keep state"</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Don't send rejections. Just drop.</span><br />
<span style="background-color: yellow;">set block-policy drop</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Exempt the loopback interface to prevent services utilizing the</span><br />
<span style="background-color: yellow;"># local loop from being blocked accidentally.</span><br />
<span style="background-color: yellow;">set skip on lo0</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># all incoming traffic on external interface is normalized and fragmented</span><br />
<span style="background-color: yellow;"># packets are reassembled.</span><br />
<span style="background-color: yellow;">scrub in on $ext_if all fragment reassemble</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># set a default deny policy.</span><br />
<span style="background-color: yellow;">block in log all</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># This is a desktop so be permissive in allowing outgoing connections.</span><br />
<span style="background-color: yellow;">pass out quick modulate state</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Enable antispoofing on the external interface</span><br />
<span style="background-color: yellow;">antispoof for $ext_if inet</span><br />
<span style="background-color: yellow;">antispoof for $ext_if inet6</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># block packets that fail a reverse path check. we look up the routing</span><br />
<span style="background-color: yellow;"># table, check to make sure that the outbound is the same as the source</span><br />
<span style="background-color: yellow;"># it came in on. if not, it is probably source address spoofed.</span><br />
<span style="background-color: yellow;">block in from urpf-failed to any</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># drop broadcast requests quietly.</span><br />
<span style="background-color: yellow;">block in quick on $ext_if from any to 255.255.255.255</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Allow the services defined in the macros at the top of the file</span><br />
<span style="background-color: yellow;">pass in on $ext_if inet proto tcp from any to any port $tcp_services $tcp_state</span><br />
<span style="background-color: yellow;">pass in on $ext_if inet6 proto tcp from any to any port $tcp_services $tcp_state</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;">pass in on $ext_if inet proto udp from any to any port $udp_services $udp_state</span><br />
<span style="background-color: yellow;">pass in on $ext_if inet6 proto udp from any to any port $udp_services $udp_state</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Allow ICMP</span><br />
<span style="background-color: yellow;">pass inet proto icmp all icmp-type $icmp_types keep state</span><br />
<span style="background-color: yellow;">pass inet6 proto icmp6 all icmp6-type $icmp6_types keep state</span><br />
<br />
Осталось только его включить:<br />
<br />
<u>sudo echo 'pf_enable="YES"' >> /etc/rc.conf</u><br />
<u>sudo service pf start</u><br />
<br />
<h3 style="text-align: left;">
Графическое окружение.</h3>
<br />
Ну и наконец главная часть для десктопа - графическое окружение. Тут выбор почти аналогичен Линуксу. Разве что <b>KDE Plasma 5</b> всё ещё в экспериментальной поддержке и отсутствует в дереве портов. Сперва установим иксы и хорошие шрифты:<br />
<br />
<u>sudo pkg install xorg noto</u><br />
<br />
Хочу сразу предупредить: большинство графических окружений разрабатываются с прицелом на Linux, отодвигая поддержку BSD на второй план (а то и дальше). Поэтому не удивляйстесь, если что-то, что у вас идеально работало в Линуксе - здесь будет работать через очко, либо вообще не будет работать.<br />
<br />
Для работы графических окружений требуется включить демон <b>dbus</b> (шина передачи сообщений между программами) В <i>/etc/rc.conf</i> добавляем:<br />
<br />
<span style="background-color: yellow;">dbus_enable="YES"</span><br />
<br />
Ставим графические окружения:<br />
<br />
<b>KDE 5:</b><br />
<b><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-NJiu53ZBjiY/X8QZj4Sfn_I/AAAAAAAAByg/jVS9CVasQTYgtlVWU5WPT3NPk11pbulmwCNcBGAsYHQ/s1920/original.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" src="https://1.bp.blogspot.com/-NJiu53ZBjiY/X8QZj4Sfn_I/AAAAAAAAByg/jVS9CVasQTYgtlVWU5WPT3NPk11pbulmwCNcBGAsYHQ/s320/original.png" width="320" /></a></div><br />
<b><br /></b>
<br />
<u>sudo pkg install sddm plasma5-plasma dolphin kate konsole</u></div><div dir="ltr" style="text-align: left;" trbidi="on"> </div><div dir="ltr" style="text-align: left;" trbidi="on">или всё одной кучей:</div><div dir="ltr" style="text-align: left;" trbidi="on"></div><div dir="ltr" style="text-align: left;" trbidi="on"><br />
</div><div dir="ltr" style="text-align: left;" trbidi="on"><u>sudo pkg install kde5</u><br />
</div><div dir="ltr" style="text-align: left;" trbidi="on"><br />
В <i>/etc/rc.conf</i> добавляем:<br />
<br />
<span style="background-color: yellow;">sddm_enable="YES"</span><br />
<span style="background-color: yellow;">dbus_enable="YES"</span><br />
<br />
<u>sudo service kdm4 start</u><br />
<br />
<b>MATE:</b><br />
<b><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-k_nrZNTBnII/WawUbo4zZ-I/AAAAAAAABc4/8MybX4jya5QAjnx06fljEmwdQQIaVkHigCLcBGAs/s1600/freebsd11-mate.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1600" height="200" src="https://2.bp.blogspot.com/-k_nrZNTBnII/WawUbo4zZ-I/AAAAAAAABc4/8MybX4jya5QAjnx06fljEmwdQQIaVkHigCLcBGAs/s320/freebsd11-mate.png" width="320" /></a></div>
<b><br /></b>
<br />
<u>sudo pkg install x11/mate</u><br />
<br />
Для возможности выключения, перезагрузки и прочего от имени вашего пользователя, необходимо настроить ConsoleKit. В <i>/usr/local/etc/polkit-1/rules.d</i> создаём правило <b>05-shutdown.rules</b> со следующим содержимым:<br />
<br />
<span style="background-color: yellow;">polkit.addRule(function (action, subject) {</span><br />
<span style="background-color: yellow;"> if ((action.id == "org.freedesktop.consolekit.system.restart" ||</span><br />
<span style="background-color: yellow;"> action.id == "org.freedesktop.consolekit.system.stop" ||</span><br />
<span style="background-color: yellow;"> action.id == "org.freedesktop.consolekit.system.suspend")</span><br />
<span style="background-color: yellow;"> && subject.isInGroup("wheel")) {</span><br />
<span style="background-color: yellow;"> return polkit.Result.YES;</span><br />
<span style="background-color: yellow;"> }</span><br />
<span style="background-color: yellow;">});</span><br />
<br />
В <i>/usr/local/etc/polkit-1/localauthority/50-local.d/</i> создайте файл <b>org.freedesktop.consolekit.pkla</b> с содержимым:<br />
<br />
<span style="background-color: yellow;">[Restart]</span><br />
<span style="background-color: yellow;">Identity=unix-group:wheel</span><br />
<span style="background-color: yellow;">Action=org.freedesktop.consolekit.system.restart</span><br />
<span style="background-color: yellow;">ResultAny=yes</span><br />
<span style="background-color: yellow;">ResultInactive=yes</span><br />
<span style="background-color: yellow;">ResultActive=yes</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;">[Shutdown]</span><br />
<span style="background-color: yellow;">Identity=unix-group:wheel</span><br />
<span style="background-color: yellow;">Action=org.freedesktop.consolekit.system.stop</span><br />
<span style="background-color: yellow;">ResultAny=yes</span><br />
<span style="background-color: yellow;">ResultInactive=yes</span><br />
<span style="background-color: yellow;">ResultActive=yes</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;">[Suspend]</span><br />
<span style="background-color: yellow;">Identity=unix-group:wheel</span><br />
<span style="background-color: yellow;">Action=org.freedesktop.consolekit.system.suspend</span><br />
<span style="background-color: yellow;">ResultAny=yes</span><br />
<span style="background-color: yellow;">ResultInactive=yes</span><br />
<span style="background-color: yellow;">ResultActive=yes</span><br />
<br />
MATE не имеет своего дисплейного менеджера, потому запускать его можно либо через команду startx, предварительно прописав команду запуска, либо через любой другой дисплейный менеджер, например <b>Slim.</b> Первый способ:<config version="0.1"></config></div>
<br />
Создайте в домашнем каталоге файл <b>.xinitrc</b> и пропишите туда<br />
<br />
<span style="background-color: yellow;">exec ck-launch-session dbus-launch --exit-with-session mate-session</span><br />
<br />
Запускать командой <b>startx</b><br />
<br />
Второй способ:<br />
<br />
<u>pkg install slim</u><br />
<br />
В <i>/usr/local/etc/slim.conf</i> добавьте строку:<br />
<br />
<span style="background-color: yellow;">sessiondir /usr/local/share/xsessions/</span><br />
<br />
В <b>.xinitrc</b> пропишите:<br />
<br />
<span style="background-color: yellow;">exec </span><span style="background-color: yellow;"><span style="background-color: yellow;">ck-launch-session dbus-launch --exit-with-session</span> $1</span><br />
<br />
Включите Slim:<br />
<br />
<u>echo 'slim_enable="YES"' >> /etc/rc.conf</u><br />
<u>service slim start</u><br />
<br />
Если вы хотите установить <b>Compiz</b>:<br />
<br />
<u>sudo pkg install x11-wm/compiz-fusion</u><br />
<br />
<b>Xfce:</b><br />
<b><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/--jABlNGdURE/WawUnMZ4gGI/AAAAAAAABc8/h1T4TVCH-0Y32mFPEh5cvXIbHlINJoF3gCLcBGAs/s1600/freebsd11-xfce.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1600" height="200" src="https://2.bp.blogspot.com/--jABlNGdURE/WawUnMZ4gGI/AAAAAAAABc8/h1T4TVCH-0Y32mFPEh5cvXIbHlINJoF3gCLcBGAs/s320/freebsd11-xfce.png" width="320" /></a></div>
<b><br /></b>
<br />
<u>pkg install xfce xfce4-goodies</u><br />
<br />
Для запуска добавьте в <b>.xinitrc</b> строки:<br />
<br />
<span style="background-color: yellow;">LANG=ru.RU-UTF-8</span><br />
<span style="background-color: yellow;">exec startxfce4 --with-ck-launch</span><br />
<br />
либо используйте Slim. Указание локали в этом файле необходимо только если у вас выбран русский, в противном случае диспетчер задач Xfce падает при запуске (ошибка известная).<br />
<br />
<b>Cinnamon:</b><br />
<b><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-3kwDhP_w37M/WawUub1O3uI/AAAAAAAABdA/S5fjI5rIcdsTI9XKkNrMJdLeJYd0_ou0QCLcBGAs/s1600/freebsd11-cinnamon.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1600" height="200" src="https://2.bp.blogspot.com/-3kwDhP_w37M/WawUub1O3uI/AAAAAAAABdA/S5fjI5rIcdsTI9XKkNrMJdLeJYd0_ou0QCLcBGAs/s320/freebsd11-cinnamon.png" width="320" /></a></div>
<b><br /></b>
<br />
<u>pkg install cinnamon</u><br />
<br />
Для запуска добавьте в <b>.xinitrc</b> строку:<br />
<br />
<span style="background-color: yellow;">exec cinnamon-session</span><br />
<br />
либо используйте Slim.<br />
<br />
<b>GNOME 3:</b><br />
<b><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-z6DI_835MmM/WawU122ld4I/AAAAAAAABdE/s5nDzu2fxoA_-3ISFBBsIdqtkxHKR3eCQCLcBGAs/s1600/freebsd11-gnome.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1600" height="200" src="https://1.bp.blogspot.com/-z6DI_835MmM/WawU122ld4I/AAAAAAAABdE/s5nDzu2fxoA_-3ISFBBsIdqtkxHKR3eCQCLcBGAs/s320/freebsd11-gnome.png" width="320" /></a></div>
<b><br /></b>
<br />
<u>pkg install gnome3</u><br />
<br />
В <i>/etc/rc.conf </i>добавьте"<br />
<br />
<span style="background-color: yellow;">dbus_enable="YES"</span><br />
<span style="background-color: yellow;">gnome_enable="YES"</span><br />
<span style="background-color: yellow;">gdm_enable="YES"</span><br />
<h3 style="text-align: left;">
</h3>
<h3 style="text-align: left;">
Настройка видеодрайвера.</h3>
<br />
<b>Для карт Nvidia:</b><br />
<br />
<u>sudo pkg install nvidia-driver nvidia-settings nvidia-xconfig</u><br />
<br />
Загрузка модуля Nvidia при запуске системы:<br />
<br />
<u>sudo echo 'nvidia-modeset_load="YES"' >> /boot/loader.conf</u><br />
<br />
Запустите <b>nvidia-xconfig</b> и откройте созданный ею файл <i>/etc/X11/xorg.conf</i>. Добавьте туда следующую секцию для активации поддержки freetype2, glx и type1:<br />
<br />
<span style="background-color: yellow;">Section "Module"</span><br />
<span style="background-color: yellow;"> Load "freetype"</span><br />
<span style="background-color: yellow;"> Load "bitmap"</span><br />
<span style="background-color: yellow;"> Load "type1"</span><br />
<span style="background-color: yellow;"> Load "glx"</span><br />
<span style="background-color: yellow;">EndSection</span><br />
<br />
Перезагрузитесь.<br />
<br />
<b>Для видеочипов Radeon:</b><br />
<br />Radeon HD7000-R7 270X:</div><div dir="ltr" style="text-align: left;" trbidi="on"> </div><div dir="ltr" style="text-align: left;" trbidi="on"><u>sudo pkg install drm-kmod</u></div><div dir="ltr" style="text-align: left;" trbidi="on"><u><span style="background-color: white;">sudo pw useradd $USER -G video</span> <br /></u></div><div dir="ltr" style="text-align: left;" trbidi="on"></div><div dir="ltr" style="text-align: left;" trbidi="on"><br />
В /etc/rc.conf:</div><div dir="ltr" style="text-align: left;" trbidi="on"> </div><div dir="ltr" style="text-align: left;" trbidi="on"></div><div dir="ltr" style="text-align: left;" trbidi="on"></div><div dir="ltr" style="text-align: left;" trbidi="on"></div><div dir="ltr" style="text-align: left;" trbidi="on"></div><div dir="ltr" style="text-align: left;" trbidi="on"></div><div dir="ltr" style="text-align: left;" trbidi="on"></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: #fcff01;">kld_list="/boot/modules/radeonkms.ko"</span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;"> </span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;">Для Radeon серии RX и новее:</span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;"><br /></span></div><div dir="ltr" style="text-align: left;" trbidi="on"><u><span style="background-color: white;">sudo pkg install drm-kmod</span></u></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;"><u><span style="background-color: white;">sudo pw useradd $USER -G video</span></u> <br /></span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;"><br /></span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;">В /etc/rc.conf"</span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;"><br /></span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;"><span style="background-color: #fcff01;">kld_list="amdgpu"</span></span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;"> </span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;"><b>Для видеочипов Intel:</b></span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;"><b> </b></span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;">Broadwell и новее:</span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;"><b> </b><br /></span></div><div dir="ltr" style="text-align: left;" trbidi="on"><u><span style="background-color: white;">sudo pkg install drm-kmod libva-instel-driver</span></u></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;"><u>sudo pw useradd $USER -G video</u><br /></span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;"><br /></span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;">В /etc/rc.conf:</span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;"><br /></span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: #fcff01;">kld_list="/boot/modules/i915kms.ko"</span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;"><br /></span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;">Для Haswell и старше:<br /><u><br />sudo pkg install drm-legacy-kmod libva-intel-driver</u></span></div><div dir="ltr" style="text-align: left;" trbidi="on"><u><span style="background-color: white;"><span style="background-color: white;">sudo pw useradd $USER -G video</span></span></u></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;"><span style="background-color: white;"> </span><br />В /etc/rc.conf:<br /><br /><span style="background-color: #fcff01;">kld_list="/boot/modules/i915drm.ko"</span><br /></span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span style="background-color: white;"> </span><br />
<h3 style="text-align: left;">
Linuxulator.</h3>
<br />
FreeBSD имеет слой совместимости с Linux под названием Linuxulator. Он основан на CentOS 7, и позволяет запускать многочисленные Linux-приложения. Например Adobe Flash или Steam. Это типа Wine, но для Линуксового софта. Включается просто:<br />
<br />
<u>echo 'linux_enable="YES"' >> /etc/rc.conf</u><br />
<u>kldload linux</u></div><div dir="ltr" style="text-align: left;" trbidi="on"><u>kldload linux64</u></div><div dir="ltr" style="text-align: left;" trbidi="on"><u>sudo pkg install linux_base-c7</u><br />
<br />
<h3 style="text-align: left;">
Поддержка принтеров:</h3>
<br />
<u>pkg install print/cups</u><br />
<br />
В <i>/etc/rc.conf </i>добавьте:<br />
<br />
<span style="background-color: yellow;"># Отключить демон line print, так как у нас есть CUPS</span><br />
<span style="background-color: yellow;">lpd_enable="NO"</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;"># Включить</span><br />
<span style="background-color: yellow;">cupsd_enable="YES"</span><br />
<br />
Итог.<br />
<br />
Ну, вот, собственно, и всё. Как видите телодвижений предстоит выполнить очень много, чтобы превратить эту ОС в десктоп. При этом вы вполне можете наткнуться на некоторые ограничения или косяки. Не стоит забывать, что для FreeBSD ощутимо меньше драйверов, чем для Linux, плюс ко всему большинство популярных графических окружений пишутся с оглядкой именно на Linux, и работа на BSD-системах там на втором плане. Я же пока не могу что-то конкретное сказать по поводу использования FreeBSD на десктопе. Я поставил её совсем недавно. Но через несколько месяцев я выложу мнение о ней на своём канале. Так что до скорых встреч!<br />
<br />
Использованы материалы:<br />
<br />
<a href="https://cooltrainer.org/a-freebsd-desktop-howto/">https://cooltrainer.org/a-freebsd-desktop-howto/</a><br />
<a href="https://www.freebsd.org/doc/handbook/">https://www.freebsd.org/doc/handbook/</a></div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com8tag:blogger.com,1999:blog-9898793114661249.post-22008693759466244162017-08-22T11:46:00.000+04:002018-03-30T22:51:40.944+04:00Установить Natron в Debian и Ubuntu<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-yjRWLa8HAMA/WZln_ipzk6I/AAAAAAAABbY/M9dklzKhhCoxn8XPxtxrtA5tRkS9gBiSwCLcBGAs/s1600/Natron_icon.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="82" data-original-width="82" src="https://3.bp.blogspot.com/-yjRWLa8HAMA/WZln_ipzk6I/AAAAAAAABbY/M9dklzKhhCoxn8XPxtxrtA5tRkS9gBiSwCLcBGAs/s1600/Natron_icon.png" /></a></div>
<b>Natron</b> - это нодовая система видеокомпозитинга, по функционалу близкая к таким программам, как <b>Adobe AfterEffects</b> и <b>Nuke by the Foundry</b>. Кроме того Natron может выступать в качестве хоста для OpenFX-плагинов, и использоваться с другими программами для обработки видео. Написана на C++ с использованием Qt (PySide). Программа проста, функциональна и отлично подойдёт как для постобработки любительских видеороликов, так и для профессионально отснятого материала. Natron можно скачать с <a href="http://natron.fr/">официального сайта</a> после регистрации, в виде Windows-подобного инсталлятора, а также deb и rpm-пакетов. Совсем недавно, нативно собранные пакеты с Natron появились в репозитории Deb-Multimedia, и благодаря этим наработкам я создал PPA-репозиторий для Ubuntu и репозиторий для Debian, пока <a href="https://github.com/MrKepzie/Natron/issues/1651">полуофициально</a>.<br />
<a name='more'></a><br />
<br />
Основные особенности программы:<br />
<br />
<br />
<ul style="text-align: left;">
<li>Полная поддержка многопроцессорности;</li>
<li>Высококачественная работа с цветом;</li>
<li>Поддержка большого количества форматов изображений и видео с использованием OpenImageIO и FFmpeg;</li>
<li>Поддержка стандарта OpenFX 1.3 и кучи как свободных, так и коммерческих плагинов;</li>
<li>Возможность ручной ротоскопии с помощью кривых Безье;</li>
<li>Поддержка рендеринга в низком разрешении для предпросмотра эффектов;</li>
<li>Поддержка недеструктивного редактирования файлов проекта;</li>
<li>Поддержка видеотрекинга;</li>
<li>Множество готовых высококачественных эффектов</li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-G9cEzdh6eoA/WZlnTl9a_sI/AAAAAAAABbI/1gMicrN5SxgVHo9g0j5ttPKi_vUZQoQsACLcBGAs/s1600/img_3123.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://4.bp.blogspot.com/-G9cEzdh6eoA/WZlnTl9a_sI/AAAAAAAABbI/1gMicrN5SxgVHo9g0j5ttPKi_vUZQoQsACLcBGAs/s320/img_3123.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-tLD1L8iJ4p0/WZlnUMNyL8I/AAAAAAAABbQ/d6pvGndv-x07BAFdcbMIsc485GkckbE3gCLcBGAs/s1600/natron-screenshot-02-by-Ole-Andre.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="936" data-original-width="1600" height="187" src="https://3.bp.blogspot.com/-tLD1L8iJ4p0/WZlnUMNyL8I/AAAAAAAABbQ/d6pvGndv-x07BAFdcbMIsc485GkckbE3gCLcBGAs/s320/natron-screenshot-02-by-Ole-Andre.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-8WxDJVcD9DU/WZlnT56NlfI/AAAAAAAABbM/8P5RY76e-q48k2S3tzcXP82v_OuEPGwpACLcBGAs/s1600/natron_462703_full.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://2.bp.blogspot.com/-8WxDJVcD9DU/WZlnT56NlfI/AAAAAAAABbM/8P5RY76e-q48k2S3tzcXP82v_OuEPGwpACLcBGAs/s320/natron_462703_full.jpg" width="320" /></a></div>
<br />
<br />
Пакеты доступны для Ubuntu 16.04/17.04/17.10/18.04, Linux Mint 18.x, 19.x, Debian 9 и LMDE 3. Подключение как обычно:<br />
<br />
<u>sudo add-apt-repository ppa:samoilov-lex/natron</u><br />
<u>sudo apt update && sudo apt install natron</u><br />
<br />
Для Debian:<br />
<br />
<u>sudo echo 'deb http://download.opensuse.org/repositories/home:/Sunderland93:/natron/Debian_9.0/ /' > /etc/apt/sources.list.d/natron.list</u><br />
<u>sudo apt update && sudo apt install natron</u><br />
<br />
И как обычно, по всем вопросами обращайтесь ко мне на почту <a href="mailto:samoilov.lex@gmail.com">samoilov.lex@gmail.com</a> либо в комментариях. Просьба не писать о проблемах в работе самой программы, для этого заведите багрепорт в <a href="https://github.com/MrKepzie/Natron">репозитории кода</a> проекта.</div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com0tag:blogger.com,1999:blog-9898793114661249.post-72083100986319806682017-08-09T16:15:00.002+04:002017-08-09T16:15:52.404+04:00Linux Mint или LMDE: что лучше?<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/alZ4-oG7B0o/0.jpg" src="https://www.youtube.com/embed/alZ4-oG7B0o?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br /></div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com5tag:blogger.com,1999:blog-9898793114661249.post-28543491206887550812017-08-07T08:37:00.000+04:002017-08-07T08:37:10.237+04:00Репозиторий Retrogames - теперь и для Debian!<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-QdRmKlqL__U/VZouMz4Qu4I/AAAAAAAAAMc/z9nNttk9G7kJtUMvw7ybI85R14-TgyrOACPcBGAYYCw/s1600/gamepad.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="56" data-original-width="56" src="https://1.bp.blogspot.com/-QdRmKlqL__U/VZouMz4Qu4I/AAAAAAAAAMc/z9nNttk9G7kJtUMvw7ybI85R14-TgyrOACPcBGAYYCw/s1600/gamepad.png" /></a></div>
Приветствую! Как вы знаете, я создал и поддерживаю <a href="https://linuxoidblog.blogspot.ru/2017/01/ubuntu-1604.html">большой репозиторий с разнообразными эмуляторами игровых консолей и ретрокомпьютеров</a> для Ubuntu 16.04. Репозиторий получился реально большим, он позволит превратить вашу Ubuntu в классную ретроигровую систему. И я по-настоящему им горжусь! Теперь же представляю вашему вниманию аналогичный репозиторий для Debian 9 "Stretch"<br />
<a name='more'></a><br />
<br />
Пакеты в данном репозитории полностью аналогичны таковым в <a href="https://launchpad.net/~samoilov-lex/+archive/ubuntu/retrogames">Retrogames PPA</a>. Репозиторий полностью совместим с другими дистрибутивами, использующими пакетную базу Debian 9 (LMDE 3, SteamOS 3 и так далее). Подключение крайне простое:<br />
<br />
Скачиваем и устанавливаем пакет, который автоматически добавит репозиторий в список источников приложений:<br />
<br />
<span style="background-color: yellow;">wget http://download.opensuse.org/repositories/home:/Sunderland93:/retrogames-debian/Debian_9.0/all/retrogames-debian_1.0-2_all.deb</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;">sudo dpkg -i retrogames-debian_1.0-2_all.deb</span><br />
<br />
Скачиваем и устанавливаем ключ безопасности:<br />
<br />
<span style="background-color: yellow;">wget http://download.opensuse.org/repositories/home:Sunderland93:/retrogames-debian/Debian_9.0/Release.key</span><br />
<span style="background-color: yellow;"><br />sudo apt-key add - < Release.key </span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: white;">Обновляем список пакетов:</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;">sudo apt update</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: white;">О проблемах в работе репозитория как обычно пишите в комментариях или мне на почту <a href="mailto:samoilov.lex@gmail.com">samoilov.lex@gmail.com</a> Если вам нравятся данные репозитории - <a href="https://linuxoidblog.blogspot.ru/p/blog-page_26.html">можете поддержать меня рублём</a></span></div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com0tag:blogger.com,1999:blog-9898793114661249.post-57645401841325466842017-07-15T18:10:00.000+04:002018-04-20T00:32:38.909+04:00Как включить DRM-KMS и PRIME Synchronization в проприетарном драйвере Nvidia<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-IfOrCuF6Z0w/WWC5v7eY5HI/AAAAAAAABZI/-XSQjOY-hPYcyg9COvC-PbXbJGF4cl6EACLcBGAs/s1600/5505cef143beed88616e539ffe940133-nvidia.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="82" data-original-width="82" src="https://1.bp.blogspot.com/-IfOrCuF6Z0w/WWC5v7eY5HI/AAAAAAAABZI/-XSQjOY-hPYcyg9COvC-PbXbJGF4cl6EACLcBGAs/s1600/5505cef143beed88616e539ffe940133-nvidia.png" /></a></div>
Небольшое howto о включении интерфейса KMS (Kernel Modesetting) в проприетарном драйвере Nvidia. Это будет полезно в первую очередь для пользователей ноутбуков с Nvidia Optimus, так как полностью избавит их от тиринга.<br />
<a name='more'></a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
Начиная с версии 364.12 в проприетарный драйвер Nvidia добавлена поддержка инфраструктуры <a href="https://ru.wikipedia.org/wiki/Direct_Rendering_Infrastructure">DRM/DRI</a> (Direct Rendering Manager) и интерфейса <a href="https://wiki.archlinux.org/index.php/Kernel_mode_setting_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)">KMS</a>, работающих в ядре Linux и используемых свободными видеодрайверами. Это необходимо для, например, поддержки Wayland, однако реализация Wayland в Nvidia драйвере пока работает только в патченом композитном оконном менеджере Weston и в GNOME 3.24 (с ограничениями). Также включение KMS позволяет запустить оконную систему Xorg от обычного пользователя (по умолчанию он запускается от имени root) при использовании дисплейного менеджера GDM (в GNOME) или командой <b>startx</b> в виртуальной консоли (другие дисплейные менеджеры пока не поддерживаются), а также - избавить от тиринга на ноутбуках с Nvidia Optimus, благодаря технологии <b>PRIME Synchronization</b>, появившейся в Xorg 1.19. KMS отключён по умолчанию в драйвере Nvidia вследствие проблем с работой на SLI-конфигурациях. Однако включается он весьма просто:<br />
<br />
Для начала необходимо убедиться, что нужные модули загружены:<br />
<br />
<u>lsmod | grep nvidia</u><br />
<br />
Вывод должен быть примерно таким:<br />
<br />
<span style="background-color: yellow;">nvidia_drm 45056 1</span><br />
<span style="background-color: yellow;">drm_kms_helper 155648 1 nvidia_drm</span><br />
<span style="background-color: yellow;">drm 360448 4 nvidia_drm,drm_kms_helper</span><br />
<span style="background-color: yellow;">nvidia_modeset 790528 9 nvidia_drm</span><br />
<span style="background-color: yellow;">nvidia 12312576 302 nvidia_modeset</span><br />
<br />
Создаём файл, который будет загружать нужный модуль с нужными параметрами:<br />
<br />
<u>sudo nano /etc/modprobe.d/zz-nvidia-modeset.conf</u><br /><br />В него добавляем строку:<br /><br /><span style="background-color: yellow;">options nvidia_drm modeset=1</span><br />
<br />
Обратите внимание: если вы пользуетесь Ubuntu или её производными, необходимо явно указать версию драйвера. К примеру если у вас установлен драйвер версии 390.48, то строка будет выглядеть так:<br /><br /><span style="background-color: yellow;">options nvidia_390_drm modeset=1</span><br /><br />Сохраняемся и обновляем начальный рамдиск (initramfs):<br /><br /><u>sudo update-initramfs -u</u><br /><br />Перезагрузитесь. Для проверки введите команду:<br /><br /><u>sudo cat /sys/module/nvidia_drm/parameters/modeset</u><br /><br />В строке modeset=1 должно стоять "y"<br />
<br />
Кроме того, если вы используете GNOME, то до включения KMS иксы будут запущены от root:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-KXbXonAlads/WWDLAkuUsHI/AAAAAAAABZg/9E9-EIVx9SkCrI3m865OTcj34jM4kCYygCLcBGAs/s1600/kms_disabled.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://3.bp.blogspot.com/-KXbXonAlads/WWDLAkuUsHI/AAAAAAAABZg/9E9-EIVx9SkCrI3m865OTcj34jM4kCYygCLcBGAs/s320/kms_disabled.png" width="320" /></a></div>
<br />
<br />
А после включения - от имени вашего пользователя:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-VZxJPNat-v8/WWDLF1LOovI/AAAAAAAABZk/xsWGR7XB4TQur0w0EewGy7c8Pv-E6prsACLcBGAs/s1600/kms_enabled.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://4.bp.blogspot.com/-VZxJPNat-v8/WWDLF1LOovI/AAAAAAAABZk/xsWGR7XB4TQur0w0EewGy7c8Pv-E6prsACLcBGAs/s320/kms_enabled.png" width="320" /></a></div>
</div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com12tag:blogger.com,1999:blog-9898793114661249.post-54442307100020670382017-07-12T17:58:00.000+04:002017-07-12T17:58:09.901+04:00Установить окружение Budgie Desktop в Debian 9<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-h-YTDnU7UGo/WWI4yu1on6I/AAAAAAAABZ4/TnKgBV-jD1cB7yoo5iSlKTWcfOzBeoFPACLcBGAs/s1600/budgie.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="82" data-original-width="82" src="https://4.bp.blogspot.com/-h-YTDnU7UGo/WWI4yu1on6I/AAAAAAAABZ4/TnKgBV-jD1cB7yoo5iSlKTWcfOzBeoFPACLcBGAs/s1600/budgie.png" /></a></div>
<b>Budgie Desktop</b> - графическая оболочка от проекта <a href="https://solus-project.com/">Solus</a>, работающая поверх компонентов GNOME и являющаяся альтернативой GNOME Shell. Данная оболочка выгодно отличается от GNOME Shell своим более привычным видом, а также гораздо меньшим потреблением ресурсов. Budgie доступна в репозиториях Debian 9, однако установить её можно лишь вручную, на минимальную систему. К сожалению разработчики не добавили её на экран выбора графического окружения, при установке системы с netinstall-образа. Поэтому в этой заметке я расскажу как его установить и настроить.<br />
<a name='more'></a><br />
<br />
Установку Debian с netinstall-образа я описывать не буду. Думаю с этим справится каждый. Важно в конце, на экране выбора графического окружения, снять галочку с "Окружение рабочего стола Debian", чтобы установилась чистая система без графики вообще. После установки и входа в систему, начинаем устанавливать Budgie Desktop. Для начала устанавливаем Xorg:<br />
<br />
<u>sudo apt install xorg</u><br />
<br />
Сама Budgie не потянет за собой никаких приложений, даже эмулятор терминала. Поэтому сразу установим некоторый набор базового ПО: терминал GNOME, системный монитор, тему оформления Arc (применяется в Solus и Ubuntu Budgie), набор иконок Moka, менеджер приложений, менеджер пакетов Synaptic, браузер Firefox и дисплейный менеджер LightDM. По желанию можете сразу установить офисный пакет, плееры и так далее:<br />
<br />
<u>sudo apt install budgie-desktop lightdm gnome-terminal gnome-software gnome-system-monitor arc-theme moka-icon-theme firefox-esr synaptic</u><br />
<br />
Теперь нужно включить вход по умолчанию в Budgie:<br />
<br />
<u>sudo nano /etc/lightdm/lightdm.conf</u><br />
<br />
<span style="background-color: yellow;">#</span><br />
<span style="background-color: yellow;"># Seat configuration</span><br />
<span style="background-color: yellow;">#</span><br />
<span style="background-color: yellow;"><b>#</b>user-session=default</span><br />
<span style="background-color: yellow;"><b>user-session=budgie-desktop</b></span><br />
<span style="background-color: yellow;">#</span><br />
<br />
Сохраняем и перезагружаемся. Осталось настроить оформление:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-FQsSLkoyoX0/WWI4PP5kNZI/AAAAAAAABZ0/2hr6fzzBVRsZvlOcaCQw0Tp7s1JlDOTTACLcBGAs/s1600/Screenshot_20170709_230519.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://3.bp.blogspot.com/-FQsSLkoyoX0/WWI4PP5kNZI/AAAAAAAABZ0/2hr6fzzBVRsZvlOcaCQw0Tp7s1JlDOTTACLcBGAs/s320/Screenshot_20170709_230519.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-tsrqsaQXzP8/WWYncPrbD1I/AAAAAAAABaQ/JkHIzmhfwCA_5QqD9NGFmz0CaFE9oNSvwCLcBGAs/s1600/Screenshot_20170712_224229.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://2.bp.blogspot.com/-tsrqsaQXzP8/WWYncPrbD1I/AAAAAAAABaQ/JkHIzmhfwCA_5QqD9NGFmz0CaFE9oNSvwCLcBGAs/s320/Screenshot_20170712_224229.png" width="320" /></a></div>
<br /></div>
Aleksey Samoilovhttp://www.blogger.com/profile/11254953585950257524noreply@blogger.com9