LINUX.ORG.RU

Избранные сообщения droserasprout

Коин как объект искусства

Форум — Talks

Доброго всем дня, кого не видел.

На ЛОРе нынче можно вести рассуждения на тему «как нам обустроить кококоин» разной степени оторванности от реального мира. В ходе этих обсуждений можно узнать много нового, например ознакомиться с альтернативным определением «фиатных денег, прочесть сочинения на тему „юриспруденция глазами гиков из онлайна“, и даже узнать новые рецепты изготовления очередного криптоненужно из говна и палок.

Я вот подумал: чем я хуже всех этих замечательных людей?

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

Назовем мой коин скотокоином. По определению, скотокоин не является деньгами. Он - предмет искусства, так сказать перфоманс, выраженный в каждый момент времени в виде инсталляции. Это если фигурально, а если математически, то пусть состояние всей системы скотокоинов S это художественное произведение, протяженное во времени и выражено последовательностью дискретных состояний S0, S1, S2.... Sn. Данное произведение публикуется под открытой лицензией, разрешающей копирование и модификацию, и запрещающей коммерческое использование.

Также, существует некая программа P, которая визуализует последовательность состоянии Sn в виде трехмерного мира, где существуют различные воображаемые персонажи, а также окружающий их мир. Каждому состоянию Sn соотвествует определённый момент времени в этом мире, а переходу от состояния к состоянию - некоторый отрывок сюжетной линии.

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

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

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

Второй проблемой ололокоинов является вопрос их наполнения ценой. Мы, то есть Я и мои Коты, отвергаем какую-либо связь между любыми взаимодействиями третьих лиц и нашим искусством. Однако, мы не можем запретить добрым людям, участвующим в нашем креативном процессе, делать друг другу скидки при обмене товарами и услугами. Хоть 10% хоть 99%. Можно даже бескорыстно помогать друг другу. То есть один художник может сделать добро другому потому что видит, что другой художник очень хорошо творит. В идеале мы бы хотели видеть мир, где не будет денег, а скотокоин будет выполнять роль оценки вклада человека в общее дело. Ну такая „монетка благодарности“.

Хорошим людям в идеальном мире будет скидка 99.999% на всё. Либерастам благодарность будет черная, и скидок не будет ибо они злы. А цены будут задраны в 1000 раз. Причем на всё: еду, электричество, отопление, интернет. Можно не сразу к этому прийти, конечно же. А плавно, в течении 2-4 лет. Еще можно нетарифные ограничения использовать. Например, в нашем магазине можно купить еду, он она вся уже зарезервирована и ни за какие деньги её не купить. Приходите никогда. У вас погас свет? Ай яй яй, как назло все электрики заняты на ближайшие тысячу лет. Дом загорелся? Пожарные приедут через неделю.

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

Как вам идея в целом?

 

ckotinko
()

Кастомное что-то

Галерея — Скриншоты

!!! Скрин в жипеге !!!

Кому нужно качество, пойдите по ссылке со всеми скринами.

В связи с тем, что разработка sublime text внезапно возобновилась, вернулся на него и обнаружил, что с моего последнего скриншота, в результате кучи маленьких изменений, окружение стало уж совсем другим.

В первую очередь порадовал возврат на саблайм со связки атом+вим и переход на polybar вместо i3bar+py3status.

Номера+названия воркспейсов были заменены иконками, что было очень непривычно, т.к. раньше я всё раскидывал как попало, но в итоге пришёл к 3-4 воркспейсам на монитор и через небольшое время стало даже проще ориентироваться.

Минимализм из-за некоторых вещей немного пострадал, система обвещана, как незнаймо что, настолько, что я побаиваюсь всё это дело сохранять где-нибудь в гит репозитории, ибо тянуть нужно огромное количество скриптов, по пути кастомизации сделал много пулл реквестов в разные плагины, утилиты и форкнул youtube-dl в котором добавляю экстракторы для «пиратских» сайтов, которые по правилам youtube-dl в репозитории находиться не могут. Немного неприятно синхронизировать с апстримом, но стоит того, чтобы смотреть, например, аниме сезон одним плейлистом, без браузера, ещё и с сохранением последней серии и времени просмотра.

