· | 23.04 | Выпуск nginx 1.26.0 с поддержкой HTTP/3 (4) |
После года разработки опубликована новая стабильная ветка высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера nginx 1.26.0, которая вобрала в себя изменения, накопленные в основной ветке 1.25.x. В дальнейшем все изменения в стабильной ветке 1.26 будут связаны с устранением серьёзных ошибок и уязвимостей. В скором времени будет сформирована основная ветка nginx 1.27, в которой будет продолжено развитие новых возможностей. Для обычных пользователей, у которых нет задачи обеспечить совместимость со сторонними модулями, рекомендуется использовать основную ветку, на базе которой раз в три месяца формируются выпуски коммерческого продукта Nginx Plus.
В соответствии с мартовским отчётом компании Netcraft под управлением nginx работает около 243 млн сайтов (год назад 289 млн). Nginx используется на 18.15% всех активных сайтов (год назад 18.94%, два года назад 20.08%), что соответствует второму месту по популярности в данной категории (доля Apache соответствует 20.09% (год назад 20.52, два года назад 22.58%), Cloudflare - 14.12% (11.32%, 10.42%), Google - 10.41% (9.89%, 8.89%). При этом при рассмотрении всех сайтов nginx сохраняет лидерство и занимает 22.31% рынка (год назад 25.94%, два года назад - 31.13%), в то время как доля Apache соответствует 20.17% (20.58, 23.08%), Cloudflare - 11.24% (10.17, 5.49%), OpenResty (платформа на базе nginx и LuaJIT) - 7.93% (7.94%, 8.01%). Среди миллиона самых посещаемых сайтов в мире доля nginx составляет 20.63% (год назад 21.37%, два года назад 21.79%), Cloudflare - 22.59% (год назад 21.62%), Apache httpd - 20.09% (21.18%). По данным W3Techs nginx используется на 34.3% сайтов из миллиона самых посещаемых, в апреля прошлого года этот показатель составлял 34.5%, позапрошлого - 33.1%. Доля Apache за год снизилась с 32.2% до %30.1, а доля Microsoft IIS снизилась с 5.6% до 4.8%. Доля Node.js увеличилась с 2.4% до 3.2%, а доля LiteSpeed с 11.8% до 12.9%. Наиболее заметные улучшения, добавленные в процессе формирования основной ветки 1.25.x:
Стабильный выпуск проекта FreeNginx 1.26.0, развивающего форк Nginx, был опубликован две недели назад. Разработку форка ведёт Максим Дунин, один из ключевых разработчиков Nginx. FreeNginx позиционируется как некоммерческий проект, обеспечивающий разработку кодовой базы Nginx без корпоративного вмешательства.
| ||
Обсуждение (4) |
Тип: Программы |
| ||
· | 23.04 | Обновление Firefox 125.0.2. Проблема с появлением вкладки с адресом 0.0.0.1 (22 +13) |
Доступен корректирующий выпуск Firefox 125.0.2, в котором отключена представленная в ветке Firefox 125 функция блокировки загрузки файлов с URL, не заслуживающих доверия. В некоторых ситуациях указанная функциональность приводила к загрузке других файлов, вместо запрошенных (например, при включённой настройке "dom.block_download_insecure" попытка загрузки CSV-файла приводила к загрузке файла с HTML-текстом страницы). Режим блокировки опасных загрузок планируют доработать и повторно активировать в одном из следующих выпусков.
В примечании к выпуску также отмечена ещё одна неординарная проблема, которую планируют устранить в следующем обновлении Firefox 125.0.3, намеченном на 30 апреля. Суть проблемы в том, что после обновления до Firefox 125 у некоторых пользователей периодически самопроизвольно стали открываться новые вкладки с URL "https://0.0.0.1" в адресной строке. Эффект проявлялся только на платформе Windows. Разбор ситуации показал, что вкладки возникают при попытке запуска ещё одной копии Firefox из командной строки, когда Firefox уже запущен. Пользователям, которые столкнулись с данной проблемой, если они сами не запускали новых копий Firefox, рекомендуется проверить свои системы антивирусным ПО, так как подобная активность может быть следствием работы вредоносных программ. Появление вкладки с адресом "https://0.0.0.1" вызвано ошибкой в обработчике "Application Launch Prefetcher". В ветке Firefox 125 при запуске дополнительного процесса используется метод nsWinRemoteClient::SendCommandLine с добавлением опции "/prefetch:1" к командной строке, которая во время разбора параметров преобразуется в "-prefetch 1". В дальнейшем параметр "-prefetch" игнорируется, а оставшаяся единица воспринимается как URL для открытия (эквивалент запуска "firefox.exe 1"), что и приводит к попытке открытия сайта "https://0.0.0.1".
| ||
Обсуждение (22 +13) |
Тип: К сведению |
| ||
· | 23.04 | Релиз дистрибутива Fedora Linux 40 (75 +17) |
Представлен релиз дистрибутива Fedora Linux 40. Для загрузки подготовлены продукты Fedora Workstation, Fedora Server, Fedora CoreOS, Fedora Cloud Base, Fedora IoT Edition и Live-сборки, поставляемые в форме спинов c десктоп-окружениями KDE Plasma, Xfce, MATE, Cinnamon, LXDE, Phosh, LXQt, Budgie и Sway. Сборки сформированы для архитектур x86_64, Power64 и ARM64 (AArch64). Публикация сборок Fedora Silverblue задерживается.
Наиболее значимые изменения в Fedora Linux 40:
Дополнительно можно отметить введение в строй для Fedora 40 "free" и "nonfree" репозиториев проекта RPM Fusion, в которых доступны пакеты с дополнительными мультимедиа приложениями (MPlayer, VLC, Xine), видео/аудио кодеками, поддержкой DVD, проприетарными драйверами AMD и NVIDIA, игровыми программами и эмуляторами.
| ||
Обсуждение (75 +17) |
Тип: Программы |
| ||
· | 23.04 | Выпуск дистрибутива Tails 6.2 (13 +6) |
Сформирован релиз специализированного дистрибутива Tails 6.2 (The Amnesic Incognito Live System), основанного на пакетной базе Debian 12, поставляемого с рабочим столом GNOME 43 и предназначенного для анонимного выхода в сеть. Анонимный выход в Tails обеспечивается системой Tor. Все соединения, кроме трафика через сеть Tor, по умолчанию блокируются пакетным фильтром. Для хранения пользовательских данных в режиме сохранения пользовательских данных между запусками применяется шифрование. Для загрузки подготовлен iso-образ, способный работать в Live-режиме, размером 1 ГБ.
В новой версии:
| ||
Обсуждение (13 +6) |
Тип: Программы |
| ||
· | 23.04 | Анализ влияния ключевого слова final на производительность программ C++ (54 +15) |
Бенджамин Саммертон (Benjamin Summerton), автор системы трассировки лучей PSRayTracing, проанализировал влияние на производительность приложений использование в коде на языке С++ ключевого слова "final", появившегося в стандарте C++11. Причиной проведения тестирования послужили витающие в сети заявления, что использование "final" позволяет повысить производительность, которые ограничивались оценочными суждениями без указания результатов изменений.
Проведённое Бенджамином тестирование показало, что производительность при использовании "final" сильно зависит от компилятора. При сборке в GCC действительно в заметном числе случаев производительность возрастала, но при сборке в Clang и MSVC производительность в большинстве случаев снижалась, причём более ощутимо. При этом большое влияние, кроме компилятора, имела платформа, например, проседание производительности больше проявлялись на системе с CPU AMD Ryzen 9 6900HX, чем на системе с CPU Apple M1.
Например, на системе AMD Ryzen 9 6900HX с Ubuntu 23.10 при сборке в Clang в 90% тестов при использовании "final" наблюдалось замедление работы как минимум на 5%, но в 2.5% случаев фиксировалось ускорение как минимум на 5%. Для GCC замедление на 5% фиксировалось в 0.9% случаев, а ускорение на 5% - в 15.8% случаев. В MSVC 5% замедление наблюдалось в 26.2% тестов, а 5% ускорение - 13.3%. Для себя автор исследования сделал вывод о необходимости избегать использования "final".
| ||
Обсуждение (54 +15) |
Тип: Тема для размышления |
| ||
· | 23.04 | Выпуск сканера сетевой безопасности Nmap 7.95 (19 +11) |
Опубликован выпуск сканера сетевой безопасности Nmap 7.95, предназначенного для проведения аудита сети и выявления активных сетевых сервисов. Код проекта поставляется под лицензией NPSL (Nmap Public Source License), основанной на лицензии GPLv2, которая дополнена рекомендациями (не требованиями) по использованию программы OEM-лицензирования и покупке коммерческой лицензии, если производитель не желает открывать код своего продукта в соответствии требованиями копилефт-лицензии или намерен интегрировать Nmap в продукты, несовместимые с GPL.
Условия лицензии NPSL применимы только к сторонам, принявшим лицензию в обмен на получение особых прав, таких как право на редистрибуцию Nmap. При этом участвующая сторона может делать всё что ей необходимо в соответствии с положениями авторского права, такими как добросовестное использование, и разработчики Nmap не будут пытаться установить контроль над их работой. Основные изменения:
| ||
Обсуждение (19 +11) |
Тип: Программы |
| ||
· | 23.04 | Выпуск NetBSD 9.4 (46 +11) |
Опубликован релиз операционной системы NetBSD 9.4, который завершил цикл сопровождения прошлой значительной ветки 9.x. NetBSD 9.4 отнесён к категории корректирующих обновлений и включает в основном исправления проблем и уявзимостей, выявленных с момента публикации NetBSD 9.3 в августе 2022 года. Для тех, кому важна новая функциональность недавно был выпущен значительный релиз NetBSD 10.0. Для загрузки подготовлены установочные образы размером 507 МБ, доступные в сборках для 57 системных архитектур и 16 различных семейств CPU.
Кроме исправления ошибок в NetBSD 9.4 из ветки NetBSD 10 перенесены некоторые новые возможности, как правило связанные с поддержкой оборудования. Например, добавлена поддержка новых контроллеров MegaRAID, Ethernet-карт на чипе RTL8168GU и 3G-модемов ZTE MF112 и D-Link DWM222. Расширена поддержка новых CPU AMD (zen3, zen4) и Intel (Comet Lake, Skylake-X, Cascade Lake). Добавлена поддержка RAM-дисков в ZFS и CGD. Улучшена совместимость с QEMU сборок для aarch64. Для sshd прекращена генерация хостовых ключей DSA. В утилиту audioplay добавлена поддержка IEEE FP .wav, в date добавлена опция "-f", а в ftp реализованы относительные HTTP-редиректы. Обновлены версии openssl 1.1.1t, postfix 3.8.4, openssh 9.6, BIND 9.18.24, nsd 4.8.0 и unbound 1.19.1.
| ||
Обсуждение (46 +11) |
Тип: Программы |
| ||
· | 22.04 | Проект Raspberry Pi Media Center развивает серию открытых Hi-Fi устройств (76 +20) |
В рамках проекта Raspberry Pi Home Media Center развивается несколько компактных открытых аппаратных устройств для организации работы домашнего медиацентра. В качестве основы в устройствах задействована плата Raspberry Pi Zero, сопряжённая с цифро-аналоговым преобразователем, позволяющим добиться высококачественного вывода звука. Устройства поддерживают подключение к сети через Wi-Fi или Ethernet, и могут управляться через пульт дистанционного управления. Схемы и распайки печатных плат, а также модели для корпусов опубликованы под лицензией GPLv3. Код для использования цифро-аналогового преобразователя вместе с платой Raspberry Pi открыт под лицензией GPLv3.
Устройство Louder Raspberry Pi примечательно использованием микросхемы TI TAS5805M с цифро-аналоговым преобразователем и усилителем D-класса, способным обеспечить вывод стереозвука на колонки с мощностью 22 Вт на канал. Устройство поставляется с IR-приёмником для пульта ДУ, USB-C, Wi-Fi и Ethernet (Wiznet W5500 SPI). Размер 88 x 38 x 100 мм. Стоимость $35. Устройство Raspberry Pi HiFi оснащено более простым цифро-аналоговым преобразователем TI PCM5100 и рассчитано на использование с внешним усилителем. Устройство оснащено IR-приёмником для пульта ДУ, USB-C, Wi-Fi, Ethernet (Wiznet W5500 SPI) и линейным аудиовыходом для подключения усилителя. Размер 88 x 38 x 100 мм. Стоимость $25. В разработке находится устройство Loud Raspberry Pi, примечательное использованием двух микросхем Analog Devices MAX98357 с цифро-аналоговыми преобразователями и усилителями D-класса. Устройство рассчитано на подключение колонок, мощностью 3 Вт.
| ||
Обсуждение (76 +20) |
Тип: К сведению |
| ||
· | 22.04 | Использование BPF-программ для решения проблем в устройствах ввода (52 +13) |
Питер Хаттерер (Peter Hutterer), мэйнтейнер подсистемы ввода X.Org, работающий в Red Hat, представил новую утилиту udev-hid-bpf, предназначенную для автоматической загрузки BPF-программ, исправляющих проблемы в устройствах ввода с интерфейсом HID (Human Input Device) или меняющих их поведение в зависимости от предпочтений пользователя. Для создания обработчиков к HID-устройствами, таким как клавиатуры и мыши, применяется подсистема HID-BPF, появившаяся в ядре Linux 6.3 и позволяющая создавать драйверы устройств ввода в форме BPF-программ или обрабатывать различные события в подсистеме HID.
Утилита udev-hid-bpf может использоваться вместе с механизмом udev для автоматической активации BPF-программ при подключении новых устройств ввода или для загрузки BPF-программ в ручном режиме. Выделяются две основные категории BPF-программ для использование вместе с udev-hid-bpf: программы для устранения проблем в аппаратном обеспечении или прошивках, и программы для изменения поведения устройств по желанию пользователя. В первом случае решаются задачи устранения недоработок и ошибок в устройствах, таких как инвертированные оси координат, некорректные диапазоны значений (например, заявление о наличии 8 кнопок вместо 5) и нелогичные последовательности событий. Во втором случае речь об изменении настроек устройств, например, при помощи BPF-программ можно поменять местами кнопки. Предполагается, что BPF-программы с исправлениями со временем будут включены в основной состав ядра и позволят обойтись без добавления в ядро патчей или отдельных драйверов.
| ||
Обсуждение (52 +13) |
Тип: К сведению |
| ||
· | 22.04 | Выпуск звукового редактора Audacity 3.5 (110 +17) |
Опубликован релиз свободного редактора звука Audacity 3.5, предоставляющего средства для редактирования звуковых файлов (Ogg Vorbis, FLAC, MP3 и WAV), записи и оцифровки звука, изменения параметров звукового файла, наложения треков и применения эффектов (например, подавление шума, изменение темпа и тона). Audacity 3.5 стал пятым значительным выпуском, сформированным после перехода проекта в руки компании Muse Group. Код Audacity распространяется под лицензией GPLv3, бинарные сборки доступны для Linux, Windows и macOS.
Основные улучшения:
| ||
Обсуждение (110 +17) |
Тип: Программы |
| ||
· | 22.04 | Оценка изменения производительности СУБД PostgreSQL за последние 15 лет (28 +38) |
Райан Маркус (Ryan Marcus), разработчик экспериментального оптимизатора Bao для PostgreSQL, в котором используется машинное обучение для оптимизации выполнения запросов, опубликовал результаты тестирования производительности штатного оптимизатора запросов PostgreSQL. Тестирование охватывало ветки PostgreSQL, начиная с 8.4 (2009 год) и заканчивая 16 (2023 год). Производительность измерялась при помощи коллекции JOB (join order benchmark), включающей более 100 сложных запросов с большим числом операций JOIN, нацеленных на проверку различных аспектов работы оптимизатора запросов.
По сравнению с версией PostgreSQL 8.4 скорость выполнения тестовых запросов в PostgreSQL 16 возросла почти в два раза. Каждая новая значительная версия PostgreSQL в среднем быстрее предыдущей на 15% при выполнении тестов JOB.
| ||
Обсуждение (28 +38) |
Тип: Обобщение |
| ||
· | 22.04 | Выпуск реляционно-графовой СУБД EdgeDB 5.0 (19 +4) |
Доступен релиз СУБД EdgeDB 5.0, реализующей реляционно-графовую модель данных и язык запросов EdgeQL, оптимизированные для работы со сложными иерархическими данными. Проект развивается в форме надстройки над PostgreSQL, код которой написан на языках Python и Rust (парсер и критичные к производительности части), и распространяется под лицензией Apache 2.0. Клиентские библиотеки подготовлены для языков Python, Go, Rust. .NET, Elixir и TypeScript/Javascript. Предоставляется инструментарий командной строки для управления СУБД и интерактивного выполнения запросов (REPL).
Вместо модели данных на основе таблиц в EdgeDB применяется декларативная система на основе объектных типов. Вместо внешних ключей (foreign key) для определения связи между типами применяется связывание ссылками (один объект может использоваться как свойство другого объекта). type Person { required name: str; } type Movie { required title: str; multi actors: Person; } Поддерживаются такие возможности как строгая типизация свойств, ограничения значений свойств, вычисляемые свойства и хранимые процедуры. Из особенностей объектной схемы хранения EdgeDB, которая чем-то напоминает ORM, отмечается возможность смешивания схем, связывания свойств из разных объектов и интегрированная поддержка JSON. Для ускорения обработки запросов могут применяться индексы. Предоставляются встроенные инструменты для миграции схемы хранения - после изменения схемы, задаваемой в отдельном esdl-файле, достаточно выполнить команду "edgedb migration create" и СУБД проанализирует различия в схеме и в интерактивном режиме сгенерирует скрипт для перехода на новую схему. Автоматически отслеживается история изменения схемы. Для формирования запросов поддерживается язык запросов GraphQL и собственный язык EdgeDB, представляющий собой адаптацию SQL для иерархических данных. Вместо списков результаты запроса оформляются в структурированном виде, а вместо подзапросов и операций JOIN предоставляется возможность указания одного запроса EdgeQL в качестве выражения внутри другого запроса. Поддерживаются транзакции и циклы. select Movie { title, actors: { name } } filter .title = "The Matrix" insert Movie { title := "The Matrix Resurrections", actors := ( select Person filter .name in { 'Keanu Reeves', 'Carrie-Anne Moss', 'Laurence Fishburne' } ) } В новой версии:
| ||
Обсуждение (19 +4) |
Тип: Программы |
| ||
· | 22.04 | Lunatik - инструментарий для создания в ядре Linux обработчиков на языке Lua (155 +16) |
Проект Lunatik развивает инструментарий, позволяющий использовать язык Lua для расширения функциональности ядра Linux и быстрого написания скриптов-обработчиков, работающих на уровне ядра. Для выполнения кода задействован интерпретатор Lua, модифицированный для работы на уровне ядра. Код проекта написан на языке Си и распространяется под лицензией MIT.
Для загрузки и выполнения Lua-скриптов на уровне ядра используется специальный драйвер, а для управления Lua-окружением в ядре из пространства пользователя предлагаются утилита командной строки. Проект также предоставляет C API для управления загрузкой и выполнением Lua-скриптов из ядра Linux, который может применяться, например, для выполнения отдельных обработчиков на языке Lua из традиционных модулей ядра, написанных на языке Си. Для обращения к функциям ядра из кода на языке Lua предлагается Lua API и набор привязок. В Lua-скриптах можно использовать подмножество библиотечных функций и возможностей, ограниченное в силу специфики работы внутри ядра. Например, в коде не поддерживается выполнение операций с плавающей запятой, нельзя использовать библиотеки io и os, а также недоступны многие функции библиотеки math. В C API не поддерживаются функции luaL_Stream, luaL_execresult, luaL_fileresult, luaopen_io и luaopen_os. Среди возможностей утилиты командной строки можно отметить команды для загрузки, выгрузки и перезагрузки модулей Lunatik в ядре, вывод состояния загруженных модулей, просмотр списка выполняемых в ядре скриптов, запуск скриптов, создания и остановка runtime-окружений Lua в ядре, использование интерактивной оболочки REPL (Read–Eval–Print Loop). Проектом также предоставляется набор примеров, позволяющих оценить возможности Lunatik. Например, доступны скрипты с реализацией драйвера символьного устройства, сетевого сниффера с возможностью ведения журнала с MAC-адресами, БД для хранения данных в виде ключ/значение, сервера для протокола ECHO, кейлоггера для ведения лога нажатых клавиш, блокировщика клавиатуры (после нажатия "↑ ↑ ↓ ↓ ← → ← → LCTRL LALT" ядро перестаёт обрабатывать нажатия клавиш вплоть до повторного ввода данной последовательности), драйвера для мониторинга за системными вызовами, сервиса маршрутизации, различных надстроек над подсистемами Netfilter и XDP.
| ||
Обсуждение (155 +16) |
Тип: Программы |
| ||
· | 21.04 | Выпуск Kata Containers 3.4 с изоляцией на основе виртуализации (44 +15) |
Опубликован выпуск проекта Kata Containers 3.4, развивающего стек для организации выполнения контейнеров с использованием изоляции на базе полноценных механизмов виртуализации. Проект создан компаниями Intel и Hyper путём объединения технологий Clear Containers и runV. Код проекта написан на языках Go и Rust, и распространяется под лицензией Apache 2.0. Развитие проекта курирует рабочая группа, созданная под эгидой независимой организации OpenInfra Foundation, в которой участвуют такие компании, как Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE и ZTE.
Основу Kata составляет runtime, позволяющий создавать компактные виртуальные машины, выполняемые с использованием полноценного гипервизора, вместо применения традиционных контейнеров, использующих общее ядро Linux и изолированных при помощи пространств имён и cgroups. Применение виртуальных машин позволяет добиться более высокого уровня безопасности, защищающего от совершения атак, вызванных эксплуатацией уязвимостей в ядре Linux. Kata Containers ориентирован на интеграцию в существующие инфраструктуры контейнерной изоляции c возможностью применения подобных виртуальных машин для усиления защиты традиционных контейнеров. Проектом предоставляются механизмы для обеспечения совместимости легковесных виртуальных машины с различными инфраструктурами контейнерной изоляции, платформами оркестровки контейнеров и спецификациями, такими как OCI (Open Container Initiative), CRI (Container Runtime Interface) и CNI (Container Networking Interface). Доступны средства для интеграции с Docker, Kubernetes, QEMU и OpenStack. Интеграция с системами управления контейнерами достигается при помощи прослойки, симулирующей управление контейнером, которая через gRPC-интерфейс и специальный прокси обращается к управляющему агенту в виртуальной машине. Внутри виртуального окружения, которое запускается гипервизором, используется специально оптимизированное ядро Linux, содержащее только минимальный набор необходимых возможностей. В качестве гипервизора поддерживается использование Dragonball Sandbox (редакция KVM, оптимизированная для контейнеров) с инструментарием QEMU, а также Firecracker и Cloud Hypervisor. Системное окружение включает в себя демон инициализации и агент (Аgent). Агент обеспечивает выполнение определённых пользователем образов контейнера в формате OCI для Docker и CRI для Kubernetes. При использовании совместно с Docker для каждого контейнера создаётся отдельная виртуальная машина, т.е. запускаемое поверх гипервизора окружение применяется для вложенного запуска контейнеров. Для уменьшения потребления памяти применяется механизм DAX (прямой доступ к ФС в обход страничного кэша без применения уровня блочных устройств), а для дедупликации одинаковых областей памяти применяется технология KSM (Kernel Samepage Merging), что позволяет организовать совместное использование ресурсов хост-системы и подключить к разным гостевым системам общий шаблон системного окружения. Для организации доступа к образам контейнеров задействована файловая система Nydus, в которой используется адресация по содержимому для эффективной совместной работы с типовыми образами. Nydus поддерживает загрузку образов на лету (загружает только при возникновении необходимости), обеспечивает дедупликацию повторяющихся данных и может использовать разные бэкенды для фактического хранения. Предоставляется совместимость с POSIX (по аналогии с Composefs, реализация Nydus совмещает возможности OverlayFS c EROFS или FUSE-модулем). В новой версии:
| ||
Обсуждение (44 +15) |
Тип: Программы |
| ||
· | 21.04 | Выпуск композитного сервера Niri 0.1.5, использующего Wayland (44 +16) |
Опубликован выпуск композитного сервера Niri 0.1.5, развиваемого под впечатлением от GNOME-расширения PaperWM и реализующего метод мозаичной (tiling) компоновки, при котором окна группируются в бесконечно прокручиваемую на экране ленту. Открытие нового окна приводит к расширению ленты, а ранее добавленные окна никогда не меняют свой размер. Код проекта распространяется под лицензией GPLv3. Пакеты собраны для Fedora, NixOS , Arch Linux и FreeBSD.
В качестве причины создания отдельного композитного менеджера отмечается невозможность реализации в PaperWM раздельной работы с мониторами из-за привязки к глобальным оконным координатам в GNOME Shell. Принципиальным отличием Niri от PaperWM является привязка к каждому монитору собственной ленты окон, которые не пересекаются между собой. Niri поддерживает HiDPI и может работать на системах с несколькими GPU (например, гибридных системах с дискретной видеокартой и встроенным GPU). Как и в GNOME виртуальные рабочие столы в Niri создаются динамически и размещаются вертикально (лента окон вращается горизонтально, а лента рабочих столов - вертикально). На каждом мониторе может отображаться независимый набор виртуальных рабочих столов. Для переключения между рабочими столами можно использовать управляющие жесты на тачпаде. При отключении монитора раскладка виртуальных рабочих столов запоминается и переносится на оставшийся монитор, а при возвращении монитора восстанавливается в исходное состояние. Niri базируется на использовании протокола Wayland, но позволяет запускать приложения X11 при помощи DDX-сервера Xwayland. Имеется встроенный интерфейс для создания скриншотов и записи скринкастов, особенностью которого является возможность исключения из записи отдельных окон с конфиденциальной информацией. Настройка осуществляется через файл конфигурации, позволяющий изменять базовые параметры окружения, такие как ширина рамок, отступы, режимы вывода и размеры окон. Внесённые в файл конфигурации изменения применяется автоматически без перезапуска композитного сервера. Поддерживается управление при помощи жестов на тачпаде. Изменения конфигурации применяются на лету без перезапуска композитного сервера. Новая версия примечательна реализацией новых анимированных эффектов при манипуляции с окнами, а также реализацией пружинящих эффектов (spring animation). Анимация теперь применяется при перемещении, изменении размера и закрытии окон. Для тех кого раздражают анимированные эффекты в файле конфигурации предусмотрен параметр для отключения анимации или настройки каждого эффекта под свои предпочтения.
Среди других новшеств:
| ||
Обсуждение (44 +16) |
Тип: Программы |
| ||
Следующая страница (раньше) >> |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |