Задать вопрос
  • Kак в hyperland конфиге задать правило для консольного приложения запущенного в терминале?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    hyperland.conf
    windowrulev2 = float,class:kitty,title:htop
    windowrulev2 = size 600 800,class:kitty,title:htop

    запуск
    kitty --title htop htop
    Ответ написан
    Комментировать
  • Почему при большей мощности процессора его tdp ниже аналога?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Intel® Pentium® Processor G3240
    Intel® Xeon® Processor E3-1275L v3
    Compare 2 Intel Products
    лучше смотреть спецификации на офсайте, будет точнее, и теперь TDP будет не 58w vs 40w (разница 18w) указанное вами, а 53w vs 45w (разница 8w)
    Там же (под знаком вопроса) про TDP написано
    Thermal Design Power (TDP) represents the average power, in watts, the processor dissipates when operating at Base Frequency with all cores active under an Intel-defined, high-complexity workload. Refer to Datasheet for thermal solution requirements.

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


    53w и 45w это только для базовой частоты

    ------ G3240 3.10 GHz (53W)
    E3-1275LV3 2.70 GHz (45W), режим Turbo 3.90 GHz (???W)

    то есть под турбо + большой кэш ядра(8M) + поддержка большей частоты памяти(DDR3 1600) в итоге и сделает нам Xeon производительнее Pentium, и TDP при этом у Xeon может стать значительно больше чем у G3240
    Ответ написан
    4 комментария
  • Как в Debian посчитать количество нажатий на мышку и клавиатуру?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    вариант через evtest

    для начала смотрим на каких ивентах висят нужные нам клава и мышка
    для примера, у меня это 8(мыш) и 11(клава), нужно будет найти и подставить свои
    $ evtest
    No device specified, trying to scan all of /dev/input/event*
    Not running as root, no devices may be available.
    Available devices:
    /dev/input/event0:	Power Button
    /dev/input/event1:	Power Button
    /dev/input/event10:	Rapoo Rapoo Gaming Mouse Consumer Control
    /dev/input/event11:	A4tech A4tech KB
    /dev/input/event12:	A4tech A4tech KB System Control
    /dev/input/event13:	A4tech A4tech KB Consumer Control
    /dev/input/event14:	HID 1d57:ad02 Keyboard
    /dev/input/event15:	HID 1d57:ad02 Mouse
    /dev/input/event16:	PC Speaker
    /dev/input/event17:	HD-Audio Generic Rear Mic
    /dev/input/event18:	HD-Audio Generic Front Mic
    /dev/input/event19:	HD-Audio Generic Line
    /dev/input/event2:	Video Bus
    /dev/input/event20:	HD-Audio Generic Line Out
    /dev/input/event21:	HD-Audio Generic Front Headphone
    /dev/input/event22:	keyd virtual keyboard
    /dev/input/event23:	keyd virtual pointer
    /dev/input/event3:	Video Bus
    /dev/input/event4:	SEM Trust Numpad
    /dev/input/event5:	SEM Trust Numpad Consumer Control
    /dev/input/event6:	SEM Trust Numpad System Control
    /dev/input/event7:	Rapoo Rapoo Gaming Mouse
    /dev/input/event8:	Rapoo Rapoo Gaming Mouse
    /dev/input/event9:	Rapoo Rapoo Gaming Mouse System Control
    Select the device event number [0-23]:

    для проверки укажите ваш номер в "Select the device event number ..." и посмотрите будет ли генерироваться вывод при нажатии клавиш на нужной клаве/мыше

    далее идут два простых однострочника на bash, для мышки(event8) и клавиатуры(event11) после запуска которых по истечению указанного времени в timeout, здесь 10s (секунд), команда отработает и выдаст результат, а именно, количество нажатий клавиш за отведённый период времени.

    (timeout 10s evtest /dev/input/event8 | grep --line-buffered -E 'EV_KEY.*0$' | wc -l)


    (timeout 10s evtest /dev/input/event11 | grep --line-buffered -E 'EV_KEY.*0$' | wc -l | { read a;echo $[a-1]; })


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

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    это простая операция для реализации которой не нужны мегакомбайны
    cp -r `<dirs.txt` outdir/
    где dirs.txt содержит построчный список путей к директориям которые нужно скопировать
    cp это стандартная unix утилита, которой можно воспользоваться и под виндой через wsl
    смотрим если всё скопировалось нормально то удаляем ненужное
    rm -r `<dirs.txt`

    ну или можно одной командой mv
    mv `<dirs.txt` outdir/
    Ответ написан
    Комментировать
  • Как в bash из массива удалить элемент c с конкретным значением?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    lngList=("${lngList[@]/none/}")
    Ответ написан
    Комментировать
  • Как передать массив в Bash-скрипт?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    test.sh
    #!/usr/bin/env bash
    
    Langs=($@)
    
    for lang in "${Langs[@]}"; do
      echo "lang[$((i++))]=$lang"
    done


    $ ./test.sh ru en de
    lang[0]=ru
    lang[1]=en
    lang[2]=de
    Ответ написан
    2 комментария
  • Как установить утилиту nap в arch linux?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    yay -S nap-bin
    Ответ написан
    Комментировать
  • Как добавить имя текстового файла в сам файл первой строчкой?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    awk -i inplace 'BEGIN{getline;print FILENAME"\n"$0}{print}' ФАЙЛ
    Ответ написан
    Комментировать
  • Как исправить base: grub-install command not found?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    вылетела ошибка "grub-install: error: failed to get canonical path of"`airootfs`"

    я так понимаю вы это делаете при установке системы, так как airootfs относится к установочному iso-образу

    Когда я писал снаружи(не внутри bash) вылетела ошибка

    вы пытаетесь установить загрузчик на установочный iso-образ что и вызывает данную ошибку.
    при установке системы куманду grub-install (установка загрузчика системы) нужно делать до выхода(exit) из chroot(в данном случае arch-chroot).
    Ответ написан
  • Как поменять место установки в arch linux?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    вы сейчас на этом шаге
    Installation_guide#Install_essential_packages

    то какой раздел диска вы монтируете в папку /mnt (куда будет ставиться система) проделывается на предыдущем шаге
    Installation_guide#Mount_the_file_systems
    Ответ написан
    Комментировать
  • Как изменить шрифт терминала в Arch Linux?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Использую alacritty, но чтобы фонт прописывали в его конфигах, я не видел


    уже не раз говорил про арчвики куда следует заглядывать в первую очередь
    https://wiki.archlinux.org/title/Alacritty#Font

    также у alacritty есть официальный сайт где подробно описывается его конфиг
    https://alacritty.org/config-alacritty.html

    то где лежит конфиг alacritty или куда нужно его положить
    https://wiki.archlinux.org/title/Alacritty#Configu...
    или даже на том же github
    https://github.com/alacritty/alacritty?tab=readme-...
    Ответ написан
    Комментировать
  • Ошибка при попытке запуска Arch в оболочке BSPWM. Как решить?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    почему я с таким мог столкнуться и как исправить?

    тут ничего необычного если проследить цепочку запуска startx

    для начала глянем по нему man (man startx), для удобства это можно сделать даже в браузере так как у арча есть для этого специальный сервис где можно вести поиск по манам для пакетов из официального репозитория
    в данном случае нас интересует https://man.archlinux.org/man/startx.1
    там написано что это простой скрипт для xinit и который призван облегчить его настройку
    также там написано, если кратко, что конфигурационный файл(xinitrc) который считываться при запуске программы первым делом берётся из домашней директории пользователя(~/.xinitrc), а если его там не окажется то из стандартного места в системе(/etc/X11/xinit/xinitrc)
    По видимому своего файла ~/.xinitrc в домашней директории пользователя у вас нету поэтому берётся стандартный конфиг из /etc/X11/xinit/xinitrc (который кстати по сути является баш-скриптом)
    смотрим что он там запускает:
    $ cat -n /etc/X11/xinit/xinitrc 
    ...
        51	twm &
        52	xclock -geometry 50x50-1+1 &
        53	xterm -geometry 80x50+494+51 &
        54	xterm -geometry 80x20+494-0 &
        55	exec xterm -geometry 80x66+0+0 -name login

    twm, xclock и xterm
    как видим это как раз то на что и ругается вывод startx, а именно на отсутствие данных команд - command not found
    установка twm, xclock и xterm

    для начала поймём каким пакетам принадлежат данные команды
    обновим базу по файлам пакетов
    $ sudo pacman -Fy
    ищем
    $ pacman -F twm
    extra/xorg-twm 1.0.12-1
        usr/bin/twm
    
    $pacman -F xclock
    extra/xorg-xclock 1.1.1-1
        usr/bin/xclock
    
    $ pacman -F xterm
    ...
    extra/xterm 392-1
        usr/bin/xterm

    для xterm вывод большой, но нам нужен пакет у которого файл xterm лежит в /usr/bin
    можно даже искать по конкретному файлу
    $ pacman -F /usr/bin/xterm
    usr/bin/xterm принадлежит extra/xterm 392-1


    в общем, нужные нам пакеты будут
    xorg-twm
    xorg-xclock
    xterm

    устанавливаем
    sudo pacman -S xorg-twm xorg-xclock xterm


    но я как-то сомневаюсь что вам нужна эта борода( twm и др.) вместо упомянутого выше bspwm, так что возвращайтесь обратно к xinitrc и настраивайте его должным образом.

    п.с.
    формулировка вопроса
    Ошибка при попытке запуска Arch в оболочке BSPWM

    неверная
    арч не запускается в оболочке bspwm, скорее наоборот, а в данном случае до запуска bspwm дело даже не доходит
    Ответ написан
    1 комментарий
  • Как установить bspwm на Arch'е?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Решил перейти на оконный менеджер bspwm вместо десктопных оболочек.

    похвально конечно, но есть пару минусов у данного выбора:
    первое -- вайланд шагает по планете и выбирать сегодня bspwm который базируется на иксах это малость опрометчиво, да да, я слышу голоса с галёрки, но тем не менее;
    второе -- судя по релизам, у данной программы их не было уже 4 года, а это говорит о многом.
    ну и как следствие падение его популярности

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

    у Арча есть библия и называется она Арчвики, там же по вашему вопросу есть и установки и настройка и многое другое для bspwm
    ну вот для примера смотрим английскую вики по Bspwm#Installation где в первом же предложении черным по белому написано
    Install bspwm for the window manager itself and sxhkd for the X hotkey daemon.

    то есть вместе с bspwm нужно установить и менеджер горячих клавиш sxhkd
    прочитали, сделали:
    sudo pacman -Syu bspwm sxhkd
    где с помощью официального менеджера пакетов обновили систему(-Syu) и установили два нужных нам пакета/программы

    Но я бы на вашем месте, раз уж вы обратили внимание на тайлинги, посмотрел в сторону Sway или Hyprland которые боле менее популярны и основаны на вайланде, ну или если хотите что-то близкое к философии bspwm то глянуть в сторону River, правда он еще молодой и развивается неспешно, но пользоваться им при желании уже можно.
    график до кучи
    Ответ написан
    1 комментарий
  • Почему Kubuntu и другие дистрибутивы называет стоковые папки кириллицей?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    если нужно на латинице то выполни в консоли
    LC_ALL=C.UTF-8 xdg-user-dirs-update --force
    детальнее смотри XDG user directories/Creating default directories
    Ответ написан
    Комментировать
  • Как удалить межсетевой экран?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    установился межсетевой экран который показывается с раширением tray и никак не убирается


    вопрос нужно стараться задавать более корректно и желательно без двоякого толкования
    убрать просто иконку с трея или удалить программу это не одно и тоже

    все иконки в трее у популярных графических оболочках убирается довольно легко, вы не озвучили какая DE у вас установлена, но предположим что вы установили такую же как и в официальном установочном образе, где используется KDE, тогда чтобы удалить иконку(applet), достаточно просто щелкнуть ПКМ на панели и выбрать последний пункт(по английски пишется как - Enter edit mode), в этом режиме наводим на системный трей и в появившемся окошке выбираем Configure в результате появиться окно System Tray Settings
    6644f2dced2f2184028868.png
    где уже находим нужный апплет(firewall-applet) и выбираем чтобы он был всегда скрыт

    Другое дело удалить саму программу/пакет
    удалять довольно просто, обычно достаточно будет
    sudo pacman -R ИМЯПАКЕТА
    как в данном случае узнать имя пакета который предоставляет данный апплет ?
    можно просто щелкнуть ПКМ по данному аплету в трее, About - появиться окно с информацией по программе,
    66450746d96f2923791213.jpeg
    где видим имя сайта предоставляющего данную программу, здесь это будет сайт https://firewalld.org
    пойдя в загрузки на сайте можно увидеть имя программы, хоть здесь по названию сайта это и так будет понятно - firewalld
    ну а дальше уже поиском через сайт Арча или консоль найти конкретное имя пакета в базе пакетов Арча, так как редко но имя может всё-же немного отличаться
    вот поиск через оф сайт арча
    https://archlinux.org/packages/?q=firewalld
    как видим найденный пакет так и будет называться firewalld
    идём в арчвики и смотрим, опять же через поиск данного имени, если пакет боле менее популярный то описание того что и как можно делать с программой там найдётся
    https://wiki.archlinux.org/title/Firewalld
    где видно что помимо установки данного пакета
    sudo pacman -S firewalld
    для удаления
    sudo pacman -R firewalld

    для его работы также необходимо запуск службы firewalld.service
    sudo systemctl enable firewalld.service
    sudo systemctl start firewalld.service

    где enable - стартовать сервис при запуске системы, start - стартовать немедленно
    там по ссылкам в вики всё это есть, нужно просто спуститься в кроличью нору
    аналогично когда нужно остановить сервис и убрать из автозагрузки то выполняем:
    sudo systemctl stop firewalld.service
    sudo systemctl disable firewalld.service


    под одним из удалённых ответов вы написали
    если кому-то нужно будет
    sudo -i
    rm /bin/firewall-applet

    данный файл /bin/firewall-applet принадлежит какому-либо установленному пакету, и вы своими действиями можно сказать его повредили что может сказаться при следующем обновлении данного пакета, да и на работу других пакетов/программ которые завязаны на данный пакет это тоже может сказаться, в общем потом будете ловить косяки на ровном месте
    В конкретном случае файл /bin/firewall-applet принадлежит пакету firewalld
    для поиска кому и что принадлежит очень удобно использовать возможности самого пакмана
    обновить подробную базу пакмана
    $ sudo pacman -Fy
    в отличии от стандартного обновления с помощью ключа -S, ключ -F работает с базой которая содержит информацию также и по всем файлам пакетов
    $ pacman -F firewall-applet
    extra/firewalld 2.1.2-2
        usr/bin/firewall-applet

    где видно что данный файл принадлежит пакету firewalld из репозитория extra
    то есть, вы удалили один из файлов принадлежащих пакету firewalld (о котором я и писал в первой части ответа)
    Ответ написан
    3 комментария
  • Замена строк в json?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    это можно сделать довольно легко с помощью gron
    допустим есть два сопоставимых файла 1.json и 2.json
    необходимо заменить значение ключа iata_code в первом файле на значения из второго файла.
    1.json
    {
        "json": 1,
        "city": "Лондон",
        "airports": [
          {
            "name": "Хитроу",
            "city": "Лондон",
            "country": "Великобритания",
            "iata_code": "ЛХР"
          },
          {
            "name": "Хитроу2",
            "city": "Лондон2",
            "country": "Великобритания2",
            "iata_code": "ЛХР2"
          }
        ]
    }

    2.json
    {
      "json": 2,
      "city": "London",
      "airports": [
        {
          "name": "Heathrow",
          "city": "London",
          "country": "United Kingdom",
          "iata_code": "LHR"
        },
        {
          "name": "Heathrow2",
          "city": "London2",
          "country": "United Kingdom2",
          "iata_code": "LHR2"
        }
      ]
    }


    1) удаляем все значения iata_code из первого файла и записываем в промежуточный файл 3.gron
    gron 1.json | grep -v "iata_code" > 3.gron

    2) во втором файле оставляем только значения iata_code и добавляем в промежуточный файл 3.gron
    gron 2.json | grep "iata_code" >> 3.gron

    3) преобразовываем промежуточный файл в json
    gron --ungron 3.gron > 3.json

    результат
    3.json
    {
      "airports": [
        {
          "city": "Лондон",
          "country": "Великобритания",
          "iata_code": "LHR",
          "name": "Хитроу"
        },
        {
          "city": "Лондон2",
          "country": "Великобритания2",
          "iata_code": "LHR2",
          "name": "Хитроу2"
        }
      ],
      "city": "Лондон",
      "json": 1
    }
    Ответ написан
    1 комментарий
  • Может ли деградировать CPU/другое железо?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    попробуйте отключить защиту от всяких спектров, мельдаунов и тому подобного; для локального пользователя это не страшно, но вот производительность на некоторых процессорах порой урезает значительно. Как раз в последние несколько лет, за которые вы наблюдаете падение производительности, эти заплатки и были введены.
    Под линем параметр mitigations=off нужно скормить ядру, под виндой вроде в реестре нужно что-то подкручивать.
    Ответ написан
    Комментировать
  • Что делать если средство разметки дисков показывает разделы неправильно?

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

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    $ echo '{ "exitcode" : 0, "exited" : 1, "out-data" : "Filesystem Size Used Avail Use% Mounted on\nudev 2.3G 0 2.3G 0% /dev\ntmpfs 479M 672K 478M 1% /run\n/dev/mapper/pmg-root 28G 2.7G 24G 11% /\ntmpfs 2.4G 1.1M 2.4G 1% /dev/shm\ntmpfs 5.0M 0 5.0M 0% /run/lock\n" }' | jq -r '."out-data"' | column -t
    
    Filesystem            Size  Used  Avail  Use%  Mounted    on
    udev                  2.3G  0     2.3G   0%    /dev       
    tmpfs                 479M  672K  478M   1%    /run       
    /dev/mapper/pmg-root  28G   2.7G  24G    11%   /          
    tmpfs                 2.4G  1.1M  2.4G   1%    /dev/shm   
    tmpfs                 5.0M  0     5.0M   0%    /run/lock
    Ответ написан
    Комментировать
  • Поможет ли замена SSD на NVME ускорить работу с браузером Firefox?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    да, по идее должно немного ускориться если вы разместите ваш хомяк($HOME) на NVME так как профиль и кэш от firefox хранятся там. (это при стандартном размещении, а насчет всяких флатпаков и им подобных невкурсе). Но если нужно выжать максимум то лучше переместить кэш и профиль в ОЗМ(RAM) где доступ будет самым быстрым.
    По теме можно глянуть статью на archwiki - Firefox/Profile on RAM

    п.с.
    тут вспомнилось что при долгом использовании sqlite баз в firefox они могут малость засираться, по этому поводу есть даже древняя но всё еще актуальная статья на хабре - Ускоряем запуск браузера FireFox
    Ответ написан
    Комментировать