Как стать автором
Обновить
133.22

Разработка под Linux *

Пишем под *nix

Сначала показывать
Порог рейтинга
Уровень сложности

Насколько быстрее стали терминалы в GNOME 46?

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров6.7K

VTE (Virtual TErminal library) — это библиотека, лежащая в основе различных эмуляторов терминала GNOME. Она предоставляет GTK-виджет, отображающий элемент терминала, используемый в приложениях наподобие GNOME Terminal, Console, Black Box, Tilix, Terminator, Ptyxis и других. Также она используется во встроенных терминалах Builder и Workbench.

На протяжении цикла GNOME 46 в VTE было внесено множество улучшений производительности. Кристиан Хергерт говорил о некоторых из них в своих постах о VTE и о своей работе в GNOME 46. Но насколько же улучшилась производительность? Чего стоит ожидать вам, пользователю, от установки свежего обновления Fedora 40 и запуска любимого терминала?

Давайте измерим и разберёмся!
Читать дальше →
Всего голосов 30: ↑38 и ↓-8+46
Комментарии20

Новости

Ubuntu 24.04: финальный релиз уже скоро. Изменения и возможности дистрибутива

Время на прочтение4 мин
Количество просмотров29K

Уже 25 апреля будет опубликован финальный релиз дистрибутива Ubuntu 24.04 «Noble Numbat». Фактически он готов и сейчас, единственное, что осталось разработчикам — тщательно протестировать новинку на наличие ошибок, а если они есть, то исправить их. Новая версия относится к категории выпусков с длительным сроком поддержки, обновления для неё будут формироваться в течение 12 лет. Подробности — под катом.

Читать далее
Всего голосов 31: ↑35 и ↓-4+39
Комментарии51

Библиотека EremexControls.NET для Avalonia UI — Обновление март-апрель 2024

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.5K

В предыдущей статье мы рассказали о нашей первой версии библиотеки UI контролов для создания мультиплатформенных приложений под Avalonia UI. С тех пор прошло достаточно времени, в течение которого мы продолжали работать над новой версией Delta Design и расширением линейки контролов для Avalonia UI. Об этом мы поговорим ниже. А также мы пригласим вас на выставку ЭкспоЭлектроника 2024, на которой компания Эремекс будет готова подробно рассказать о новой версии Delta Design и о линейке контролов EremexControls.NET.

Читать далее
Всего голосов 21: ↑23.5 и ↓-2.5+26
Комментарии0

Числа и байты: как работает память в Linux?

Уровень сложностиСложный
Время на прочтение27 мин
Количество просмотров11K
image

Часть первая: физическая память


При создании операционных систем всегда уделяется внимание работе с памятью. Память — это компонент компьютера, где хранятся программы и данные, и без нее современные компьютеры не могли бы функционировать. Важной единицей хранения данных в памяти является бит, который может принимать два значения: 0 или 1. Память состоит из ячеек, каждая из которых имеет свой адрес. Ячейки могут содержать различное количество битов, и количество адресуемых ячеек зависит от количества бит в адресе.

Также память включает в себя оперативное запоминающее устройство (ОЗУ) или RAM, где можно записывать и считывать информацию. Существует статическая ОЗУ (SRAM) и динамическая ОЗУ (DRAM), различающиеся в том, как хранится информация. В SRAM информация сохраняется до выключения питания, в то время как в DRAM используются транзисторы и конденсаторы, что позволяет хранить данные, но требует их периодического обновления. Разные типы ОЗУ имеют свои преимущества и недостатки, и выбор зависит от конкретных потребностей.

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

Но что такое физическая память, как она работает в Linux? Что такое сегментация, утечки памяти и некие «страницы»?

Все, что вы хотели знать, но боялись спросить о памяти пингвина — читайте здесь и сейчас!
Читать дальше →
Всего голосов 25: ↑29 и ↓-4+33
Комментарии17

Истории

И вот она явилась: представлен новый выпуск свободной ОС OpenBSD 7.5

Время на прочтение4 мин
Количество просмотров7K

Прошло не так много времени с момента появления предыдущего релиза OpenBSD, и вот сейчас представлен новый. Стоит напомнить, что операционная система известна не только сама по себе, её разработчики создали немало полезных и востребованных компонентов, включая LibreSSL (форк OpenSSL), OpenSSH, пакетный фильтр PF, демоны маршрутизации OpenBGPD и OpenOSPFD, NTP-сервер OpenNTPD, почтовый сервер OpenSMTPD и другие. Под катом — подробности о новом выпуске.

