LINUX.ORG.RU

Сообщения dimgel

 
Форум — Desktop

Доступ к pipewire-pulse из разных юзеров?

Здрасьти.

Гента уже давно пытается мне навязать pipewire-сервер как замену pulseaudio-серверу, вот решил попробовать.

У меня браузеры сидять под отдельными юзерами, и хочется чтобы в них тоже звук был. В pulseaudio это решается (вероятно опцией auth-anonymous=1).

В pipewire – не могу найти подходящей опции, чтобы сделать unix сокет общедоступным:

# cp /usr/share/pipewire/pipewire-pulse.conf /etc/pipewire/
# vi /etc/pipewire/pipewire-pulse.conf
...
    {   name = libpipewire-module-protocol-pulse
        args = {
        # the addresses this server listens on
            server.address = [
                # dimgel: Вписал сюда то же, что и в /etc/pulse/*.
                "unix:/tmp/pulse-socket"

...
# ls -l /tmp/pulse-socket 
srwxr-xr-x 1 me me 0 2021-09-27 20:25:53.158629941 /tmp/pulse-socket

И звук есть только под моим основным юзером.

UPD. Юзать TCP вместо unix socket не предлагать: это дичь.

UPD2. Solved.

 , ,

dimgel
()
Форум — Development

C++20 modules + gnu make — поделитесь success story?

Нашёл у себя в makefile камент:

# После перехода на gcc:11 попробовал заюзать модули (объявил модуль test_MyClass_module в файле test_MyClass.cpp),
# но в .d-файлах генерируется что-то невразумительное, e.g.:
#     main.o: test_MyClass_module.c++m
#     CXX_IMPORTS += "test_MyClass_module.c++m"
# Да и QtCreator модуль не находит. Независимо от того, пихаю я gcm.cache в корень проекта или в target
# (для чего вызывал makefile из target, подкрутив в нём все пути).

Что делать с этими *.c++m и CXX_IMPORTS, откуда брать *.c++m и как всё это юзать в makefile? Хрен бы с ним с QtCreator пока что.

 , ,

dimgel
()
Форум — Desktop

Цвета опять слетели после обновления qt5ct (в этот раз 1.1 ---> 1.2-r1)

Что ни обновление qt5ct, то все цвета слетают. Твари. Нашёл свои заметки, как лечил прошлый раз – и хрен. Кто ещё нарывался? Как лечили?

Кастомная цветовая схема, лежит в ~/.config/qt5ct/colors/dimgel.conf. При запуске qt5ct после обновления ко всем цветам добавился префикс «ff» (альфа-канал). В диалоге qt5ct выбор любой кастомной цветовой схемы (с последующим выходом-входом из иксов) ничего не меняет, схема остаётся дефолтная (например в pcmanf-qt, gwenview и моих собственных qt-поделках). QT_QPA_PLATFORMTHEME=qt5ct в environment есть, как и QT_LOGGING_RULES="qt5ct=false", и даже QT_PLATFORM_PLUGIN=qt5ct (без которого впрочем до сих пор всё работало). Откат на 1.1 (с восстановлением конфига из бэкапа) не помог.

UPD. Починили в qt5ct-1.5; текущая версия qtgui-5.15.2-r13.

 , ,

dimgel
()
Форум — Desktop

А каким чудом арч ухитряется поддерживать WINEARCH=win32?

Если сам арч 64bit only? Смутно помнится, что для 32-битных игр в арче нужно только nvidia-блоб 32-битный водрузить. Но гента, например, для поддержки 32бит требует не только wine и nvidia с ABI_X86=«32 64», но и огромную прорву их зависимостей.

 , ,

dimgel
()
Форум — Development

Зачем в rust нужно keyword «impl» в параметрах и в возвращаемом значении функций?

Ау, растаманы! Почему нельзя вместо

fn f(x: &impl Trait1) -> impl Trait2 

писать

fn f(x: &Trait1) -> Trait2 

? Trait – не first class тип? Это бред, но даже если так: и что? Или может возможен конфликт одинаковых имён структуры и trait? Короче, смахивает на синтаксический оверхед.

UPD. Ну и вдогонку, чтобы дважды не вставать: «we can’t implement external traits on external types» – это не просто дичь, а просто дичь. Ну и аргументация трындец: «Without the rule, two crates could implement the same trait for the same type, and Rust wouldn’t know which implementation to use.». Вот когда конфликт возникнет, тогда и ругались бы на него.

UPD2. fn vs fun – зачем отдельный keyword для лямбд?

 ,

dimgel
()
Форум — Talks

Система счисления с основанием 10000.

Ковыряю тут сорцы постгреса, и нарвался на реализацию типа numeric (он же decimal). Сабж, каждая цифра хранится в int16. По здравому размышлению – логично: делать арифметику сразу на группах по 4 цифры эффективнее, чем на каждой десятичной цифре отдельно.

 ,

dimgel
()
Опросы — Голосования (не подтверждено)

Что более ненужно: nvidia или wayland?

После всех этих срачей (e.g. из последнего), возник панимаеш ли вопрос о текущем состоянии умов умищ на ЛОРе.

 , ,

dimgel
()
Форум — Development

Вопрос по избыточности «possible implementation» std::is_base_of<> @ cppreference.com

Тыц (cppreference.com) / Possible implementation: зачем нужны оба test_pre_is_base_of()? Сначала не понял про первый, тупо закомментил его – и вроде всё работает. Потом заинлайнил второй – и опять работает:

namespace details {
	template <typename B> std::true_type  test_pre_ptr_convertible(const volatile B*);
	template <typename>   std::false_type test_pre_ptr_convertible(const volatile void*);
}
template <typename Base, typename Derived> struct is_base_of : std::integral_constant<
		bool,
		std::is_class<Base>::value && 
		std::is_class<Derived>::value && 
		decltype(details::test_pre_ptr_convertible<Base>(static_cast<Derived*>(nullptr)))::value
> {};
class A {};
class B {};
class D : public B {};
static_assert(is_base_of<B, D>::value);
static_assert(!is_base_of<A, D>::value);
static_assert(!is_base_of<int, bool>::value);

 ,

dimgel
()
Форум — Development

C++. Метапрограммирование. Ненависть.

Раз:

class C {
    ...

    // Специализации ниже, вне класса.
    template<class T> void fOne(T x);

    // - Не-шаблонный метод с пустым списком параметров не вызовется из F::call<TT...>() при пустом списке аргументов:
    //   оно будет искать fMany<>(), а не fMany().
    // - Шаблон с пустым списком аргументов сделать нельзя: оно будет считать синтаксис "template<>"
    //   специализацией несуществующего шаблона.
    // - Если в теле класса объявить "template<class... TT>", то специализация "template<> void fMany<>() {}" возьмётся,
    //   но "template<class T, class TT...>" будет считаться частичной специализацией, что для функций запрещено.
    // Остаётся эмулировать шаблон с пустым множеством аргументов (т.е. "sizeof...(RR) == 0") через enable_if.

    template<class... TT, std::enable_if_t<(sizeof...(TT) == 0), bool> = true> void fMany() {}

    template<class T, class... TT> inline void fMany(T arg, TT... args) {
        fOne(arg);
        fMany(args...);
    }
}

 , ,

dimgel
()
Форум — Development

Чем нынче модно редактировать & конпелять dll-ку для софтины, работающей под wine?

Всем привет. Сабж. Интересует нормальный IDE (vim не предлагать) и тулчейн, чтобы сидеть либо на онтопике, либо также внутри wine. Кодировка сорцов – cp1251.

 , ,

dimgel
()
Форум — Talks

Отговорите.

От перехода в генте с openrc на systemd.

И вообще интересно, какой процент гентушников сидит на systemd. Сделал бы голосовалку, но пока её утвердят…

 ,

dimgel
()
Форум — Talks

gentoo дропает поддержку libressl

https://www.gentoo.org/support/news-items/2021-01-05-libressl-support-discontinued.html

RIP. Однако хорошо что libtls оказывается есть отдельным проектом над openssl.

 ,

dimgel
()
Форум — Linux-org-ru

А нельзя ли добавить в настройки аккаунта флажок «сортировать темы по дате последнего ответа»?

Драсьти. Сабж. Шоп не надо было каждый раз при входе в форум на заголовок столбца «последнее сообщение» кликать.

 ,

dimgel
()
Форум — Talks

А кто сказал, что в бинарных дистрах нет патчей-закладок в софте?

Это в гентушечке патчи лежат отдельно от собственно сорцов пакета, скачиваемых обычно прямо с сайта/репы его авторов. А можно ли верить всяким дебианам с арчами, не говоря уже про всякие калкулейты и убунты с манжарами – это большой вопрос.

 

dimgel
()
Форум — Desktop

PCM volume в alsamixer не работает если я объявил кастомный pcm.!default {}

С целью заставить recordmydesktop писать звук не только с микрофона, но и с ALSA-выходов, пытаюсь замутить вот это: https://bbs.archlinux.org/viewtopic.php?pid=1153194#p1153194

Собственно looprec ещё не пробовал, для начала проверяю лишь бы ничего не сломалось. С поправками на моё железо (s/hw:0,0/hw:Generic,0/g и т.п.) работает как прежде, за исключением сабжа.

Причём есть ещё контролы Center и LFE, которые регулируют громкости правого и левого каналов соответственно. А общая громкость (PCM) на ползунок не реагирует, всегда 100%.

Минимальный пример, который ломает громкость.

Было:

defaults.pcm.!card Generic
defaults.pcm.!device 0
defaults.pcm.!ctl Generic

Стало:

pcm.!default {
    type asym
    playback.pcm "hw:Generic,0"
    capture.pcm "hw:Generic,0"
}

Добавление этого тоже не помогает:

ctl.!default {
    type hw
    card "Generic"
}

как и раскомменчивание третьей строчки из того что «было».

ЧЯДНТ?

 ,

dimgel
()
Форум — Admin

LibreSSL vs OpenSSL in 2020: чё слышно?

Сабж. А то ещё пару лет назад раздавались голоса, что мол со времён форка LibreSSL кодовую базу OpenSSL привели в порядок, дыры позакрывали, и теперь LibreSSL не нужен; только вот количества уязвимостей по-прежнему были несопоставимы (тыц (cvedetails.com), тыц (cvedetails.com)). За текущий год (а в случае LibreSSL даже за предыдущий) чёт не видать, хотя в OpenSSL график ползёт вниз; с другой стороны, причины дырявости OpenSLL (которые в коде) вряд ли куда-то делись.

Вопрос в форуме admin, т.е. «что ставить на систему при наличии выбора». Как программист я естественно выберу libtls т.е. LibreSSL.

 , ,

dimgel
()
Форум — Development

Покритикуйте HTTP/2 (сам протокол)

Сабж. Ну или ссылок накидайте. Хочется услышать что-то типа «п.1, п.2, п.3 – так что сами видите, эту херь дизайнила школота ЕГЭшная». Гугл чёт ничего подходящего не даёт, а сам я по ощущениям недостаточно в теме (мало протоколов изучал и делал).

Хотя одна вещь, помнится, изумила своим феерическим идиотизмом: имена заголовков стали бинарные, а значения стандартных числовых и date-заголовков (Content-Length, Last-Modified, etc.) – по-прежнему передаются текстом. Если тут я не прав, ссылку на спеку и пункт спеки, плиз.

Кидаю сюда а не в Web-Development, т.к. там всякие PHP и CSS, а нужно мнение матёрых системных программистов.

 

dimgel
()
Форум — Talks

Подкинули совершенно замечательный рассказ про хакеров... и не только

Опубликован в 1984 и тут же победил в куче номинаций «best novella» (инфа из вики): Джон Варли «Нажмите ввод»

 , ,

dimgel
()
Форум — Admin

Дожили: версия 9999 в стабильной ветке

А именно, dev-python/certifi-9999. Пока что пишу –exclude=certifi при всех обновлениях в надежде, что одумаются. Бред же очевидный, не?

 

dimgel
()
Форум — Desktop

Курсор в Geany (1.36) извращенский, как вылечить?

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

 ,

dimgel
()

RSS подписка на новые темы