LINUX.ORG.RU

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

Speech to text

Форум — General

Кто имеет опыт работы с новыми средствами для распознавания речи? Что порекомендуете на десктопную машину без CUDA/OpenCL? Свободное или бесплатное. Английский, русский, французский, украинский, испанский. Скорость распознавания хотя бы 1:1.

P.S. Превращать в текст звуковые файлы.

Ответ: Vosk вполне устраивает.

 

question4
()

Chimera Linux перешёл в статус беты

Новости — Linux General
Группа Linux General

Привет, ЛОР!

Вышла бета-версия достаточно интересного дистрибутива Chimera Linux. От других дистрибутивов Chimera отличается отсутствием утилит и библиотек GNU и использованием кода из систем BSD. Для сборки используются LLVM и musl с аллокатором mimalloc от Microsoft. В качестве системы инициализации поставляется Dinit. Средой рабочего стола по умолчанию является GNOME. Менеджером пакетов дистрибутива является APK (из Alpine Linux).

Chimera является бинарным дистрибутивом с готовыми сборками под архитектуры x86_64, ARM AArch64, POWER и RISC-V. Для энтузиастов также доступна сборка из исходного кода.

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

 , chimera,

hateyoufeel
()

Отличия C и C++

Форум — Development

Есть два эквивалентных примера:

#include <stdatomic.h>

int main() {
  int v[2], * p0 = v, * _Atomic p1 = v;
  if (p0 != p1) return 1;
  if (++p0 != ++p1) return 2;
  if (++p0 != (atomic_fetch_add_explicit(&p1, 1, memory_order_relaxed), p1)) return 3;
}

#include <atomic>
using namespace std;

int main() {
  int v[2], * p0 = v; atomic<int*> p1 = v;
  if (p0 != p1) return 1;
  if (++p0 != ++p1) return 2;
  if (++p0 != (p1.fetch_add(1, memory_order_relaxed), p1)) return 3;
}

C-версия делает return 3. Из-за того, что atomic_fetch_add_explicit(&p1, 1, memory_order_relaxed) компилируется в lock addq $0x1,-0x10(%rsp). В C++ lock addq $0x4,-0x10(%rsp) - как и должно быть, учитывает тип. Это баг какой-то или так специально сделано? Зачем?

 ,

qweururu
()

Визуализатор кода на C

Форум — Development

Хочу утилиту, похожую вот на это, но не привязанную к конкретному редактору. Хочу видеть граф вызова функций для сишного кода, с возможностью отключать неинтересные ноды, указывать интересные, и крутить граф в разные стороны. Очень хочу избежать страдания с graphviz и gtags. Лучше всего, если будет человеческий UI, который можно вертеть мышкой.

 

gaylord
()

Как ПРАВИЛЬНО запускать игровые бинарники.

Форум — Games

Как правильно запускать на основной машине, от основного юзера (с хомяком в котором ~/.ssh/id_rsa.pub например) игры, которые естественно проприетарные и иногда даже неофициальной сборки, где есть риск закладки и зловреда, но запускать их в чистой виртуалке невозможно т.к. значительно падает производительность. Заходить в другой tty, либо заводить другой компьютер для игр, это очевидные варианты, но неудобные и не всегда возможные.

  1. Как вы это делаете? Firejail? Bubblewrap?
  2. Cуществует ли компромисс между удобством, производительностью и безопасностью?

Спасибо за ответы.

 ,

cheetah111v
()

Как сейчас принято ставить древние версии gcc на современный линукс

Форум — Development

Ну в общем сабж, если конкретно то пусть будет версия 3.2 . Из того, что пробовал: скомпилировать из сырцов - ошибка компиляции, пакеты из древних дистров - неудовлетворенные зависимости. Что получилось - сделать новое окружение в анаконде, но там минимальная версия 5.4. Что не пробовал - chroot, docker и ВМ. Все же это излишне кмк.

 , ,

einhander
()

GTK: This application can not open files.

Форум — Development

Пытаюсь написать мини-программу для определенной задачи, но нужно, чтоб программа принимала аргументы из терминала

После компиляции и запуска программы

./programm argument

выдает ошибку This application can not open files.

Сама программа работает, но аргументы не принимает, как фиксить?

#include <gtk/gtk.h>

