Обновить
60.8

*nix *

Хаб про UNIX-подобные операционные системы

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

Всё как у больших. Автозагрузка приложений в оконных менеджерах linux

Время на прочтение9 мин
Охват и читатели26K
Вывод systemd-analyze dot --user ‘i3.service’ | dot -Tpng | imv -


Вывод systemd-analyze dot --user ‘i3.service’ | dot -Tpng | imv -

Как-то раз, листая сообщения в профильном systemd чате, в телеграм, я наткнулся на следующий кусок man systemd.special


xdg-desktop-autostart.target
   The XDG specification defines a way to autostart applications using XDG desktop files.
systemd ships systemd-xdg-autostart-generator(8) for the XDG desktop files in autostart
directories. Desktop Environments can opt-in to use this service by adding a Wants=dependency
on xdg-desktop-autostart.target.

О как интересно, подумалось мне. Можно реализовать функционал полноценныхDesktop Environments, по автоматическому запуску приложений, при старте. А у меня как раз i3wm, который таковым не является и которому такой функционал не помешал бы. Надо это дело исследовать. Тогда я ещё не знал во что ввязался. Как оказалось, не всё так просто.


Читать дальше →

FOSS News №92 — дайджест материалов о свободном и открытом ПО за 4—17 октября 2021 года

Время на прочтение29 мин
Охват и читатели3.5K


Всем привет!


Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире.


Поскольку мы уходили в отпуск и прошлый выпуск был две недели назад, этот дайджест получился весьма объёмным, но он стоит того!


Главные темы нового выпуска:


  1. Google выделил миллион долларов на работу по повышению безопасности открытого ПО.
  2. В России планируют создать свой Фонд открытого ПО.
  3. Выпуск мобильной платформы Android 12.
  4. Фонд повышения безопасности открытого ПО получил финансирование, размером 10 млн долларов.
  5. Линус Торвальдс о 30 годах Linux, Rust и Open Source сообществе.
  6. Python вышел на первое место рейтинга TIOBE, и Гвидо высказался на эту тему.
  7. Вышел язык программирования Python 3.10.0.
  8. Microsoft обеспечил поддержку открытого формата ODF 1.3 в MS Office 2021.
  9. Canonical представила оболочку Ubuntu Frame для встроенных дисплеев.
  10. GitLab подняла оценку для IPO до $ 10 млрд.
  11. Исследование показало, что смартфоны на Android постоянно следят за своими владельцами, Google отрицает.
  12. Релиз Plasma 5.23, приуроченный к 25-летию KDE.
  13. Выпуск дистрибутива Ubuntu 21.10.
  14. Компания Apple вошла в число ключевых спонсоров проекта Blender.
  15. Опубликовано исследование о влиянии СПО на технологическую независимость, конкурентоспособность и инновации в экономике ЕС.
  16. Linux на Apple M1 наконец-то готов к использованию.
  17. От разработки СПО до обучения: опыт «Базальт СПО» высоко оценили участники Russia Open Source Summit 2021.
  18. Минцифры РФ разработало открытую лицензию.
  19. Школа Open Source-разработчика COMMoN от Samsung: видео, итоги.

И многое другое…


В составлении дайджеста мне помогали qark, invasy и 4 пользователя нашего бота [→]


Читать дальше →

Поиск и обработка информации на файловых ресурсах

Время на прочтение10 мин
Охват и читатели6K

Начнем с точки входа в приложение.  Чтобы инструмент удобно было использовать, напишем приложение с командным интерфейсом. Перед началом работы также стоит создать переменное окружение и активировать его.

Для обработки параметров командной строки в Python есть удобный модуль click (установка pip install click). Обработка аргументов командной строки происходит при помощи добавления к функции декораторов. Определим обязательные параметры: search_path — путь по которому будем искать, либо файл с путями и дополнительные: режим исполнения программы (многопоточный или без), имя файла с результатами, формат записи результата (excel, csv, sqlite) и другие параметры по вашему желанию.

Читать далее

Релиз 0.1.36 Nem мессенджера

Время на прочтение2 мин
Охват и читатели4.1K

За последние 14 дней я разработал мессенджер, у которого отличительная черта от остальных мессенджеров — это то, что серверную программы вы контролируете сами. Вы можете скачать исходные коды серверной программы и установить на свой сервер. Клиентская часть доступна для linux на flathub — приложение называется Nem.

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

Читать далее

Единая точка выхода в web, I2P, TOR и обход блокировок

Время на прочтение6 мин
Охват и читатели27K

