LINUX.ORG.RU

Избранные сообщения serg002

Коммерчески выпускаемые термоэлектрические генераторы

Форум — Talks

Несколько лет назад это было модно. Было много видео с удобными стильными устройствами, заряжающими телефоны и даже ноутбуки от костра. Что-то даже на price.ru продавалось.

Сейчас поискал — ничего нет, кроме статей «сделай сам». Не взлетело?

 

question4
()

ищу качественный топор.

Форум — Linux-hardware

Здравствуйте.
захотелось для десктопа прибрести wi-fi адаптер.
(пока облизывался на новые роутеры, подумалось, а нафига, если не у всех клиентов есть)
понятно, чтоб маленький юсб-свисток с ах имеет мало смысла.
есть варианты с антеннами побольше, совместимые с linux?
п.с. pcie занят, надо usb.

 , wi-fi ax

darkenshvein
()

Data flow programming

Форум — Development

Что-то мне приснилось на днях и подумал я запилить на коленке библиотеку для сабжа.

Основа системы - объект типа модель, который включает в себя ячейки с данными. Между ячейками есть связи, которые описываются наподобии:

(A, B, C) -> (X, Y)

и далее описывается код расчёта данных для ячеек в X и Y в зависимости от данных в ячейках A, B, С. При изменении данных отдельных ячеек в модели на основании вышеописаннх связей какие-то ячейки надо пересчитать, а какие-то нет (отображения функциональны). Называть этот процесс будем обновлением модели. Задача - определить данные каких именно ячеек нужно пересчитать и какой оптимальной последовательностью вычислений это сделать. Подобная задача решается такими программами как система сборки make и менеджерами пакетов. Здесь особенность в том, что основа ячейки - переменные в памяти программы.

Возникли следующие идеи:

Во-первых это понятие представления. Представление состоит из отдельных видов. Это чем-то похоже на модель с ячейками, но виды - это не области памяти, а порты в которые данные выводятся и уже не возвращаются (наподобие стандартных потоков, сокетов). Представление привязано к определённому типу моделей, а данные для видов зависят от данных в ячейках модели наподобие как зависят данные в ячейках между собой. Может в отдельном представлении могут быть переменные, но они уже не зависят от данных модели.

У одного объекта типа модели может быть несколько представлений причём как разных типов так и схожих. Поэтому адрес на объект модели должен быть содержаться в составе объекта представления - без отношения наследования из ООП не смотря на привязанность типа представления к типу модели.

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

Может ещё есть алгоритмы совершеннее вышеописанных идей? Какие алгоритмы полезно изучить для реализации такого?

 

ados
()

Чего бы почитать

Форум — Talks

Возможно off-topic, но мнение местных обывателей было бы очень интересно.

Нет, вопрос не об технической литературе, и не об учебниках.

Хотелось бы услышать рекомендации именно о художественной литературе, почитать на досуге.

Хорошим примером того что недавно зашло самому будет «Лабиринт отражений» и «Императоры иллюзий» от Лукьяненко.

Ну, понеслась…

 

bugfixer
()

Где брать знания по программированию?

Форум — Development

В общем взяли меня junior-программистом на испытательный срок. И возникают такие ситуации, когда я лезу в документацию, иногда это помогает, а иногда нет. Ко мне подходит middle и говорит как надо делать, но я понять не могу. Пару раз он за меня несколько строк кода написал, сказал что я должна сама это делать. Я смотрю на код который он мне написал и понимаю что сама бы не додумалась так написать. Что читать для того чтобы почерпнуть знания по программированию?

 

Golden_Fleece
()

Ричард Столлман анонсировал мануал по Си

Форум — Talks

Собственно, сабж. Сам анонс: https://lists.gnu.org/archive/html/info-gnu/2022-09/msg00005.html .

Скачать можно при помощи команды

git clone https://git.savannah.gnu.org/git/c-intro-and-ref.git

 , ,

saahriktu
()

Современных ретро игр тред

Форум — Games

Привет, посоветуйте годных +- современных игр в ретро-стиле, платформеры-метроидвании, или что-то близкое. Слышал, их сейчас много выходит.Не обязательно пиксельное, но мне дико понравилось, как сделали Axiom Verge и Cyber Shadow.

 ,

Dog
()

Как хранить лайки/реакции в базе?

Форум — Development

Сообщенька в базе - это бинарный «документ» (лежащий в чём-то типа mongoDB или типа redis, в общем неком key=value), про который известны оффсеты до всех полей. Совершенно аналогично «туплу», который «строка» в «традиционных» табличных СУБД. В общем, сообщенька - это, можно сказать, строка в БД, в которой можно так же апдейтить/инкрементить отдельные произвольные «поля»/«колонки». В общем, скажем для простоты, что это «обычная строка в обычной БД».