Читать далее
Всего голосов 14: ↑20 и ↓-6+26
Комментарии2

А в чем проблема работать с файлами?

Уровень сложностиСредний
Время на прочтение53 мин
Количество просмотров27K

Данные - это важный компонент системы. Приложение может хранить их где угодно, но в результате все сводится к файлам. Файлы - это хорошая абстракция, но она протекает: если не знать того, как работают ОС или гарантии файловой системы, то легко выстрелить себе в ногу.

Меня увлекла тема отказоустойчивости, а конкретно - отказоустойчивой работы с файлами. В этой статье я попытался соединить все полученные знания:

Кто участвует в процессе записи

Ошибки, которые могут произойти

Что от нас зависит, а что нет

И самое главное - как это этого защититься

Читать далее
Всего голосов 171: ↑170 и ↓1+169
Комментарии23

Как мы сделали Embedded Controller для ПЛК на Linux

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров9.4K

Мы уже рассказывали о том, как приручили робота-пайщика, как делаем устройства и тестируем их. Теперь хотим поделиться опытом разработки полноценного Embedded Controller для ПЛК на Linux — какие задачи решает, как устроен и что у него под капотом в прошивке.

Читать далее
Всего голосов 45: ↑44.5 и ↓0.5+44
Комментарии36

Настоящий игровой роутер

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров20K
Гоняем GTA: Vice City на беспроводном роутере TP-Link TL-WDR4900.

Читать дальше →
Всего голосов 73: ↑72 и ↓1+71
Комментарии19

Why so heavy, Windows? Новая версия ОС Tine Core Linux «весит» всего 24 Мб. Что это за дистрибутив

Время на прочтение3 мин
Количество просмотров15K

Tiny Core Linux около 15 лет, и он до сих пор актуален, обновляется и модифицируется своими авторами. Правда, с момента выхода версии 1.2 он немного «поправился» — сейчас его объём составляет 24 Мб вместо 10 Мб. Но всё равно это исчезающе малый «вес» по сравнению с другими дистрибутивами и операционными системами, хоть современными, хоть не очень. Подробности о новой версии — под катом.

Читать далее
Всего голосов 47: ↑42 и ↓5+37
Комментарии38

Бардак в GNOME — это не случайность

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров51K

GNOME удалось добиться, казалось бы, невозможного: это самая ограниченная по возможностям и раздутая десктопная среда для Linux. Но это не просто случайность. Это результат высокомерия и дилетантства основных разработчиков, превративших архитектурные решения GNOME в шедевр хаоса. Чтобы лучше понять, что происходит, давайте проанализируем некоторые из примеров. Даже если ни один из них не затрагивает непосредственно вас, стоит понять modus operandi ведения проектов GNOME и то, как они вредят сообществу Linux.
Читать дальше →
Всего голосов 165: ↑157 и ↓8+149
Комментарии271

Спасти Linux

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров35K


Некоторое время назад я написал статью, в которой критически высказался о Linux-разработчиках, не желающих поддерживать дистрибутив, если он предназначен для работы на компьютерах, которым более 15 лет. За это я получил немало критики от читателей с Hacker News. Кто-то указывал, что я не понимаю, насколько же это сложно – создать и поддерживать дистрибутив Linux. Были и такие, кто советовали мне просто накатить на старый компьютер старую версию Windows. Я же начал пользоваться Linux в первую очередь для избегания Windows, так как считал её монструозным порождением Билла Гейтса. Фактически, разработчики операционной системы, ранее обещавшие освободить меня от Windows, теперь склоняют меня вернуться к Windows, как только мой компьютер настолько состарится, что им станет неудобно его поддерживать. Ответы, которые я получаю от Linux-разработчиков, явно свидетельствуют, что Linux больше не является операционной системы для технарей-компьютерщиков, желающих сохранить на ходу свои любимые винтажные машины. Напротив, Linux превратился в операционную систему, которую разработчик рассматривает как средство для прокачки карьеры. Те, кому интересно подробнее разобраться в нарастающей дисфункциональности Linux и узнать, почему сложилась такая ситуация, могут посмотреть это видео на YouTube.
Читать дальше →
Всего голосов 60: ↑46 и ↓14+32
Комментарии202

Спасти Linux

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров35K


