LINUX.ORG.RU

Сообщения teod0r

 

root=hdX,1 в GRUB

 , ,

Бывает при загрузке на одном компе одной и той же системы с разных носителей (SDcard/USB) приходится в grub.cfg менять root=hd0,1/root=hd1,1.
Т.е. гружусь с SDcard - приходится прописать root=hd0,1, гружусь с USB - приходится прописать root=hd1,1, хотя это полная копия одной и той же ОС. И зависит от того, какие ещё SSD/HDD есть в компе. Т.е. биос меняет порядок устройств. И на другом компе будет по-другому. Прикол ещё в том, что если я гружусь с SD нужно прописывать root=hd0,1, если я гружусь с SSD нужно тоже прописывать root=hd0,1.

Вопорс: как-то можно прописать в root=hdX,1, чтобы GRUB в момент запуска сам автоматически подставлял переменную X номером диска, с которого произошла загрузка этого GRUB?

teod0r
()

Подбор монитора. Вопрос про совместимость разрешений и видюхи

 , , , ,

Ноут с HD 8650G, DP 1.2. В спеках до (2560x1600), но при воспроизведении 2K в mpv ругается, что HW не поддерживает больше 2048 x 1152.

Хочу купить моник и подключать к нему. где-нибудь 27".
Вопрос: с каким разрешением покупать? 2K? 1080? а если взять, например 4K, как будет работать масштабирование (не будет ли просадки качества картинки или отклика)?

teod0r
()

Вопрос по sed

 , , ,

Почему некоторые мейнтейнеры ПО делают makefile'ы, где не наследуются переvенные (CPPFLAGS, CFLAGS, CXXFLAGS, ASFLAGS, LDFLAGS, ...)?

Пришлось придумать такое:

FLAGS2makefile() {

        local _flag flag

        for flag in CPPFLAGS ASFLAGS CFLAGS CXXFLAGS RUSTFLAGS FFLAGS LDFLAGS; do

                _flag=$(printf %q "${!flag}")
                _flag="${_flag//\//\\\/}"

                sed -r "s/^(\s*\S*$flag\s*=.*)/\1 $_flag/" -i "$@"
        done

}
и прописывать в портах для таких мейкфайлов:
FLAGS2makefile {.,doc,misc,test}/Makefile
Помогает, пока не столкнулся с тем, что в Makefile могут быть переносы нужных строк после \
INTERNAL_CFLAGS = -I$(srcdir) -I$(objdir) \
                  -I$(srcdir)/include -I$(objdir)/include \
                  -I$(srcdir)/x86 -I$(objdir)/x86 \
                  -I$(srcdir)/asm -I$(objdir)/asm \
                  -I$(srcdir)/disasm -I$(objdir)/disasm \
                  -I$(srcdir)/output -I$(objdir)/output \
                  $(ZLIBINC)
из-за этого мои CFLAGS вставляются в первую строку после \

Вопрос: как состааить выражение для sed, чтобы вставляло мою строку в самый конец последней строки такой конструкции?

teod0r
()

Пропала кнопка «неподтверждённые» на главной

 

Нету кнопки для просмотра неподтверждённых новостей.
Было бы супер, если её сделать сверху справа от кнопки «Добавить новость».

Ещё пропал пункт для редактирования отображаемых колонок на глагне.

teod0r
()

Посоветуйте ai chat bot

 , ,

Кто какими ai chat-bot сайтами пользуется?
Те что видел - с задержкой появления каждой буквы в ответе. Это для идиотов?

Хорошо бы если б оно помимо помощи в кодинге умело бы генерировать картинки и реалистичные видео.
В идеале безплатный.

Интересует не какя-то модель, а конечая реализация в виде какого-то конкретного сайта.

Перемещено CrX из science

Перемещено hobbit из talks

teod0r
()

Приобрёл прикольную клаву

 ajazz, ,

Ajazz AK980MAX. Механика. Подсветка с разными режимами, можно регулировать цвет каждой клавиши, куча оттенков!
Софт для тонкой регулировки подсветки, на гитхабе есть и под линь.
Есть безпроводная версия с акком.

Из минусов: контачит слишком рано вверху от небольшого нажатия.
Русские буквы почти не видно.
Буковки не прозрачные, не просвечивает.
Нет отдельной клавиши END, кроме NUMpad.

А вы какие хорошие клавы знаете?

teod0r
()

KOSMOS — сборка комфортненьких shell-скриптов, функций и конфигов системы

 , kosmos, , ,

После около 13 лет разработки создал репозиторий с проектом KOSMOS.

Это набор очень удобных скриптов и функций (в общей сумме более 200). Их легко и быстро запускать просто вводя короткие названия в терминале.