У сообщеньки есть 8-битная поле/колонка - likes. Там лежит либо 0, либо 1.

Есть отдельные «микросервис» лайков - совершенно отдельная «субд», заточенная под хранение лайков - она хранит key=set, где key идентифирует пролайканный объект, тип лайка. Таким образом, можно понять сколько у этого объекта лайков, лайкал ли ты (данный uid) уже эту сущность, и автоматически не дать тебе что-то лайкнуть 2 раза.

Лайки - это частный случай реакции, реакция типа ноль. Например, если uid=123 лайкнул сообщеньку номер 10000 в чатике «zuzu», то uid=123 поставил реакцию типа ноль и в микросервисе лайков мы увидим ключ: zuzu:10000:0 в котором лежит set и в этом set мы обнаружим 123 среди прочих.

Теперь прикол в том, что показывая каждую сообщеньку, я не хочу ходить в микросервис лайков, выясняя есть ли для данной сообщеньки там ключ. Поэтому я умный и ставлю единичку в поле likes в сообщеньке, если был замечен хоть один факт лайков. Поле likes означает стоит ли ходить в микросервис лайков, выясняя сколько лайков у этой сообщеньки и лайкал ли ты её. Это сильно облегчает жизнь.

Теперь непонятно, как в сообщеньке таким же образом (как поле likes) закешировать инфу о том, что этой мессаге поставили не только лайк, но ещё и «огонь» и ещё «палец вверх».

Превратить likes в битовую маску - жопа, т.к. заранее неизвестно, сколько разных реакций возможно.

Есть идеи, как грамотно кешировать в самой строке сообщенки инфу о том, какие разные реакции у этой сообщеньки в принципе есть? Пока что приходит в голову только массивчик бинарных 16-битных чиселок, где каждое число означает, что реакция соответствующего типа вообще у этой сообщеньки хоть раз встречалась. Соответственно, когда какую-то реакцию кто-то ставит впервые, мы достаём этот массивчик, дописываем к концу новое число и сохраняем в мессагу обратно - но это некоторая жепь-ебрилло, поскольку подразумевает полный апдейт всей мессаги, ибо строка имеет переменный размер. Хранить в конце документа-бла-бла - не круто, т.к. где у него конец мы не знаем, ибо в сообщеньке есть ещё и текст переменной длины.

Ну или можно такой «массивчик», хотя на самом деле отдельный key=set хранить отдельно. Т.е. колонка likes говорит, что реакции в принципе были, далее уже достаём этот key=set и смотрим какие именно были.

 

trisobakov
()

Влияние деформации крышек процессоров на долговечность

Форум — Linux-hardware

Кратко: процессоры интел 12-ого поколения прямоугольные, а не квадратные и после монтирования в сокет гнутся.

Фоточки:

Ссылочки:

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

 ,

chenbr0
()

Фиксация ttl в nftable

Форум — Admin

Тут в новой версии OpenWrt заменили iptable на nftable собственно раньше было можно довольно просто зафиксировать ttl одной коммандой iptables -t mangle -A POSTROUTING -j TTL --ttl-set 64 Попробовал через транслятор он какую то ерунду неисполняюему выдал.

 ,

Loafter
()

А есть такой же сайт как www.cpubenchmark.net, но для GPU (видеокарт)

Форум — Talks

Всем привет!

Вот смотрю устройства с этими бесконечными Iris, Vega, UHD а как понять, что из них что стоит?

Короче ищу аналог но для видеокарт, чтобы было просто и легко сравнить видеокарты, с достаточно большой точностью.

Думаю знающие люди сразу подскажут, чем бесконечно придираться через выдачу Google в виде xbit и phoronix.

Ах, да там еще есть разница в Linux/Windows, но если это не учтено, то ладно (хотя было бы полезно)

 ,

TolkoSprosit
()

Где вы храните схемы описания софта, подобные блок-схемам?

Форум — Talks

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

Где вы размещаете подобные схемы и в чем их рисуете?

Хотелось бы держать это близко к коду, чтобы оно не протухало.

Пока вариант Shinx + png + исходник этого png (в любом формате в котором человек его рисовал, например drawio или tikz или svg)

 , ,

omegatype
()

Для тех, кто думает перейти на Gentoo

Форум — General

Привет

