Ответы пользователя по тегу Linux
  • Извлечение определенной строки (по номеру) bash?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    не совсем понятна задача, но возможно вам проще будет загнать строки в массив
    $ cat lines.txt
    lan1
    lan2
    lan3
    
    $ lines=(`cat lines.txt`)
    
    $ echo ${lines[0]}
    lan1
    $ echo ${lines[1]}
    lan2
    $ echo ${lines[2]}
    lan3
    Ответ написан
    Комментировать
  • С помошью какой команды можно получить информацию о другом пользователе кроме команды id на linux?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    groups ЮЗЕР

    еще как вариант если юзер был создан с помощью нового механизма homectl то можно посмотреть так:
    homectl inspect ЮЗЕР
    а конкретно группы в которых состоит пользователь можно отфильтровать так:
    homectl inspect ЮЗЕР -j | jq -r '.memberOf[]'
    Ответ написан
    Комментировать
  • Что делать: не запускаются игры через Lutris в Ubuntu 18?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    во первых
    CMainApplication::BInit - Unable to initialize Vulkan!

    Intel Celeron N2840 вышел 2014 года а vulkan начал распространятся в железе несколькими годами позже, да и судя по этому для серии Серии 2000 для мобильных ПК с HD-графикой Intel нету поддержки вулкана, поэтому в настройках клиента и игр уберите поддержку вулкана если стоит

    во вторых
    lutris не нужен для запуска steam, лучше запустить его напрямую и смотреть уже лог стима если не запускается
    и кстати если у вас оконная система работает через wayland то игры могут не работать(со временем это может и изменится) хотя сам стим и запустится, но можно запустить принудительно через иксы:
    SDL_VIDEODRIVER=x11 steam
    Ответ написан
    1 комментарий
  • Подтормаживает компьютер, в чем дело?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    возможна связка биос материнки + проц нестабильно работает
    посмотрите какая версия биос у вас
    вот кстати для версии bios F9 указанно Optimize for Intel® Core™ i9-9900KS CPU, то есть факт что есть проблемы
    попробуйте обновить биос, ну или откатить если не поможет
    Ответ написан
    Комментировать
  • Как сделать чтобы gdm не выносил мозги?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    есть как минимум несколько вариантов
    1. попробовать i3wm + GNOME
      сам не пробовал, но как вариант
      GDM (optional, but useful)

      возможно там есть дополнительная интеграция с gdm, хз

    2. удалить GDM и попробовать другой DM(Display manager)
    3. если парольная защита ненужна то можно вообще отказать от DM и настроить автовход для оболочек при переключении на нужную с помощью Ctrl+Alt+[цифра]
    4. если же нужна парольная защита то чем плоха консоль ? грузишься в нужное tty и вбиваешь логин и пароль и всё. Когда пользовался несколькими средами то делал просто
      в зависимости от используемого шела (bash или zsh) добавлял в .bash_profile или .zprofile код
      spoiler
      if [[ -z $DISPLAY && $XDG_SESSION_TYPE == tty ]]; then
      	case "$(tty)" in
      		"/dev/tty1" )   # Sway wayland
      						QT_QPA_PLATFORM=wayland \
      						CLUTTER_BACKEND=wayland \
      						MOZ_ENABLE_WAYLAND=1 \
      						SDL_VIDEODRIVER=wayland \
      						XDG_SESSION_TYPE=wayland \
      						BEMENU_BACKEND=wayland \
      						XKB_DEFAULT_LAYOUT=us \
      						exec sway
      						;;
      		"/dev/tty2" )   # i3 X
      						startx /usr/bin/i3
      						;;
      		"/dev/tty3" )   # Gnome wayland
      						QT_QPA_PLATFORM=wayland \
      						CLUTTER_BACKEND=wayland \
      						MOZ_ENABLE_WAYLAND=1 \
      						SDL_VIDEODRIVER=wayland \
      						XDG_SESSION_TYPE=wayland \
      						exec dbus-run-session gnome-session
      						;;
      	esac
      fi

      где на разных tty после перехода и ввода логин/пароль происходит вход в соответствующую оболочку
      Ctrl+Alt+1 (tty1) - sway
      Ctrl+Alt+2 (tty2) - i3
      Ctrl+Alt+3 (tty3) - gnome
      всё прекрасно работает под Arch-ем, под Ubuntu скорее всего тоже хотя возможны и свои нюансы

    Ответ написан
    1 комментарий
  • Как сделать массовое переименование файлов в директории?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    есть много способов как переименовать, вот нагугленные примеры Переименование файлов с помощью find, sed и xargs
    конкретно в вашем случае можно сделать так:
    ls -1 |awk '{print $0,$0"_renamed"}' | xargs -n2 mv

    с пробелами в названии
    ls -1 |awk '{print "\""$0"\" \""$0"_renamed\""}' | xargs -n2 mv
    Ответ написан
    2 комментария
  • Как заменить символ в строке на BASH?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    awk 'BEGIN{OFS=FS="*"}$4!=0{$4=1}{print}' text.csv
    Ответ написан
    1 комментарий
  • Как использовать английские слова в терминале?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    гляньте этот вопрос там похоже, только для desktop
    также про это более детально написано в арчвики статья XDG user directories
    Ответ написан
    Комментировать
  • Как установить yandex browser в manjaro linux kde plasma?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    если не собирается програ из АУРа то идёте на страничку данного пакета и смотрите по нему инфу и коменты
    https://aur.archlinux.org/packages/yandex-browser-beta/
    где видно что пакет помечен как устаревший
    в коментах ниже пишут что не собирается из за за отсутствия необходимого файла на удаленном сервере
    yandex-browser-beta_20.8.3.361-1_amd64.deb not found.
    actual file is yandex-browser-beta_20.9.3.189-1_amd64.deb
    please update pkgbuild

    идём в PKGBUILD к данному пакету и смотрим что в переменной source указанна ссылка
    repo.yandex.ru/yandex-browser/deb/pool/main/y/yand...
    идем по ней и смотрим что действительно там лежит только новая версия yandex-browser-beta_20.9.3.189-1_amd64.deb а старой yandex-browser-beta_20.8.3.361-1_amd64.deb нету, поэтому естественно выдаёт ошибку так как по указанному пути нету нужного файла

    Варианты решения(по уровню сложности):
    • подождать пока сопровождающий пакета обновит PKGBUILD в АУРе
      как скоро это произойдет зависит от сопровождающего
    • скачать новый PKGBUILD и по нему собрать пакет, там в последнем комментарии дана ссылка на него
      в консоли выполняем команды
      git clone https://git.tuxnix.ru/nixscript/yandex-browser-beta.git
      cd yandex-browser-beta
      makepkg -sri


    • Самому исправить PKGBUILD
      git clone https://aur.archlinux.org/yandex-browser-beta.git
      cd yandex-browser-beta

      редактируем файл PKGBUILD изменив в нём значение переменных
      pkgver=20.9.3.189_1
      _pkgver=20.9.3.189-1
      pkgrel=1
      md5sums=("8d06743c89c1f63f18ceeacedd74da84")

      после чего собираем и устанавливаем пакет командой
      makepkg -sri

    Ответ написан
    Комментировать
  • Что не так с Xubuntu?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    xfce позиционируется как легковесная оболочка я бы понял еще 500-600мб, но 900 это уже многовато для неё.

    ну так у вас где-то 600 и выходит
    683183 K used memory
    а те 976MiB это + буфера и кеши которые накапливаются при работе системы, например, кеширование в память данных диска которые запрашивает система для последующего быстрого доступа.
    для наглядности смотри команду
    free -wk
    или
    free -wh
    чтобы сбросить лишнее можно выполнить команду:
    sync; sudo sh -c "/usr/bin/echo 3 > /proc/sys/vm/drop_caches"
    Ответ написан
    Комментировать
  • Почему Manjaro 20.3 не устанавливается?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    скорее всего неправильно записали флешку
    выберите для себя подходящий способ: USB_flash_installation_medium
    Ответ написан
  • Как правильно экранировать символы $ и ' при передаче их в ansible shell?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    если не хочется вручную заморачиваться с экранированием то можно сделать так:
    cat <<'EOF' | jq -Rr '@sh'
    dokcer stop $(docker ps -aq | awk '{print $1}')
    EOF

    получим:
    'dokcer stop $(docker ps -aq | awk '\''{print $1}'\'')'
    Ответ написан
    Комментировать
  • Как исправить ошибку скрипт bash?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    выполните перед запуском скрипта
    dos2unix СКРИПТ
    уберёт все проблемы которые могут возникнуть при работе со скриптом из под винды

    п.с.
    точка с запятой(;) это лишнее если вы не выполняете в одной строке несколько команд подряд.
    Путь к файлу/директории в котором есть переменная лучше брать в двойные(") кавычки, а то если в переменную вдруг попадёт значение с пробелом то выйдет казус
    да и дублирование лучше уменьшить:
    echo "Write your domain without http and www:"
    read sitedomain
    DIR="/var/www/$sitedomain"
    sudo mkdir -p "$DIR/public_html"
    echo "Hello world" > "$DIR/public_html/index.html"
    Ответ написан
    Комментировать
  • Существует ли линукс дистрибутив полностью из псевдографики?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    целый дистрибутив это вряд ли, а вот оболочки пожалуй и найдутся
    раньше был такой Viper Window Manager (VWM) работающий без иксов

    сейчас тоже можно найти что-то подобное [ смотри twin ]
    Ответ написан
    Комментировать
  • Какая существует утилита для мониторинга железа на Linux?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Glances
    или попроще ytop
    Ответ написан
    Комментировать
  • Почему bash скрипт не не выполняет команду в новой вкладке?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    gnome-terminal --tab --title="newtab" -- $SHELL -c 'ls && $SHELL'

    или даже так:
    gnome-terminal --tab --title="newtab" -- $SHELL -c 'ls && sleep 5'
    Ответ написан
  • Как написать awk рулярку чтобы парсить цветной текст в выводе команд?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    если на одной строке
    echo -e "\033[37;1;41m Красный \033[0m\n\033[37;1;43m Желтый \033[0m\n\033[37;1;42m Зелёный \033[0m"

    echo -e "\033[37;1;41m Красный \033[0m\n\033[37;1;43m Желтый \033[0m\n\033[37;1;42m Зелёный \033[0m" | awk '/\033\[37;1;41m/'


    если на нескольких строках
    echo -e "\033[37;1;41m Крас\nный \033[0m\n\033[37;1;43m Желтый \033[0m\n\033[37;1;42m Зелёный \033[0m"

    echo -e "\033[37;1;41m Крас\nный \033[0m\n\033[37;1;43m Желтый \033[0m\n\033[37;1;42m Зелёный \033[0m" | awk '/\033\[37;1;41m/,/\033\[0m/'


    в общем виде примерно так:
    behave | awk '/код начала цвета/,/код конца цвета/'
    Ответ написан
    5 комментариев
  • Линуксовые рассылатели мейлов?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    в принципе тут ничего такого сложного нету
    1)
    линуксовая тулза, подсоединяющаяся к почтовому серверу по SMTP

    берем простенький SMTP-клиент, к примеру, msmtp и настраиваем его на нужный SMTP-сервер, займёт минут 5 в простом варианте
    2)
    рассылающая такие письма
    Есть список из сотни имён и мейлов, по ним надо разослать шаблонизированный текст (не спам)

    для этого можно написать простенький скрипт который с помощью нашего ранее установленного и настроенного msmtp будет рассылать письма по списку(list), сам список при желании можно вынести и в отдельный файл, а также уменьшить или добавить в него переменные для шаблона разделяя их с помощью ";"
    самый простой вариант скрипта:
    #!/usr/bin/env bash
    
    From="username@domain.com"
    
    list='username1@domain1.com;Name1
    username2@domain2.com;Name2
    username3@domain3.com;Name3'
    
    for i in $list; do
    eval $(echo "$i" |awk -F';' '{print "To="$1";Name="$2}')
    template="To: ${To}
    From: ${From}
    Subject: A test
    
    Hello ${Name}.
    "
    	echo -n -e "$template" | msmtp -a default "${To}"
    	echo "отправленно $To"
    done

    где значение From и default (из конфига msmtp) должны совпадать
    Ответ написан
    Комментировать
  • Как в gnome 3.3 добавить значки на рабочий стол?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    установить расширение через GNOME Shell extensions
    https://extensions.gnome.org/extension/1465/deskto...
    или из реп если там есть, например для арча из аур
    https://aur.archlinux.org/packages/gnome-shell-ext...
    или всё ручками
    https://gitlab.gnome.org/World/ShellExtensions/des...
    Ответ написан
    Комментировать
  • Как с помощью bash-скрипта выполнить ping в момент потери интернет соединения?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    для скриптов и мас пинга проще использовать утилиту fping
    fping -l IP1 IP2 IP3 IP4
    для перенаправления вывода в файл вместе с ошибками:
    fping -l IP1 IP2 IP3 IP4 &> ip.log.txt

    также для наглядного мониторинга есть утилита mtr
    mtr 8.8.8.8
    echo -e "IP1\nIP2\nIP3\nIP4" | mtr -rw -F - > mtr-report

    обрываем по Ctrl+c либо добавляем в команду ключ регулирующий количество запросов, например -с5

    пример однострочника:
    while fping -q 8.8.8.8 ; do echo "Ok";sleep 2; done && echo "Связь пропала" && fping -l IP1 IP2 IP3 IP4 &> ip.log.txt

    запускаем в терминале когда сеть работает нормально и как только пропадёт пинг к гугловскому днс 8.8.8.8 (можно использовать другой адрес) то автоматом запустится fping по четырем адресам, как наберется статистика обрываем команду вручную Ctrl+c или в другом терминале прибить данный процесс, все данные сохранятся в файле ip.log.txt что будет лежать рядом со скриптом
    Ответ написан
    Комментировать