Удобный механизм запуска и создания новых скриптов. Просто введя 'C newscript' запускается $EDITOR с готовой шапкой #!/bin/bash в котором прописываешь скрипт, после просто сохранения которого можно в любом терминале запустить этот скрипт просто по названию 'newscript' (он сохранился в директории со скриптами и ему прописался x-bit).

Один из моих любимых и полезных скриптов - pk. Это фронтенд для всех тулзов и утилит пакетного менеджера в CRUX, все в одном. Простой запуск pk <что-то там>, включая всё нужное (установка, обновление, сборка и т.д.). pk i <port> - установить, pk u <port> - обновить, pk b <port> - собрать, и т.п. На данный момент 40 функций.

mig - скрипт для миграции конфигов или любых наборов списков файлов из одной (директориии) системы в другую.

S2R - скрипт для запуска ОС с корнем в tmpfs, можно потом вынуть флешку и пользоваться системой вообще без дисков.

Также там сборка моих конфигов (CRUX GNU/Linux) включая коллекцию портов.

В KOSMOS реализована идея создания корневого конфига (/CONFIG), содержащего основные переменные OS. Можно будет не зависеть от FHS, создавать свою структуру директорий. Кому сдался этот /usr/?

Благодарность всем, кто помогал или принимал участие.

# A collection of usefull open-source shell scripts (bash scripts, tools, functions)
# and configuration files.


The scripts use /CONFIG file which contains main system variables:
BOOT, BIN, CFG, DEV, LIB, PROC, RUN, SYS, TMP, VAR, ...
 Variables with directoty names will be used in future for specifying
 main directories of OS.
 It will not be limited by FHS, not depent on it.
 No need of /usr/. Create own set of tree(s).
kernel, libc, init, system_profile, bootloader, system_ISA, system_CPU, default_SHELL, ...


The scripts:


si  - (system install) source-based package manager (set of tools)
for UNIX-like systems
with automatic 100% correct dependencies resolving.
 Ports system like in CRUX, Gentoo, FreeBSD, NetBSD, OpenBSD.
 Optional cross-architecture toolchain building, which allows 
creating new UNIX-like Operating Systems
(distributions of custom kernels and selected environments,
idealy, ability to choose an open-source kernel
(FreeBSD, Haiku, HURD, L4, Linux, NetBSD, OpenBSD, Plan9 and , ...),
choose from varios libc's,
and choose environments: GNU, or not GNU, *BSD, Plan9 and , ...).
Can create entier new distribution in a directory with one command.
 All the process of building of each package is user customized with set of options.
All configure options of building for each port are listed in special configuration
files and scripts (recipes) of each port.
 Absolutely correct dependency resolving is based on 5 special curtain
CONF*, BUILD*DEPS* and RUN*DEPS* files (arrays ?) of eatch port.
'CONF*' -- list of all configure options.
'BUILD_DEPS*' -- list of all build dependencies.
'RUN_DEPS*' -- list of all run dependencies.
'BUILD_CONF_DEPS*' associative array with list of all configure options that require build dependencies.
'RUN_CONF_DEPS*' associative array with list of all configure options that require run dependencies.
This means that all configure options are connected to curtain dependencies. Also if you add/remove an configure option, it will pick up all required deps.
 There is "$PM_db/FLAGS/$system_ISA/$system_CPU/FLAGS" file (and 'CREATE_FLAGS' script for generating the file,
and 'ED_FLAGS' for editing the file) which contains all CPU-specified 'make' variables 
(ASFLAGS, CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS, LDLIBS, MAKEFLAGS, ..., all of them).
 Lists of recipes (files with recipes for proceeding).
 Varios profile sets of recipes (desktop, server, router, ... create any).
 Logging!
 Sandbox for build and installation process. Tool for modifying all proceeded built packages on set of rules.
 Posibility of installing selected ports into any new or existing prefix.
There will be core in / and availability to add or remove ports to 'core'
or to any available prefix. Like prefix in 'Gobo Linux', but name and combination
of prefixes will be user specified.
For example, user can place a whole toolchain (or any set of ports) in a separate directory.
 Existence of CONF file that specifies all build options for each port gives an ability to
add in future optionall USE_FLAG system (like in 'Gentoo') for any set of ports.
Even MULTI-FLAGS.
Spectre of available/used use-flags will be user specified.
 User controlls the process of building every port with recipes and configuration files,
which give an ability to control every configure option of build process of each port.
User can be a maintainer of his own system.
 User has full control over the operating system.
#### 'si' is not yet completed. I use 'pk' on my CRUX system.


