• Что выбрать для проекта Windows Embedded или Linux?

    @HighMan
    Если одно приложение в полноэкранном режиме, то можно linux и в нем настроить kiosk
    Написано
  • Как правильно установить virtualbox 7 на Fedora 37?

    @HighMan
    CityCat4, О как... Спасибо за информацию! Не попадал на подобный глюк.
    Буду знать)
    Написано
  • Как правильно установить virtualbox 7 на Fedora 37?

    @HighMan
    Fedora 37
    uname -r
    6.2.11-200.fc37.x86_64

    Ядро обновляется при dnf update.
    Другое дело, что я не понимаю, нахрена автору VirtualBox??? Это же упопище!
    qemu-kvm решает, а если есть образы от VB то их конвертануть в qcow2 как 2 пальца об асфальт.
    Написано
  • Как в Gnome 4 сделать подключение к VPN автоматически?

    @HighMan Автор вопроса
    AlexVWill, ваащета nmcli так же запускает демон openvpn. И, что тот, что другой, что третий, в виде openvpn -d file.conf не заморачиваются с проверками на вновь устанавливаемое VPN соединение.
    Сделано, в лучших традициях Linux: без антидурачной защиты. Поднимай сколько угодно соединений с одной и той же vpn сетью, а результат.... Сам себе злобный Буратино.
    Но самое замечательное, что systemctl плевать хотел на nmcli, а nmcli, соответственно, плевать на systemctl.
    Вот и возникает вполне закономерный вопрос: накуа, вообще, нужен systemd?
    Написано
  • Как сделать чтобы пользовательский ввод не переводил строку?

    @HighMan Автор вопроса
    Коллеги, напрасно ругаетесь :) Оба, предложенных вами способа, работают не так как нужно.
    Тут что-то нужно с input делать. Он же принимает символ или строку, с завершающим "Enter", что приводит к переводу строки.
    Ах да, я не указал, что решение мне нужно только под Linux.
    Я где-то натыкался на пример с getch() для Python, т.е. прсто принимает любой символ и тут же возвращает код в программу, без подтверждения Enter, но в силу ряда причин, мне и это не подходит.
    Нужно получить строку, заканчивающуюся Ener, но что бы курсор не упрыгивал на следующую строку., в случае неверного ввода.
    Пока я вижу лишь топорное решение:
    while True:
        i = input("Enter numeric code: ")
        try:
             i = int(i)
             if i < 1 or i > 5: i = 0
                 break
        exeption:
                 i = 0
        os.system("clear")

    Разумеется, код не красивый, но его я наброасал даже без проверки, абы оптимизировать это убожество нет ни какого желания
    Написано
  • Почему при выводе из скрипта в файл меняется строчка?

    @HighMan Автор вопроса
    Zerg89,

    cat << 'EOF' > ${filename}
    #....
    case ${snum} in
    #....
    EOF


    Такая конструкция выплевывает все содержимое до EOF без обработки.
    Lynn «Кофеман» подсказал
  • Почему при выводе из скрипта в файл меняется строчка?

    @HighMan Автор вопроса
    Огромнейшее спасибо!
    Конструкция cat << 'EOF' > ${filename} помогла!
  • Почему при выводе из скрипта в файл меняется строчка?

    @HighMan Автор вопроса
    не понял ваш вопрос.
    Вроде, конструкция типа cat << EOF > $filename должна выплюнуть в файл все, что находится ниже, до завершающего EOF?
    Или я что-то не понимаю?
  • Что за странные попытки Gnome залезть в internet?

    @HighMan Автор вопроса
    Роман, абсолютно безопасных систем не бывает.
    Чем выше уровень безопасности, тем ниже юзабилити.
    Ко всему прочему, выловить вирус в Linux намного проще. Главное задаться целью выяснить, что же мешает.
    Впрочем это не первый вирус на Linux, с которым мне пришлось столкнуться. Еще один мой знакомый, наплевав на сложность пароля, словил майнера на сервер.
    Тогда все оказалось еще проще: сервер начал безбожно тормозить. top сразу выявил процесс, который утилизировал ресурсы. Дальше дело нескольких минут пымать и обезвредить.
    Linux однозначно безопаснее винды и, ПОКА, не так сложно обнаружить определенные неправильности в поведении системы. Правда, линуксоиды всеми силами стараются усложнить обнаружение.
    Тот же systemd придумали, что бы жизнь медом не казалась, а уж помоище journalctl - вообще.
    Достаточно посмотреть как многие пользуются: journlctl -u process --no pager. Соответственно, админ видит поведение одного процесса, забив на остальные.
    Я сам, совершенно случайно заметил ненормальное поведение, лишь потрудившись писать полноценное слежение за процессом логирования sshd удовлетворившись: journalctl -f
  • Что за странные попытки Gnome залезть в internet?

    @HighMan Автор вопроса
    Кое что прояснилось.
    netstat -atupen
    Выдала automsf.
    Сработало везение! Совпала попытка коннекта с запуском netstat, потому он и отобразился.
    Потом сколько раз не запускал - тщетно!
    Тогда налабал скрипт, который в цикле вызывает netstat -atupen | grep '193\.'
    И он отлавливает.
    Файл ~/.msfdb/update/automsf и там же .path.sh
    Подозрительно!
    Выбил процесс - перестали появляться сообщения в журнале.
    Забросил файл на VirusTotal и.. Эврика! :(
    64245a52349f8925020215.png
    Вирус!
    Причем, только 3 антивиря его знают.
    Себя он прописывает в гномовский автостарт:
    ~/.config/autostart/automsf.desktop
    Где я его поймал - ума не приложу.
  • Что за странные попытки Gnome залезть в internet?

    @HighMan Автор вопроса
    AlexVWill, Из "левого софта" установлены лишь anydesk и vs code. Оба не виноваты.
    У меня, вообще, очень урезанный Gnome стоит. Специально ставил руками на минималках.
    Судя по всему, эта дрянь в самой графической среде сидит.

    Чем, вообще, можно посмотреть инициаторов соединений?
    Не посмотреть открытые порты, которые bind & listen, а те процессы, которые осуществляют connect?
  • Что за странные попытки Gnome залезть в internet?

    @HighMan Автор вопроса
    mayton2019, Ты, дядечка, конечно, прав! Однако, первое что я сделал после обнаружения подозрительного трафика:
    systemctl set-default multi-user.target
    reboot
    #.......
    journalctl -f

    Нет трафика.
    Попытки соединения регулярно идут при загруженном Gnome.
    Подозрения вызвал anydesk, но после его убивания, паразитный трафик сохранился.
  • Что за странные попытки Gnome залезть в internet?

    @HighMan Автор вопроса
    AlexVWill, а что это за хрень?
    Почему Gnome самостоятельно лезет куда-то в internet?
  • Как ПРАВИЛЬНО скачать файл по HTTP/HTTPS?

    @HighMan Автор вопроса
    Владимир Шаблий, В общем, вопрос можно считать решенным...
    Мне больше всего понравился метод
    Write-Host "Downloading $filename ... " -NoNewline
    try { 
                Invoke-WebRequest "$web_url/$pf" -OutFile "$filename"
                Write-Host "done"
            }
            catch {
                Write-Host "fail"
            }

    Возможно у него не все в порядке для старых версий powershell, я не проверял.
  • Как ПРАВИЛЬНО скачать файл по HTTP/HTTPS?

    @HighMan Автор вопроса
    Я не отвергаю GNU WGET.
    wget в Linux - рабочая лошадка, как и curl.
    Просто я не знал, что wget есть в винде по умолчанию.
    Теперь полез... А оно есть!
    В свое оправдание: последняя винда, с которой я имел дело - Windows 7 :)))
  • Как ПРАВИЛЬНО скачать файл по HTTP/HTTPS?

    @HighMan Автор вопроса
    Ага. Переделал с try/catch
    Write-Host "Downloading $filename ... " -NoNewline
    try { 
                Invoke-WebRequest "$web_url/$pf" -OutFile "$filename"
                Write-Host "done"
            }
            catch {
                Write-Host "fail"
            }

    Вроде даже Invoke-WebRequest работает поизящнее.
    Спасибо!
  • Можно в c++ ли работать с памятью через stream?

    @HighMan Автор вопроса
    А можете просто поправить вышеприведенный пример?
    По ссылке, если честно, я не очень понял
  • Можно ли выделить память определенного размера?

    @HighMan Автор вопроса
    Евгений Шатунов,
    Транслятор пишется людьми. Люди ошибаются. Ошибка - это нормально, когда ее можно обнаружить и исправить.


    Если ваша первая программа на С заработала с первого раза - обратитесь к разработчикам и они исправят компилятор :)
  • Можно ли выделить память определенного размера?

    @HighMan Автор вопроса
    Если у тебя в итоге размер этого buf будет известен на этапе компиляции, то можно воспользоваться шаблонами


    Можно.
    Я пытаюсь переосмыслить логику своей программы.
    Как я писал выше, вполне возможно выделить память обычными средствами С, но... Сама логика, заложенная мной, мягко говоря, ущербная.
    Если мне нужна единичная структура с определяемым, в процессе размером, то нормально. А если нужен массив структур?
    BUFFER * buf = (BUFFER *) malloc(1024 * 100);
    for (int i = 0; i < 100; i++){
      buf[i].a = i;
    }

    Результат выполнения будет, мягко говоря, не совсем тот, как хотелось бы...
    Можно, конечно, работать указателями...
    BUFFER * buf = (BUFFER *) malloc(1024 * 100);
    BUFFER * tmp_buf = buf;
    for (int i = 0; i < 100; i++){
      tmp_buf += 1024;
      tmp_buf->a = i;
    }

    Можно. Только это получается крайне не изящный кастыллинг, как и объявление структур с динамическим размером.
    Ну и ради окончательного разгрома неудачной идеи:
    BUFFER * buf = (BUFFER *) malloc(1024 * 100);
    int i = sizeof(BUFFER);
      // Или, вообще, шедеврально:
      i = sizeof(buf);

    C и C++ позволяют многое. Как и assembler. Компилятор пожмет плечами и откомпилявит без ошибок и предупреждений. Может программист, изобрел такой изощренный способ уволиться. Компилятору-то откуда знать?
    В качестве некоторого кастыллинга можно придумать нечто похожее на...
    char * b = new char [1024 * 100];
    BUFFER * buf;
    for (int i = 0; i < 100; i ++){
      buf =  (BUFFER *) b;
      buf->a = i;
      buf += 1024;
    }
    delete [] b;

    Но все это какое-то не изящное извращение.
  • Почему флешки автомонтируются в gnome с root правами?

    @HighMan Автор вопроса
    Никита Савченко, вы невнимательно прочли топик.
    Речь идёт о автомонтрровании флешек, которые, по умолчанию, должны быть доступны простым юзверям без sudo. На чтение, запись.
    То что моя система начала монтировать USB ресурсы от имени root, совершенно не нормально.
    Да, разумеется, я все могу переделать руками. Не велика проблема.
    Однако, вручную примонтированные ресурсы, недоступны юзверям на запись.
    Как до подобного додумались разрабы - уму не постижимо.
    Linux был всегда и остаётся до сих пор,и сервером для красноглазых админов.
    Для обычного юзверя, без доступа к root привелегиям, он неработоспособен.