Как стать автором
Поиск
Написать публикацию
Обновить
368.67

Linux *

Пишем под *nix

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

Avalonia и котики и дизайн для разработчика

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

В эпоху невероятной популярности ChatGPT и OpentAI все кинулись играть с их инструментами и использовать API в своих продуктах. Я был в общих рядах и сделал продукт для тех, кому затруднительно воспользоваться официальным сайтом ChatGPT. Но в этой статье речь пойдет не о восхитительных продуктах MS, а о создании интерфейса с котиками на основе этого продукта.

Итак, у нас стоит задача: создать десктопный чат с GTP3, которым будет удобно пользоваться человеку, далекому от пк.

Читать далее

KVM: Что такое Kernel-based Virtual Machine?

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

Начнем с простого вопроса:

Что означает QEMU/KVM или QEMU-KVM?

Можно ответить - это QEMU + KVM или qemu-system, запущенный с kvm в качестве ускорителя. Но в какой-то степени это еще и анахронизм, так как с появлением KVM его разработчики для интеграции с QEMU поддерживали отдельный форк qemu-kvm, но начиная с QEMU версии 1.3 (декабрь 2012) все основные изменения из qemu-kvm были перенесены в главную ветку QEMU, а qemu-kvm объявлен устаревшим.

В разных дистрибутивах до сих пор еще можно встретить исполняемый файл qemu-kvm или просто kvm, но это лишь обертки над qemu-system:

exec qemu-system-x86_64 -enable-kvm "$@"

или симлинки:

/usr/bin/kvm -> qemu-system-x86_64

А в самом qemu существует проверка:

Читать далее

Как я заставил работать Netflix на Asahi Linux

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

Год назад я купил макбук. Полгода назад macOS на нем сказала "ой, все", и он окирпичился. Я решил не переустанавливать систему, а попробовать Asahi Linux, и пока что не пожалел об этом. Хотя одна вещь все же раздражала — не работали Netflix и официальное приложение Spotify.

Если честно, Netflix мне не очень-то и нужен — у BitTorrent сейчас намного лучше UX. Но к Spotify я очень привязался, и предпочитаю интерфейс именно у официального клиента, хотя многим это и покажется странным. Но официального клиента Spotify для Linux на архитектуре aarch64 пока что не существует.

Итак, мы начинаем наш челлендж попробуй не нарушить DMCA 2023! Наша задача — понять, как смотреть Netflix на Asahi Linux, не обходя и не ломая DRM. (Без этого условия решения уместится в 280 знаков).

Читать далее

Колдовской NeoVIM. Часть пятая. «Окно в… редакторе. И фолды»

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

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

Читать далее

Как настроить OpenVPN на Debian 11. Часть 1

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

Когда вы настраиваете удалённый доступ, важно не только предоставить всем сотрудникам подключение к нужным сервисам, но и позаботиться о безопасности. В этом помогает VPN — виртуальная частная сеть. VPN-сервер действует как единая точка входа: он аутентифицирует пользователей и создаёт зашифрованный туннель между их устройствами и частной сетью. А ещё он считается более гибким решением, чем, например, SSH Jump Server. 

Вы можете использовать платный VPN или создать и администрировать собственный. В этой статье разбираем, как настроить OpenVPN на Debian 11.

Читать далее

Новое, старое, обновленное: что «выросло» в ядре Linux 6.2. Подробности релиза

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


Вчера появилась новость о выходе стабильного релиза ядра Linux 6.2. Изменений и дополнений действительно много, в этот раз принято почти 17 тыс. исправлений от 2178 разработчиков. Изменения при этом внесены в 14108 файлов, с добавлением 730195 строк кода. Большая часть изменений, почти 50%, связана с драйверами устройств, еще примерно 16% — с аппаратными архитектурами, 12% — сетевые технологии, 4% — файловые системы и еще 3% — подсистемы ядра. Под катом — подробности о том, что представляет собой ядро 6.2.

Наиболее актуальные изменения, которые добавлены в ядро, касаются продолжения работы над интеграцией языка Rust, о чем Торвальдс говорил уже давно. Кроме того, разрешен прием кода кода под лицензией Copyleft-Next. А еще — добавлена возможность регулирования потребления памяти при отложенной записи, появился гибридный механизм защиты потока выполнения команд, плюс появилась утилита rv (Runtime Verification). Ну а теперь, собственно, подробности.
Читать дальше →