pk - script for package management in CRUX OS with prompt waiting for confirmation,
showing in color which packages will be updated, installed or removed.
It uses a simple syntax, like:
'pk i package1 ...' -- for installing package(s) with all dependencies,
'pk u pakage1 package2' -- for updating packages, or just
'pk u' -- for updating all available.
 It implements many PM features (build (b), download (do), install, install with deps (i), update,
update with new deps (u), update prt-get cache (c), search (s), search in description (sd),
show missing deps (m), show deps (de), show packages that depend on (depson),
check signature (cs), update signature (us), and other).
 It is like a custom front-end for pkgutils, prt-get, prt-utils, pkg-backup, ... .
 'pk' is my (temporary) pakage manager, it is an attemp to make package management
in my favourite and one of the bests disto, CRUX, more nice, until 'si' and my
recipes (ports) collection will be completed.
'si' will be able to do all that 'pk' can and beyond.
Probably, 'pk' will be a symlink to 'si', or even 'si' will be renamed to 'pk'.


chain - creates a toolchain with a single command (amd64 only for now), based on LFS Book.
It also installs CRUX PM, which allows building CRUX from scratch.


S2R  - (System to RAM) move / to tmpfs and make operating system to work completely from RAM
without need of any attached disks or flash-drives.


C  - create/modify scripts. For example 
'C myscript' will create 'myscript' with an "$EDITOR" in "$KOSMOS_scripts/" directory,
after saving the file, you can run it immidiately just typing 'myscript' in any terminal.


ch  - chroot with automatic mounting.


d  - better cd.


GET_OPTS / GET_ARGS  - get options (starting with '-' or '+') / non-options from "$@".
Extended options with an argument like '-d1' or '-d 1' may be defined by EOPTS='-d'.
For extended options, argument of which may not start with '-' (optional positive argument),
use $PEOPTS.
If there is an option like '-and' (single option, but not starting with --),
SOPTS='-and' shoud be used.
$EOPTS, $PEOPTS, $SOPTS are space separated lists, like EOPTS='-d -f -N'.
If you want to catch options starting with '+', use plus_options=1.
 In script running 'GET_ARGS "$@"; GET_OPTS "$@"' will create arrays 'ARGS' and 'OPTS',
containing all arguments.
# Should create 'GET_ARGUMENTS' function, which will create some kind of an associative array 'ARGUMENTS' with all arguments and options in one.


g  - 'grep -IP[r]' - automatic '-r' when needed. And similar links (gi, gv, gc, gL, gl, giL, gil, ...)
for specific keys.


U  - unplug device.
Sync FS-cache, disable swaps, recursive unmount, flush HW-cache on block device.
For example 'U sdb' will unplug "$DEV/sdb" device.


u  - recursive unmount.


x  - extract an archive. For example 'x KOSMOS.txz' or 'x files.xz'.


T  - create tar archive. For example 'T archive.txz files/'.


gin  - install GRUB2 and automaticaly modify PARTUUID in 'fstab' and 'grub.cfg'.


mig - migrate (configuration) files from one system (dir) to another.
For example 'mig / /new_system/' will copy set of (config) files to '/new_system/'.
A key '-l' sets a set of rules for migration, for example '-l config'; you can
create own set of actions.


s  - sync SW & HW disks caches.


b / bb  - show processes.


And more than hundred other scripts and functions...

ССЫЛКА НА ХРАНИЛИЩЕ КОДА

Перемещено CrX из opensource

teod0r
()

Как запускать процессы с заданным значением nice?

 

nice -n суммирует, а не задаёт абсолютное значение.
Про renice знаю, хочется иметь возможность задавать сразу при запуске, а не изменять уже запущенное.

Понятно, что можно прописать калькулирование после проверки текущего, но не верится, что нет готового способа задавать сразу.

teod0r
()

Вопрос по электроприборам

 marx generator, , генератор маркса, ,

Выведет ли генератор маркса из строя технику во время разряда, если выводящие провода касаются пластикового корпуса электроприбора?

Например, такой https://aliexpress.ru/item/1005003388585733.html?sku_id=12000025553051463&amp...

Есть ли какие-нибуть портативные устройства способные выводить из строя электрнику с помощью ЭМИ?

teod0r
()

Как активировать кастомный ModeLine?

 , , , ,

Решил чуток разогнать обновление экрана на скоко-нибудь герц.
xrandr --verbose
дефолтный xrandr --current
xorg.conf
Xorg.0.log

При этом заданный ModeLine не применяется при запуске иксов с таким xorg.conf, остаётся дефолтный режим!

Но если я вручную выполняю, даже со специально завышенной частотой:

