LINUX.ORG.RU

Сообщения debugger

 

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

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

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

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

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

 ,

debugger
()

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

Дебианщики, убунтоводы, и мятоеды, объясните простыми словами, что делает 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
()

Вывод таблиц

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

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

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

 , ,

debugger
()

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

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

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

 , , ,

debugger
()

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

Есть у меня не новый смартфон. Производитель на него болт забил, обновлений не выпускает. Я поставил на него линейку (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
()

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

Поставил я себе известный шрифт 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 раздела.

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

Есть два одинаковых диска, различаются только серийным номером. Куплены в одно время, наработка примерно одинаковая. Объём 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
()

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

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

 ,

debugger
()

systemd: services wanted by multi-user.target

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
()

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

Оригинал коллекции 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
()

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

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

 ,

debugger
()

glibc strftime i18n/l10n

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

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: внешние переключалки клавиатуры более не работают

Гм, э… ну, как бы сабж. Внешние переключалки клавиатуры (которые вызывают функцию 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 адаптер для организации точки доступа

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

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

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

 , ,

debugger
()

Диктофон

Не совсем про линукс, но… Посоветуйте диктофон. Я ранее никогда в руках не держал подобных агрегатов, поэтому не сильно в курсе их характеристик.

Предполагаемое использование: Запись коротких (и, возможно, редких) заметок в дороге, как при езде в машине, так и пешком. Запись лекций или длинных разговоров не предполагается.

Хочу, чтоб запись включалась по нажатию кнопки, и выключалась по отпусканию той же кнопки. Кнопка должна быть удобная, чтобы нажимать её можно было не глядя. Нажимать три-четыре кнопки для записи одной заметки (например, включить дивайс, включить запись, остановить запись, выключить дивайс) не хочется. (Я посмотрел описания нескольких аппаратов, у меня сложилось впечатление что большинство диктофонов именно такие, то есть включил — запись — стоп — выключил.)

Соединение с компом по ЮСБ. Формат файлов — какой-нить читаемый на линуксе, например, м3. (Я слышал есть кодеки более подходящие для кодирования речи, но они, наверное, потребуют использования фирменной софтины, которая работает только в оффтопике.)

Других функций (типа старта записи при появлении голоса, редактирования записей или подключения внешнего микрофона) и финтифлюшек (типа мп3-плеера или фм-приёмника) не нужно. В принципе, не требуется даже прослушивания записей на самом диктофоне.

Если у вас есть на примете такой аппарат, дайте знать.

 

debugger
()

File sharing для домашней сети

Есть домашняя сеть с выделенным сервером, который служит гейтвеем в инет, на котором крутится торрентокачалка, фаервол, и файлопомойка. И сервер, и все клиенты под линуксом. Сервер не работает постоянно — если на локальном интерфейсе нет входящих пакетов в течение 3 минут, сервер засыпает. Клиенты при старте будят сервер через wake-on-lan, и в последствии раз в минуту пингуют его на всякий случай, чтоб не уснул. Схема работает неплохо: проснувшийся клиент будит сервер, и через считанные секунды на клиенте есть инет.

Но: Сервер шарит файлопомойку по нфс. Клиенты монтируют помойку используя autofs (automount). Проблема в том, что после длительной спячки нфс на клиенте **очень** *долго* расчухивается. Иногда быстрее ребутнуть клиента чем ждать пока нфс очнётся.

Вопросы: Можно ли как-нить настроить нфс (сервер? клиент?) чтоб избежать длительных зависаний? Куда копать? Есть ли альтернативы?

 , , ,

debugger
()

Видеокарта для компа на Core 2 Quad 2.66GHz и 8 GB памяти

Есть компьютер с Core 2 Quad 2.66GHz и 8 GB памяти на борту. Видеокарта сдохла. Присоветуйте что-нить на замену. Топовая карта не нужна, так как игрушки не интересуют. Интересует декодирование видео (vlc, xbmc/kodi), обработка фото (darktable), OpenCL.

Ранее покупал только карты NVidia. До недавнего времени (пока не выкинули поддержку старых GPU) был доволен драйвером nvidia из rpmfusion. nouveau пробовал — не понравилось: при просмотре фильмов грузит CPU, поэтому вернулся на nvidia 430xx.

Кстати, а почему дохнут видюхи? Это вторая мертвая видеокарта. Другие компоненты я менял не из-за поломок а для апгрейда на более быстрые/мощные. Ну ладно, та, первая, была с пассивным охлаждением, могла и перегреться — я за температурой не следил (хотя на том компе игрушки никогда не гонялись). Но на этой стоит здоровый радиатор с парой вентиляторов…

 

debugger
()

Свобода продавать свободное ПО…

$ LANG=ru_RU.utf8 wc --version
wc (GNU coreutils) 8.21
Copyright (C) 2013 Free Software Foundation, Inc.
Лицензия GPLv3+: GNU GPL версии 3 или новее <http://gnu.org/licenses/gpl.html>
Это свободное ПО: вы можете продавать и распространять его.
Нет НИКАКИХ ГАРАНТИЙ до степени, разрешённой законом.

Авторы программы -- Paul Rubin и David MacKenzie.

Зацениете тонкости перевода с английского на русский:

This is free software: you are free to change and redistribute it.

Это свободное ПО: вы можете продавать и распространять его.

Русские — нация торгашей?

debugger
()

Как сделать удобную *включалку* раскладок?

Кто знает, как сделать удобную *включалку* раскладок клавиатуры?

В переключалках специальная клавиша (или комбинация) переключает раскладки по кругу: русская → английская → русская → английская… Чем это неудобно? Да все знают: начинаешь печатать «привет» а получается «ghbdtn». Или наоборот, пишешь «Hello, world» а получаешь «Руддщб цщкдв» Причём такие ошибки настолько часты, что некоторые начинают писать программы с искусственным интеллектом для распознавания языка и автоматического переключения с изменением уже набранного слова. Надо ли говорить, что такие программы довольно сложны?

А меж тем, есть довольно простое решение проблемы: нужна не переключалка, а *включалка* раскладок. *Включалка* от переключалки отличается тем, что для каждой раскладки предусмотрена своя клавиша (или комбинация), включающая именно эту раскладку. Ошибки набора не в той раскладке исчезают, поскольку очень быстро вырабатывается навык: перед набором русского текста включаешь русскую раскладку, перед набором английского — английскую. Искусственный интеллект не нужен, с работой вполне справляется (спинной?) мозг, руки сами включают нужную раскладку. Становятся излишними индикаторы раскладок и программы, запоминающие раскладку в каждом окне.

Однако, важно, чтобы включалка была удобная. В Винде, например, есть возможность сделать и переключалку (например, популярную Ctrl+Shift), и включалку. Но включалки настолько неудобные (Ctrl+Shift+0, Ctrl+Shift+1, …), что ими никто не пользуется.

Удобная включалка должна быть простой, чтобы её легко было нажимать перед набором фразы или после паузы при печати. Поэтому сложные комбинации далеко отстоящих друг от друга клавиш (типа виндовых Ctrl+Shift+0) не годятся. По собственному опыту знаю, что хороши комбинации из близко расположенных клавиш, которые можно нажимать одной рукой. Причём одной рукой включается одна раскладка, другой — другая. Например, относительно неплохо работает такой вариант: Left Ctrl+Left Shift включает английскую (латинскую) раскладку, Right Ctrl+Right Shift — русскую.

Идеальная включалка (разумеется, имхо) должна быть ещё проще, то есть быть одной клавишей. Но все клавиши уже имеют какую-нибудь функцию… Хотя есть выход. Тот же Ctrl (или Shift) имеет значение только будучи нажатым в паре с какой-нибудь другой клавишей. (Ну, игры, где левый Ctrl открывает огонь, не в счёт.) Поэтому можно было бы организовать включалки так: одиночное быстрое нажатие на левый Ctrl включает английскую раскладку, одиночное быстрое нажатие на правый Ctrl — русскую. Ctrl в комбинации с другими клавишами имеет свой обычный смысл и не изменяет раскладку. Долгое нажатие на Ctrl также не изменяет раскладку.

Я жил с такими включалками в Винде много лет (при помощи программы RusLat95) и был счастлив. Всё время хотел сделать такие же включалки в Линуксе. Но подходящей программы всё не попадалось. Поковырялся с настройками xkb — говорят, там можно всё, но у меня всё не получилось. Мне удалось посадить английскую раскладку на Left Ctrl+Left Shift, русскую — на Right Ctrl+Right Shift. Потом я нашёл более удобные включалки: английская — Left Ctrl+Left Win, русская — Right Ctrl+Menu. Почему так? Left Ctrl и Left Win — две самые левые клавиши нижнего ряда, расположены горизонтально, нажимаются так: средний палец (левой руки, разумеется) нажимает Ctrl, потом указательный — Win. Получается очень быстро. Для правой руки то же самое, только вторая справа клавиша нижнего ряда — Menu, а не Win. В общем, неплохо, но есть два «но»:

1. Не идеально. Одиночный Ctrl был бы лучше, поскольку меньше движений пальцами.

2. С некоторых пор OpenOffice стал распознавать Menu даже в комбинации с Ctrl — и вместе с включением русской раскладки появляется совершенно не нужная контекстная менюшка.

Ладно, закругляюсь:

Если кто знает как настроить xkb на включение раскладки по одиночному Ctrl и не потерять обычного значения Ctrl — пожалуйста, напишите.

Если кто знает программку-переключалку раскладок, которую можно настроить на включение раскладок по одиночному Ctrl и не потерять обычного значения Ctrl — пожалуйста, напишите.

debugger
()

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