Достаточно часто создаются темы, где люди думают переходить на Gentoo и хотят уточнить некоторые моменты. Чтобы сэкономить время себе и другим, решил создать этот топик, в котором буду собирать ответы на частые вопросы.

TL; DR: Для тех, кто думает перейти на Gentoo (комментарий)

В каких случаях имеет смысл выбирать Gentoo:
1. Вы любите настраивать систему под себя. В Gentoo есть больше возможностей по кастомизации системы в сравнении с многими другими дистрибутивами: USE флаги, параметры компиляции, поддержка пользовательских патчей в пакетном менеджере, хуки пакетного менеджера (вставка своих шагов на этапе установки пакетов), игры с версиями приложений и/или зависимостей, игры с альтернативными имплементациями (openrc/systemd/..., rsyslog/syslog-ng/metalog, slang/ncruses, dhcpcd/dhclient/...).
2. Вы хотите обучиться основам Линукс. Установка Gentoo невозможна без практического понимания базовых принципов Линукс: интерфейс командной строки, chroot, работа с диском (MBR, GPT, возможно LVM, возможно шифрование, типы файловых систем, параметры монтирования и т. п.), настройка сети (WiFi/Ethernet, DHCP, ifconfig/ip, выбор между wicd/NetworkManager/sysinit и т. п.), ядро (конфигурация/компиляция/установка, firmware, внешние модули aka @modules-rebuild, возможно параметры при запуске и т. п.), графический сервер (Xorg/wayland, драйвера) и др. Большинство дистрибутивов скрывают это за инсталлятором, но в Gentoo вам придется столкнуться с этим непосредственно.
3. Требуется система максимально оптимизированная под определённую платформу или нефункциональные требования: минимальный размер (embedded), минимальный отклик (банковские системы, игровые сервера), максимальное быстродействие в конкретных областях (обработка видео потоков) и т. п. Стоит заметить, что Gentoo имеет смысл выбирать только в том случае, когда нет дистрибутива уже заточенного под эти требования, или он чем-то не устраивает.

В остальных случаях Gentoo скорее всего не лучший выбор, разве что Just for Fun.

Сильные стороны Gentoo:
#1 Gentoo очень гибкая и всенастраиваема
Пример того что в Gentoo делается просто:
- Использовать openrc вместо systemd или наоборот; pulseaudio или без него
- Наложить кастомный патч; пример когда это нужно
- Подключить или отключить такие вещи как vaapi, vdpau, opencv и т. п.
- Иметь несколько веток софта; уточню, что это работает только для определённых пакетов; например можно одновременно установить python 2.7, 3.4, 3.5 или qt4 и qt5, но нельзя одновременно установить qt 5.7 и 5.8

#2 Очень удобный и функциональный пакетный менеджер
Примеры удобных фич:
- Прервать установку (вплоть до перегрузки компьютера), а потом ее продолжить. Можно продолжить с последнего пакета (emerge --resume), продолжить но пропустить последний пакет, например, если его установка прервалась с ошибкой (emerge --resume --skipfirst, некоторые нюансы); для больших пакетов можно продолжить саму компиляцию (ebuild <полный путь и имя файла>.ebuild merge).
- Когда при установке обновляется конфиг приложения, определяется редактировался ли предыдущий конфиг пользователем. Если да, конфиг не перезаписывается, а кладётся радом, и выводится сообщение пользователю с предложением обновить конфиг.
- Обновить всю систему, но исключить некоторые пакеты (удобно для исключения больших пакетов из ежедневного обновления)
- Почистить зависимости - удалить те пакеты, которые больше никому не нужны.
- Поскольку ebuild - текстовый файл, то можно пропарсить на предмет требований к количеству ресурсов для установки:

$ for F in $(find /usr/portage -name "*.ebuild") ; do REQ=$(grep "CHECKREQS" "$F") ; if [[ -n "$REQ" ]]; then echo -e "\n$F\n$REQ" ; fi; done
- Вынести компиляцию на другой компьютер (поддержка distcc на уровне пакетного менеджера). Важно когда Gentoo устанавливается на слабый компьютер.


#3 Хорошая документация, по крайней мере на английском. Более того, поскольку Gentoo-специфичные утилиты являются лишь надстройкой на generic механизмами, документация от других дистрибутивов (например от Arch) в большинстве случаев тоже подходит.
Опрос 2014: У какого дистрибутива лучшая документация