void
createInterface(GtkApplication *app)
{
    GtkWidget *window = gtk_application_window_new(app);
    gtk_window_set_title(GTK_WINDOW(window), "Window");
    gtk_window_set_default_size(GTK_WINDOW(window), 200, 200);
    gtk_window_present(GTK_WINDOW(window));
}

int
main(int argc, char **argv)
{
    GtkApplication *app = gtk_application_new("org.gtk.example", G_APPLICATION_DEFAULT_FLAGS);
    g_signal_connect(app, "activate", G_CALLBACK(createInterface), NULL);
    g_application_run(G_APPLICATION(app), argc, argv);
    g_object_unref(app);

    return 0;
}

 ,

cherry
()

Приложения и утилиты, которые стоит попробовать

Статьи — Администрирование
Приложения и утилиты, которые стоит попробовать

Многие пользователи Linux с большим стажем даже не подозревают о существовании этих замечательных инструментов, которые способны облегчить им жизнь…

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

 , ,

rtxtxtrx
()

Жизнь Intel Arc на Лине

Форум — Linux-hardware

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

 , ,

stom
()

YT-DLP, очевидное-невероятное

Статьи — Desktop

В последнее время ютуб затеял какую-то реорганизацию и стал убирать из некоторых своих видео формат 22 (720p, единый файл, не dash). Может я наговариваю, конечно, на ютуб, но формат best (720p) всегда был, имхо.


