• Как настроить или создать интернет прокси или шлюз на домашнем пк что бы с его ip заходить удаленно?

    @rPman
    Про vpn вам уже написали. Есть еще варианты, в каком то смысле проще.

    Воспользуйтесь штатным функционалом ssh сервера, который достаточно давно устанавливается из установщика windows - это socks прокси сервер, который запускается, когда клиент подключается к ssh-серверу (клиент это приложение ssh или любой другой типа того же популярного putty, он есть по до все, включая android) с опцией - динамический туннель (dynamic tunnel), в командной строке это опция -Dпорт, где порт - это порт socks прокси сервера на машине откуда запущен клиент. Так же вместе с портом, можно указать ip адрес локального сетевого интерфейса, чтобы к этой прокси можно было подключаться с других компьютеров локальной сети типа ssh user@server -D192.168.0.3:1080

    Т.е. в вашем примере ssh-сервер это компьютер вашей мамы, а ssh-клиент - ваш компьютер в другой стране, за которым вы работаете. Затем достаточно в настройках браузера включить прокси сервер и указать в качестве ip адреса ваш локальный (по умолчанию это localhost или 127.0.0.1) и порт. ssh клиент нужно будет держать включеным, пока пользуетесь интернетом. Никаких других настроек делать не придется (правда в этом случае для подключения ssh придется писать логин + пароль вручную, и чтобы это автоматизировать, нужно будет настраивать авторизацию по ключу)

    p.s. в тему крутости ssh, на самом деле он позволяет поднимать полноценный vpn но это не подходит для windows, точнее понадобится какая-либо linux машина, даже если она виртуальная.

    p.p.s. если у компьютера вашей мамы нет внешнего ip адреса, а точнее есть разные ситуации
    - серый ip
    в этом случае ip адрес периодически меняется, т.е. он есть! Тогда можно на роутере настроить dyndns (есть провайдеры в интернете, бесплатные либо копеечные, либо как опция, помню при покупке dlink-роутера, указав серийник можно было пользоваться dlink-овским сервером бесплатно ), когда вашему ip адресу выдается имя типа my_router_name.dyndns.com и вот по этому адресу нужно будет подключаться. Подключение такое будет обрываться когда провайдер сменит адрес (обычно раз в сутки) и переподключение будет доступно через минуты.

    - провайдерский nat (очень часто мобильные провайдеры)
    это видно, если ip адрес роутеру выдают из локальной сети. В этом случае ip адрес один на несколько клиентов провайдера, и даже upnp не настроить, тут мало что поможет, от таких конфигов лучше держаться подальше, ищите vpn сервисы, или хотя бы тот же hamachi (у них интересная система настройки прямого подключения между компьютерами и решения проблем с nat), они позволят объединить удаленные компьютеры в единую локальную сеть и уже с ее помощью выходить в интернет (тут нужны еще настройки, в зависимости от способа подключения, типа internet shareing и настройка маршрутизации, но socks прокси через ssh ничего дополнительного не потребует).

    Могу и тут предложить использовать ssh как универсальную палочку выручалочку. Если ваш компьютер в другой стране имеет ip адрес, вы можете дополнительно установить уже на этом компьютере ssh сервер (т.е. у вас будут 2 сервера один у мамы другой у вас), затем на машине мамы вы настраиваете bat-скрипт, который в бесконечном цикле будет пытаться подключиться к вашей машине не дома, для настройки туннеля перенаправления портов
    :loop
    ssh user@сервер_не_дома -R порт_на_машине_не_дома:localhost:22
    ping -n 2 localhost
    goto loop

    тут порт_на_машине_не_дома это порт, по которому с машины не дома можно будет подключиться к ssh серверу вашей мамы, подключаться будет через соединение ssh и соответственно ip адреса вашей маме не понадобится (но он понадобится уже на вашей машине не дома). Данный скрипт будет бесконечно пытаться подключить ssh с настройкой туннеля, делая между попытками паузу в пару секунд (это команда ping). Скрипт нужно прописать в автозапуск (лучше через task scheduler, его тогда не будет видно)

    само собой в этом случае авторизацию по ключу придется настраивать (речь идет о подключение с компьютера вашей мамы на ваш сервер не дома)

    Повторюсь, все это будет работать на windows, и максимум настроек - это перенаправление портов на роутере и беспарольную авторизацию по ключу
    Ответ написан
    Комментировать
  • Нормально ли хранить игры на hdd, а запускать с ssd?

    @rPman
    Тебе все ответили по поводу не совсем верной постановки вопроса.

    Если речь о хранении на hdd установщиков игр а устанавливать сами игры на ssd то да, это хороший вариант, ssd не выгодно использовать для хранения данных, которые редко используются или используются только для последовательного чтения.

    Например это могут быть аудиофайлы или видеофильмы, они читаются либо целиком либо последовательно, а значит hdd для них подходит идеально, потому что hdd работают кратно быстрее, до сотен мегабайт в секунду, при последовательном чтении/записи (а вот случайный доступ даже на топовых hdd роняет скорость до десятка мегабайт).

    ---------------------------------------------------

    Если же речь о том, как можно воспользоваться hdd для установки игры на ssd которая на него не влезает (точнее тебе охота больше игр или доустановить компоненты, так как приложение должно хотя бы в минимальном варианте поместиться на диске), то есть способ, воспользоваться фичей файловых систем (ntfs в данном случае умеет только каталоги) - символические ссылки.

    Символическая ссылка для программы - это каталог (или файл, если в пределах одного диска или другие файловые системы, например в linux), который выглядит как обычно, но в реальности отображает содержимое того каталога, на который ссылается символическая ссылка, например на другом диске (в windows с помощью виртуальных дисков .vhdx - с оговорками можно выкрутиться и разместить файлы в сети, но будет медленно или опасно для данных, если машина будет выключаться, так же можно использовать iscsi если есть nas с его поддержкой или linux, это штатный механизм доступа к дискам по сети).

    После установки игры на ssd (без ее запуска), заходишь каким-либо файловым менеджером в каталог игры (рекомендую far commander, он и симлинки может создавать кнопкой), ищешь объемные каталоги редко используемых данных, например карты, до которых ты еще не дошел, видеофайлы и прочий контент, часто это можно определить по названию каталогов или напрямую по типу файла) и сначала перемещаешь эти файлы на другой диск (в твоем случае ssd) а затем создаешь каталог-симлинк на скопированное с тем же именем, какое было у оригинального каталога.

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

    Некоторые установщики или при обновлении игры тем же стимом (это от игры зависит), каталоги могут удаляться перед обновлением, придется заново все это делать, мало того прямо в процессе обновления, так как место может закончиться.

    Постарайся не переносить ресурсные файлы игр (текстуры и модели).

    Постоянно таким садамаза заниматься не стоит, но как временных шаг, пока не купишь нормальный диск, вполне рабочая схема.
    Ответ написан
    Комментировать
  • Как стереть данные со сбойного SSD?

    @rPman
    Попробуй загрузиться в linux (любой livecd/liveusb не самый древний) и с помощью утилиты hdparm (ключ -r) отключить флаг read-only
    узнать состояние (в примере диск /dev/sda - поменяй на тот что нужно)
    hdparm -r /dev/sda
    # /dev/sda:
    #   readonly      =  0 (off)

    сменить на 0 (off) ключ -r0

    Следи чтобы диск не смонтировался автоматом и размонтируй его (не из файлового менеджера а командой umount)

    данные на диске уничтожай удалением разделов и отправкой trim если там не миллионы в биткоинах
    blkdiscard /dev/sda
    ну или чем то типа
    sudo dd if=/dev/urandom of=/dev/sda bs=128k conv=sync,noerror

    !!! трижды перепроверь что указал верный диск вместо /dev/sda, эта команда без подтверждения удалит все данные на диске

    p.s. шансов мало, но попытаться можно
    Ответ написан
    Комментировать
  • SSD поставил сам на себя пароль. Что делать?

    @rPman
    Не делай ничего сам если тебе дороги данные на диске, неси в сервис, пусть специалисты покопаются, оценка стоимости обычно дешевая, а там смотри что тебе скажет спец.

    Если самому, то начни с загрузки с другого носителя (например liveusb/livecd любую реаниматолку или просто linux) и смотри видны ли данные на диске. Сам диск зашифроваться не может, мало того это достаточно длительная операция, незаметить невозможно. Вирусы локеры ведут себя по другому, и им нужно дать инструкции пользователю типа - переведите бабки тогда...

    p.s. С высокой вероятностью что то еще было, но у подавляющего большинства пользователей возникает в памяти черная дыра, и включается пластинка 'я ничего не трогал оно само'.

    Вспоминай что делал перед этим с прошлой загрузки. Какие программы ставил, чистилки, оптимизаторы, удаляторы, виртуализаторы и все что угодно.
    Ответ написан
  • Как можно хранить большие объемы данных на sd карте, которые потом можно также прочитать?

    @rPman
    Все зависит от того, какие типы данных в полях, постоянные ли они от строке к строке и много ли 'пустых' значений или точнее, значений с переменной длиной (строки например).

    Плюс, каким образом нужно проводить поиск данных, т.е. очевидно что читать все тебе последовательно не нужно, а значит нужно делать выборку по какому то условию.

    Ну еще, зависит от того, готов ли ты на накладные расходы потратить место на этой карте памяти.

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

    Данные хранишь в файле так, как они хранятся в памяти ардуинки (особенно если они больше нигде использоваться не будут, ну или заранее продумай в каком формате числа будешь хранить BE/LE.

    Каждая 'строка' в файле у тебя будет фиксированной длины (можно еще и выровнять на количество байт степени двойки, что оптимизирует операции умножения вычисления позиции, для ардуинки может быть актуально под какие то задачи) и разделители не нужны. Т.е. по номеру строки и номеру колонки можно высчитать смещение данных в файле простым умножением и сложением.

    Если нужны запросы по значению, пиши рядом индексный файл, где храни последовательность пар хеш_значения->номер_строки_в_файле, при этом если происходит коллизия, делай в этом файле еще записи с тем же хешем (рядом, чтобы пришлось делать только два лишнего чтение). Значения сортируй по хешу, поиск нужного значения делай тупой дихотомией (метод деления пополам или бинарный поиск) - как нашел значение, читай записи вверх, а потом вниз от него, пока есть коллизия хеша.

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

    @rPman
    Для этого на телефоне должен был заранее быть рут доступ, требуется доступ к файловой системе на низком уровне.
    Альтернатива - работать с устройством, выпаяв чип памяти, что может сделать только специализированный сервис (попробуй обратиться в своем городе в такие, сервисы восстановления данных, они собаку съели)
    Ответ написан
  • Какие последствия за использования Cloudflare сейчас в РФ?

    @rPman
    Каким боком технология касается юридической сферы?
    ты запускаешь свой сайт на американских процессорах, значит он американский?

    это cloudflare может отказать в обслуживании, если ты из России, а серые схемы, например оплаты, не поддаются в свою очередь уже бухгалтерскому учету.

    p.s. в России нет закона и порядка, тут действует правило - не затрагиваешь ни чьих интересов - тогда по закону, иначе по понятиям.
    Ответ написан
    1 комментарий
  • Есть ли какие есть варианты api для отправки файлов?

    @rPman
    http (тип upload - multipart/form-data), самый простой и функциональный, поддерживается всеми и везде.

    Например прием файла на php тут разные методы и примеры использования, полистай примеры еще и по ссылкам.
    Ответ написан
    Комментировать
  • Есть ли у биржи DeDust API для python?

    @rPman
    у них же на github есть что то
    https://github.com/dedust-io/sdk
    https://docs.dedust.io/reference/getting-available...

    p.s. сам этим не пользовался
    Ответ написан
    3 комментария
  • Утечка DNS или как соц. сети узнают мое местоположение?

    @rPman
    Просто небольшое уточнение, российские провайдеры подменяют вызовы 8.8.8.8, по крайней мере я слышал об этом. Т.е. делая запрос <случайный хеш>.instagram.com и отсылая этот же хеш на сервер с таймингами, позволяет серверу увидеть, откуда к dns делали запрос а там либо твой ip либо ip российского провайдера.

    dns нужно тоже проксировать

    Ну и еще момент, в браузерах secure dns уже есть и возможно на смартфоне он настроен по умолчанию, т.е. игнорирует настройки смартфона, а там может крупные сети договорились с cloudflare (кажется там их настроен) о детекте геолокации
    Ответ написан
    Комментировать
  • Как создать свой чат бот(дообучить модель) на базе собственных знаний(ссылок на ресурсы)?

    @rPman
    первые же запросы с гугла (с поиском по хабру)
    https://habr.com/ru/articles/755114/
    https://habr.com/ru/companies/neoflex/articles/722584/
    https://habr.com/ru/companies/wunderfund/articles/...
    https://habr.com/ru/articles/757086/

    Ключевые слова finetuning, peft модели llama, mixtral, google gemma (вышла буквально на днях, выглядит неожиданно хорошо для 2b/7b)
    Напрямую обучать модель новым знаниям сложно, и дорого а датасет это ты сам собираешь. Есть лайфхак - какими либо способами, на основании контекста формируют запрос в классическую базу данных (например реляционную) делают поиск, а результат вставляют в окно контекста (добавив сопроводительный текст, описывающий это как знания, на которые нужно опираться) и в результате модель получив эти данные, будет их использовать (это самое странное и непонятное в llm-ках). Само собой ВСЕ данные пихать в окно контекста не имеет смысла, оно маленькое а в открытых моделях еще и слабосвязное.
    Гуглим llm rag, например https://habr.com/ru/companies/wunderfund/articles/...

    p.s. просто и красиво не будет
    Технология llm сырая, точнее в ней баг в идеологии, подразумевающий вероятностный результат, т.е. правильный с некоторой вероятностью, которая даже у топовых моделях (не доступных для дообучения обывателю) в среднем на специализированных бенчмарках - 60%-80%, а те модели что доступны, дают верные результаты с с еще меньшей вероятностью.

    Настоятельно рекомендую смотреть в сторону mixtral (для людей доступны модели 8x7b, работают по скорости как 7b а по качеству как 70b), инструкций по дообучению не густо, придется прогружаться в тему, при которой таких вопросов как выше не будут возникать, но односложно ответ не дать.
    Ответ написан
  • Как реализовать смену цвета кнопки в разных файлах (c# winforms)?

    @rPman
    Так и говори, как из одной формы обращаться к контролам другой (утт форма - это окно, в твоем вопросе это 'файл' Tema1.cs и t1q1.cs).

    Тебе нужно передать ссылку на форму, в которой что то хочешь изменить на форму, которая хочет изменить. Сделать это можно либо в тот момент, когда вторая форма создается, либо (если экземпляр у формы один) разместить эту ссылку как статичный мембер какого либо класса (пусть и самой формы) в которую конструктор будет иницилизировать эту ссылку, типа так
    public static tema1_form;
    ...
    // конструктор Tema1
    Tema1()
    {
    ...
    Tema1::tema1_form=this;
    ...
    }

    // в другом файле
    Tema1::tema1_form.button1.BackColor=Color.LightBlue;
    формально способов тьма, тебе тут могут еще накидать, а то народ 'почему то' не любит в конкретных задачах такие простые способы.
    Ответ написан
    Комментировать
  • Возможно ли в Ubuntu сделать так, чтобы клик мышки и горячие клавиши срабатывали при поднятии кнопки, а не при нажатии?

    @rPman
    Закину мысли от себя, но это требует дополнительного исследования.

    Обработкой собственно события клавиатуры занимается не операционная система как таковая а библиотеки приложений, т.е. чтобы изменить это поведение потребуется модификация их кода. Т.е. всех версий gtk и kde как минимум, подменить логику работы в браузере (он все делает сам). Т.е. не будет красивого решения типа каких то настроек в конфиге.

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

    Но сложность тут в том что скорее всего тебе нужны комбинации ctrl/shift/alt/... а их приложения могут обрабатывать по своему (причем часто коряво) и придется прятать от приложений и эти клавиши целиком (а значит симулировать и их поведение)
    Ответ написан
    Комментировать
  • Как удаленно включить стационарный пк с андроид устройства?

    @rPman
    Если у тебя нет человека, который сможет физически нажать reset и power on то не советую использовать WOL.

    Правильное решение - аппаратный выключатель, либо самодельный (дешевле - на основе любого копеечного роутера или малинки и реле на кнопку power, советую для твоего удобства сделать отдельное реле для reset) либо покупной (есть готовые розетки с wifi/ethernet или gprs).

    В биосе машины настраиваешь включение машины при появлении питания. Если машина повисла, делаешь долгое выключение (минута +-).
    Придется покурить настройки загрузчика, так как после неправильного выключения что windows что linux предлагают пользовательское действие с клавиатуры.

    На это тоже есть аппаратные решения - ip kvm. Формально, в 99.9% случаев после сбоя достаточно нажать enter и загрузка продолжится, это так же можно автоматизировать через тупое реле и плату от любой сломанной клавиатуры (обычно клавиатура ломается механически но плата живет почти вечно), там нужные контакты определить легко по прозрачной пленке под кнопками.

    Если будешь использовать роутер или ту же ip камеру, а не малинку (ее то как раз без проблем настроить на управление магнитным реле, а на их основе соберет что угодно почти любой даже не знакомый с электроникой пользователь), то ищи те модели, для которых есть открытые прошивки, причем не на словах а чтобы был у кого то опыт в этом чтобы статью почитать и повторить. На всех роутерах можно найти внешние разъемы (они могут быть тупо под корпусом) либо использовать уже имеющиеся внешние устройства, какие-нибудь управляемые подсветка
    Ответ написан
  • Как создать удаленный виртуальный дисплей большого разрешения и работать через RustDesk?

    @rPman
    Использовать xvfb (X virtual frame buffer). Устанавливаешь одноименный пакет, настраиваешь его запуск, используешь. Таких серверов может быть запущено несколько, но rustdesk может этого не ожидать (я сильно не копал но обычно если запустить rustdesk приложение с установленным DESKTOP на нужную тебе сессию, для нее он и запустится)

    p.s. linux + xvfb + rustdesk это худший способ настройки удаленного подключения
    Рекомендую x2go, сервер все сам настроит, а клиенты есть по до все. Работает на порядок эффективнее (плавнее и менее требовательный к сетевому каналу).
    Для игр не подходит.
    Ответ написан
    Комментировать
  • Установка windows 7 рядом с linux?

    @rPman
    Есть два режиме загрузки, старый mbr legacy, который будет работать и с dos разделами (dos тут то самое название операционной системы из 80-90-ых, это чтобы понимать с каким старьем имеешь дело, как минимум там проблемы с дисками больше 2тб) и с gpt и 'новый' - efi, который требует чтобы разделы были типа gpt (если у тебя есть понятие логический раздел - то у тебя dos).

    Если используешь legacy mbr - настоятельно рекомендую сначала установить windows, а затем настроить загрузку grub linux, причем желательно с другого устройства (речь идет только о загрузчике grub, для которого требуется 1 мб места, причем это может быть хоть флешка или карта памяти, и даже cdrom или загрузка по сети pxe), в этом случае никаких проблем и конфликтов не будет. Существует способ установить оба загрузчика на один физический диск (grub умеет запускать windows) но сам windows может по своей прихоти (это было и не раз) тупо удалять загрузчик linux и перенастраивать все на себя.

    Если используется efi - в этом случае раздел efi boot может быть общим как для linux так и для windows, мало того есть возможность настроить efi загрузку прямо средствами биоса, прописав месторасположение ядра и initramfs linux прямо там (т.е. не нужно загрузочную область создавать, но она и так и так нужна для windows). Опять тут рекомендуется сначала настроить windows, а затем вручную прописать с помощью efiboot утилит в linux как грузиться. Обычно штатный установщик с gui это не сделает, хотя я давно не смотрел... Я привык что чтобы не было проблем от windows, лучше посадить ее на отдельное устройство и никак не давать ей ломать что то в linux.

    Чтобы в legacy boot можно было загрузиться с gpt диска, нужно на нем создавать 1мб bios boot раздел (туда будет установлен загрузчик grub), в dos же разделах эта область уже есть по умолчанию в начале диска.
    Минимальные разбиения диска в зависимости от типа загрузки и типа таблицы разделов:
    legacy mbr + dos:
    * обязательно primary windows boot
    * обязательно primary/logical windows
    * не обязательно primary linux boot
    * обязательно primary/logical linux (на самом деле linux можно разместить даже внутри файла в файловой системе windows но это извращение и чуть медленнее)

    legacy mbr + gpt:
    * обязательно biosboot
    * обязательно windows boot
    * не обязательно linux boot
    * обязательно windows
    * обязательно linux

    efi + gpt:
    * обязательно efi boot (он будет общий windows + linux)
    * обязательно windows
    * не обязательно linux boot
    * обязательно linux
    p.s. dos разделы штатными средствами windows так и linux преобразуются в gpt

    Настоятельно рекомендую сделать резервную копию всего диска, не жалейте денег и времени на это, потом себя вспомните хорошим словом.
    Ответ написан
    Комментировать
  • Как реализовать взаимодействие виртуальной ОС с переферией для прошивки?

    @rPman
    Проброс устройств в виртуальную машину бывает разный, в зависимости от вида подключения, самого устройства, действия могут отличаться от 'вставил и работает' (очень и очень редко) до 'работает только если звезда сойдутся и если запускать заранее подготовленный непростой набор команд перед вставкой устройства и после'.

    Причина - нет адекватной поддержки проброса устройств, чаще всего она ограничена либо работает только при опредленных условиях и по разному на разных устройствах (в смысле компьютер), зависит от производителя процессора intel/amd, возможностей материнки и кучи других мелких нюансов (например десктопные материнки чаще всего ограничивают функционал в биосе). С момента активного использованиея EFI биосов, это еще сильнее усложнилось.

    * Итак - проброс всего pci(-e) устройства вместе с контроллерами и соответственно устройствами, через него подключаемыми. Это самый удобный с точки зрения использования способ (потому как после запуска виртуальной машины контроллер уже доступен внутри и чаще всего без дополнительных движений видит устройство 'как родное'.

    В linux мне известно что это поддерживает только qemu/kvm и поддержка требует соответствующие аппаратные возможности (IOMMU/VT-d плюс в принципе аппаратная виртуализация), даже некоторые gpu могут быть так проброшены внутрь виртуалки, производители видеокарт об этом знают и старательно ставят палки в колеса, так как такой функционал они хотят чтобы пользователи использовали только с их 10х дороже серверными вариантами видеокарт). Требует хорошего прогружения в настройки linux, хотя бы чтобы исключить инициализацию устройство самим linux (некоторые устройства не любят включаться два раза подряд без железной перезагрузки).

    * Промежуточный вариант - проброс USB устройств. Это установка в гостевой операционной системе специального драйвера USB который по сети или каким-либо другим способом (например virtualbox usb при установке проприетарного guest additions) транслирует весь трафик, включая управляющий с хост машины для выбранного usb устройства или контроллера. Точно помню отдельные приложения для трансляции usb по сети между машинами даже без виртуализации, но лично сам не пользовался, гуглите решения обычно платные.

    * Проброс 'блочного устройства' (читай дисков или отдельных разделов, и даже файлов), в этом случае гостевая ос не имеет доступа к самому устройству, но только к данным на нем. Формально это просто подключение диска из файла (потому как даже в windows диск и раздел это буквально файл, который можно открыть fopen по специальному имени). Разные системы виртуализации дают разный интерфейс и удобство. qemu с тем же libvirt - удобнее чем к примеру virtualbox (там нужно в консоли специальную 'скрытую' команду использовать)

    p.s. Проброс видеоускорителя - есть еще протоколы spice но на сколько я знаю они не достаточно функциональны
    Ну и проброс всякой мелочовки типа клавиатура, мышь, планшет/сенсорный экран, мониторы. Это все виртуальные сущности, реальное железо тут не пробрасывается.

    p.p.s. драйвера windows для гостевых систем с каждым разом становятся все хуже и хуже, если я верно понял палки в колеса вставляет сама майкрософт, например windows 10 адекватно в virtualbox уже не работает gpu без глюков (я обхожу большинство проблем только с помощью rdp подключения)
    Ответ написан
    Комментировать
  • Как регулировать громкость приложений через пульт?

    @rPman
    Готового решения боюсь не будет, но написать свое под свою задачу будет не сильно сложно.

    Покупаешь вторую клавиатуру (обычно usb, можно купить типа только расширенная цифровая), рисуешь на кнопках стрелки громкости или как то еще помечаешь какая кнопка громкость какого приложения будет менять, затем настраиваешь какого-нибудь демона на прослушивание клавиатуры (гугл говорит про actkbd (пример), но почему то в ubuntu по умолчанию его нет, возможно за эти годы его переименовали или функционал перенесли в другое приложение типа xbindkeys), как минимум в linux встроен функционал отвязывания клавиатуры от сессии (например с помощью loginctl я могу настроить отдельные рабочие места и привязать видеокарта+монитор+клавиатура каждому свое и соответственно просто отвязать дополнительную клавиатуру чтобы ее использовать в другом демоне или даже xhephir - это xserver в окне)

    А там настраиваешь на каждую кнопку вызов команды смены громкости с помощью pulse-audio
    pactl list
    получаешь список всего, работающих со звуком (рекомендую поизучать, можно ограничить вывод, задать формат вывода, в т.ч. json), устройства, источники, получатели,

    Собственно это единственное место где придется программировать, нужен код, который из данного вывода будет искать твое приложение или источник звука и узнавать его номер sink

    Дальше просто запускаешь команду
    # изменить громкость
    pactl set-sink-input-volume [sink number] [volume percent]
    # переключить mute
    pactl set-sink-input-mute [sink number] toggle
    # bashcompletion по tab автоматом предлагает sink номера уже работающих приложений, это поможет тебе разобраться что именно из вывода pactl list тебе нужно


    p.s. точно видел инструкции, как сменить код клавиши выбранной клавиатуры, тогда не придется отсоединять клавиатуру от сессии пользователя, она просто станет 'непонятной' для обычных приложений, которые будут игнорировать неизвестные коды, а ты в своем приложении будешь их отлавливать
    Ответ написан
    Комментировать
  • Как правильно распарсить логи с файла Linux?

    @rPman
    в filter укажи multiline, пример вот
    p.s. а читать и искать потом как ты собираешься по этим логам?
    Ответ написан
  • Как выбрать компактный цифровой микроскоп для пайки?

    @rPman
    смартфоны, mid/high-end имеют отличные камеры (а некоторые и оптику), только замоделить крепление к объективу или сразу такой купить

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

    p.s.
    древний xiaomi a2, 8x цифровой зум, никакого микроскопа
    pmxkhu8bgu0x75fub1yy1unxuig.jpeg
    купи объектив 10x с креплением к смартфону и больше ничего не понадобится (только чем то этот смартфон удерживать)
    Ответ написан
    Комментировать