LINUX.ORG.RU

Сообщения debugger

 

Покупка электроники в американских интернет-магазинах

Форум — Talks

Ответвление этой темы и ответ на удалённый комментарий @vbcnthfkmnth123:

Я был бы рад купить современный клон IBM Model M, но есть две проблемы:

  1. Оплата.
  2. Доставка.

Недавно я интересовался этим, и нагуглил что СДЭК занимается майл-форвардингом из Штатов, и он же предлагает посредников для оплаты (правда, за них не отвечает, но это отдельная тема). Однако, выяснились две проблемы:

  1. Они не доставляют вещи дороже 300 евро.†
  2. Они не доставляют электронику.

Да, я задавал им вопрос, они ответили что клавиатура — это электроника.

Вопросы: Какие способы оплаты в американских магазинах сейчас доступны российским гражданам и резидентам? Какие способы доставки из Штатов доступны тем же категориям населения?


† Лимит в 300 евро не затрагивает современный клон IBM Model M, но может затрагивать клон IBM Model F — цены на последний начинаются с $400.

 shopping in us

debugger
()

Какие возможности QMK вы пользуете? От каких отказались?

Форум — Linux-hardware

Пришлось мне купить на днях «механическую клавиатуру». Поскольку я не вижу смысла в кнопке Fn, а найти механическую клавиатуру без такой кнопки мне не удалось, пришлось искать клавиатуру, которая работает под управлением QMK (QMK позволяет переопределить клавиши). Нашёл, купил.

Как оказалось, искал клаву с QMK я не зря, т. к. производители клавиатуры, кроме замены нужной кнопки Menu (которую можно обработать в софте на компе) на ненужную Fn (которую нельзя обработать в софте на компе), ещё умудрились вместо Scroll Lock воткнуть кнопку, которая софтом компа распознаётся как Win+C (в доке писали про Кортану — это что-то на мелкософтовском), а кнопка Pause/Break софтом вообще не распознаётся, т. к. включает и выключает подсветку клавиатуры. (Подсветка клавиатуры — вещь, на мой взгляд, тоже бесполезная, но это другая тема.)

Так вот, при помощи QMK мне удалось избавиться от всех клавиатурных свистоперделок. В процессе пришлось ознакомиться с возможностями QMK. Что сказать? Мужики наворотили богато. Можно и так, и сяк, и так, и эдак, и с кандибобером, и на рояле… Настроек больше чем в Кедах. Но… У меня сложилось впечатление, что большинство возможностей с теоретической точки зрения интересные, но с практической какие-то не очень нужные (имхо оф кос.)

Единственное, что мне показалось полезным — дать вторую функцию модификаторам. Другими словами, различать tap (быстрый удар по клавише) и hold (долгое удерживание клавиши, особенно в комбинации с другой клавишей). Например, можно сделать так, что при ударе по шифту получится скобка (по левому — открывающая, по правому — закрывающая), а при нажатии шифт+другая клавиша шифт является самим собой.

Показалась интересной идея «автошифт» (это разновидность tap/hold): При коротком нажатии (tap) на алфавитно-цифровую клавишу, например, A, выдаётся клавиша A (ввод символа «a»), а при долгом нажатии (hold) на ту же клавишу выдаётся комбинация Shift+A (ввод символа «A»). Я, правда, не сильно уверен что это будет хорошо работать на практике — сколько времени будет происходить привыкание, как много будет ошибок a/A и как потом работать на клавиатуре без такой штуки?

С другой стороны, те люди, которые писали все эти тонны возможностей, писали их для себя, то есть нашли их полезными. Может, я просто не вижу как применить на практике эти возможности?

Отсюда вопросы: Есть тут обладатели клавиатур на QMK? Какими возможностями QMK вы пользуетесь (кроме свето- и цветомузыки)? Какие возможности вы пробовали, но в последствии отказались? Почему? Поделитесь опытом.

Да, забыл сказать: у меня полноразмерная «100%» клавиатура.

 ,

debugger
()

Защита домашнего свитча от кратковременных провалов напряжения

Форум — Linux-hardware

У нас в доме случаются кратковременные (доли секунды) провалы напряжения. Многие приборы вообще не замечают этих провалов и продолжают работать (например, роутер NetGear), но свитч D-Link, зараза, после такого провала повисает, приходится идти ногами, выключать его из розетки и заново включать. Как-то это поднадоело.