#4 Достаточно свежий софт, много сторонних репозиториев.
Список сторонних репозиториев
Gentoo - rolling release, а значит как только новая версия конкретного софта появилась в репозитории, её можно установить. Но здесь не имеется ввиду, что как только новая версия зарелизилась, она моментально становится доступна в основном дереве; лаг есть, но он как правило не большой, хотя зависит от пакета. В тестинг ветке новые версии появляются раньше. Кроме того мейнтейнеры Gentoo могут маскировать некоторые версии, если в них обнаруживаются серьезные баги. Однако всегда можно размаскировать нужную версию. Кроме того для некоторых пакетов есть -live версии, когда исходники скачиваются напрямую из github или аналога.
Пример когда «у меня не самый свежий софт в Gentoo»

#5 Полный порядок в системе, ничего лишнего - эстетическое удовольствие, плюс возможно можно немного улучшить перформанс

#6 В процессе установки и эксплуатации получаешь полное понимание как работает система, а значит возникающие проблемы решаются быстро. На самом деле без должного знания Линукса (или желания его узнать в процессе) Gentoo нормально не установить.

Недостатки
#1 Сложная и долгая первичная установка. Если устанавливать в первый раз, нужно готовиться потратить несколько дней. Для опытных - несколько часов + компиляция.
Время установки (компиляции) Gentoo, еще немного цифр по большим пакетам

#2 Пакетный менеджер хоть и удобный, но очень медленный

#3 Если не обновлять систему долго (полгода и более), то сложность обновления сопоставима с установкой новой системы. Есть мнение, что emerge-webrsync --revert=yyyymmdd должен помочь (лично я не проверял).

Особенности
#1 Высокий порог входа; дистрибутив не для новичков. Если человек не комфортно чувствует себя в командной строке, никогда не компилировал ядро, не разбивал диски на разделы, не привык изучать докуменацию, вчитываться в сообщения и анализировать логи, то Gentoo покажется сложной в обслуживании, а возникающие проблемы будут списываться на дистрибутив.

#2 Обновляться нужно часто.

#3 Основные фичи - в командной строке. Для тех, кто не привык работать в командной строке, это будет минусом. А для тех, кто комфортно чувствует себя в командной строке, это будет плюсом, так как работа в командной строке более эффективна, а типовые сценарии можно обернуть в скрипты и еще больше сократить время на обслуживание системы.

#4 Есть две ветки: stable и testing. В stable меньше шансов встретить проблему, но в testing более свежий софт. Ветки можно комбинировать.

Мифы
Миф #1 Gentoo даст прирост производительности за счет того, что весь софт компилируется под конкретное железо.
Краткий ответ: Без дополнительных телодвижений - в пределах пары процентов, так что вряд ли вы это заметите.

Детальный ответ.
Не следует ожидать что просто скомпилировав систему из исходников вы получите сколько-нибудь заметное улучшение перформанса.
Для большинства приложений компиляции под конкретное железо даст прирост производительности в районе 1-2%.
Ложка дегтя: в некоторых случаях даже может быть замедление. Например Firefox, можно ускорить с помощью PGO. В Gentoo по умолчанию это отключено, так как PGO увеличивает время компиляции почти в два раза. В бинарных дистрибутивах соотв. софт может быть скомпилирован с PGO.
Так как добиться улучшения производительности? Узкий круг приложений может быть значительно ускорен при компиляции под конкретную платформу - на 30%-50% и больше. В основном это приложения которые активно занимаются вычислениями. Но для этого требуется соотв. настройки. Например, активация SIMD инструкций, даст прирост производительности в мультимедиа приложениях. Некоторые процессоры имеют аппаратную поддержку шифрования AES. В бинарных дистрибутивах подобные фичи будут отключены, так как не все процессоры это поддерживают, а бинарные дистрибутивы в первую очередь заботятся о совместимости.
Небольшое улучшения перформанса возможно если убрать из системы всё лишнее (мнение 1, мнение 2).
Еще интересный случай

Миф #2 Обновления занимают много времени
Краткий ответ: 5-10 минут на фоне, не мешая основной работе.

Детальный ответ.
Обновления не занимают много времени, но опять же, при правильном подходе.
Во-первых, как было сказано выше, обновляться нужно часто. Для testing ветки это каждый день, или по крайней мере не реже чем в раз 2-3 недели. Для стабильной ветки - раз в неделю достаточно (на стабильной ветке намного реже выпускаются обновления)
Во-вторых, есть пакеты которые правда очень долго компилятся: libreoffice, firefox, chromium... Их всего 10-15. Я их исключаю из ежедневного обновления, а обновляю раз в несколько месяцев.
Еще нужно сказать, что на этом вопросе часто заостряют неоправданно много внимания. Обычно обновления происходят на фоне, и не сильно влияют на работу; так какая разница как долго они выполняются?
В итоге, у меня обновления занимают примерно 5-10 мин ежедневно (у меня тестинг-ветка).
К тому же всё происходит на фоне, в любой момент можно поставить на паузу (Ctrl+Z, fg), продолжить после прерывания (умышленного или случайного).
Мой скрипт ежедневного обновления