Оказывается есть возможность получать другую таблицу форматов, отличную от дефолтной. У yt-dlp есть параметр --extractor-arg "youtube:player_client=mediaconnect" ([youtube] Format 22 is only sometimes extracted for some videos #10206).
Дефолтная таблица форматов:

$ yt-dlp -F 'https://youtu.be/eUyr9MJnj4w' 
Extracting cookies from firefox
Extracted 1328 cookies from firefox
[youtube] Extracting URL: https://youtu.be/eUyr9MJnj4w
[youtube] eUyr9MJnj4w: Downloading webpage
[youtube] eUyr9MJnj4w: Downloading ios player API JSON
[youtube] eUyr9MJnj4w: Downloading player 5b22937f
[youtube] eUyr9MJnj4w: Downloading m3u8 information
[info] Available formats for eUyr9MJnj4w:
ID  EXT   RESOLUTION FPS CH │   FILESIZE   TBR PROTO │ VCODEC          VBR ACODEC      ABR ASR MORE INFO
────────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb3 mhtml 48x27        0    │                  mhtml │ images                                  storyboard
sb2 mhtml 80x45        1    │                  mhtml │ images                                  storyboard
sb1 mhtml 160x90       1    │                  mhtml │ images                                  storyboard
sb0 mhtml 320x180      1    │                  mhtml │ images                                  storyboard
233 mp4   audio only        │                  m3u8  │ audio only          unknown             Default
234 mp4   audio only        │                  m3u8  │ audio only          unknown             Default
139 m4a   audio only      2 │    1.32MiB   49k https │ audio only          mp4a.40.5   49k 22k low, m4a_dash
249 webm  audio only      2 │    1.30MiB   48k https │ audio only          opus        48k 48k low, webm_dash
250 webm  audio only      2 │    1.70MiB   63k https │ audio only          opus        63k 48k low, webm_dash
140 m4a   audio only      2 │    3.51MiB  129k https │ audio only          mp4a.40.2  129k 44k medium, m4a_dash
251 webm  audio only      2 │    3.51MiB  130k https │ audio only          opus       130k 48k medium, webm_dash
602 mp4   256x144     15    │ ~  2.33MiB   86k m3u8  │ vp09.00.10.08   86k video only
394 mp4   256x144     30    │    1.68MiB   62k https │ av01.0.00M.08   62k video only          144p, mp4_dash
269 mp4   256x144     30    │ ~  4.16MiB  154k m3u8  │ avc1.4D400C    154k video only
160 mp4   256x144     30    │    1.55MiB   57k https │ avc1.4D400C     57k video only          144p, mp4_dash
603 mp4   256x144     30    │ ~  4.18MiB  154k m3u8  │ vp09.00.11.08  154k video only
278 webm  256x144     30    │    2.35MiB   87k https │ vp9             87k video only          144p, webm_dash
395 mp4   426x240     30    │    2.70MiB  100k https │ av01.0.00M.08  100k video only          240p, mp4_dash
229 mp4   426x240     30    │ ~  5.70MiB  211k m3u8  │ avc1.4D4015    211k video only
133 mp4   426x240     30    │    2.35MiB   87k https │ avc1.4D4015     87k video only          240p, mp4_dash
604 mp4   426x240     30    │ ~  7.76MiB  287k m3u8  │ vp09.00.20.08  287k video only
242 webm  426x240     30    │    3.59MiB  133k https │ vp9            133k video only          240p, webm_dash
396 mp4   640x360     30    │    5.02MiB  186k https │ av01.0.01M.08  186k video only          360p, mp4_dash
230 mp4   640x360     30    │ ~ 11.41MiB  421k m3u8  │ avc1.4D401E    421k video only
134 mp4   640x360     30    │    4.13MiB  153k https │ avc1.4D401E    153k video only          360p, mp4_dash
18  mp4   640x360     30  2 │ ≈  7.64MiB  282k https │ avc1.42001E         mp4a.40.2       44k 360p
605 mp4   640x360     30    │ ~ 15.03MiB  555k m3u8  │ vp09.00.21.08  555k video only
243 webm  640x360     30    │    6.06MiB  224k https │ vp9            224k video only          360p, webm_dash
397 mp4   854x480     30    │    8.40MiB  310k https │ av01.0.04M.08  310k video only          480p, mp4_dash
231 mp4   854x480     30    │ ~ 15.17MiB  561k m3u8  │ avc1.4D401F    561k video only
135 mp4   854x480     30    │    6.09MiB  225k https │ avc1.4D401F    225k video only          480p, mp4_dash
606 mp4   854x480     30    │ ~ 20.80MiB  769k m3u8  │ vp09.00.30.08  769k video only
244 webm  854x480     30    │    8.50MiB  314k https │ vp9            314k video only          480p, webm_dash
398 mp4   1280x720    30    │   14.51MiB  536k https │ av01.0.05M.08  536k video only          720p, mp4_dash
232 mp4   1280x720    30    │ ~ 24.57MiB  908k m3u8  │ avc1.4D401F    908k video only
136 mp4   1280x720    30    │   11.09MiB  410k https │ avc1.4D401F    410k video only          720p, mp4_dash
609 mp4   1280x720    30    │ ~ 31.59MiB 1167k m3u8  │ vp09.00.31.08 1167k video only
247 webm  1280x720    30    │   13.61MiB  503k https │ vp9            503k video only          720p, webm_dash
399 mp4   1920x1080   30    │   24.33MiB  899k https │ av01.0.08M.08  899k video only          1080p, mp4_dash
270 mp4   1920x1080   30    │ ~ 73.64MiB 2721k m3u8  │ avc1.640028   2721k video only
137 mp4   1920x1080   30    │   39.45MiB 1458k https │ avc1.640028   1458k video only          1080p, mp4_dash
614 mp4   1920x1080   30    │ ~ 53.22MiB 1967k m3u8  │ vp09.00.40.08 1967k video only
248 webm  1920x1080   30    │   26.78MiB  990k https │ vp9            990k video only          1080p, webm_dash
616 mp4   1920x1080   30    │ ~131.47MiB 4858k m3u8  │ vp09.00.40.08 4858k video only          Premium
400 mp4   2048x1152   30    │   60.94MiB 2252k https │ av01.0.08M.08 2252k video only          1080p, mp4_dash
620 mp4   2048x1152   30    │ ~151.23MiB 5589k m3u8  │ vp09.00.50.08 5589k video only
271 webm  2048x1152   30    │   82.90MiB 3063k https │ vp9           3063k video only          1080p, webm_dash

Новая таблица форматов с единым файлом/потоком для 720p (и 1080p):

$ yt-dlp -F 'https://youtu.be/eUyr9MJnj4w' --extractor-arg "youtube:player_client=mediaconnect"
Extracting cookies from firefox
Extracted 1329 cookies from firefox
[youtube] Extracting URL: https://youtu.be/eUyr9MJnj4w
[youtube] eUyr9MJnj4w: Downloading webpage
[youtube] eUyr9MJnj4w: Downloading mediaconnect player API JSON
[youtube] eUyr9MJnj4w: Downloading m3u8 information
[info] Available formats for eUyr9MJnj4w:
ID  EXT   RESOLUTION FPS CH │  FILESIZE   TBR PROTO │ VCODEC        VBR ACODEC      ABR ASR MORE INFO
────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb3 mhtml 48x27        0    │                 mhtml │ images                                storyboard
sb2 mhtml 80x45        1    │                 mhtml │ images                                storyboard
sb1 mhtml 160x90       1    │                 mhtml │ images                                storyboard
sb0 mhtml 320x180      1    │                 mhtml │ images                                storyboard
140 m4a   audio only      2 │   3.51MiB  129k https │ audio only        mp4a.40.2  129k 44k medium, m4a_dash
160 mp4   256x144     30    │   1.55MiB   57k https │ avc1.4d400c   57k video only          144p, mp4_dash
91  mp4   256x144     30    │ ~ 4.16MiB  154k m3u8  │ avc1.4d400c       mp4a.40.5
133 mp4   426x240     30    │   2.35MiB   87k https │ avc1.4d4015   87k video only          240p, mp4_dash
92  mp4   426x240     30    │ ~ 5.70MiB  211k m3u8  │ avc1.4d4015       mp4a.40.5
134 mp4   640x360     30    │   4.13MiB  153k https │ avc1.4d401e  153k video only          360p, mp4_dash
93  mp4   640x360     30    │ ~11.41MiB  421k m3u8  │ avc1.4d401e       mp4a.40.2
18  mp4   640x360     30  2 │ ≈ 7.64MiB  282k https │ avc1.42001E       mp4a.40.2       44k 360p
135 mp4   854x480     30    │   6.09MiB  225k https │ avc1.4d401f  225k video only          480p, mp4_dash
94  mp4   854x480     30    │ ~15.17MiB  561k m3u8  │ avc1.4d401f       mp4a.40.2
136 mp4   1280x720    30    │  11.09MiB  410k https │ avc1.4d401f  410k video only          720p, mp4_dash
95  mp4   1280x720    30    │ ~24.57MiB  908k m3u8  │ avc1.4d401f       mp4a.40.2
137 mp4   1920x1080   30    │  39.45MiB 1458k https │ avc1.640028 1458k video only          1080p, mp4_dash
96  mp4   1920x1080   30    │ ~73.64MiB 2721k m3u8  │ avc1.640028       mp4a.40.2

Как скачивать 720p (формат единым файлом/потоком):

$ yt-dlp -f 95 'https://youtu.be/eUyr9MJnj4w' --extractor-arg "youtube:player_client=mediaconnect" 

Как воспроизводить 720p (формат единым файлом/потоком):

$ mpv --ytdl-format=95 'https://youtu.be/eUyr9MJnj4w' --ytdl-raw-options=extractor-arg="youtube:player_client=mediaconnect" 


Кроме того:

  • Для mpv можно создать профиль [youtube] в mpv.conf, где прописать условие срабатывания на ютубных ссылках, типа profile-cond=path:match('youtu%.?be') ~= nil или profile-cond=path:find('youtu%.?be') (1).
    И добавив в профиль параметр ytdl-raw-options=extractor-arg="youtube:player_client=mediaconnect" и ytdl-format=95/best.
  • Для yt-dlp, чтобы при наборе команды в терминале мучительно долго не вспоминать указанную в начале заметки длиннющую опцию, можно создать алиас. В конфиге yt-dlp прописываем, как пример, --alias 95f '-f 95 --extractor-arg="youtube:player_client=mediaconnect"'. Теперь, чтобы скачать, пишем yt-dlp --95f 'https://youtu.be/eUyr9MJnj4w'.


Для чего все это надо?

  • минус издержки на склеивание dash-потоков видео и аудио средствами ffmpeg;
  • возможность отправлять ссылку на стандартный вывод (stdout) какого-либо плеера, например vlc;
  • плюс, оказывается, и для 1080p существует подобный формат единого файла.
  • лучшая отзывчивость при перемотке во внешнем плеере (возможно верно для всех hls и не зависит от таблицы форматов)

 ,

krasnh
()

Играюсь с фильтрами ffmpeg

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

Пластинка крутится, волны волнуются.

Автопрофиль для mpv чтоб показывать автоматически эту красоту, когда играет аудиофайл:

~/.config/mpv/mpv.conf

Подгрузить гифку (не в профиле!):

external-files-add=/home/user/.config/mpv/vinyl.gif

Теперь сам профиль:

[mp3]
profile-cond=not video
profile-restore=copy
lavfi-complex="[aid1]asplit[ai][ao];[ai]showwaves=mode=line:s=500x281:colors=White:[wf];[vid1]loop=loop=-1:size=12[bg];[bg][wf]overlay=shortest=1[vo]" #здесь в одну строчку должно быть, LOR перенос делает
hr-seek=yes

hr-seek=yes нужен для того, чтоб правильно работала перемотка внутри трека.

Ссылка на GIF: ТЫЦ

 ,

BACR
()

муравей залез в матрицу экрана

Форум — Linux-hardware

Ползает внутри - картинку загораживает собой, но он именно внутри, внешняя матовая поверхность экрана над ним. Если её прижать он перестаёт ползать, наверно можно его там и раздавить внутри но он испортит вид экрана. Я вообще не знал что там полость есть. Как его оттуда убрать?

 ,

firkax
()

Как дать Steam доступ к разделам на других дисках?

Форум — Games

Если в хранилище Steam выбрать раздел на другом диске, то игры туда не ставятся из-за ошибки доступа. В исходный раздел игры ставятся. Раньше на другие разделы игры ставились (даже были установлены и работали). В какой момент возникла проблема я не понял, может стим обновился или система. Steam установлен в версии Flatpak. ОС КДЕ Неон.

 ,

Kurum2
()

Накидайте книг для продвинутого Си под онтопик

Форум — Development

Сто лет назад прочитал K&R и всегда хватало, а если я хочу углУбить?

// друг спрашивает :)

UPD: собрал из темы списочек, особо не редактируя (экстримов и модернов поболее одного, но пусть будет) – думаю, заглянувшим в будущем будет полезно:

  • modern c by jens gustedt
  • Thomas Mailund - Pointers in C Programming (2021)
  • Gustedt - Modern C (2020)
  • Kalin - Modern C Up and Running (2022)
  • King - C Programming. A Modern Approach, 2nd ed. (2008)
  • Хэзфилд «Искусство программировани на C»
  • «Язык C в XXI веке»
  • Экстремальный Си
  • extreme c programming
  • «UNIX. Профессиональное программирование» Уильям Ричард Стивенс, Стивен А. Раго
  • C Interfaces and Implementations: Techniques for Creating Reusable Software
  • Peter van der Linden, Expert C Programming: Deep C Secrets https://progforperf.github.io/Expert_C_Programming.pdf
  • Чан Теренс «Системное программирование на С++ для Unix»

 ,

pihter
()

arch, plymouth - splash включается только после ввода пароля на дешифрование диска

Форум — General

Доброго всем времени суток. Есть свежий арч :) с шифрованым корнем. Хочется чтобы при загрузке сразу врубался красивый сплеш от plymouth и пароль собственно надо было бы вводить в приятное глазу поле ввода(как это сделано в убунте/федоре например). На данный момент это не так, сплэш появляется только после ввода пароля на дешифрование через ‘голую’ консоль - выглядит это так себе конечно.