Коварный план


Преамбула… Даная статья была написана ещё летом но, по независящим от автора причинам, немножко подзадержалась...


Однажды, жарким летним вечером, после очередной введённой в консоли браузера команды вида :set content.proxy socks://localhost:9050, автор сего опуса понял, что дальше так жить нельзя и пора приводить выход во всякие скрытосети, а заодно и обход блокировок имени известной организации к какому-то единому, для любого софта вообще и браузера в частности, «общему знаменателю». А как приводить? Разумеется так, чтобы прокси сервер сам «понимал», через какой вышестоящий прокси отправлять и принимать трафик в зависимости от введённого адреса. Вторая цель, вытекающая из первой, вышестоящие прокси могут работать либо как http, либо как socks и оба протокола должны поддерживаться входным прокси. Ну и сам софт должен быть более менее актуальным, что б в случае ошибок или «хотения фич», не приходилось грустно смотреть на одинокую репу на гитхабе, а то и вообще на каком-нибудь сорсфорже.
Итак цели поставлены!

Пора переходить к реализации!

Боремся с майнером Kinsing на зараженных серверах Linux

Время на прочтение2 мин
Охват и читатели21K

Kinsing — вредоносное ПО на основе Golang, работает как агент. Основная цель данной малвари это добыча криптовалюты на взломанном сервере. Оно распространяется путем использования уязвимости в ошибке конфигурации сервисов, которые доступны извне.

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

Как определить, что ваш сервер используется для майнинга малварью Kinsing?

Определите процессы, которые используют ресурсы процессора с помощью диспечера задач top или htop. В результате вы увидете, например, такие процессы: kdevtmpfsikinsing или dbused, которые максимально используют все ресурсы процессора.

Убить процессы отправкой сигнала KILL вы не сможете, так как со временем они запустятся снова.

Можно попытаться найти задания в запланировщике задач пользователей:

Читать далее

Модификация ядра Linux: добавляем новые системные вызовы

Время на прочтение5 мин
Охват и читатели17K

В этой статье мы научимся изменять ядро Linux, добавим собственные уникальные системные вызовы и в завершении соберем ядро с новой функциональностью.
Читать дальше →

FOSS News №91 — дайджест материалов о свободном и открытом ПО за 27 сентября — 3 октября 2021 года

Время на прочтение14 мин
Охват и читатели3.1K


Всем привет!


Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире.


Главные темы нового выпуска:


  1. Gitpod создал проект OpenVSCode Server для разработки в браузере.
  2. IBM и Linux Foundation AI and Data анонсировали проект Machine Learning eXchange.
  3. Facebook открыл код статического анализатора Mariana Trench.
  4. Salesforce CodeT5 vs Github Copilot: сравнение интеллектуальных генераторов кода.
  5. CodeSee запустил проект OSS Port, визуализирующий кодовую базу.
  6. «Невидимые воины open source».
  7. «Вы используете больше Open Source-софта, чем думаете».
  8. Конференция OS DAY 2021: союз ПО и «железа», безопасность ядра российских ОС и мобильные платформы.
  9. Обзор конференции Samsung Open Source Conference Russia 2021: «такой разный российский Open Source».
  10. SQLite-песочница в браузере.

И многое другое…


Важно — наш коллектив уходит в небольшой отпуск и следующий дайджест выйдет только 17-го октября.


Читать дальше →

Создание Live USB-дисков в Linux с помощью команды dd

Время на прочтение4 мин
Охват и читатели128K
Существует несколько программ с графическим интерфейсом, предназначенных для создания Live USB-дисков. Вероятно, в Linux самой популярной из них является Etcher. В Ubuntu есть собственный инструмент для решения этой задачи — Startup Disk Creator.

Но продвинутые пользователи Linux, ради удобного и быстрого создания Live USB-дисков, постоянно обращаются к команде dd.



Это — CLI-инструмент, который даёт тому, кто его выбирает, мощные возможности по копированию и конвертированию файлов.

Обычно dd используют для того, чтобы записывать ISO-файлы на внешние носители информации, вроде USB-дисков. Потом такой носитель информации можно использовать, например, для установки записанного на него Linux-дистрибутива на обычный компьютер или на ноутбук.

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

MikoPBX на Aster conf, TTS скрипт для голосования

Время на прочтение8 мин
Охват и читатели4.8K

Совсем недавно завершилась ежегодная конференция Asterconf. Нам посчастливилось в ней участвовать. На этот раз мы приготовили ряд мастер классов по настройке и кастомизации MikoPBX - бесплатной АТС с открытым исходным кодом.

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