Больше Linux-устройств, хороших и разных: портативный «наладонник» из Китая, док-станция для Librem 5 и кое-что еще

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


Linux продолжает развиваться, эта ОС каждый год становится все более востребованной. Чаще всего разные дистрибутивы Linux работают в корпоративной среде, но есть, конечно, и пользовательские устройства. Их не так мало, хотя и гораздо меньше, чем девайсов на Windows, Android, iOS и т.п.

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

Carbonyl — графический веб-браузер для Linux-консолей

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

Консоль Linux обычно имеет дисплей с клавиатурой и используется для подключения к главному компьютеру для обмена данными и отображения результатов обработки. В большинстве случаев сама обработка выполняется хост-компьютером. Однако есть гики, которые хотят на консоли просматривать веб-страницы, и есть программное обеспечение, такие как текстовые браузеры типа «Browsh», которые могут отображать веб-сайты в графическом виде без графического интерфейса.

Большинство основных дистрибутивов Linux поставляются с предустановленными Firefox или Falkon. И идея текстового браузера для консоли Linux может показаться абсурдной. В конце концов, первые браузеры были основаны на графическом интерфейсе, а современный Интернет так вообще состоит из графики и JavaScript — элементов, с которыми консольным браузерам трудно или даже невозможно работать. Но именно эта несовместимость с современной Сетью делает консольные браузеры такими привлекательными для некоторых пользователей. Для этого есть несколько причин. Интерфейсы таких браузеров чрезвычайно просты в компоновке и работают очень быстро. Текстовые браузеры требуют меньше пропускной способности для работы, и загружают страницы намного быстрее, чем графические. Кроме того, графические браузеры потребляют больше ресурсов ЦП для Javascript, CSS и т. д. Также изображения, автоматически воспроизводимые видео и звуковые эффекты могут отвлекать внимание пользователя.

Но как можно сохранить малое потребление ресурсов ЦП текстовых браузеров, при этом отображая графику через консоль?

Через Carbonyl.
Читать дальше →

Нужен ли такой одноплатник?

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

Привет Хабр!

Меня удивили результаты поиска по хабру по слову PostmarketOS ) хотя операционка живет и развивается. Но учитывая,что это не коммерческий продукт, это объясняет количество статей.

Если коротко — У меня есть Самсунг А5 (2015) и я могу на него установить MongoDB на Docker, накатить nodeJS и использовать как сервер разработки.

Под капотом Alpine Linux и в отличии от UbPorts — установка приложений из консоли это найтивный путь.

Целью поста является обзор альтернативного направления развития мобильных устройств под свободными Осями (И не является обзором PostmarketOS, но в целом для хабра не мешало бы).

На данный момент в мире пользовательских мобильных устройств царит парадигма — моно девайсов. Не последним вкладом в стоимость которых они обязаны дисплею.

Читать далее

Очень странные дела: разработчики обсуждают итоги года и осторожно заглядывают в будущее

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

Вот уже почти год, как российский ИТ-рынок вошел в затянувшуюся зону турбулентности. Иногда казалось, что над сценариями развития ситуации работали профессиональные фантасты, прогнозирующие варианты по всей длине шкалы — от полного прекращения поставок «железа» и схлопывания рынка из-за отсутствия доступа к инструментам разработки до нового ИТ-ренессанса в связи с уходом международных компаний, прежде занимавших ведущие позиции.

Эксперты Content AI, наблюдавшие за ситуацией внутри воронки смерча, поговорили «за ИТ» уже из дня сегодняшнего: с чем в итоге подошел отечественный рынок к 2023 году, какие тренды наметились в области разработки ПО и в какую сторону дальше будет двигаться российская сфера ИТ. 

Как говорится, запомните этот твит. 

Читать далее

Просто о RCU (Read–Copy-Update). Часть 2

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

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

Читать далее

Как поиграть в Quake для DOS по сети в 2023 году

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