Итак, вот как грузится ядро:

$ cat /proc/cmdline 
initrd=\amd-ucode.img initrd=\initramfs-linux.img cryptdevice=PARTUUID=1028f51b-d0a0-4c1e-ad86-ae1a2c3f82ef:root root=/dev/mapper/root zswap.enabled=0 rootflags=subvol=@ rw rootfstype=btrfs quiet splash

вот так собирается initrd(через mkinitcpio -P)

$ cat /etc/mkinitcpio.conf
MODULES=(btrfs amdgpu)
BINARIES=(/usr/bin/btrfs)
FILES=()
HOOKS=(base udev autodetect keyboard keymap modconf block encrypt filesystems fsck plymouth)

тема для plymouth выбрана вот так:

$ sudo plymouth-set-default-theme -R bgrt

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

PS: ставилось всё это дело через archinstall, из aur только пара прикладных софтинок установлена

 ,

SpaceRaven
()

Перевозка компьютера с водяной системой охлаждения зимой.

Форум — General

Привет, ЛОР.
У меня максимально необычный вопрос, но нагуглить толком ничего не получилось.
Дано: Рабочая станция с водяной системой охлаждения (ASUS ROG Strix LC 360).
И необходимость перевезти это из Уфы в Москву, глобальный переезд, потому планируется заказ грузовой газели, где со всем прочим поедет и системник.
Но, только сейчас я понял, что ехать оно будет двое суток, а за бортом разброс температур от -20 до -5. В грузовом отсеке автомобиля, скорее всего, будет едва ли теплее.
Соб-но, вопрос, а как системы водяного охлаждения относятся к такому?
Забегая вперед: Система неразборная, вариант слить жидкость не вариант. Либо везти, либо не везти.

 , , ,

