Задать вопрос
  • Как пофиксить тормоза видео в браузерах под Linux?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    скорее всего вам нужно установить(если еще не стоит) проприетарный(предварительно удалив свободный) драйвер nvidia, для Арча это пакеты nvidia-340xx nvidia-340xx-utils nvidia-340xx-libgl которые поддерживают старые видеокарты.

    Ноут с видяхой Nvidia Quadro NVS 160m с исполискими 256 метрами памяти. Аппаратно вроде как сама умеет декодировть видео в 720р (собсно на этом качестве и проверялось, да и не только)

    Ваша видеокарта поддерживает PureVideo HD для аппаратного ускорения видео, для его использования нужна библиотека VDPAU(пакет для арча libva-vdpau-driver).

    всё вышесказанное соотнесите для вашего дистрибутива


    Есть подозрение, что проблема кроется в flash плеере, ибо на ютубе все не так плачевно, а вот на сторонних сайтах, особенно где есть реклама - все плохо

    рекламу можно резать, например с помощью плагина uBloc Origin
    Ответ написан
  • Какой выбрать linux на pentium 4 для youtube?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    1) вместо vlc использовать mpv (легче)
    далее, например, можно использовать связку:
    mpv + youtube-dl + плагины mozplugger и mpv-youtube-dl-binding
    2) использовать плагин greasemоnkey + скрипт ViewTube
    3) драйвера стоят на видеокарту ?
    что показывает команда
    lspci -k | grep -i -A3 VGA
    в общем установить драйвер(свободный/проприетарный) и до установить необходимые библиотеки для аппаратного декодирования видео, для Арча смотри здесь
    Ответ написан
  • Return dynamic type golang?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    ну так возвращайте string, кто мешает ? например вместо false возвращать пустую строку return ""
    или можете увеличить количество возвращаемых параметров данной функции, добавив bool, например:
    func is_page_name( name string ) string, bool {
    switch name {
    case "page1":
    return name, true
    break
    default:
    return "", false
    }
    }
    Ответ написан
    3 комментария
  • Как распределить "папки" на HDD?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    Как будет более правильно в плане производительности распределить содержимое HDD?

    Бесконечно можно смотреть на три вещи: горящий огонь, бегущую воду и на то, как новички-линуксоиды пытаются "максимально эффективно" распределить дисковое пространство.
    Ответ написан
    1 комментарий
  • Выбор языка для написания скриптов/простеньких приложений под Linux?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    чтобы писать "простенькие скрипты/приложения" под linux лучше чем sh/bash вы ничего не найдёте, доступность и простота. При написании более сложных скриптов список можно расширить до python и perl.
    Далее, если вам недостаточно скорости выполнения скриптовых языков то можно уже рассматривать компилируемые в байт-код (java, c# ...) или нативные (с, c++, go ...).
    Ответ написан
    Комментировать
  • Как правильно настроить IDE для работы с golang?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    Прописываешь пути к установленному go:
    ( например если go установлен в папку $HOME/go )
    $ export GOROOT=$HOME/go
    $ export PATH=$PATH:$GOROOT/bin


    далее создаёшь рабочую область:
    $ export GOPATH="$HOME/work"
    $ export GOBIN="$GOPATH/bin"
    $ mkdir -p $GOPATH/src
    $ mkdir $GOBIN

    чтобы каждый раз после перезапуска терминала не прописывать переменные заново добавляем экспорты(export ...) в конец файла ~./.zshrc (для bash это ~/.bashrc)

    Теперь свои проекты на go перемещаешь в папку $HOME/work/src

    Для просмотра переменных go, используй команду:
    $ go env
    Ответ написан
    6 комментариев
  • Как дописать в строку много строк из другого файла..?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    $ str="45788-4rbf-77458-ik-90-98"
    $ cat IN.txt
    @96
    @97
    @98
    @99
    @100 
    
    $ str1=$(echo $str|awk -F- '{print $1"-"$2}')
    $ str2=$(echo $str|awk -F- '{print $3"-"$4"-"$5"-"$6}')
    $ awk '{print "'$str1'"$0"-'$str2'"}' IN.txt > OUT.txt
    
    $ cat OUT.txt
    45788-4rbf@96-77458-ik-90-98
    45788-4rbf@97-77458-ik-90-98
    45788-4rbf@98-77458-ik-90-98
    45788-4rbf@99-77458-ik-90-98
    45788-4rbf@100-77458-ik-90-98


    если str, str1,str2 фиксированные то можно и упростить:
    $ awk '{print "45788-4rbf"$0"-77458-ik-90-98"}' IN.txt > OUT.txt
    Ответ написан
  • Как получить переменную из bash скрипта извне?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    $ cat path.sh
    #!/bin/bash
    path1="путь1"
    path2="путь1"

    $ . ./path.sh
    $ rm -rf $path1 $path2
    Ответ написан
    Комментировать
  • Утилита командной строки?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    Комментировать
  • Какой посоветуете дешевый планшет или ноутбук для Linux (Server)?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    для домашнего не сильно требовательного сервера идеально подойдёт старенький можно и БУ-шный нетбук, графика не важна (в нетбуках она встроенная).
    плюсы: компактный, тихий, если еще жива батарея то и энергоустойчивый то есть страхование от возможных перепадов или временного пропадания напряжения, наличие клавиатуры и экрана также иногда сильно упрощает некоторые вещи.
    Ответ написан
    Комментировать
  • Как скопировать больший диск на меньший диск?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    Я пробовал
    dd if=/dev/sdBIG of=/dev/sdSMALL bs=64K conv=noerror,sync
    Но система после копирования и загрузки ругается на испорченный второй раздел и требует чтобы я все починил.

    dd копирует весь диск побайтово и естественно будет ругаться на то что не может уместить 128G в 16G.
    dd просто тупо перенёс начальные 16G из 128гигового диска(sdBIG) в 16G(sdSMALL), поэтому у вас не только второй раздел будет повреждён(я так понял первый раздел у вас меньше 16G) но и данные на нём так же будут повреждены.

    Если итоговый раздел меньше чем исходный то вместо dd лучше использовать rsync.
    В начале на sdSMALL создаёте нужные разделы с учётом того чтобы туда уместились все переносимые данные. Далее можно из живой системы или примонтировав нужный раздел перенести данные:
    # rsync -aAXv --exclude={...} /откуда /куда
    --exclude - папки которые исключаем при переносе
    Как я понимаю первый раздел у вас корень, если так, то перенос из живой системы будет выглядеть примерно так:
    # rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /куда

    и на последок незабываем сделать корневой (первый) раздел загрузочным и при необходимости подправить загрузчик и fstab
    Ответ написан
    2 комментария
  • Какая есть альтернатива Adguard в линукс?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    вы просто нормальный блокировщик поставьте
    лучшим в этой области является uBlock Origin
    Ответ написан
    1 комментарий
  • Как перенести систему на другой диск большего размера?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    dd клонирует диск один в один, так что проблем не должно возникнуть
    единственное это возможно необходимо будет всё же подправить fstab:
    - если у вас используется идентификация разделов по UUID то он сменится
    - или если используется идентификация по именам(/dev/sd{a,b,c...}) и вы добавите еще диск то sda и sdb могут поменяться местами
    в любом случае система попросту не загрузится

    когда убедитесь что все нормально загружается и работает то можете расширить таблицу разделов и задействовать свободное место прибавив его к рядом стоящему разделу(проделывается с live-сd/usb):
    # parted /dev/sda resizepart 2 100%
    # e2fsck -f /dev/sda2
    # resize2fs /dev/sda2

    здесь sda2 (resizepart 2) это крайний раздел который примыкает к свободному пространству и который мы расширяем, естественно ставим свой

    п.с.
    всё описанное верно для традиционных файловых систем
    Ответ написан
    Комментировать
  • Как изменить шрифт на поддерживаемы в редакторе nano?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    как временное решение попробуйте запустить так:
    $ LANG=ru_RU.UTF-8 nano ФАЙЛ
    если надо на английском то:
    $ LANG=en_US.UTF-8 nano ФАЙЛ

    не знаю какой у вас дистрибутив, но по поводу nano версии 2.7 под Арчем проблем не наблюдается, возможно неверно собранный пакет или что-то ещё.
    Ответ написан
    Комментировать
  • Что такое емкость среза?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    если по простому и коротко, то для среза:
    ёмкость(cap) - это выделенная память под элементы, при превышении размер автоматически увеличивается в два раза.
    длина(len) - это инициализированная память элементов, для превышения(добавления) нужно вручную использовать append.
    По умолчанию cap = len
    Всегда будет cap >= len
    Грубо говоря, cap выделяет память, а len инициализирует её всю или только часть .

    slice := make([]int, 2, 2) // эвивалентно slice := []int{0,0}
    fmt.Printf("len: %d, cap: %d\n", len(slice), cap(slice))
    fmt.Println(slice)
    
    slice = append(slice, 3)
    
    fmt.Printf("len: %d, cap: %d\n", len(slice), cap(slice))
    fmt.Println(slice)

    выведет:
    len: 2, cap: 2
    [0 0]
    
    len: 3, cap: 4
    [0 0 3]


    п.с.
    если конкретно по вашему примеру то в первом и во втором случае у вас инициализировано только 10 элементов которые команда fmt.Println(slice) и выводит.
    А паника при slice[11]=0 будет из за того что этот 11 элемент не инициализирован, хоть память под него и выделена, здесь необходимо использовать append.
    Ответ написан
    Комментировать
  • Почему выключенный AdBlock Plus блокирует рекламу?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    Подскажите, в чём может быть проблема?

    проблема в самом AdBlock Plus, время от времени у него случаются "припадки".
    Помнится, когда пользовался им, тоже такое иногда проскакивало; в придачу частенько при первой загрузке браузера он вообще не срабатывал и все открытые страницы грузились с кучей рекламы, приходилось перезагружать браузер.
    С некоторого времени перешёл на uBlock Origin, не жалею.
    Ответ написан
    3 комментария
  • Как удалить программу со всеми конфигами в linux?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    обычно хватает:
    $ sudo pacman -Rns пакет
    ну и ручками почистить если что осталось в хомяке

    более детально смотри арчвики - удаление пакетов
    Ответ написан
    Комментировать
  • Как внедрить golang/beego в автозагрузку (systemd, upstart, supervisor) vps linux?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    для systemd

    юнит:
    $ systemctl --user cat test.service
    
    # /home/admin/.config/systemd/user/test.service
    [Unit]
    After=local-fs.target network.target
    
    [Service]
    Type=simple
    ExecStart=/home/admin/code/go/bin/test
    Restart=on-failure
    RestartSec=60
    TimeoutSec=60
    
    [Install]
    WantedBy=default.target

    After - после каких сервисов или их групп запускать юнит. В данном случае запускать не раньше чем будет смонтированна локальная файловая система и доступна сеть.
    RestartSec - сколько секунд ждать между перезапуском юнит-сервиса(по умолчанию 100мс).
    TimeoutSec - сколько секунд ждать обработки start/stop запроса по истечении которых считать что процесс завершился с ошибкой (программа не успела поднятся/остановится за отведённое ей время).

    автозагрузка и запуск:
    $ systemctl --user enable test.service
    $ systemctl --user start test.service


    статус:
    $ systemctl --no-pager --full --user status test.service


    перезагрузка systemd для поиска новых или изменённых юнитов:
    $ systemctl --user daemon-reload
    проделывается после изменения описания юнитов в процессе их работы, об этом также будет выведено сообщение(в конце) при описании статуса изменённого сервиса.

    перезапуск web-сервера(после перекомпиляции):
    $ systemctl --user restart test.service

    здесь test.service(юнит-сервис) и test(веб-сервер на go) принадлежат пользователю admin (/home/admin/.config/systemd/user/test.service). В бщем кому принадлежит и кто может работать с юнит-сервисом я уже писал в одном из постов.

    п.с.
    если пользователь находится на сервере то скорее всего вам еще понадобится перевести его статус в linger, то есть чтобы он всегда подымался при старте системы(как и root):
    # loginctl enable-linger <username>
    Ответ написан
    1 комментарий
  • Доработка скрипта создания папки?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    зачем такие мучения, делайте просто:
    echo "Укажите имя папки:"
    read Dir
    mkdir -p $Dir

    если нету то создаст, если есть то ничего страшного, ошибка подавится параметром -p
    Ответ написан
    2 комментария