Нельзя ли решить проблему, воткнув между блоком питания (7.5 вольт, 1.5 ампера) и свитчом электролитический конденсатор? Вот так:

 + o-----------------------+----------------o
БП                         |                  Свитч
 - o                       |                o 
   |                      +|                |
   |                      === C1            |
   |                       |                |
   +-----------------------+----------------+

C1 — конденсатор.

Какой ёмкости конденсатор взять? Конденсатор бо́льшей ёмкости будет лучше сглаживать провалы напряжения, что вроде бы хорошо, но в момент включения питания он будет бо́льше нагружать блок питания, что не очень. Я без понятия есть ли в блоке питания защита по току. Блок довольно большой и тяжёлый по нынешним меркам — в розетке еле держится.

Будет ли работать вот такая наивная схема для защиты блока питания во время включения?

 + o-------+--->|-------------------+-------o
БП         |   D1                   |         Свитч
 - o       +--->|---[R1]---+--->|---+       o 
   |           D2          |   D3           |
   |                      +|                |
   |                      === C1            |
   |                       |                |
   +-----------------------+----------------+

D — диоды, R1 — резистор.

Если блок питания в нормальном режиме выдаёт 7.5 при 1.5 амперах, то нормальное сопротивление нагрузки получается 5 ом. Я думаю взять R1 где-нибудь ом в 50 (или 100), тогда по этому участку цепи максимальный ток не будет более 0.15 А (0.075 А), и потенциальная перегрузка блока питания будет всего процентов 10 (или 5). Конденсатор — какой найду, чем больше, тем лучше… Диоды, видимо, сгодятся практически любые.

В моих рассуждениях есть какие-то фатальные ошибки?

 , провал напряжения

debugger
()

7.1 Ответ на некорректное сообщение (авто, уровень 0) (-2)

Форум — Linux-org-ru

Я понял: это намёк, я всё ловлю на лету, но непонятно что конкретно ты имела ввиду?
— Несчастный случай

Я получил два уведомления:

  • 7.1 Ответ на некорректное сообщение (авто, уровень 0) (-2)
  • 7.1 Ответ на некорректное сообщение (авто, уровень >1) (0)

Не могли бы вы перевести их на понятный простому юзеру язык? Что имеется ввиду? Это моё сообщение некорректное? Или я ответил корректно на некорректное сообщение? Что значит уровень 0 и уровень > 1? Какой уровень лучше, 0 или >1? Это уровень сообщения, ответа, или IQ? Если IQ, то чей? Того AI, который посылал мне эти уведомления? Что есть (-2) и (0)? Чем мне это грозит? Какая реакция от меня ожидается?

 ,

debugger
()

Установка дополнительных пакетов в Live Linux Mint.

Форум — Admin

Дебианщики, убунтоводы, и мятоеды, объясните простыми словами, что делает apt-get update, когда он нужен и когда не нужен?

Я для тестирования своей проги скачиваю и запускаю в виртуалке Живые СиДи (Live CD) разных дистров. Для сборки приходится устанавливать дополнительные пакеты.

Для Дебиана работают такие команды:

$ sudo apt-get update
$ sudo apt-get install <список пакетов>

(Эти же команды годятся для Альта.)

Для Убунты (которая основана на Дебиане) надо добавить репу, а далее, как в Дебиане:

$ sudo add-apt-repository universe
$ sudo apt-get update
$ sudo apt-get install <список пакетов>

В Минте 21.1 (который основан на Убунте, которая основана на Дебиане) убунтовская последовательность команд не работает, apt-get update завершается ошибками:

$ sudo apt-get update
Ign:1 cdrom://Linux Mint 21.1 _Vera_ - Release amd64 20221217 jammy InRelease
Err:2 cdrom://Linux Mint 21.1 _Vera_ - Release amd64 20221217 jammy Release
  Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs
Hit:3 http://security.ubuntu.com/ubuntu jammy-security InRelease
Ign:4 http://packages.linuxmint.com vera InRelease
Hit:5 http://archive.ubuntu.com/ubuntu jammy InRelease
Hit:6 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:7 http://packages.linuxmint.com vera Release
Hit:8 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Reading package lists...
E: The repository 'cdrom://Linux Mint 21.1 _Vera_ - Release amd64 20221217 jammy Release' does not have a Release file.