Jefail
()

У Вас маленький экран? Диалоги не влазят? РЕШЕНИЕ ПРОСТО! Как 1,2,3...

Форум — Desktop

Начнем с 1,2,3.
Окрываем эмулятор терминала и запускаем:

$xrandr --output LVDS1 --scale 1.25x1.25
(Вместо LVDS1 возможно придется указать другое значение, не знаю как его узнать кошерно, я подсмотрел в диалоге MATE: Система->Параметры->Оборудование->Экраны. У меня там картинка экрана: Ноутбук: LVDS1)

ВСЁ! Это работает на уровне системы, решение подсказали на LOR, когда я расхваливал Xfce с таким же решением в пункте меню.

Далее идем в Система->Параметры->Персональные->Запускаемые приложения и добавляем скажем: screenresize с параметрами: $xrandr --output LVDS1 --scale 1.25x1.25

Всё, теперь параметры автоматически применяются при логине этого пользователя.

Я являюсь владельцем древнего 10" нетбука который тут все рекомендуют выкинуть... Но впрочем он вполне работает, и с собой брать не так тяжело как толстую машинку....
Но всегда мучала проблема... Открываешь в Линуксовом десктопе какое нибудь модальное окно и оно больше чем 1024x600, кнопочки: «Применить», «Сохранить», «Идинафик» - находятся где то за нижней границей экрана.
Играясь с Manjaro Linux (Я его назвал Мажориком, хотя тут ходит Ник: Бомжара) я столкнулся с оконным менеджером Xfce, у которого прямо в меню настроек можно выставить масштаб 1.2 и всё стало вмещаться на УРА!
Расписал это здесь на форуме, и анонимус подсказал мне решение, ссылкой на: https://wiki.archlinux.org/title/HiDPI.