Миф #3 Gentoo требует много времени на обслуживание
Краткий ответ: это зависит от вас.

Детальный ответ.
Обслуживание Gentoo занимает меньше времени по сравнению с другими дистрибутивами, но только при грамотном обращении, конечно. Достигается это за счет следующего:
- хороший пакетный менеджер: маскировки, глобальные и индивидуальные установки для пакетов (USE флаги, опции компиляции, каталоги), хуки, приоритеты (чтобы компиляция происходила на фоне и можно было работать), много опций для установки и анализа, подсказки после установки.
- всё происходит в CLI, а значит типовые операции можно обернуть в скрипты/алиасы.
- уже существуют много утилит для облегчения обслуживания: eselect, equery, eix, eclean, euse, genlop и др.
Грамотное обращение означает, что вы правильно и регулярно обновляете систему, исполняете предписания emerge, которые он выдает после установки, держите в порядке конфигурационные файлы, а если таки возникает проблема, которую решить вы не можете, то вы обращаетесь в форумы, а не просто жалуетесь на жизнь.
Что до проблем с обновлениями - см. следующий пункт «Миф #4 Установка, обновление постоянно падают; частые блокировки»

Миф #4 Установка, обновление постоянно падают; частые блокировки
Краткий ответ: Не чаще чем в других дистрибутивах

Детальный ответ.
Если говорить про «часто» и «постоянно», то проблемы с обновлением/установкой могут быть если:
- система давно не обновлялась
- система неправильно обслуживается (см. выше про Грамотное обращение)

В редких случаях пакет просто не компилируется. На самом деле это проблема не Gentoo, а тех, кто писал этот софт. И в подавляющим большинстве случаев это не является проблемой, и вот почему. Если это обновление, то можно продолжить процесс запустив emerge с параметрами --resume --skipfirst - он обойдет проблемный пакет, пересчитает зависимости чтобы система осталась консистентной, и продолжит обновление (а можно изначально передать параметр --keep-going, тогда это будет происходить автоматически, прерываний вообще не будет). Если пакет критичен, можно установить предыдущую версию, которая компилировалась (а проблемную замаскировать чтобы пакетный менеджер ее не видел).

Что может заблокировать обновление полностью:
- просьба пакетного менеджера поменять флаги пакета. При этом emerge предлагает сделать это автоматически, но лично я предпочитаю делать вручную. Для ручного способа, решается добавлением строчки в package.use
- просьба пакетного менеджера задать лицензию. Это валидно только для не-свободных лицензий, например EULA, Skype, Adobe Flash и т. п. Если мы говорим имено про обновление, то такое бывает только когда лицензия обновляется, что бывает очень редко (как много у вас пакетов под не-свободной лицензией, и как часто они меняют лицензию?). Решается добавлением одного слова в make.conf
- просьба пакетного менеджера размаскировать пакет. По моему опыту нужно не размаскировывать, а наоборот замаскировывать пакеты, которые тянут замаскированные зависимости. Это, да, требует минут 5-10 на разобраться. Но, если только у вас нет смешения веток и live пакетов, такой вариант случается раз в пятилетку.
- сложные блокировки. Большинство блокировок пакетный менеджер разрешает сам; по моим наблюдениям, качество данного механизма значительно улучшилось пару лет назад. Из своего опыты скажу, что (учитывая частые обновления) блокировок, которые бы совсем останавливали обновление я уже не видел года 1.5. Но если они есть, то это действительно сложный кейс.

Иными словами, при порядке в системе, кейсы, которые требуют значительного времени и напряжения уственых усилий (сложные блокировки, замаскированные зависимости) случаются раз в несколько лет; кейсы, которые решаются за пару минут - раз в несколько месяцев.

Миф #5 В Gentoo нет бинарных пакетов
Краткий ответ: Есть там, где это действительно нужно.