Некоторое время назад я написал статью, в которой критически высказался о Linux-разработчиках, не желающих поддерживать дистрибутив, если он предназначен для работы на компьютерах, которым более 15 лет. За это я получил немало критики от читателей с Hacker News. Кто-то указывал, что я не понимаю, насколько же это сложно – создать и поддерживать дистрибутив Linux. Были и такие, кто советовали мне просто накатить на старый компьютер старую версию Windows. Я же начал пользоваться Linux в первую очередь для избегания Windows, так как считал её монструозным порождением Билла Гейтса. Фактически, разработчики операционной системы, ранее обещавшие освободить меня от Windows, теперь склоняют меня вернуться к Windows, как только мой компьютер настолько состарится, что им станет неудобно его поддерживать. Ответы, которые я получаю от Linux-разработчиков, явно свидетельствуют, что Linux больше не является операционной системы для технарей-компьютерщиков, желающих сохранить на ходу свои любимые винтажные машины. Напротив, Linux превратился в операционную систему, которую разработчик рассматривает как средство для прокачки карьеры. Те, кому интересно подробнее разобраться в нарастающей дисфункциональности Linux и узнать, почему сложилась такая ситуация, могут посмотреть это видео на YouTube.
Читать дальше →
Всего голосов 60: ↑46 и ↓14+32
Комментарии202

Не пора ли валить с gnu libc на что‑то другое?

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров20K

Пользуюсь открытым ПО значительное время. Сижу на Линуксе.

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

Последний эпизод коснулся совсем уж системного кода - стандартной библиотеки libc от GNU. Системнее может быть только ядро.

История такая. Собрал Хромиум (не быстро). Когда наконец сборка завершилась с попутным решением проблем, думал: ну вот наконец щас запущу, посмотрю как работают интересующие меня вещи. И тут произошёл облом. Хром падал почти в самом начале запуска с ошибкой доступа к памяти. Довольно быстро удалось выяснить, что падение происходит из-за ошибки обращения по нулевому указателю. И происходит оно в динамическом загрузчике, то бишь в libdl, при загрузке библиотеки через dlopen. libdl.so является одной из компонент пакета стандартной библиотеки и понятно, самой системной библиотекой в ОС. Подробности всей ситуации я описал в вопросе на stackoverflow.

Вкратце: при загрузке библиотеки libXcursor.so подтягиваются непонятно откуда взявшиеся зависимости, не имеющие никакого отношения к упомянутой библиотеке. И зависимости эти не инициализированы корректно. Откуда и происходит обращение по нулевому указателю. Впоследствии выяснилось, что проблема начинается с несовпадающих версий библиотек libQt5Core, в результате чего libdl делает полный отбой с попыткой отката всех изменений.

Но, видимо, этот откат реализован из рук вон плохо, поскольку после него начинают происходить весьма странные вещи. И загрузка неинициализированной зависимости с нулевыми указателями лишь одна из них. Я ещё сделал пробник в виде простого приложения, которое пытается воспроизвести ситуацию. И в этом пробнике также происходил сбой, но уже при инициализации (вызов init или конструктор в их терминологии) либы libpthread.so (тоже очень системная) - потерян адрес глобального на процесс хранилища либ.

Читать далее
Всего голосов 57: ↑44 и ↓13+31
Комментарии162

Ближайшие события

Разбираемся с Bluetooth Low Energy на примере превращения USB-клавиатуры в беспроводную

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров15K


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

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

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

Данная статья ставит целью на примере разработки собственной Bluetooth-клавиатуры помочь разобраться в базовых понятиях Bluetooth, так как чтение скучных спецификаций и статей с введением в технологию даёт мало пользы.
Читать дальше →
Всего голосов 76: ↑74 и ↓2+72
Комментарии76

Мигель де Икаса и его мечта — Linux на десктопах

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров18K

Мигель де Икаса, 2014 г. Фото: he San Diego Union-Tribune

Как известно, гении предпочитают общаться и работать с равными себе, они притягивают друг друга. И если вы хотите что-то узнать о человеке — посмотрите, кто его друзья. Например, взять выдающегося Фабриса Беллара, о котором мы публиковали несколько статей. Его не очень волнует мирская суета (карьера, деньги, известность и прочие атрибуты «успеха» у обывателей), а только интересная работа. В интернете всего две фотографии Фабриса, и одна из них — с компьютерной конференции, где он сфотографировался с Мигелем де Икаса, основателем проектов GNOME и Mono.

Сразу понятно, кто достоин уважения с точки зрения Беллара.
Читать дальше →
Всего голосов 89: ↑88 и ↓1+87
Комментарии46

Библиотека контролов для Avalonia UI

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров9.3K