Если заинтересовало, то под кат, подробно разберем пример реализации...

В конце статьи ссылка на видео с конференции...

Читать далее

Принцип работы планировщика задач в Linux

Время на прочтение5 мин
Охват и читатели37K

Планирование – это процесс распределения ресурсов системы для выполнения задач. В статье мы рассмотрим его вариант, в котором ресурсом является одно или несколько ядер процессора, а задачи представлены потоками или процессами, которые нужно выполнить.
Читать дальше →

Разработка кроссплатформенного ядра геометрического моделирования

Время на прочтение6 мин
Охват и читатели3.5K

В августе мы, команда C3D Labs (АСКОН), впервые выпустили версию геометрического ядра C3D для отечественной операционной системы Astra Linux, пополнив список поддерживаемых дистрибутивов Линукс. На данный момент ядро геометрического моделирования C3D может быть использовано в разработке ПО на широком спектре операционных систем: кроме Windows — это MacOS, IOS, FreeBSD и несколько Linux-дистрибутивов. Также SDK ядра предоставляет большое разнообразие компиляторов: MSVC 2012 — 2019, GCC 4.8 — 7.2, Clang 6.0 — 10.0.

Так было не всегда. В 2012 году, когда ядро C3D выделилось из состава САПР КОМПАС-3D как отдельный продукт, оно работало только для нескольких версий компилятора MSVC и, разумеется, только под ОС Windows. Но ядро развивалось, со временем к нему стали предъявляться требования и пожелания, которые мы не могли игнорировать, если хотели иметь действительно лучший продукт в своем классе. Ниже рассказ о том, как мы портировали ядро на различные ОС и платформы.

Подробнее про разработку ядра

Архитектура приложения моего защищенного чата

Время на прочтение8 мин
Охват и читатели5K

В этой статье я хочу описать архитектуру своего приложения. Здесь будут представлен как графический клиент, так и сервер.

Оба приложения написаны на C. Это мой любимый язык и на нем я бы хотел писать код, если смогу когда нибудь устроиться на работу программистом. Попользовавшись ubuntu я понял что старые версии софта, это не хорошо. Например у меня несколько источников звука и микрофонов. И в ubuntu при каждой новой загрузке нужно переключать источник от наушников в источник телевизор. Также и микрофон. Как я обрадовался, что в opensuse нет с этим проблемы и доступна библиотека gtk4, которую я так давно ждал. Я мог писать приложение в gnome builder, что я иногда делаю, но в gnome builder мне не удалось сделать так, чтобы заработала библиотека ffmpeg. И как обычно я пишу в vim.

Итак. Я уже привык к объектной философии gobject и чувствую себя кофмортно в разработке. В gtk4 много изменений произошло. Например я раньше в gtk3 в text_view в сигнале "draw" выполнял функцию gtk_widget_queue_resize ();. и так получалось что это подгоняло размер под нужный, перед рисованием текста, но в gtk4 нельзя подключиться к методу отрисовки. И тогда я решил сделать свой виджет. Но свой виджет не нужно делать прям с нуля. В документации ясно сказано, что gtk_drawing_area как раз предназначен для custom виджетом.

Вот список файлов, которые учавствуют в проекте gui secure chat.

Читать далее

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

Запуск X-приложения в chroot на примере POSE (или «QEMU не нужен»)

Время на прочтение4 мин
Охват и читатели4.7K

Эта мини-статья родилась как ответ на статью Упрощаем эмуляцию X86 с помощью Live CD, в которой для запуска старых 32-битных приложений на 64-битных дистрибутивах Linux предлагалось использовать QEMU + Live CD — по моему мнению «из пушки по воробьям». Опишу своё решение на chroot + debootstrap.

Читать далее

FOSS News №90 — дайджест материалов о свободном и открытом ПО за 20—26 сентября 2021 года

Время на прочтение15 мин
Охват и читатели3.7K

Всем привет!


Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире.


Главные темы нового выпуска:


  1. В Linux Foundation отмечают острый спрос компаний на профессиональных опенсорс-разработчиков.
  2. Срок поддержки Ubuntu 14.04 и 16.04 увеличен до 10 лет.
  3. 1 октября в Москве состоится конференция Russian Open Source Summit.
  4. HackerOne реализовал выплату вознаграждений за выявление уязвимостей в открытом ПО.
  5. Google меняет модель развития Android на более близкую к ядру Linux.
  6. Arm разработал архитектуру и инструменты для транспортных средств со значительной ролью ПО.
  7. Предложения экспертов «Базальт СПО» включены в проект государственной стратегии развития СПО в России.
  8. Михаил Мишустин «анонсировал» российский аналог GitHub.
  9. Представлен модуль ядра, способный в разы ускорить OpenVPN.
  10. Проект Waydroid развивает пакет для запуска Android в дистрибутивах GNU/Linux.