xrandr --newmode 1920x1080_120 250.00 1920 1921 1922 1923  1080 1081 1082 1083 +hsync +vsyncs
xrandr --addmode eDP 1920x1080_120
xrandr --output eDP --mode 1920x1080_120
экран гаснет-включается. вывод xrandr --current
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
DisplayPort-0 disconnected primary (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
eDP connected 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1920x1080     60.00 +
   1680x1050     60.00
   1400x1050     60.00
   1280x1024     59.95
   1440x900      59.99
   1280x960      59.99
   1280x854      59.95
   1280x800      59.96
   1280x720      59.97
   1152x768      59.95
   1024x768      59.95
   800x600       59.96
   848x480       59.94
   720x480       59.94
   640x480       59.94
   1920x1080_120 120.04*
DisplayPort-2 disconnected (normal left inverted right x axis y axis)
DisplayPort-3 disconnected (normal left inverted right x axis y axis)
Я даже пробовал выставлять частоту 3000 MHz — оно в current показывает частоту обновления экрана 1440 Hz!
Ну и как мне правильно выставить? Хоть чуток разогнать, насколько получится. Дефолтные 60 Hz.

teod0r
()

На каком сайте возможно познакомиться с девушкой?

 ,

Никогда не знакомился.

Хочу сбежать от предков.

Все перепробованные мною сайты знакомств липовые.

Как в сети сейчас знакомятся? Приложения для смартфона не предлагать. Смартфона никогда не было и, походу, не будет.

teod0r
()

Вопросы по созданию git-репозитория своего проекта

 , ,

Какой хостинг репозиториев выбрать? НЕ github! Какой-нибудь более открытый и свободный. Savannah?

Какими командами инициировать создание нового проекта?
Никогда не пользовался git всерьёз, делал только git clone каких-то чужих проектов.
Т.е. нужно залить имеющийся тарбол в новый проект и создать необходимые ветки.

teod0r
()

Подскажите регулярку

 , ,

Подскажите регулярку для sed.

Есть такая команда для sed:

sed -r "s/^(\S*CFLAGS\s*=.*)(\"|')$/\1 $CFLAGS\2/" -i Makefile
Нужно дописывать в строку с CFLAGS свои $CFLAGS.
Проблема с наличием кавычек после =
С такой регуляркой всё в порядке для строк с кавычками, но строки без кавычек не правятся!
Если добавить ? после (\"|'), то строки без кавычек правятся, но в строки с кавычками мои $CFLAGS подставляются ПОСЛЕ закрывающей кавычки, а не перед.

Какая регулярка нужна чтобы и внутрь кавычек подставляло в конец и в строки без кавычек?

teod0r
()

Какие ключи передавать ffmpeg чтобы тот брал ВСЕ параметры аудио/видео из источника?

 , , , ,

Про -c copy знаю, но иногда оно не принимает, когда нужно сделать какие-то преобразования.

Проблема в том, что ffmpeg, если ему не указывать обратное, всегда портит какие-нибудь параметры качества при перекодировании. Чтобы гарантировать что он ничего не испортит, нужно передавать ему ВСЕ ключи, которые отвечают за ВСЕ возможные параметры качества (битрейт, разрядность, частота дискретизации, и все остальные для видео, всех даже не знаю).

Какие существуют параметры качества? Хочу знать все.
Какие ключи передавать для каждого параметра, указывающие ему брать этот параметр из источника?

teod0r
()

yt заменяют opus на aac?

 ,

Ещё около недели назад качал видео с ютуба, качало аудио в opus (вроде почти всегда так было), вчера стал повторно скачивать несколько видео, скачивает в aac. -F показывает, что из аудио доступен только aac; opus в списке нет.
Качал всегда с выбором лучшего качества в настройках.

Ещё заметил, что если повторно скачать то же видео в тех же форматах, контрольные суммы не совпадают.

И странно, что если скачивать только аудио из видео (-x), то оно весит меньше, чем то же аудио в том же формате, вырезанное из скаченного видео через ffmpeg ... -c copy -map 0:1.

teod0r
()

Есть ли возможность скачивать видео с yt, к которым ограничен доступ?

 , ,

Бывает попадаются видео, которые «подтвердите, что вам есть 18», котрые имеют ограничение по стране, и приватные видео.

Аккаунта yt у меня нет.
Возможно ли качать такие видео через yt-dlp?
Ограничение по стране, наверное, обходится через proxy.

Может, есть какие-то аккаунты публичные? Поискал, не нашёл в открвтом доступе аккауетов, которыми поделились. Раньше на ff-3.6 использовал bugmenot.

teod0r
()

execve(script) error 13 (Permission denied)

 , ,

Из-за чего может быть ошибка 'execve(script) error 13 (Permission denied)'?
strace:

26284 execve("/bin/suid/bash", ["/bin/suid/bash"], 0x7ffc11b4b2b8 /* 76 vars */) = 0
26284 brk(NULL)                         = 0x5ff5ee161000
26284 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7d8540323000
26284 access(0x7d85403151a0, R_OK)      = -1 ENOENT (No such file or directory)
26284 openat(AT_FDCWD, 0x7d8540313fc3, O_RDONLY|O_CLOEXEC) = 3
26284 newfstatat(3, 0x7d8540314ba1, 0x7ffc7a798000, AT_EMPTY_PATH) = 0
26284 mmap(NULL, 34119, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7d85402db000
26284 close(3)                          = 0
26284 openat(AT_FDCWD, 0x7d85403230a0, O_RDONLY|O_CLOEXEC) = 3
26284 read(3, 0x7ffc7a7981b8, 832)      = 832
26284 pread64(3, 0x7ffc7a797de0, 784, 64) = 784
26284 newfstatat(3, 0x7d8540314ba1, 0x7ffc7a798060, AT_EMPTY_PATH) = 0
26284 pread64(3, 0x7ffc7a797c80, 784, 64) = 784
26284 mmap(NULL, 1998224, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d85400f3000
26284 mmap(0x7d8540119000, 1421312, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26000) = 0x7d8540119000
26284 mmap(0x7d8540274000, 344064, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x181000) = 0x7d8540274000
26284 mmap(0x7d85402c8000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d4000) = 0x7d85402c8000
26284 mmap(0x7d85402ce000, 52624, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7d85402ce000
26284 close(3)                          = 0
26284 mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7d8540320000
26284 arch_prctl(ARCH_SET_FS, 0x7d8540320740) = 0
26284 set_tid_address(0x7d8540320a10)   = 26284
26284 set_robust_list(0x7d8540320a20, 24) = 0
26284 rseq(0x7d8540321060, 0x20, 0, 0x53053053) = 0
26284 mprotect(0x7d85402c8000, 16384, PROT_READ) = 0
26284 mprotect(0x5ff5cfe1c000, 4096, PROT_READ) = 0
26284 mprotect(0x7d854031c000, 8192, PROT_READ) = 0
26284 prlimit64(0, RLIMIT_STACK, NULL, 0x7ffc7a798bb0) = 0
26284 munmap(0x7d85402db000, 34119)     = 0
26284 setuid(0)                         = -1 EPERM (Operation not permitted)
26284 execve(0x5ff5cfe1b004, 0x7ffc7a798f98, 0x7ffc7a798fa8) = -1 EACCES (Permission denied)
26284 write(2, 0x7ffc7a7967d0, 44)      = 44
26284 exit_group(-1)                    = ?
26284 +++ exited with 255 +++
Причём если запустить эту программу как из основной ОС, то ошибка не возникает. Но если эту же программу запускать в chroot из дпугой ОС - возникает эта ошибка. Также эта же ошибка возникает в той ОС, где она запускается без ошибки, если запускать эту программу через strace.

На этой программе suid-bit. Дальше она должна запускать script.
Исходник:
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>

char* script = "/bin/suid/bash_";
extern char **environ;

int main(int argc, char **argv) {

        argv[0] = script;

        setuid(0);
        execve(script, argv, environ);
        fprintf(stderr, "execve(script) error %d (%s)\n", errno, strerror(errno));
        return -1;
}
Дистр - CRUX, ядро самосборное.

teod0r
()

Как привязать терминал к программе, запускаемой в скрипте в фоне?

 , ,

В KDE запускаю скрипт по хоткею.
В нём строка

su user -s program
выдаёт ошибку
su: must be run from a terminal
Как привязать какой-то pts? su запускает эмулятор терминала.

teod0r
()

Конфиг alsa

 , , ,

Как должен выглядеть конфиг alsa, чтоб всегда использовался вывод S24_3LE, ресэмпл в 192kHz, rate_converter samplerate_best, resample.quality 10?
Какие улучшалки ещё есть? route_policy? resample.method? period_time? period_size? buffer_size?
И чтоб воспроизводился звук из более чем 1 программы.

Помогите составить конфиг.

teod0r
()

Как запретить mpv делать resampling звука?

 , ,

При воспроизведении любого файла делает ресемплинг в 48kHz.

Как сделать чтобы воспроизводил с частотой дискретизации исходника?

--alsa-resample=no
--audio-samplerate=0
ничего не меняют.

teod0r
()

RSS подписка на новые темы