Детальный ответ
29 декабря 2023 года было официально объявлено о релизе бинарного варианта Gentoo: Gentoo становится бинарным / https://www.gentoo.org/news/2023/12/29/Gentoo-binary.html Также есть Calculate Linux - полностью бинарный форк Gentoo.
С самого начала в «классическом» Gentoo в основном репозитории всегда были несколько бинарных пакетов: libreoffice-bin, firefox-bin, некоторые другие. Связано это с тем, что из исходников они очень долго компилируются, и иногда проще поставить бинарник.
Бинарный пакет можно сделать самому командой quickpkg --include-config y <установленный пакет> - удобно для бекапов.
Но стоит обратить внимание на то, что при использовании бинарных пакетов пропадают те главные особенности, ради которых имеет смысл выбирать Gentoo. Если вам нужен уже скомпилированный софт, возможно вам имеет смысл присмотреться к другим дистрибутивам.

FAQ

#1 Установка на слабый компьютер
Смотря что есть слабый компьютер.
Из собственного опыта: Intel Core2 Duo 6600 @ 2.40GHz, 2Gb RAM + 4Gb swap хватало для комфортной работы в Gentoo.
Зачастую ebuld'ы содержат информацию о том, сколько нужно памяти для компиляции пакета. TOP 5:
16G - chromium
8G - ledger, isabelle
7G - ceph
6G - firefox x64 (для x32 нужно 3G), pypy x64 (для x32 нужно 3G)
5G - electron
Если компьютер и вправду слабый, то лучше выбрать не Gentoo (точнее не-source-based дистрибутив). Альтернатива - можно вынести компиляцию на другой «не-слабый» компьютер с помощью distcc.


Опрос 2021: Какую операционную систему и/или дистрибутив GNU/Linux вы используете на ПК?
Опрос 2018: Какой ОС вы пользуетесь на основном ПК?
Опрос 2017: Какую ОС вы используете на основном ПК?
Опрос 2014: Какой дистрибутив вы используете на десктопе?
W3Tech стастика дистрибутивов на серверах
Отличия дистрибутивов, время работы ноутбука
Чем удобны USE флаги
Сколько памяти нужно для РАБОТЫ Gentoo (сколько нужно для компиляции было указано выше)
Сколько места на диске нужно для Gentoo
Правильное полное обновление Gentoo, Мой скрипт ежедневного обновления, Еще вариант
Gentoo для девелоперов
Практика инсталляции Gentoo: в двух словах простым языком
Небольшой скрипт - сборка livecd

 

Kroz
()

[ubuntu][LCD] Чтобы ШГ были ШЗ - что включить?

Форум — Desktop

Имею включенные опции
/etc/fonts/conf.d:

10-antialias.conf
10-hinting.conf
10-hinting-slight.conf
11-lcd-filter-lcddefault.conf
20-fix-globaladvance.conf
20-unhint-small-vera.conf
30-defoma.conf
30-metric-aliases.conf
30-urw-aliases.conf
40-nonlatin.conf
45-latin.conf
49-sansserif.conf
50-enable-terminus.conf
50-user.conf
51-local.conf
53-monospace-lcd-filter.conf
60-latin.conf
65-fonts-persian.conf
65-nonlatin.conf
69-unifont.conf
70-no-bitmaps.conf
80-delicious.conf
90-synthetic.conf
99pdftoopvp.conf

Из всех возможных
/etc/fonts/conf.avail:

10-antialias.conf
10-autohint.conf
10-hinting.conf
10-hinting-full.conf
10-hinting-medium.conf
10-hinting-slight.conf
10-no-sub-pixel.conf
10-sub-pixel-bgr.conf
10-sub-pixel-rgb.conf
10-sub-pixel-vbgr.conf
10-sub-pixel-vrgb.conf
10-unhinted.conf
11-lcd-filter-lcddefault.conf
20-fix-globaladvance.conf
20-unhint-small-vera.conf
25-unhint-nonlatin.conf
29-language-selector-ko-kr.conf
30-cjk-aliases.conf
30-metric-aliases.conf
30-urw-aliases.conf
40-nonlatin.conf
45-latin.conf
49-sansserif.conf
50-enable-terminus.conf
50-user.conf
51-local.conf
53-monospace-lcd-filter.conf
60-latin.conf
65-fonts-persian.conf
65-khmer.conf
65-nonlatin.conf
69-language-selector-ja-jp.conf
69-language-selector-ka-ge.conf
69-language-selector-ko-kr.conf
69-language-selector-zh-cn.conf
69-language-selector-zh-hk.conf
69-language-selector-zh-mo.conf
69-language-selector-zh-sg.conf
69-language-selector-zh-tw.conf
69-unifont.conf
70-force-bitmaps.conf
70-no-bitmaps.conf
70-yes-bitmaps.conf
80-delicious.conf
90-synthetic.conf
99-language-selector-zh.conf