Запуск рекомендованной apt-cdrom:

$ sudo apt-cdrom add

завершается успешно, но на apt-get update влияния не оказывает, тот всё так же завершается ошибками.

В то же время, если я не запускаю apt-get update, то последующий apt-get install ставит всё что надо.

А в предыдущем Минте 21 установка пакетов не работает ни с apt-get update, ни без него. Без апдейта что-то вроде «Failed to fetch http://archive.ubuntu.com/…», с апдейтом

The repository 'cdrom://Linux Mint 21 _Vanessa_ - Release amd64 20220726 jammy Release' does not have a Release file.

Это я делаю что-то не так, или в Живом СиДи Минта накосячено с каким-то там «Release» файлом?

Я читал ман на apt-get update — эта команда только выкачивает из реп инфу о пакетах — выглядит безобидно и безопасно.

 , , ,

debugger
()

Вышел Таппер 0.7.1

Новости — Open Source
Группа Open Source

Вчера, 15 декабря 2022 года, тихо и незаметно вышел в свет Таппер 0.7.1, открытый переключатель раскладок клавиатуры.

О программе

Таппер — переключатель раскладок клавиатуры для Иксов и Вайланда. Таппер работает в фоновом режиме, и при ударе по назначенной клавише Таппер включает соответствующую ей раскладку клавиатуры. Особенность Таппера заключается в использовании клавиш-модификаторов для включения раскладок без потери функций модификаторов.

Удар — нажатие и быстрое отпускание клавиши, при этом:

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

( читать дальше... )

>>> Сайт Таппера

 , ,

debugger
()

Вывод таблиц

Форум — Linux-org-ru

Справка по маркдауну говорит о том, что на ЛОРе можно использовать таблицы.

Проблема в том, что таблицы отображаются по-разному. При предпросмотре таблица растянута на всю ширину экрана, есть горизонтальные разделительные линии (все, кроме последней). В буфере неподтверждённых сообщений таблица не растянута на всю ширину экрана; горизонтальных разделительных линий нет; столбцы не имеют внешних полей (margin), а ячейки не имеют внутренних полей (padding), так что текст в соседних ячейках таблицы в строке «склеивается»; следующий абзац за таблицей следует впритык к таблице, без межабзацного интервала. Кто-то что-то в стилях напутал.

Два изображения сказали бы больше, но ЛОРе нет хостинга изображений.

 , ,

debugger
()

Пара вопросов по KDE

Форум — Development

Вопрос № 1: Как в KDE прочитать (программно) значения из System Settings? Конкретно интересует значение System Settings → Input Devices → Keyboard → Hardware → Delay. Есть ли возможность прочитать его, не используя библиотеки Qt? Идеально было бы вытащить его через D-Bus.

Вопрос № 2: Как в KDE издать (программно) «бульк»? Типа того, который звучит при echo -e '\a' в терминале. Есть ли возможность издать «бульк», не используя библиотеки Qt? Идеально было бы издать звук через D-Bus.

 , , ,

debugger
()

Где взять apk для Яндекс-Такси?

Форум — Mobile

Есть у меня не новый смартфон. Производитель на него болт забил, обновлений не выпускает. Я поставил на него линейку (LineageOS), всё бы нормально, но есть проблема: мне нужно Яндекс-Такси.

В линейке гугломагазин отсутствует. F-Droid меня устраивает, но в нём нет Яндекс-Такси.

На сайте самого Яндекс-Такси ссылки «скачать приложение» ведут на QR-код, который редиректит в play.google.com, а там я не нашёл способа скачать apk.

Пробовал Yalp Store (это какой-то альтернативный клиент к гугловскому магазину приложений), со встроенным аккаунтом ошибка (Could not log in with the built-in account), с моим — тоже.

Качать Яндек-Такси с левых сайтов как-то не хочется — приложуха доступ к кредитке имеет.

Есть ли какой-то способ скачать apk из play.google.com?

Если поставить LineageOS for MicroG, то будет ли работать гугломагазин? Я не понял, там альтернативные реализации гуглосервисов или только заглушки?

 , , ,

