Задать вопрос
  • Как подключить автодополнение в командах в bash?

    @Komandir_Bublik
    Посмотри установлен ли bash completion?

    bashrc

    # enable programmable completion features (you don't need to enable
    # this, if it's already enabled in /etc/bash.bashrc and /etc/profile
    # sources /etc/bash.bashrc).
    if ! shopt -oq posix; then
      if [ -f /usr/share/bash-completion/bash_completion ]; then
        . /usr/share/bash-completion/bash_completion
      elif [ -f /etc/bash_completion ]; then
        . /etc/bash_completion
      fi
    fi
    Ответ написан
    3 комментария
  • Скачет головка жёсткого диска что делать?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ну раз уже вскрыли, то остаётся только выбросить. Шансы на восстановление при вскрытии не в чистой (беспылевой) камере околонулевые.
    Ответ написан
    9 комментариев
  • Где посмотреть wi-fi адаптер с поддержкой mode monitor?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    Нет, не нужен :) Нужно снести то, в чем нифига не понимаете - и вернуться уже к майнкрафту :)

    Mode monitor - режим мониторинга трафика, "беспорядочный" захват. В таком режиме карта, ессно не работает :) она только "слушает". И выясняется это пятью минутами гуглинга.
    Ответ написан
    Комментировать
  • Как отправить процесс в фон?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Здравствуйте.
    На Ubuntu server после ввода команды bg <номер процесса> ничего не происходит, просто возвращается строка на ввод.

    Так и должна просто возвращаться строка на ввод. Во первых если процесс уже был запущен и работал в фоне, то вы ничего не делаете. Если он был приостановлен, он просто должен перейти в running.
    Но для того, чтобы вам помочь, было бы неплохо чтобы вы привели лог своей консоли, как вы выполняете jobs, как вы указываете номер процесса. То есть выполнить jobs, bg номер, jobs

    При вводе команды bg <номер процесса> на экране начинает отображается вывод этого процесса, при этом окно терминала наглухо зависает и я ничего не могу сделать, даже остановить процесс (ctr+C)

    Как докажете что окно терминала именно зависает?
    для начала, если вы запустили процесс в фоновом режиме, то Ctrl+C естественно не может его остановить. Он же в фоне выполняется. Скорее всего вы не понимаете, что вам доступен терминал, в котором вы можете вводить другие команды.
    Фоновый процесс просто может писать текст в терминал.
    Напишите вслепую clear, например, проверьте что экран очистился ненадолго.
    И запускать процессы в фон, которые шлют много текста в терминал - в общем случае бессмысленно
    Ответ написан
    Комментировать
  • Обязателен ли web-server (NGINX) для Actix Web?

    Eugene-Usachev
    @Eugene-Usachev
    Обязательным nginx не будет, но он рекомендован большинству веб-проектам. Очень многие проблемы на себя берёт nginx, и вообще странно брать высокопроизводительный инструмент (Actix Web) и не позаботься о балансировке нагрузки (или вы хотите сами писать балансировщик?).
    Ответ написан
    Комментировать
  • Обязателен ли web-server (NGINX) для Actix Web?

    bingo347
    @bingo347
    Crazy on performance...
    Кэширование, сжатие, https все же лучше на nginx переложить
    Ответ написан
    Комментировать
  • Как сделать автозапуск python программы с виртуальным окружением в фоновом режиме на линукс?

    drygdryg
    @drygdryg
    Python-разработчик
    Можно использовать систему инициализации Systemd. Напишите unit-файл такого вида:
    [Unit]
    Description=My Script Service
    After=multi-user.target
    
    [Service]
    User=user  # Имя пользователя, от имени которого будет запускаться команда, указанная в ExecStart
    WorkingDirectory=/home/user/program  # Директория, в которую будет осуществлён переход перед запуском
    ExecStart=/home/user/program/venv/bin/python /home/user/program/webui.py
    Restart=always  # Всегда перезапускать скрипт при его падениях
    
    [Install]
    WantedBy=multi-user.target

    и сохраните его в директории /etc/systemd/system с расширением .service, например, /etc/systemd/system/my_program.service.

    Здесь не используется скрипт activate для активации виртуального окружения, но вместо этого указывается полный путь к интерпретатору Python внутри этого виртуального окружения.
    Также важно указывать абсолютные пути к файлам и директориям, даже несмотря на то, что задана рабочая директория WorkingDirectory.
    Если ваш скрипт опирается на сетевые соединение, в секции Unit в качестве After задайте network-online.target вместо multi-user.target:
    After=network-online.target

    После этого перезагрузите конфигурацию Systemd:
    sudo systemctl daemon-reload
    И запустите сервис с добавлением в автозагрузку:
    sudo systemctl enable --now my_program.service
    Ответ написан
    2 комментария
  • Почему не устанавливается linux?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    То ли Ctrl+Alt+F4, то ли Ctrl+Alt+F3. А может быть Ctrl+Alt+F2.
    Ответ написан
  • Есть сервер, за NAT. Доступен только 22й порт, как превратить его в VPN сервак?

    @Drno
    Что мешает подключить с пк по ssh так же? Клиенты то есть вроде

    Насчет плана - да, это возможно. Если ваш китайский сервер выпустят в наш инет)
    Ответ написан
    4 комментария
  • Какой монитор выбрать для разработки и 3D графики?

    xez
    @xez Куратор тега Железо
    TL Junior Roo
    4К ips надо брать.
    Размер - по вкусу.
    Ответ написан
    Комментировать
  • Спалят ли HR резюме?

    1. На начальных этапах никто не звонит работодателю для уточнения данных. Не кредит же тебе на миллион одобряют)

    2. Каких проблем ты ожидаешь от кадровиков? Типа что в обход твоего руководителя уволят или зп понизят за то что ты решил "предать партию" (а на каком основании лол?)? Чтобы ты ещё быстрее от них ушёл? Или на доску позора повесят?
    Объективно худшее, что может произойти - работодатель проигнорирует тот факт, что ты решил уйти.
    А скорее всего - включится механизм удержания с предложением перехода на другой, более интересный проект, или повышение зп.

    PS: ну и ты всегда можешь сказать, что не имеешь право указывать своё место работы или контакты работодателя.
    Ответ написан
    Комментировать
  • Может ли роутер выступать в качестве ретранслятора внешнего трафика?

    @rPman
    так как роутеры это уже давно linux машина, почти полнофункциональная, из него можно сделать все что угодно.

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

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Проблема этой команды в том, что она отключает все системы безопасности, потом запускает скрипт из интернета по ссылке. Этот скрипт может и измениться в будущем. Т.ч. даже если оно безопасно прямо сейчас, оно может использоваться для кражи всего в любой момент.

    Код по ссылке сейчас вроде не делает ничего страшного. Он проверяет какой-то файл, вероятно, принадлежащий Геншину, берет оттуда какие-то URL адреса, делает к ним запросы, и на основе ответов выбирает какой-то url, который и выдает вам и просит вставить на paimon.moe.

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

    Ну и, поскольку скрипт делает какие-то запросы к сайту геншина, вас могут теоретически забанить, ибо разработчики это могут видеть у себя на серверах.
    Add-Type -AssemblyName System.Web
    
    $logLocation = "%userprofile%\AppData\LocalLow\miHoYo\Genshin Impact\output_log.txt";
    $logLocationChina = "%userprofile%\AppData\LocalLow\miHoYo\$([char]0x539f)$([char]0x795e)\output_log.txt";
    
    $reg = $args[0]
    $apiHost = "hk4e-api-os.hoyoverse.com" 
    if ($reg -eq "china") {
      Write-Host "Using China cache location"
      $logLocation = $logLocationChina
      $apiHost = "hk4e-api.mihoyo.com"
    }
    
    $tmps = $env:TEMP + '\pm.ps1';
    if ([System.IO.File]::Exists($tmps)) {
      ri $tmps
    }
    
    $path = [System.Environment]::ExpandEnvironmentVariables($logLocation);
    if (-Not [System.IO.File]::Exists($path)) {
        Write-Host "Cannot find the log file! Make sure to open the wish history first!" -ForegroundColor Red
    
        if (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {  
            Write-Host "Do you want to try to run the script as Administrator? Press [ENTER] to continue, or any key to cancel."
            $keyInput = [Console]::ReadKey($true).Key
            if ($keyInput -ne "13") {
                return
            }
    
            $myinvocation.mycommand.definition > $tmps
    
            Start-Process powershell -Verb runAs -ArgumentList "-noexit", $tmps, $reg
            break
        }
    
        return
    }
    
    $logs = Get-Content -Path $path
    $m = $logs -match "(?m).:/.+(GenshinImpact_Data|YuanShen_Data)"
    $m[0] -match "(.:/.+(GenshinImpact_Data|YuanShen_Data))" >$null
    
    if ($matches.Length -eq 0) {
        Write-Host "Cannot find the wish history url! Make sure to open the wish history first!" -ForegroundColor Red
        return
    }
    
    $gamedir = $matches[1]
    # Thanks to @jogerj for getting the latest webchache dir
    $webcachePath = Resolve-Path "$gamedir/webCaches"
    $cacheVerPath = Get-Item (Get-ChildItem -Path $webcachePath | Sort-Object LastWriteTime -Descending | Select-Object -First 1).FullName
    $cachefile = Resolve-Path "$cacheVerPath/Cache/Cache_Data/data_2"
    $tmpfile = "$env:TEMP/ch_data_2"
    
    Copy-Item $cachefile -Destination $tmpfile
    
    function testUrl($url) {
      $ProgressPreference = 'SilentlyContinue'
      $uri = [System.UriBuilder]::New($url)
      $uri.Path = "event/gacha_info/api/getGachaLog"
      $uri.Host = $apiHost
      $uri.Fragment = ""
      $params = [System.Web.HttpUtility]::ParseQueryString($uri.Query)
      $params.Set("lang", "en");
      $params.Set("gacha_type", 301);
      $params.Set("size", "5");
      $params.Add("lang", "en-us");
      $uri.Query = $params.ToString()
      $apiUrl = $uri.Uri.AbsoluteUri
    
      $response = Invoke-WebRequest -Uri $apiUrl -ContentType "application/json" -UseBasicParsing -TimeoutSec 10 | ConvertFrom-Json
      $testResult = $response.retcode -eq 0
      return $testResult
    }
    
    $content = Get-Content -Encoding UTF8 -Raw $tmpfile
    $splitted = $content -split "1/0/"
    $found = $splitted -match "e20190909gacha-v2"
    $link = $false
    $linkFound = $false
    for ($i = $found.Length - 1; $i -ge 0; $i -= 1) {
      $t = $found[$i] -match "(https.+?game_biz=)"
      $link = $matches[0]
      Write-Host "`rChecking Link $i" -NoNewline
      $testResult = testUrl $link
      if ($testResult -eq $true) {
        $linkFound = $true
        break
      }
      Sleep 1
    }
    
    Remove-Item $tmpfile
    
    Write-Host ""
    
    if (-Not $linkFound) {
      Write-Host "Cannot find the wish history url! Make sure to open the wish history first!" -ForegroundColor Red
      return
    }
    
    $wishHistoryUrl = $link
    
    Write-Host $wishHistoryUrl
    Set-Clipboard -Value $wishHistoryUrl
    Write-Host "Link copied to clipboard, paste it back to paimon.moe" -ForegroundColor Green
    Ответ написан
  • Как записать информацию из вывода в файл с неизвестным названием?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    как перенаправить информацию из вывода команд в файл, который создается в процессе проверки командой
    #touch $( date '+%Y-%m-%d_%H-%M' )

    Записать имя файла в переменную и дальше везде использовать её. Например:
    …
    file=$( date '+%Y-%m-%d_%H-%M' )
    touch "$file"
    …
    echo -e "               Product Name : $PN_FRU" >> "$file"
    …
    Ответ написан
    Комментировать
  • Как установить Windows 95 с флешки?

    @rPman
    Установи через виртуалку, пробросив весь жесткий диск внутрь.
    Не забудь выставить в биосе режим sata -> ide, и метод загрузки legacy mbr
    так же максимальный размер раздела у тебя может быть fat32 - 32Gb (в теории больше но именно win95 не сможет), лимит на оперативную память 512мб (16битная ос), говорят уже на гигабайте глючит и не работает, и вообще глюки начинаются после 480мб.

    Говорят win98se могла работать на 1gb (вроде бы даже 1.5gb) ну и соответственно последняя досовая версия win me тоже.

    winnt4 могла работать на 4гб (с нее пошло win32 поддержка 32битная)

    p.s. зачем тебе win95 на реальном железе? тебе более чем хватит виртуалки.
    Ответ написан
    3 комментария
  • Как установить Windows 95 с флешки?

    hint000
    @hint000
    у админа три руки
    Никак. Потому что Win95 не имела драйверов для USB. При большом упорстве можете порешать квест с поиском USB Mass Storage драйвера под Win95 и подсовыванием его на дискете (флоппи-дисковод у вас есть? а FDD-порт на материнке?) Лично я не гарантирую результат, даже если все необходимые ингридиенты у вас найдутся (лягушачья лапка, сушёные крылья летучей мыши, кровь дракона, палочка из бузины...).

    Ставьте на виртуалку, потом с виртуалки можете попытаться перенести на реальное железо. Но это всё равно бесперспективняк, ибо Win95 не имеет поддержки значительной части как современного железа, так и железа 10-15 летней давности. Как минимум контроллер диска нужно будет настроить в BIOS на режим IDE.
    Лучше на виртуалке и оставить.
    Ответ написан
    1 комментарий
  • Сколько раз можно перезаписывать прошивку в микроконтроллер?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Имеется, как и предел итераций записи на SSD или флеш накопитель. Только вот реально ли его достигнуть на практике - вопрос открытый.
    Скажем, первое что нагуглилось:
    Производители микроконтроллеров AVR в документации указывают что их Flash-память можно перезаписывать не менее 10000 раз, а EEPROM- 100000 раз.
    Ответ написан
    5 комментариев
  • Как отправить сообщение с Linux на windows в локальной сети?

    @rPman
    Раньше использовался штатный майкрософтовский Messagener Service, в майкрософтовской сети можно отправлять сообщение командой msg, но после windows 7 майкрософт что то сломало в этом протоколе и ранее рабочий smbclient -M имя_компьютера теперь не работает, попробуй поищи в этом направлении

    но можно запустить скрипт, который будет мониторить какую-либо шару и отправлять для каждого нового файла в ней сообщения с помощью msg

    @echo off
    setlocal enabledelayedexpansion
    set "dir_path=c:\messages"
    
    :loop
    
    for %%f in ("%dir_path%\*") do (
        set /p msg_text=<"%%~f"
        msg "%%~nxf" "!msg_text!"
    	del "!dir_path!\%%~nxf"
    )
    
    ping -n 2 localhost
    
    goto loop


    в данном случае чтобы отправить сообщение нужно будет создать на этой машине (можно расшарить папку c:\messages и работать с ней через samba) файл с именем пользователя и содержимым с текстом сообщения (кажется в кодировке cp1251 если нужен русский, советую поэкспериментировать). Осторожно с пробелами в имени пользователя

    p.s. Еще проще, установить на windows машине ssh сервер, и запускать удаленно команды msg. OpoenSSH есть в windows 10 как штатный дополнительный компонент в настройках приложений
    Ответ написан
    Комментировать
  • Как удалить из смарфона всю телеметрию Гугла?

    @rPman
    Как только на смартфон устанавливаются GAPPs-ы , так сразу смартфон получает сбор телеметрии, причем не обязательно нужно с ней соглашаться, автоматизироваться в google и прочее. Возможно из-за особенностей легализировать ее сбор часть информации будет не в достаточной мере персонализирована, но это касается США, а вот с другими странами все гораздо веселее.

    Никакая страна, и тем более такая продвинутая, не может отказать себе в удовольствии шпионить за всем миром. Самое смешное получается, когда вместе со шпионскими модулями на смартфон устанавливаются модули от производителя (понаблюдайте за смартфонами сяоми).

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

    В твоем случае можно попробовать закрыть доступ в сеть на уровне фаервола (роутера) не средствами смартфона. И разрешать только твой трафик. Причем если ты устанавливаешь браузер, то установка прокси, откроет путь трафику и другим приложениям (доказать это очень сложно)
    Ответ написан
    5 комментариев
  • Davinchi resolve 17 не отображает видео на линукс?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    За поддержкой ломаной версии - на тот трекер, откуда качали.
    Ответ написан
    2 комментария