Теперь я знаю об этом рабочем решении и хочу поделиться им с другими!

 , ,

n0mad
()

Не работает режим Xbox360 у Mobapad Huben M9S

Форум — Linux-hardware

Купил геймпад. С ПК работает либо по проводу, либо через Bluetooth-донгл, что шел в комплекте (нельзя использовать как адаптер). Протестил на Windows, работает как надо, на сочетание клавиш есть переключение между режимами Xbox360 (2 led лампочки горят на геймпаде) и Bluetooth Gamepad (3led). Пошел в Arch Linux, где геймпад без всяких xpad, xpadneo, xboxdrv определялся как MOBAPAD-M9s (3led) и не меняется сочетанием на Xbox360. Всё бы ничего, но не работает кнопка Home(Guide) и вибрация. Поэтому начал поочередно пробовать разные варианты драйверов, описанные выше. xpadneo и xpad вообще никак не воспринимают геймпад, а xboxdrv с параметрами

xboxdrv --evdev /dev/input/by-id/usb-SHANWAN_Android_Gamepad-event-joystick --mimic-xpad 

создает геймпад /dev/input/js1 типа xbox360, который не видит никаких нажатий. js0 же, что работал, тоже перестает работать. При подключении dmesg пишет:

[<    5,622433>] usb 1-1: new full-speed USB device number 17 using xhci_hcd
[<    0,432074>] usb 1-1: unable to read config index 0 descriptor/start: -71
[<    0,000011>] usb 1-1: can't read configurations, error -71
[<    0,604570>] usb 1-1: new full-speed USB device number 18 using xhci_hcd
[<    0,397257>] usb 1-1: New USB device found, idVendor=0079, idProduct=181c, bcdDevice= 1.00
[<    0,000007>] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[<    0,000002>] usb 1-1: Product: MOBAPAD-M9s
[<    0,021041>] input: MOBAPAD-M9s as /devices/pci0000:00/0000:00:01.3/0000:02:00.0/usb1/1-1/1-1:1.0/0003:0079:181C.0014/input/input51
[<    0,000189>] hid-generic 0003:0079:181C.0014: input,hidraw3: USB HID v1.10 Gamepad [MOBAPAD-M9s] on usb-0000:02:00.0-1/input0
[<    0,006393>] input: MOBAPAD-M9s System Control as /devices/pci0000:00/0000:00:01.3/0000:02:00.0/usb1/1-1/1-1:1.1/0003:0079:181C.0015/input/input52
[<    0,054858>] input: MOBAPAD-M9s Consumer Control as /devices/pci0000:00/0000:00:01.3/0000:02:00.0/usb1/1-1/1-1:1.1/0003:0079:181C.0015/input/input53
[<    0,000114>] hid-generic 0003:0079:181C.0015: input,hidraw4: USB HID v1.01 Device [MOBAPAD-M9s] on usb-0000:02:00.0-1/input1