Ощущение что шрифты немного «мыльные».
Что посоветуете включить/отключить чтобы шрифты сделать з@%бись?

 ,

Novator
()

Переходим на SAMBA всем ЛОРом

Форум — Talks

SAMBA — это новый стандарт файлообмена, Linux 5.15 ещё не релизнулось, но уже сейчас можно скачать Linux 5.15-6rc, запустить make menuconfig и включить SMB_SERVER в разделе File systems > Network File Systems.

# uname -a
Linux host 5.15.0-rc6 #1 SMP Mon Oct 18 13:12:46 MSK 2021 x86_64 Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz GenuineIntel GNU/Linux
# crux
CRUX version 3.6
# cat /boot/config-5.14.15-rc6 | grep SMB_SERVER
CONFIG_SMB_SERVER=m
CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=y
# CONFIG_SMB_SERVER_KERBEROS5 is not set

Ребята молодцы, сервер для файлообмена прямо в ядре, теперь расшарить файлы между устройствами — вообще не вопрос, просто запускаешь сервер в ядре и вот оно, корневая файловая система как на ладони.

А для запуска требуется всего-то доустановить ksmbd-tools, набор утилит для управления самба-сервером из юзерспейса, — из зависимостей у неё только glib (не путать с glibc) и libnl.

Pkgfile для CRUX, rc.d скрипт запуска

# modprobe ksmbd
# mkdir /etc/ksmbd
# wget -O /etc/ksmbd/smb.conf https://raw.githubusercontent.com/namjaejeon/ksmbd-tools/master/smb.conf.example
# ksmbd.adduser -a username
# ksmbd.mountd

Заходим с любого Windows-устройства и видим работающую шару, ура!

Забудьте про scp+tar и прочие мучения. Всем рекомендую!

 ,

Spoofing
()

Арч для девелоп. Юзабелен ли?

Форум — Desktop

После новости о том, что steamOS перешла на арч, я подумал, что не просто так они на него перешли и подумал «а чем я хуже?» =). Реально есть опыт и генту и nixos и debian. Но меня интересует прежде всего стабильность т.к надо работу работать, а не баги чинить. Насколько сейчас в этом плане arch? Ясно, что он роллинг и что там постоянно всё обновляется, можно как-то зафиксировать версии по и как там вообще с этим всем быть?

 

serg002
()

Износ SSD

Форум — Desktop

В общем, решил у ноутбука (пользуюсь три года, но не как основной) проверить как там поживает SSD. Запустил smartctl и увидел там

Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%

это баг или я правда так не использовал диск? swappiness стоит в 1,также включен fstrim.timer, ну и в общем стараюсь на ssd лишнего не заливать. Такое количество записи много или мало:

Data Units Read:                    864,942 [442 GB]
Data Units Written:                 2,900,425 [1.48 TB]

 , ,

snake266
()

Firefox, плавная прокрутка. Рецепт кому нужно

Форум — Desktop

В связи с выходом Firefox 92 с поддержкой WebGL, решил его попробовать. Первое на что обратил внимание - рваная прокрутка мышкой. Пришлось искать лекарство, нашёл здесь. Прокрутка действительно стала приятной. Непонятно только, как это сделать одним махом, используя prefsCleaner:

/// user.js tweaked preferences for Firefox by AveYo
/// place in your profile root directory (see about:profiles) & run prefsCleaner from github /arkenfox/user.js
 