debugger
()

Вышел Tapper 0.6.0

Новости — Open Source
Группа Open Source

Вчера, 1 июня 2022 года, тихо и незаметно вышла в свет версия Tapper 0.6.0, открытого переключателя раскладок клавиатуры. Событие не особо значительное, но на ЛОРе есть несколько пользователей этой программы.

О программе

Tapper — открытый переключатель раскладок клавиатуры для X Window System и Wayland. Tapper работает в фоновом режиме, и при ударе по назначенной клавише Tapper включает соответствующую ей раскладку клавиатуры. Особенность Tapper заключается в использовании клавиш-модификаторов для включения раскладок без потери функций модификаторов. Первичная платформа Tapper — Gnome, работающий поверх X Window System или Wayland в текущей версии Fedora, но Tapper также годится для Cinnamon, GNOME Classic, KDE, LXDE, LXQt, MATE, Xfce, работающих поверх X Window System в других дистрибутивах GNU/Linux. RPM-пакеты сформированы для дистрибутивов Fedora, Mageia, openSUSE, Rad Hat и её клонов.

Удар — нажатие и быстрое отпускание клавиши, при этом:

  • никакие другие клавиши не должны быть нажаты

  • период между нажатием и отпусканием должен быть короче задержки перед включением автоповтора (обычно автоповтор включается, если клавиша удерживается более половины секунды, это зависит от настроек системы).

Что нового в этой версии

  1. Теперь для работы в Gnome 41 (и более свежих) не требуется включать Unsafe Mode (путём установки расширений Unsafe Mode или Unsafe Mode Enabler). Однако, вместо этого требуется установка расширения Agism. Нет, это не замена шила на мыло: Agism не открывает бэкдор (Unsafe Mode) для бесконтрольного доступа к внутренностям Gnome, а предоставляет специальное окно, через которое можно только посмотреть список раскладок и/или активировать одну из них.

  2. Tapper теперь может эмулировать нажатия клавиш. Функциональность для переключалки клавиатурных раскладок, казалось бы, лишняя, но она предоставляет дополнительные функции, которые укладываются в изначальную идею Tapper — дать клавишам-модификаторам вторую функцию. Например, с помощью Tapper Menu может быть одновременно и «клавишей выбора 3-го ряда» (если нажата в комбинации с другой клавишей) и клавишей Compose (при ударе по клавише), правый Аlt при этом может быть просто альтом, симметричным левому. Второй пример: «выбор 3-го ряда» и Compose повесить на правый Alt, а клавише Menu вернуть её «исконную» функцию открытия контекстного меню. См. примеры.

  3. Теперь Tapper сбрасывает привилегии, если они не требуются для работы. Например, в X Window System, Tapper работает от имени запустившего его пользователя. См. детали.

>>> Подробности

 ,

debugger
()

«Виртуальный шрифт» в fontconfig.

Форум — Desktop

Поставил я себе известный шрифт Iosevka. Вернее, семейство шрифтов («family»), в которое входит куча стилей: 9 «весов» (Thin, ExtraLight, Light, Regular, Medium, SemiBold, Bold, ExtraBold, Heavy), 3 наклона (Upright, Oblique, Italic), 2 ширины (Normal, Extended), всего 54 шрифта.

Но оказалось, многие программы с таким разнообразием работать не вполне умеют.

Например, редактор Geany позволяет выбрать любой шрифт из 54, но из выбранного шрифта используется только «family» и херится «style», т. е. при выборе любой ёсевки реально будет использоваться Iosevka Regular (Upright, Nornal). То есть я выбираю «Iosevka Extended», а текст отображается «Iosevka Regular» (это ещё полбеды, см. ниже).

Второй пример ещё хуже: Gnome Terminal. Этот в диалоге выбора шрифта показывает не 54 шрифта, а одну фамилию (т. е. Iosevka), и при выборе этой ёсевки реально используется Iosevka Thin (Upright, Normal), буквы в котором настолько тонкие, что их почти не видно.

Некоторые программы ведут себя более прилично. Gedit, к примеру, херит только наклон, и всегда рисует прямым шрифтом, даже если выбран италик, но уважает вес и ширину выбранного шрифта.