И многое другое…


Читать дальше →

Упрощаем эмуляцию X86 с помощью Live CD

Время на прочтение5 мин
Охват и читатели5.2K

Типичный подход к эмулированию среды для запуска старых файлов с архитектурой i386 сопряжен со сложностями, в частности с поиском всех необходимых библиотек. Однако этой проблемы можно избежать, воспользовавшись заранее подготовленным образом Live CD, о чем в статье и пойдет речь на примере образа эмулятора Palm OS и игры Shogo: Mobile Armor Division.
Читать дальше →

Кунг-фу стиля Linux: файловые системы пользовательского пространства теперь доступны и в Windows

Время на прочтение3 мин
Охват и читатели22K
Одной из приятных черт философии Unix, которую унаследовала Linux, является модульная организация файловой системы. И это, на самом деле, очень хорошо, так как в типичной установке ОС могут понадобиться различные файловые системы, вроде ext4, reiserfs, btrfs, или даже сетевые файловые системы — вроде nfs. Кроме того, в Linux существуют и виртуальные файловые системы, вроде /sys и /dev, которые помогают Linux сделать так, чтобы всё в ней выглядело бы как файл. Слабая сторона средств работы с файловыми системами в Linux заключается в том, что для создания механизмов, обеспечивающих работу файловой системы, нужно вносить изменения в ядро, или, как минимум, создавать загружаемые модули. Это, правда, не так уж и сложно, но, всё же, немного сложнее, чем разработка обычных программ. Решить эту проблему призван интерфейс FUSE (Filesystem in USErspace — файловая система в пользовательском пространстве). В частности, речь идёт о модуле файловой системы, который позволяет создавать новые файловые системы путём написания вполне обычного кода.


Читать дальше →

Создаем радио-бота для рабочих каналов в Slack

Время на прочтение4 мин
Охват и читатели3.7K

Летом 2021 года в Slack появились новые голосовые легковесные чаты — huddles. Мне они очень приглянулись в каждодневной рутине, и достаточно быстро появилась идея использовать их для улучшения жизни на работе.

Читать далее

FOSS News №89 — дайджест материалов о свободном и открытом ПО за 13—19 сентября 2021 года

Время на прочтение14 мин
Охват и читатели2.7K

Всем привет!


Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире.


Главные темы нового выпуска:


  1. Google профинансирует аудит безопасности 8 важных открытых проектов.
  2. Проект Revolt развивает открытую альтернативу платформе Discord.
  3. «Linux меняет не только мир операционных систем».
  4. Компания TUXEDO Computers стала спонсором KDE.
  5. В России ПО для Linux и UNIX пишут чаще, чем для Windows.
  6. IT-компании припадут к открытым источникам.
  7. Национальный репозиторий СПО предлагают наполнить софтом, созданным по госзаказу.
  8. «Транснефть» начала закупать российскую «Ред ОС» вместо Windows.
  9. Удалённо эксплуатируемая уязвимость в OMI-агенте, навязываемом в Linux-окружениях Microsoft Azure.
  10. Mozilla обошла защиту Windows 10 по установке программ по умолчанию.
  11. Сторонняя организация пытается зарегистрировать торговую марку PostgreSQL в Европе и США.

И многое другое…


Читать дальше →

В чём разница между Debian и Ubuntu? Что лучше выбрать?

Время на прочтение7 мин
Охват и читатели250K
Поговорим о Debian и Ubuntu. И там, и там можно использовать команды apt-get для управления приложениями. Оба дистрибутива поддерживают установку DEB-пакетов. Часто, читая статьи про Linux, можно видеть, что для Debian и Ubuntu подходят одни и те же инструкции по установке каких-то программ.

Чем же, при такой близости друг к другу, различаются эти дистрибутивы?


Для начала надо сказать, что Debian и Ubuntu принадлежат одном и тому же семейству Linux-дистрибутивов. А именно — Debian — это исходный дистрибутив, созданный в 1993 году Иэном Мёрдоком. А дистрибутив Ubuntu, основанный на Debian, создал в 2004 году Марк Шаттлворт.
Читать дальше →

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