usb-devices:

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 18 Spd=12   MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0079 ProdID=181c Rev=01.00
S:  Product=MOBAPAD-M9s
C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=350mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
E:  Ad=02(O) Atr=03(Int.) MxPS=  32 Ivl=10ms
E:  Ad=81(I) Atr=03(Int.) MxPS=  32 Ivl=8ms
I:  If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
E:  Ad=83(I) Atr=03(Int.) MxPS=  32 Ivl=10ms

lsusb:

 |__ Port 001: Dev 018, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        ID 0079:181c DragonRise Inc. 
    |__ Port 001: Dev 018, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        ID 0079:181c DragonRise Inc. 

Пробовал различные махинации с /sys/module/usbhid/drivers/usb:usbhid/unbind и /sys/module/xpad/drivers/usb:xpad/new_id, но изменений не произошло. Делал modprobe xpad modprobe hid_xpadneo и наоборот убирал их, ну, а геймпад как не работал в режиме xbox360, так и не работает. Хочу уточнить, что vendorId и productId при подключении через донгл такой же, но название меняется с MOBAPAD-M9s на Shanwan Android Gamepad. Есть ли вообще вероятность как-то исправить ситуацию или лучше сразу отказаться от гейминга на данном геймпаде в Linux?

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

KeyPress event, serial 44, synthetic NO, window 0x5200001,
    root 0x1db, subw 0x0, time 2208415, (841,333), root:(891,457),
    state 0x10, keycode 180 (keysym 0x1008ff18, XF86HomePage), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

Перемещено Zhbert из games

 , ,

superlinuxfedora
()

Вопрос про криптуху и AES / RSA.

Форум — Security

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

Вопрос об аутентификации Алисы и «мире электронных подписей». Алиса хочет прислать Бобу токен (строку), по которому Боб может сказать, что строка сформирована именно Алисой.

Алиса формирует строку вида:

<HASH>-<TIME>-HELLOWORLD-<RAND-128>

где

<HASH> - хеш всей строки, за исключением самого ; предполагается, что алгоритм хеширования достаточно упорот и надёжен в меру важности этого спецзадания - какой-то распространённый SHA256, например или же самодельный с известным (или неизвестным) риском.

<TIME> - текущее время, нужное тут низачем, кроме как влиять на значение и внести немного рандома, ну и отчасти показать свои часы.

HELLOWORLD - заведомо известная всем строка.

<RAND-128> - рандомные 128 бит с потолка (одна задача - влиять на значение хеша).

Алиса шифрует эту строку каким-то симметричным алгоритмом, типа AES, используя Ключ К. Ключ К - сгенерированные ранее и сохранённые рандомные 512 байт.

Тот же ключ есть у Боба. И больше ни у кого.

Алиса передаёт зашифрованную строку Бобу. Боб расшифровывает её ключом К, вычисляет хеш от строки (кроме поля ) и сверяет вычисленный хеш с полем . А так же удостоверяется, что после лежит строка , ну и у строки какой-то известный размер. Ну, например, что не слишком в прошлом. Если все проверки - true, тогда Боб делает вывод, что строка пришла от Алисы, а не кого-то другого.

Вопросы:

  1. считается ли такой способ ответа на вопрос «Алиса ли прислала строку» мало-мальски вменяемым? В чём уязвимости?
  2. Достаточно ли будет выкинуть , а передавать просто <RAND-128>-HELLOWORLD и проверять только наличие HELLOWORLD в строке на нужном месте? Тут замысел в том, что <RAND-128> будет непредсказуемо менять стейт машины шифрования так, что к моменту шифрования HELLOWORLD, шифровалка будет уже в достаточно рандомном состоянии, чтобы HELLOWORLD шифровался постоянно в разные байтики. Будет ли это работать?

Кража ключа у одного из них считается провалом, конечно же.

Перемещено maxcom из talks

 

lesopilorama
()

Зачем в C _Generic?

Форум — Development

Ущербная конструкция вида:

_Generic((e), type1: expr1, type2: expr2) 

Кто-нибудь когда-нибудь смог найти этому применение кроме sqrt для разных типов?

 

cumvillain
()