Баги на Geany и Gnome Terminal я повешу, а меж тем хотелось бы сделать какой-нить костыль, так как на скорое решение проблемы рассчитывать не приходится.

(Кстати, вместо Gnome Terminal можно использовать Tilix — у него проблем со шрифтами не наблюдается.)

Я подумал, костыль можно сделать с помощью fontconfig. Он, вроде бы, как раз и предназначен для таких костылей. Я нарисовал вот такой файл:

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
    <match>
        <test name="family">
            <string>Iosevka Wide</string>
        </test>
        <edit name="family" mode="assign">
            <string>Iosevka</string>
        </edit>
        <edit name="style" mode="assign">
            <string>Extended</string>
        </edit>
    </match>
</fontconfig>

Теперь если приложение запрашивает шрифт с family == «Iosevka Wide», то fontconfig отдаёт ей «Iosevka» (family) «Extended» (style).

Но костыль получился неполноценный. Если в конфиге Geany я ручками пропишу шрифт «Iosevka Wide», то всё работает как надо. Но если я в редакторе пойду View → Change Font, то в диалоге выбора шрифта 54 варианта ёсевки есть, но «Iosevka Wide» нет. :-( В Gnome Terminal аналогично: «Iosevka Wide» в диалоге выбора шрифта нет. (В Gedit тоже нет (но там и не надо).) Видимо, алиасы в диалоге выбора шрифта не отображаются.

Собственно, вопрос: Как сделать э-э-э… «виртуальный шрифт», который отображается в диалоге выбора шрифта, но который реально не существует, а является алиасом для другого?

 ,

debugger
()

Долгое монтирование btrfs раздела.

Форум — Admin

В продолжение этой темы.

Есть два одинаковых диска, различаются только серийным номером. Куплены в одно время, наработка примерно одинаковая. Объём 2 TB. Интерфейс дисков SATA 3.0 6.0 Gb/s, но подключены к портам 3.0 Gb/s на маме. smart у обоих похож; на мой взгляд, ничего криминального. Разметка (почти) одинаковая: GPT, по одному разделу на весь диск (начиная с сектора 2048, конец слегка разный: 3907028991 vs 3907029134 — я уже не помню, почему). Содержимое дисков одинаковое: 53290 файлов и каталогов, общим объёмом под 2 TB (на самом деле на втором диске на один файл/каталог больше: там есть lost+found). Все файлы скопированы с первого диска на второй при помощи rsync -aX. На первом диске btrfs, на втором — ext4. На первом диске свободно 62 GB (мелочь, а приятно), на втором — 0 (это понятно: Reserved block count: 24418919). Главное: первый диск монтируется 15 секунд, второй — моментально:

# time mount /dev/sdc1 /mnt/tmp
real    0m15.009s
user    0m0.002s
sys	    0m0.134s

# time mount /dev/sde1 /mnt/tmp
real    0m0.132s
user    0m0.002s
sys     0m0.026s

Размонтирование тоже различается: первый — около 5 секунд, второй — моментально.

Не то чтоб для меня это было критично, но просто любопытно: Это нормально?

Кстати, перед тем, как создать на втором диске ext4, я на нём же делал brtfs. Новенькая и пустая btrfs монтируется моментально.

 , ,

debugger
()

Кнопки «Предпросмотр» и «Сохранить в черновики» не работают, пока не заполнены «Заглавие» и «Метки»

Форум — Linux-org-ru

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

 ,

debugger
()

systemd: services wanted by multi-user.target

Форум — Admin

UPDATE: systemd норм, я лох; btrfs диски долго монтируются, но про это отдельно. Тема закрыта.


systemd-хейтеров прошу пройти мимо, не засирать тему.

Решил я ускорить загрузку системы. Для начала посмотрел что её тормозит:

# systemd-analyze critical-chain
graphical.target @18.585s <<<=== LOOK AT THIS <<<===
└─multi-user.target @18.585s
  └─apcupsd.service @18.576s +7ms
    └─network-online.target @18.575s
      └─NetworkManager-wait-online.service @11.740s +6.833s
        └─NetworkManager.service @11.694s +44ms
          └─network-pre.target @11.693s
            └─firewalld.service @10.930s +762ms
              └─polkit.service @11.225s +152ms
                └─basic.target @10.926s
                  └─dbus-broker.service @10.991s +139ms
                    └─dbus.socket @10.922s
                      └─sysinit.target @10.916s
                        └─systemd-update-utmp.service @10.906s +9ms
                          └─auditd.service @10.861s +41ms
                            └─systemd-tmpfiles-setup.service @10.786s +72ms
                              └─local-fs.target @10.782s
                                └─mnt-.transmission.mount @2.362s +8.418s <<<=== LOOK AT THIS <<<===
                                  └─local-fs-pre.target @2.360s
                                    └─systemd-tmpfiles-setup-dev.service @874ms +32ms
                                      └─kmod-static-nodes.service @829ms +11ms
                                        └─systemd-journald.socket
                                          └─system.slice
                                            └─-.slice

Менюшка логина появляется на 19-той секунде, не слишком быстро. Почти 7 секунд NetworkManager ждал когда интернет появится, но сейчас не об этом. В данный момент меня интересует mnt-.transmission.mount, который съел 8 секунд. Вот этот юнит:

# systemctl cat mnt-.transmission.mount
[Unit]
Description = Transmission storage disk
Before      = transmission-daemon.service
[Mount]
Type  = btrfs
What  = /dev/disk/by-uuid/84ebf9fc-dbd0-4a29-a38f-109e71957dee
Where = /mnt/.transmission
[Install]
RequiredBy = transmission-daemon.service

Монтирование двухтерабайтного диска и вправду занимает 8 секунд:

# time systemctl start mnt-.transmission.mount
real    0m8.389s
user    0m0.008s
sys     0m0.005s

Ладно, пробую сделать ленивое монтирование, авось поможет. Добавляю .automount:

# systemctl cat mnt-.transmission.automount
[Unit]
Description = Transmission storage disk
Before      = transmission-daemon.service
[Automount]
Where = /mnt/.transmission
[Install]
RequiredBy = transmission-daemon.service

Далее:

# systemctl disable mnt-.transmission.mount
# systemctl enable mnt-.transmission.automount
# reboot

Результат:

# systemd-analyze critical-chain
graphical.target @14.081s
└─multi-user.target @14.081s
  └─transmission-daemon.service @3.493s +10.586s <<<=== LOOK AT THIS <<<===
    └─mnt-.transmission.mount @3.681s +8.283s
      └─mnt-.transmission.automount @2.300s
        └─local-fs-pre.target @2.299s
          └─systemd-tmpfiles-setup-dev.service @879ms +34ms
            └─kmod-static-nodes.service @833ms +13ms
              └─systemd-journald.socket
                └─system.slice
                  └─-.slice

На 4 секуднды быстрее, но всё равно как-то не быстро. Пробую убрать из mnt-.transmission.mount строчку

Before      = transmission-daemon.service

Не помогает, всё те же 14 секунд, 10 из которых сожрал transmission-daemon.service. Не он сам, конечно, это всё то же монтирование /mnt/.transmission, только теперь неявное.

Но вот вопрос: почему multi-user.target ждёт готовности transmission-daemon.service? multi-user.target про transmission ничего не знает, но transmission-daemon.service в курсе про multi-user.target:

# systemctl cat transmission-daemon.service
[Unit]
Description=Transmission BitTorrent Daemon
After=network.target
[Service]
User=transmission
Type=notify
ExecStart=/usr/bin/transmission-daemon -f --log-error
ExecReload=/bin/kill -s HUP $MAINPID
[Install]
WantedBy=multi-user.target <<<=== LOOK AT THIS <<<===

WantedBy указывает что при старте multi-user надо запустить transmission-daemon, но, вроде бы, не говорит что надо ждать его готовности… Однако:

# man systemd.target
...
Target units will automatically complement all configured dependencies of 
type Wants= or Requires= with dependencies of type After=...

Вот в чём засада: multi-user.target ждёт готовности всех сервисов, которые к нему навязавлись через WantedBy=multi-user.target.

Однако:

...unless DefaultDependencies=no is set in the specified units.

Ok, пробую добавить DefaultDependencies=no в transmission-daemon.service:

# systemctl cat transmission-daemon.service 
[Unit]
Description=Transmission BitTorrent Daemon
DefaultDependencies=no <<<=== LOOK AT THIS <<<===
After=network.target
[Service]
User=transmission
Type=notify
ExecStart=/usr/bin/transmission-daemon -f --log-error
ExecReload=/bin/kill -s HUP $MAINPID
[Install]
WantedBy=multi-user.target

Результат:

# systemd-analyze critical-chain
graphical.target @10.684s <<<=== LOOK AT THIS <<<===
└─multi-user.target @10.684s
  └─apcupsd.service @10.676s +6ms
    └─network-online.target @10.674s
      └─NetworkManager-wait-online.service @3.681s +6.992s
        └─NetworkManager.service @3.635s +43ms
          └─network-pre.target @3.633s
            └─firewalld.service @2.834s +798ms
              └─polkit.service @3.177s +144ms
                └─basic.target @2.823s
                  └─dbus-broker.service @2.921s +158ms
                    └─dbus.socket @2.806s
                      └─sysinit.target @2.785s
                        └─systemd-update-utmp.service @2.776s +8ms
                          └─auditd.service @2.728s +41ms
                            └─systemd-tmpfiles-setup.service @2.655s +67ms
                              └─local-fs.target @2.645s
                                └─run-user-1001.mount @13.492s
                                  └─local-fs-pre.target @2.445s
                                    └─systemd-tmpfiles-setup-dev.service @910ms +44ms
                                      └─kmod-static-nodes.service @858ms +20ms
                                        └─systemd-journald.socket
                                          └─-.mount
                                            └─systemd-journald.socket
                                              └─...

Опять вылез NetworkManager-wait-online.service, но transmission-daemon.service пропал! Бинго!?

Вопросы:

  1. 8 секунд на монтирование двухтерабайтного диска — это нормально? Это btrfs такой быстрый или диск медленный?

  2. Чисто теоретически: Зачем .target ждёт готовности всех сервисов, которые к нему навязались через WantedBy?

  3. Есть ли способы запустить сервис, но не дожидаться его готовности без использования DefaultDependencies=no? Хз что там ещё было в этих зависимостях по умолчанию, мне кажется, что DefaultDependencies=no — слишком грубо.

 ,

debugger
()

Синхронизация файлов с десктопа на телефон.

Форум — Mobile

Оригинал коллекции mp3 файлов лежит на десктопе, время от времени хочу перекидывать коллекцию на телефон.

Пробовал Syncthing — он не может писать файлы на флешку.

Пробовал Syncopoli — с тем же результатом. В логе вижу ошибку:

Syncopoli rsync: mkdir "/storage/000-0000/qq" failed: Permission denied (13)

(Чтобы случайно не запороть коллекцию, я сделал сихнхронизацию не в /storage/000-0000/Music, а в /storage/000-0000/qq.)

Попытка заранее создать каталог /storage/000-0000/qq не помогает — Syncopoli начинает ругаться на первый же каталог внутри /storage/000-0000/qq.

При этом приложению Syncopoli дарованы READ_EXTERNAL_STORAGE и WRITE_EXTERNAL_STORAGE. При том, что приложение Amaze (файловый менеджер) с такими же READ_EXTERNAL_STORAGE и WRITE_EXTERNAL_STORAGE каким-то образом умудряется создавать и удалять каталоги в /storage/000-0000. При этом, правда, у всех каталогов в /storage/000-0000 рисует метку rx, но это не мешает ему записывать файлы. Другой файловый менеджер, Files, тоже спокойно создаёт и удаляет файлы в /storage/000-0000.

Команда ls -l, исполненная в T-UI, рисует:

drwxr-xr-x 1 root everybody 131072 2020-05-10 02:10 qq

Та же команда, исполненная через adb shell, рисует:

drwxrwx--x 1 root sdcard_rw 131072 2020-05-10 02:10 qq

WTF?

Кто как перекидывает файлы с десктопа на телефон?

 , ,

debugger
()

Потребление ИБП в простое

Форум — Linux-hardware

ХЗ зачем купил я б/у ИБП APC Smart-UPS SMT 750. Первые несколько часов он заряжал батарею. ИБП на батарею не жалуется (говорит что менять её надо в марте следующего года), пишет, что батарея заряжена на 100%. Потребители к нему ещё не поключены (output: off). При этом ИБП кушает от сети 25 ватт! Это нормально?

 ,

debugger
()

Годная схема подсветки синтаксиса

Галерея — Скриншоты

Это пример подсветки синтаксиса C++ для треда Как сделать годную тему подсветки синтаксиса самому?.

>>> Просмотр (1297x1137, 151 Kb)

 

debugger
()

glibc strftime i18n/l10n

Форум — Development

Для тех, кто не в курсе:

strftime — POSIX-функция, которая форматирует даты и времена. Например, strftime( ..., «%d %B %Y», ...) даёт «17 January 2016» (%d — день месяца, %B — название месяца, %Y — год). Результат зависит от текущей локали, в локали ru_RU будет что-нить типа «17 Январь 2016».

Здесь есть проблема: strftime фигово интернационализирована и локализирована. «17 Январь 2016» выглядит кривенько, лучше было бы «17 января 2016».

«Поиграть» с strftime можно из командной стороки:

$ date +"%d %B %Y"
17 January 2016

$ LANG=ru_RU.UTF-8 date +"%d %B %Y"
17 Январь 2016

На эту тему в глибсишном трекере идёт базар. Коротенько тред заключается в следующем: есть предложение реализовать в глибц бсдшный костыль (%OB обозначает название месяца в родительном падеже: «%d %OB %Y» — «17 Января 2016»), я же пытаюсь пропихнуть идею что должна быть возможность получить название месяца (или дня недели) в *любом* падеже.

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

 , ,

debugger
()

Gnome 3.18: внешние переключалки клавиатуры более не работают

Форум — Desktop

Гм, э… ну, как бы сабж. Внешние переключалки клавиатуры (которые вызывают функцию xKbLockGroup) более не работают в Гноме 3.18: муттер мгновенно переключает раскладку обратно.

Я раскопал почему. История вот такая:

1. В Убунте (и, возможно, в Дебиане) поставляются патченные иксы, в которых переключение раскладок клавиатуры происходит при отпускании клавиши, а не при её нажатии. Причём этот патч не принят в апстрим (хотя патч существует не менее пяти лет).

Keyboard layout change on hotkeys press instead of release and do not work well with shortcuts
208_switch_on_release patch has been dropped although not included upstream

2. Из-за этого патча в Гноме на Убунте были проблемы с переключением раскладок, и его, гм, поправили.

Причём поправили таким чудацким образом: при получении события XkbStateNotify муттер проверяет текущую группу, и если группа не та, которую ожидает муттер, от лочит ту, которую он ожидает.

Результат этого изменения таков: все прочие переключалки клавиатуры (которые вызывают функцию XkbLockGroup) в пролёте. Я написал им, и получил ответ: не-гномовские переключалки не поддерживаются.

Ну ладно, я не прошу поддерживать не-гномовские переключалки, но я не понимаю одно: зачем включать в муттеровский *апстрим* исправление для работы с *патченными* иксами?? Дебианщики пропатчили иксы, патч в апстрим не принят, но муттер прогибается под патченные иксы… Если дебианщики патчат иксы, пусть бы уж заодно патчили и муттер…

Короче, если у вас проблемы с не-гномовой переключалкой клавиатуры в Гноме 3.18, велкам побухтеть в гномовом или красношапковом трекерах:

 , , ,

debugger
()

Wi-Fi адаптер для организации точки доступа

Форум — Linux-hardware

В доме появился первый беспроводной дивайс, нужно организовать точку доступа в квартире панельного дома. «Wi-Fi роутер» покупать не хочу, поскольку дома уже есть линуксовый сервер, который служит интернет-давалкой, файлопомойкой и торрент-качалкой — можно обойтись покупкой Wi-Fi сетевухи для сервака. Думаю купить USB-сетевуху с рогами.

Вопросы: Сетевуху которого производителя покупать? Какие производители самые беспроблемные на линуксе? Количество рогов имеет значение? На что ещё (кроме производителя/чипсета и количества рогов) обратить внимание? Есть ли у Wi-Fi сетевух WOL (wake-on-lan — включение компа при получении «волшебного» пакета)?

Вот в этой теме советовали TP-Link и не советовали D-Link и ralink. С тех пор (прошло два года) что-нибудь изменилось?

 , ,

debugger
()

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