Последний год наша команда работала над кроссплатформенной версией САПР Delta Design. В результате этой работы была создана своя библиотека UI контролов для Avalonia, которая поддерживает как ОС Windows, так и ряд систем Linux, включая российские АстраЛинукс, РедОс, а также их модификации под Эльбрус.

Создание единой библиотеки контролов EremexControls.NET позволило компании ЭРЕМЕКС значительно ускорить темпы разработки и показать мультиплатформенную версию САПР Delta Design раньше обещанного срока. Применение готовых типовых блоков дало возможность инженерам фокусироваться на предметной области, не отвлекаясь на другие задачи. Сейчас библиотека контролов используются в трех внутренних проектах компании.

Под катом обзорная статья по новому продукту от компании ЭРЕМЕКС – библиотека компонентов EremexControls.NET для Avalonia UI.

Читать далее
Всего голосов 46: ↑46 и ↓0+46
Комментарии31

Стабильный релиз Wine 9.0? Спустя год он всё-таки появился — вместе с 7 000 изменений

Время на прочтение5 мин
Количество просмотров21K

Привет, Хабр! Кажется, мы действительно дождались стабильного релиза Wine 9.0. Спустя год времени и 26 промежуточных версий представлена официальная версия Wine 9.0. Разработчики внесли несколько тысяч изменений, так что здесь есть что обсудить. Основные нововведения — архитектура WoW64 для запуска 32-разрядных программ в 64-разрядном окружении, интеграция архитектуры ARM64, а также добавление драйвера для поддержки Wayland. Конечно, есть и другие новинки. Подробнее о них — под катом.

Читать далее
Всего голосов 53: ↑49 и ↓4+45
Комментарии22

Эльфы и пингвины: что такое ELF и как он работает в Linux?

Уровень сложностиПростой
Время на прочтение37 мин
Количество просмотров21K

image


Всем привет! С вами как всегда я, Аргентум. Сегодня я расскажу и поведаю вам древние тайны, которые хранят горные старцы-сисадмины — тайны об эльфах, и как они взаимодействуют с древним народцем пингвинов. Дамы и господа, встречайте — статья о работе ELF и двоичных файлов в Linux!


Что такое ELF? Чем он отличается от PE в Windows? И многие другие ответы на ваши вопросы.


Перед тем как погрузиться в технические детали, будет нелишним объяснить, почему понимание формата ELF полезно. Это позволяет изучить внутреннюю работу операционной системы. Когда что-то пошло не так, эти знания помогут лучше понять, что именно случилось, и по какой причине. Также возможность изучения ELF-файлов может быть ценна для поиска дыр в безопасности и обнаружения подозрительных файлов. И наконец, для лучшего понимания процесса разработки. Даже если вы программируете на высокоуровневом языке типа Go или Rust, вы всё равно будет лучше знать, что происходит за сценой.


Итак, зачем изучать ELF?


  • Для общего понимания работы операционной системы
  • Для разработки ПО
  • Цифровая криминалистика и реагирование на инциденты (DFIR)
  • Исследование вредоносных программ (анализ бинарных файлов)
Читать дальше →
Всего голосов 58: ↑52 и ↓6+46
Комментарии22

Переезд на Астра Линукс

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров37K

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

Такая аналогия приходит на ум после принятия решения о переходе с платформы Windows на пока единственную сертифицированную альтернативу – ОС Астра Линукс. Как жильцы гипотетического дома не могли отменить решение о магистрали, так и мы не можем отменить это решение. Придется переходить. Однако легко сказать «перейти». Когда я познакомился с IBM-PC/XT, какой-нибудь Торвальдс еще школу не кончил. За эти годы (чего уж там годы - десятилетия) появилось много привычек, приемов, навыков. Жалко все это оставлять ради принудительного перехода в другую среду. И приходит мысль – попытаться переехать, так сказать, всем домом, а не строить новый.

Читать далее
Всего голосов 48: ↑42 и ↓6+36
Комментарии153

Обзор одноцелевых дистрибутивов Linux

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров21K
image

Многие из тех, кто устанавливает дистрибутив Linux для одной-единственной цели, например, для работы с контейнерами, предпочитают развёртывание по принципу «поставил и забыл». На конференции FOSDEM 2023, состоявшейся в Брюсселе, было представлено несколько проектов из разряда таких «минимальных дистрибутивов Linux». Все они — Fedora CoreOSUbuntu CoreopenSUSE MicroOS и Bottlerocket OS – решают такие задачи по-своему. Из выступлений на FOSDEM можно составить интересную перспективу, демонстрирующую, в чём эти проекты отличаются на уровне применяемых подходов.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии5
1
23 ...