В прошлой статье, помимо всего прочего, я рассказывал, как можно запустить Quake для DOS, загрузив DOS на современном компьютере. Отказ от использования эмуляторов позволяет погрузиться в прошлое наиболее реалистично, однако есть ряд недостатков:

  • не на всех компьютерах можно поиграть со звуком;
  • необходимо заменять файл в дистрибутиве Quake;
  • невозможно поиграть по сети.

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

Среда разработки VS Code на ТВ-приставке

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

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

Кратко оно выглядит так:

Мультимедиа-приставка (была с Андроидом), в ней запущен Линукс, в нем развернута IDE Visual Studio Code, в ней установлено расширение PlatfformIO. Все это удаленно доступно по SSH и RDP. К этому мини-компьютеру подключена плата STM32F4 discovery через ST-Link на борту, через него работает загрузка и отладчик, а через переходник USB-UART отображаются диагностические сообщения. Тестовая программа для демонстрации использует фреймворк Ардуино.

Читать далее

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

Зеркалирование GitHub-проектов в 2023 году

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

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

Читать далее

Добрый вечер, здравствуйте

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

Если вы программист, тестировщик или другой обитатель мира IT, то, возможно, ранее вы следили за деятельностью компании ABBYY, ведущего мирового разработчика решений в области интеллектуальной обработки информации и анализа бизнес-процессов. Весной 2022 года ABBYY приняла решение уйти из России, а мы — команда разработки и менеджмента бывшего российского офиса ABBYY — создали новую компанию Content AI. Мы посчитали важным сохранить многолетний архив этого блога, ведь в нем отражается путь не только одной компании, но и всей сферы AI российского IT.

И мы начинаем новую главу этой истории. 

Читать далее

Wine 8.0: что «выросло» в новой версии? Возможности и совместимость с ПО

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

На Хабре публиковалась новость о Wine 8.0, новый релиз был представлен спустя целый год разработки и трех десятков тестовых версий для «обкатки». Наконец, несколько дней назад разработчики представили стабильный релиз Wine 8.0. Работа действительно очень объемная — команда внесла почти 9 000 изменений.

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

Создаём и расширяем образы Docker с функциями middleware

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

Для переноса IT-среды в облако используют технологии контейнеризации, в первую очередь Docker. Такой подход помогает оптимизировать потребление ресурсов и ещё больше автоматизировать операционные процессы. Однако для поддержки энтерпрайз-приложений требуются дополнительные службы, которые называют функциями промежуточной обработки (middleware functions). Такие службы применяют для интеграции, обмена сообщениями, размещения приложений в контролируемой серверной среде и др. В статье рассказываем, как создавать и расширять образы Docker, содержащие функции промежуточной обработки. 

Читать далее

Просто о RCU (Read–Copy-Update)

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

Lock-free структуры данных в общем и целом неплохо описаны в различной литературе, но на мой взгляд порог вхождения в эту тему высок. Приведу простой кейс использования одной из разновидностей данной технологии под названием RCU (Read–Copy-Update). В двух словах, это механизм неблокирующего обновления структуры данных у которой много читателей и всего один писатель. Wikipedia.

Читать далее

Как построить WaitGroup на основе 32-разрядного целого числа

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

В Go есть приятная утилита для синхронизации, именуемая WaitGroup, которую могут ожидать одна или несколько горутин. Это требуется для конкурентного завершения задач. В других языках обычно действует следующее соглашение по завершению задач: нужно объединять потоки, выполняющие работу. В Go горутины не имеют ни значений, ни дескрипторов, поэтому WaitGroup применяется вместо объединений. Собирание WaitGroup на основе типичных портируемых примитивов – путаное дело, в которое вовлечены конструкторы и деструкторы; также в процессе этой работы приходится управлять временами жизни. Однако, как минимум, под Linux и под Windows, можно построить WaitGroup из целого числа (инициализируемого в значении), во многом как при создании 32-разрядной очереди и 32-разрядного барьера.
Читать дальше →

Управляем модулем ядра Linux

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

Почему пользовательское приложение работает некорректно? Существует не так много способов, которые бы помогали выявить проблему. В большинстве случаев для поддержания высокой доступности требуется стороннее программное обеспечение. В статье рассказываем, как настроить мониторинг пользовательского приложения через модуль ядра Linux, а также разбираем, как установить связь с сокетом.

Читать далее

Вклад авторов