Если кому-то нужны конфиги и/или модули/скрипты/плагины коих куча, пишите в дискорд (d3adc0d3#9019), в других местах почти не сижу.

Как соберусь и запилю репозиторий со всеми dot файлами и README/скриптом для установки зависимостей и/или развёртывания всего этого дела, выброшу на общее обозрение.

Ах да, если что, в саблайме небольшой Nim пакет для работы с Riot Developers Api.

Ещё скриншоты:

https://imgur.com/a/KLRU2

Сводка:

Дистр: Arch

ВМ: i3-gaps

Бар: polybar

Редактор: Sublime Text 3 Dev

Терминал: Xfce4 Terminal

ШГ: Noto (UI), Noto Mono (Terminal), Fira Code (Sublime)

Тема саблайма: кастом

Плагин polybar'а для mpv: кастом

>>> Просмотр (1920x1080, 574 Kb)

 , , ,

Deleted
()

Гаражная конторка 1978 года

Галерея — Рабочие места

Сделал сцену в Blender v2.79. На переднем плане изображены терминалы DEC VT100, а на фоне мейнфрейм VAX-11/780 той же компании. На это ушло порядко 5.8 миллионов полигонов

При рендере использовалось новое шумоподавление Blender v2.79, а также активно использовался Principled BSDF в материалах. Логотипы были сделаны в Inkscape.

При чем тут Linux? На ближнем терминале изображена компиляция ponysay в Gentoo.

256 samples, 3840x2160 px, Time: 44:20.56 min, Mem: 2316.86M, Peak: 3042.14M

Изображение сшакалено, т.к. в оригинале занимает более 7 МБ.

>>> Просмотр (3840x2160, 2106 Kb)

 ,

LeshaInc
()

Автозапуск приложений в KDE Plasma 5

Форум — Desktop

Хочу чтобы проги запускались после того как полность запустится плазма (то есть прогрузятся обои и плазма панели).

Добавление прог и скриптов в System Settings - Startup and Shutdown - Autostart запускает их сразу после логина.

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

Ещё в кедах есть баг (или фича?), что когда включен авто-логин, то не срабатывает «Plasma Workspace Login» нотификейшн и, как результат, нет звука входа в систему. Я сделал костыль со скриптом sleep 5s; paplay "/path/to/login.wav" в автозапуске. Ну так вот: иногда он отрабатывает до того как появятся обои и панель, что лишний раз подтверждает, что автозапуск начинается вместе с загрузкой сессии, а не после.

Собственно вопрос: куда нужно добавлять костыли (rc-файл какой-нибудь?) чтобы они запускались после того, как завершится загрузка плазмы?

 , ,

dsxl
()

DPI мыши в qemu evdev passthrough

Форум — General

Об этом не часто упоминается, но для шаринга клавы и мыши между хостом и гостём можно использовать не только synergy, но и встроенный в qemu так называемый evdev passthrough (начиная c версии 2.6)

qemu-system-x86_64 \
-object input-linux,id=kbd,evdev=/dev/input/event0,grab_all=yes \
-object input-linux,id=mouse,evdev=/dev/input/by-id/usb-Logitech_Gaming_Mouse_G400-event-mouse \
...

(полный скрипт в конце)

я использую вот что:
хост - qemu 2.9, linux 4.11
гость - винда 8.1

Проблема вот в чём:

в госте DPI мыши меньше, чем в хосте, причём значительно - примерно в два-три раза (я сравниваю отношение расстояния, пройденного мышью по коврику, к расстоянию, пройденному курсором мыши по экрану)

( читать дальше... )

 , , ,

dsxl
()

Android, зонды, безопасность, СПО, паранойя

Форум — Mobile

Disclaimer1: Проблема с данным маном в том, что местной аудитории, например, плевать на ведроид, а тому же 4pda наплевать на фанатичный СПО и избавление от зондов. Рискнем и запостим здесь.

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

Уровень прошивки

Практически все стоковые прошивки на сегодняшний день идут с gapps (Google Apps). Что же это за зверь:

  • Любое приложение (даже не требуещее никаких прав) может с ним общаться.
  • Gapps имеют доступ к сети.
  • Gapps позволяют Google в любой момент установить/удалить с вашего телефона любое приложение.
  • Gapps постоянно держат открытое сетевое соединение с серверами гугла (для нужд push-нотификаций).
  • Gapps — нереальное огромное количество кода. Стоковый образ (если верить opengapps) будет весить около 700Мб.

ААААА, как это удолить этот рассадник потенциальных уязвимостей и жора батарейки?

Сложный вопрос, на самом деле. Есть три варианта действий:

  • Новый и простой, и профитный способ. Появилась прошивка «LingeageOS for microG». Если ваше устройство поддерживает её, просто ставьте её и наслаждайтесь. Fdroid+MicroG+пуши+signature spoofing+unlp+OTA-обновления из коробки
  • Самый простой способ. Если ваш андроид достаточно старый (на достаточно новом не удастся отключить самый главный компонент gapps), из Настройки->Приложения отключите все, связанное с Google (особенно, Google Service Frameworks):
    • root не требуется;
    • push-уведомления работать не будут;
    • на устройстве останется огромная и потенциальная куча гугловского дерьма, хоть и менее активная.
  • Способ посложнее. Накатываем root и вручную удаляем все пакеты и библиотеки, требуемые гуглу:
    • требуется root и разблокировка загрузчика;
    • минимальное количество зондов без смены прошивку на полностью опенсорсную;
    • увы, в последних версиях андроида вам, скорее всего, придется оставить несколько пакетов (вроде GoogleSetupWizard), иначе система не загрузится.
  • Самый профитный способ. Ставим альтернативную прошивку (или мотаем до следующей секции и покупаем устройство с пгавославной прошивкой без зондов из коробки). Наслаждаемся.
    • Требуется root, разблокировка загрузчика, шаманство и местами смена устройства.

Я тут начал наслаждаться, но вдруг понадобились пуши, да и Uber требует зонды. Что делать?

Вдоль

Попробовать поставить MicroG, свободную реализацию клиентской части гуглозондов. Самая больная часть: помимо собственно MicroG вам нужно будет запилить себе Signature Spoofing. Коротко говоря, это обход защитного механизма, не позволяющего прикидываться gapps'ами кому попало. Для этого необходимо либо патчить прошивку при помощи Xposed/Needle/Haystack, либо использовать совместимую прошивку (смотрите список, по ссылке, их стало очень много). Все подробности по той ссылке.

MicroG позволяет завести пуши, сервисы геолокации (со множеством бекендов, ищите nlp location backend в f-droid) и большое количество софта (когда я в последний раз тыкал, работали даже покемоны).

Уровень софта

Без гуглозондов жить есть!

https://f-droid.org/ — каталог с опенсорсным софтом.

Предлагаю вам следующий список приложений, способный заменить типичный набор проприетари из типичной вендорской прошивки. Аналогичный список: https://github.com/Datenschutz/awesome-FOSS-apps

  • Yalp store. Позволяет ставить приложения из Google Play (да, иногда это все-таки нужно), в том числе через общий аккаунт. Не требует зондов.
    • Позволяет так же выкачивать купленные приложения (но не факт, что они заработают: они при работе могут проверять лиценизию через gapps, возможно, тут может помочь microg).
    • Альтернативно, воспользуйтесь моим решением для выкачивания софта прямо в свой репозиторий f-droid.
  • K-9 Mail. Почтовый клиент.
  • DAVDroid. Синхронизация контактов с owncloud/nextcloud.
  • Gadgetbridge. Синхронизация с умными часами и браслетами (pebble, mi band и некоторые другие)
  • NewPipe. Клиент для YouTube. Умеет воспроизводить видео в фоновом режиме как музыку, загружать файлы.
  • Odyssey. Просто материальный музыкальный плеер, но в последнее время очень нужный, т.к. вендоры повадились заменять в прошивке плеер на Google Music.
  • Набор простых и красивых затычек для различных приложений — simple mobile tools.
  • Файрволл AFWall+ файрволл (имеет Xposed модуль для расширения возможностей)
  • Amplify Battery Extender.
  • DNS66.
  • KDE Connect.
  • OpenKeychain.
  • OpenVPN FOSS.
  • Картография и навигация: Maps.Me (приз симпатий от комментаторов), OsmAnd (приз глюкалова от меня, но щито поделать).
  • Список стал очень жирным. Пока новые элементы не добавляю, думаю над критериями включения в него софта.

Если вы будете ставить проприетарный софт, помните о следующем:

  • Желательно зайти в настройки приложения и вручную запретить доступ ко всем ненужным разрешениям, дабы не промахнуться в нужный момент.
  • Отключите приложению фоновый доступ к сети (если у вас свежий Android) или вообще доступ к сети (если у вас стоит файрволл).
  • Малвари вроде «Сбербанк Онлайн» вообще лучше создать отдельный аккаунт на телефоне.
  • Яндексовским приложениям нельзя давать доступ к местоположению. Вообще никаким — все сливают.
  • Проприетарь может читать названия аккаунтов, даже не принадлежащих ей. Называйте их максимально обще, т.е. вместо «sportloto@syncserver.com» делайте «contacts sync».

Права суперпользователя

Читая васянский 4pda вы часто можете увидеть «ну и накатываем SuperSU.zip». Не делайте этого. Есть прекрасный опенсорсный superuser, совместимый со свежими ведроидами. Нужно лишь поставить zip (используйте beta на android >=6) и apk.

Если ваша прошивка основана на LineageOS, то все еще проще. Где-то рядом с загрузками в директории extra должен валяться zip, включающий встроенные и интегрированные в прошивку права суперпользователя. Профит.

XPosed

XPosed — опенсорсный фреймворк для низкоуровневых хаков.

  • Не доступен для свежих андроидов.
  • Позволяет заставить не увидеть root всякие «Сбербанки Онлайн».
  • Имеет кучу некрофильских и неопенсорсных модулей. Осторожнее.
  • Легким движением руки может окирпичить прошивку.
  • Полезные модули:
    • PlayPermissionsExposed
    • YouTubeAdAway (но все-таки советую использовать NewPipe, LightTube, WebTube, SkyTube или MiniTube. Тысячи их!)
    • XPrivacy — по своей сути это «песочница» для любого, даже системного, ПО. Xprivacy применяет правила ко всему ПО. Эти правила можно создавать самому или качать готовые. То есть, к примеру, если установлено нечто местами полезное, но попутно показывающее свою рекламу, Xprivacy можно просто запретить этому ПО доступ в сеть. Или если очередная косынка хочет интернет, список контактов, доступ к микрофону и камере, то с Xprivacy это легко и просто запрещается конкретно этой гадости и она даже будет при этом работать не имея доступа к тому, что ей будет запрещено.

Уровень устройства

Тут тоже всё плохо. Выбор:

  • Рандомный флагман с хорошей поддержкой LineageOS (CyanogenMod). Поддержка, вероятно, будет хорошей, секьюрити-апдейты будут приходить долго (например, для htc desire hd цианоген обновлялся до самого конца — декабря 2016 года), но вот версия андроида, скорее всего, застрянет. Обычно дорого. Можно искать по списку официально поддерживаемых линейкой устройств.
  • OneplusOne / Wileyfox Swift 1. Поставлялись с CyanogenOS, имеют хорошее коммьюнити разработчиков, будут долго обновляться в софтовой части. В железной — все плохо. 1+1 уже довольно старый и хорошие запчасти купить сложно. Wileyfox изначально имел несколько проблем, в т.ч. слабенькую батарейку. Компенсируется ценой, местами можно найти новое в продаже. Довольно бюджетно.
  • Fairphone 2. Очень дорого, очень хорошо. Но это в теории, как там на практике — хз, не пользовался, отпишитесь.
  • Рандомный телефон с официальным портом los. Сойдет, главное, чтобы фатальных багов в порте не было. Долгой жизни порта не ждите.
  • Рандомный телефон с васянским los. Совсем плохо, но если телефон уже куплен, ничего не поделать.
  • Рандомный телефон с васянским ведроидом, основанным на стоковой прошивке / без исходников / проч. Лучше такое не ставить, а подготовить прошивку самостоятельно, смотрите выше и ниже.

Следует также заметить, что:

  • Существует несколько устройств с CyanogenOS, без доступной Cyanogenmod. В комплекте идут сервисы microsoft, gapps и много разной другой блотвари. Исходники обычно зажабены. Пример устройств: Wileyfox Spark, Wileyfox Swift 2(|+|x).
  • Выбирая устройство, так же загляните на его страничку на 4pda. Ресурс хоть и васянский, но очень полезный: можно увидеть список доступных прошивок, FAQ по типичным проблемом, список самых вероятных заводских проблем (которые можно проверить еще перед покупкой).

Уровень физической безопасности

Для чего нужна физическая безопасность:

Допустим, ваш девайс попал в руки злоумышленнику.

  • Во-первых, вы хотите, чтобы он не имел никакой возможности прочитать важные файлы с вашего телефона (кейз ФБ-1).
  • Во-вторых, вы хотите узнать, не добавил ли он кейлоггеров в ваш загрузчик (кейз ФБ-2).

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

Я бы на вашем месте на это не рассчитывал.

  • Аппаратные защиты часто не надежны и опираются на принципах безопасности через неясность, в них переодически находят уязвимости
  • На прекрасных, казалось бы, телефонах Xiaomi вы не сможете разблокировать загрузчик, если с Xiaomi что-либо случится: разблокировка производится с участием интернета при помощи (работающей только под Windows) программы, требующей их аккаунта и доступа к интернету. У HTC похожая ситуация, но в несколько более мягких условиях.
    • Скорее всего, это доставит неудобств именно вам, а не злоумышленнику
  • Всякие проприетарные системы полнодискового шифрования тоже не выдерживают проверок специалистами.

Выводы:

  • Для хранения ваших секретных файлов в безопасности от ФБ-1 используйте, к примеру, Secrecy.
  • «Таблеток» от ФБ-2 на сегодняшний день нет. Промбируйте телефон при помощи скотча и волос и не расставайтесь с ним.
  • Лучше все-таки не хранить никакие важные данные на телефоне.

Модули сотовой связи

В каждом мобильном телефоне, почти каждом планшете есть GSM-модуль мобильной связи. Это —

  • Фактически отдельное устройство, обычно имеющее максимальный доступ к процессору, памяти и переферии. Зачем это делают — черт знает. Возможны исключения, нужно уточнять в каждом отдельном случае.
  • Идентифиционный модуль, который постоянно разговаривает с воздухом.
  • Куча проприетарного кода, который никто не анализировал. В тех немногих случаях, когда анализировали — находили кучу всего интересного.
  • Работает это все на протоколах, местами разработанные в 80-х годах.

Так что тут все настолько плохо, что я даже предложить ничего не могу. Страдайте.

Вроде, все, что хотел сказать. Выдыхаю

 , , , ,

derlafff
()

логирование запусков Unit в systemd

Форум — General

Добрый день!

По специфике проекта, имеется большое кол-во юнитов с таймерами, которые достаточно часто запускаются. И в лог падает куча сообщений вида:

Apr 27 12:26:01 trololo systemd[1]: Starting UNIT_67...

Apr 27 12:26:01 trololo systemd[1]: Started UNIT_67.

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

 , ,

lasthappy
()

Помогите определиться с конфигурацией для домашнего десктопа

Форум — Linux-hardware

Доброго времени суток!

Хочу собрать себе со следующей зарплаты околотоповый десктоп для игрушек (в основном) и работы (редко), дополнительные требования — беспроблемная работа в онтопике и наличие железа в магазинах Санкт-Петербурга.

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

Собственно, меня интересуют ответы на следующие вопросы:

  1. Где ещё в Спб можно/стоит выбирать железо, кроме DNS?
  2. Хайп вокруг процессоров Ryzen не обошёл меня стороной, и по бенчмаркам они выглядят интересно. Есть ли лоровцы-владельцы моделей Ryzen? Стоит ли мне смотреть в сторону Ryzen 7 1700?
  3. У меня до этого не было видеокарт NVIDIA, про которые раньше писали, что в онтопике с ними проявляется тиринг. До сих пор ли эта проблема актуальна? Работает ли с их драйверами Gnome/Wayland?
  4. Также это будет мой первый SSD, выбирал (по обзорам) по соотношению цена/качество/объём. Есть ли более удачные варианты?
  5. Не затупил ли я ещё где-нибудь?

Буду благодарен, если посоветуете альтернативы (с вашими аргументами «за»). В качестве ценового диапазона можно взять стоимость приведённой конфигурации ± 5 т.р.

 , , , ,

theNamelessOne
()

Удаленная музыкальная коллекция

Форум — Desktop

Имеется музыкальная коллекция, которая хранится на вендовой файлопомойке. Доступны публичный IP, проброс любых портов, установка любого софта.

Сейчас я монтирую ftp с помощью curlftpfs и слушаю qmmp. Но так как качество интернета оставляет желать лучшего, нередки хрипы. А когда интернет отваливается вовсе, curlftpfs вешает систему.

Подскажите более адекватный способ слушать музыку из удаленной коллекции без полного выкачивания. Может быть есть проигрыватели с поддержкой сразу ftp?

Среда KDE.

 ,

totik
()

Автоматическое копирование на флешку

Форум — Desktop

Добрый день.

Хочу сделать так, чтобы при втыкании флешки в комп на нее автоматически копировалось содержимое каталога из моей домашней папки (музыка и подкасты). Для этого, как я понимаю, нужно использовать связку udev + systemd.

carmusic.service в /etc/systemd/system/:

( читать дальше... )

/etc/udev/rules.d/95-carmusic.rules:

( читать дальше... )

В самом скрипте /usr/local/bin/car_music тупо команда копирования (cp -r с путями). Запускаю скрипт - работает. Запускаю сервис systemctl start carmusic при смонтированной флешке - работает. Компьютер не перезагружается неделями (без особой на то причины, просто так сложилось). ОС - Fedora 24 x64 Gnome.

Подскажите, пожалуйста, что я делаю не так.

 , ,

kemechedzhiev
()

RFC HOWTO: автологин в иксовую сессию с помощью systemd

Форум — General

Добрый вечер, господа. Это тред-howto о том, как сделать корректный автологин в иксы «на чистом systemd». В вики мне писать влом, да и никто её не читает, а тут и теги указать можно, и людей скастовать. Собственно, да: border-radius, ecko.

В чём вообще проблема? Проблема в том, что значительное количество людей делают это через банальнейшие костыли, настраивая автологин в текстовую консоль и запуская иксы из bashrc (или, чего хуже, из bash_profile). Это плохо по трём причинам:

  • не залогиниться в другую физическую консоль в текстовом режиме
  • оверхед на проделывание цепочки такого вида:
    systemd
    /bin/agetty
    /bin/login
    PAM
    /bin/bash
    ~/.bashrc
    /bin/startx
    
  • в конце концов, это само по себе костыль.

Я предлагаю написать getty-подобный юнит, который будет запускать иксы от фиксированного пользователя с фиксированным номером дисплея на произвольном VT. (Почему так много хардкода? Потому что systemd — не дисплейный менеджер.)

Это тоже неидеальное решение. Например, нафиг идёт мультисит и возникают гонки между запуском иксов и обнаружением видеоустройств. Но этими недостатками мы пренебрежём.

Параграф один. logind, autovt и getty-подобные юниты. Getty могут запускаться двумя способами.

  • Первый — по требованию, через logind. При переключении на ttyN logind запускает юнит autovt@ttyN.service, который засимлинкен на getty@.service. Эта логика работает для tty2-tty6.
  • Второй — статически. Юнит getty@tty1.service включен по умолчанию и втягивается через getty.target. Это даёт нам всегда запущенный getty на tty1.

Соответственно, допустим, у нас есть юнит xorg@.service, который запускает иксы на указанном VT.
Его нужно либо симлинкнуть под именем autovt@ttyN.service, переопределив шаблонный юнит (тогда при переключении на выбранный VT иксы будут запускаться вместо getty — первый способ), либо отключить getty@tty1.service и включить вместо него xorg@tty1.service (тогда мы вместо всегда запущенного getty будем иметь всегда запущенные иксы — второй способ).

Параграф два. Xorg вместо getty. Итак, имеем юнит для иксов, написанный по аналогии с getty@.service: /etc/systemd/system/xorg@.service.

User=<впишитеюзера>
PAMName=login

-- это аналог su.

Conflicts=getty@%i.service
After=getty@%i.service

-- это некоторая защита от одновременного запуска getty на том же терминале.

StandardOutput=tty
StandardInput=tty-fail

-- это указание systemd запускать иксы подсоединёнными напрямую к терминалу, а не к логгеру (нужно для того, чтобы иксы можно было запускать не от рута... ах да, работает только с 1.16 и выше).

ExecStart=/etc/systemd/scripts/startx -D :0

-- это мой велосипед вместо startx с нескучным синтаксисом и exec xinit в конце, что важнее.

Дело в том, что systemd из-за вероятного бага при остановке юнита отправляет SIGTERM/SIGKILL не всем процессам в дереве, начиная с startx, а только самому startx. А поскольку он написан на шелле, то он радостно игнорирует SIGTERM и ждёт завершения xinit, которому никакого сигнала не приходит. Следовательно, проблему решаем переписыванием startx так, чтобы он в конце не запускал xinit подпроцессом, а делал exec xinit, заменяя им собственный процесс. Тогда сигнал приходит xinit'у, а он его корректно ловит и убивает иксы.

Всё остальное скопипащено из getty@.service.

Да, дисплей захардкожен в :0. Пара слов о назначении VT: процесс startx получает номер VT в переменной $XDG_VTNR (её устанавливает pam_systemd), а из startx запускается /etc/X11/xinit/xserverrc, который об этой переменной знает и передаёт X-серверу параметр vt$XDG_VTNR.

Параграф три. Запускаем. Итак, помещаем юнит в /etc/systemd/system/xorg@.service, startx в /etc/systemd/scripts/startx (можно куда угодно) и делаем:

systemctl daemon-reload
systemctl disable getty@tty1
systemctl enable xorg@tty1

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

Как-то так. Сейчас три часа семнадцать минут по московскому времени, поэтому прошу меня извинить за упрт стиль изложения, краткость, неконсистентное использование форматирования и так далее.

 , ,

intelfx
()

Open hardware STM32 MP3 player

Форум — Talks

Hello!

Как то давно я загорелся идеей сделать открытый музыкальный плеер(отдельное устройство). Эта идея была вызвана многими причинами: начиная от банального отсутствия необходимых функций в существующих плеерах и кончая ненадёжностью плееров из смартфончиков и планшетиков(малая продолжительность автономной работы, в дешёвых моделях - качество звука и тд).

Будучи знакомым с STM32 микроконтроллерами я начал работу. Было два варианта плеера: с использованием аппаратного кодека или программного. После экспериментов с программным я решил использовать хардварный(из-за низкого качества декодирования, отсутствия множества форматов, отсутствия эквалайзера и других необходимых для нормальной работы плеера фич).

После долгих поисков я остановился на кодеке VS1053. Он был оптимальным по соотношению цена/качество*фичи. После первых тестов я понял, что он офигенен: качество звука на высоте, огромный подробный даташит, множество поддерживаемых форматов и простота работы с ним.

Итак, я начал работы. Собрал макет и стал писать программу.

На макете присутствовал сам кодек на отладочной платке с алиекспресса, MCU - stm32f103cbt6(было достаточно ножек и был в наличии в ближайшем чипдипе)(плату развёл и сделал сам фотки), eeprom(24lc256 - самая дешёвая), уродливый разъём для microsd карточки(внутренний еврей не позволил покупать разъём для макета за 150 рублей. В итоге на макете частоту SDIO пришлось снизить, но на это повлияли больше длинные провода, чем разъём), OLED 0.96" дисплей на контроллере SSD1306(просто обожаю чб олед дисплеи(они няяяшные)) и самодельная 12ти кнопочная клавиатурка.

Фотки макета: https://imgur.com/a/TvJSv

На ютубе можно посмотреть видео с самых первых этапов разработки(тогда даже не была написана система и не был допилен гуй): https://www.youtube.com/channel/UC5pY283jfYVHqjVQ8bXEKBQ

Программил я после учёбы, поэтому затянулось всё на долго. Но в итоге было много чего сделано: драйвер дисплея(его я написал раньше, теперь перевёл на DMA), драйвер кодека, система, которая позволяет запускать отдельные приложения и управляет всем, в том числе и необходимыми харварными частями и отображением всего на экран, библиотека графического интерфейса со множеством необходимых элементов, сам графический интерфейс(менюшки, верхний бар, настройки и тд), музыкальный плеер(тот, что только взаимодействует с драйверами) и три приложения(файловый менеджер, тестовое приложение и приложения для музыкального плеера(интерфейс)). Всё это работало, играло музыку и причём совсем таки не плохо.

В это же время я рисовал схему и разводил плату. В итоге вышло так: фото разводки 1 фото разводки 2 ещё фотки разводки и схема.

Заказать детали для плеера и плату с завода предприятие, где я сейчас подрабатываю. В итоге я получил такую красоту: https://imgur.com/a/w70eH

И всё вместе собрал: https://imgur.com/a/paefn

Нооо... В разводке нашлись ошибки(не принципиальные, но всё же. Это была первая такая сложная плата). Но всё заработало просто великолепно! Даже играло музыку. Почти. Я забыл в схеме сделать фильтр на выходе кодека и допаял его сверху на самой плате. И видимо в результате отладки бедная микросхемка, наверное, сгорела(но лишь наполовину. По SPI она отвечает, говорит и даже, якобы, воспроизводит музыку, хотя на выходе тишина).

Но в итоге я очень расстроился и бросил это дело. Даже не записал ни одно видео работы =с

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

Все исходники: схемы, разводки(KiCad), программа для MCU(в Keil uVizion) и библиотеки лежат тут: https://github.com/SL-RU/sdmplayer

Спасибо за внимание.

 , , ,

SL_RU
()

Релиз Emonoda 2.0.9

Новости — Open Source
Группа Open Source

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

  • emupdate — следит за раздачами, используя спецплагины для трекеров; обновляет торрент-файлы при добавлении новых серий или перезаливке раздачи; интегрируется с основными линуксовыми клиентами.
  • emfile — позволяет читать метаданные торрент-файлов и выдает их в человекочитаемом, либо удобном для скриптов формате.
  • emdiff — показывает разницу содержимого двух торрент-файлов в виде диффа.
  • emfind — служит для выполнения различных поисковых запросов, например для поиска в каталоге с данными файлов, не принадлежащих ни одному торренту, зарегистрированному в клиенте.
  • emload — Загружает торрент, создавая полный путь для данных и размещая в указанных местах симлинки.
  • emrm — Удаляет торрент из клиента.

Кроме того, Emonoda включает специализированные скрипты для rTorrent, позволяющие реализовать групповое управление трекерами (включение-отключения для раздач) и отправки статистики в collectd.

Программы написаны на Python 3 (требуется версия >= 3.4) и могут быть установлены из PIP или AUR.

( Список трекеров и клиентов под катом )

>>> Подробности

 , , ,

liksys
()