////  NATURAL SMOOTH SCROLLING                                                                     preset             info               [default]
user_pref("mousewheel.acceleration.factor", 5);                                            // NSS     5        ACCEL MAX SPEED 1-20           [10]
user_pref("mousewheel.acceleration.start", 4);                                             // NSS     4        accel after x ticks            [-1]
user_pref("mousewheel.default.delta_multiplier_x", 100);                                   // NSS   100           reset previous             [100]
user_pref("mousewheel.default.delta_multiplier_y", 100);                                   // NSS   100           reset previous             [100]
user_pref("mousewheel.default.delta_multiplier_z", 100);                                   // NSS   100           reset previous             [100]
user_pref("mousewheel.system_scroll_override_on_root_content.enabled", false);             // NSS  false       ignoring sys accel           [true]
user_pref("mousewheel.transaction.timeout", 1500);                                         // NSS  1500           reset previous            [1500]
user_pref("mousewheel.min_line_scroll_amount", 0);                                         // NSS     0       lines vary with accel            [5]
user_pref("toolkit.scrollbox.horizontalScrollDistance", 3);                                // NSS     3       keyboard matches mwheel          [5]
user_pref("toolkit.scrollbox.verticalScrollDistance", 3);                                  // NSS     3       keyboard matches mwheel          [3]
user_pref("layers.async-pan-zoom.enabled", true);                                          // NSS  true          smoothness boost           [true]
user_pref("apz.force_disable_desktop_zooming_scrollbars", true);                           // NSS  true          keyboard fix I            [false]
user_pref("apz.paint_skipping.enabled", false);                                            // NSS  false         keyboard fix II v85        [true]
user_pref("dom.event.wheel-deltaMode-lines.always-disabled", true);                        // NSS  true       report wheel in pixels       [false]
user_pref("layout.css.scroll-behavior.spring-constant", "300.0");                          // NSS  "300"      css mimics gecko scroll        [250]
user_pref("general.smoothScroll.mouseWheel.migrationPercent", 100);                        // NSS   100      lame pref wreks settings        [100]
user_pref("general.smoothScroll.msdPhysics.enabled", false);                               // NSS  false        no stutering fling         [false]
user_pref("general.smoothScroll.currentVelocityWeighting", "0.0");                         // NSS  "0.0"          reduce stutter            [0.25]
user_pref("general.smoothScroll.durationToIntervalRatio", 400);                            // NSS   400           reduce stutter             [200]
user_pref("general.smoothScroll.stopDecelerationWeighting", "0.0");                        // NSS  "0.0"          reduce stutter             [0.4]
user_pref("general.smoothScroll.lines.durationMaxMS", 300);                                // NSS   300          arrows smoothing            [150]
user_pref("general.smoothScroll.lines.durationMinMS", 300);                                // NSS   300          arrows smoothing            [150]
user_pref("general.smoothScroll.mouseWheel.durationMaxMS", 300);                           // NSS   300          mwheel smoothing            [200]
user_pref("general.smoothScroll.mouseWheel.durationMinMS", 300);                           // NSS   300          mwheel smoothing             [50]
user_pref("general.smoothScroll.other.durationMaxMS", 150);                                // NSS   150          home-end smoothing          [150]
user_pref("general.smoothScroll.other.durationMinMS", 150);                                // NSS   150          home-end smoothing          [150]
user_pref("general.smoothScroll.pages.durationMaxMS", 200);                                // NSS   200         pgup-pgdn smoothing          [150]
user_pref("general.smoothScroll.pages.durationMinMS", 200);                                // NSS   200         pgup-pgdn smoothing          [150]
user_pref("general.smoothScroll.pixels.durationMaxMS", 300);                               // NSS   300           pixel smoothing            [150]
user_pref("general.smoothScroll.pixels.durationMinMS", 300);                               // NSS   300           pixel smoothing            [150]
user_pref("general.smoothScroll.scrollbars.durationMaxMS", 500);                           // NSS   500         scrollbar smoothing          [150]
user_pref("general.smoothScroll.scrollbars.durationMinMS", 500);                           // NSS   500         scrollbar smoothing          [150]
источник

PS: Сори за длинный код, lorcode [ cut ] почему-то не работает...

 ,

Windows
()

Тормоза системы во время проверки RAID

Форум — General

Приветики.

Имею убунточку и софтовый RAID5 из дисков.
Периодически у убунточки случается systemd:

 Feb  6 02:47:26 RERE-pc systemd[1]: Starting MD array scrubbing...
 Feb  6 02:47:26 RERE-pc root: mdcheck start checking /dev/md0
 md0 : active raid5 sdb[0] sdi[4] sdh[3]
      1953260544 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
      [=========>...........]  check = 49.4% (482526908/976630272) finish=50.2min speed=163842K/sec
    TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND        
    274 be/4 root        0.00 B/s    0.00 B/s  0.00 % 72.14 % [md0_raid5]

Мя как бы и не против, проверка - дело нужное, но при этом время отклика ФС падает драматически, открытие папки может занимать 2-3 секунды, и продолжается такой цирк около двух часов.

У RAID планировщик выставлен как none (так понимаю, это теперь noop?), у дисков - mq-deadline.

Интернеты предлагают офигенные советы вроде «ограничить скорость raid'a на время синхронизации», «обновить прошивку дисков» или «сделать бочку». Можно ли предпринять что-то более нацеленное на результат - поиграться с планировщиками, выставить ionice процессу синхронизации, купить материнку с SATA 3?

 , , ,

sislochka
()

devuan не устанавливает nvidia-340xx

Форум — General

вот выхлоп: При обработке следующих пакетов произошли ошибки: nvidia-persistenced E: Sub-process /usr/bin/dpkg returned an error code (1)

 , ,

hamsterxp
()