LINUX.ORG.RU

Сообщения Bass

 

Говорящая голова Горбачёва, ггг

Форум — Talks

Собственно, вот:

https://youtu.be/Grd6Hdwkdbw

 , ,

Bass
()

xdg-open, файлы *.desktop и %u в поле Exec

Форум — Desktop

Всем здравствуйте.

Хочу desktop entry с вот такой строкой запуска:

seamonkey -remote "OpenUrl(%u, new-tab)"

ну или хотя бы

seamonkey -remote OpenUrl(%u)

В то же время отладка /usr/bin/xdg-open показывает, что в результате вызова /usr/bin/xdg-open someurl запускается

/usr/bin/seamonkey OpenUrl(%u) someurl

т. е. %u, не отделённый пробелами, не вычисляется и не подставляется.

Чтение спецификации ни к чему не приводит.

Как решить?

 

Bass
()

Особенности маргинальных дистрибутивов

Форум — Talks

Всем здравствуйте.

Нынче наблюдаю интересное. Пытаюсь собрать пакет, который:

  1. не «форкнут» в Devuan (т. е. они тащат бинарники напрямую с debian.org) и
  2. при сборке требует libsystemd-dev.
# aptitude build-dep vlc
The following NEW packages will be installed:
  libsystemd-dev libsystemd0{a} 
0 packages upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 322 kB/652 kB of archives. After unpacking 1665 kB will be used.
The following packages have unmet dependencies:
 libelogind-dev-doc : Conflicts: libsystemd-dev but 241-7~deb10u3 is to be installed
 libelogind0 : Conflicts: libsystemd0 but 241-7~deb10u3 is to be installed
 libelogind0:i386 : Conflicts: libsystemd0 but 241-7~deb10u3 is to be installed
The following actions will resolve these dependencies:

     Keep the following packages at their current version:
1)     libsystemd-dev [Not Installed]                     
2)     libsystemd0 [Not Installed]                        



Accept this solution? [Y/n/q/?] 
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.

И всё. Т. е. до тех пор, пока ты просто пользователь, в Devuan всё шоколадно. Но как только ты хочешь самостоятельно пересобрать пакет, с некоторой вероятностью что-то перестанет работать. YMMV, как говорится.

Что характерно, apt-get совсем тупой и предлагает мне дичь:

# apt build-dep vlc
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 builddeps:vlc : Depends: libsystemd-dev but it is not going to be installed
 kio : Depends: libkf5auth5 (>= 4.96.0) but it is not going to be installed
 libkf5configwidgets5 : Depends: libkf5auth5 (>= 4.96.0) but it is not going to be installed
 libkf5kiocore5 : Depends: libkf5auth5 (>= 4.96.0) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

И это гонево, потому что всякие kio и libkf5auth5 у меня установлены. Ну а aptitude отличается умом и сообразительностью, да.

В сухом остатке – проблемы у Devuan несколько глубже, чем я предполагал. Пойду отпишу им в багтрекер.

 ,

Bass
()

Automake, макроопределения для компиляции

Форум — Development

Всем привет.

TL;DR: пытаюсь открыть исходники strace в как проект в NetBeans. И для этих целей скармливаю NetBeans вывод make -wnk, который среда анализирует.

И вот тут проблема.

Нередко строка компиляции имеет вот такой вид:

gcc -DHAVE_CONFIG_H   -I./linux/x86_64 -I./linux/x86_64 -I./linux -I./linux -I. -I.     -DIN_MPERS -DMPERS_IS_mx32 -I./mpers-mx32  -Wall -Wempty-body -Wformat-security -Wignored-qualifiers -Wimplicit-fallthrough=5 -Winit-self -Wlogical-op -Wmissing-parameter-type -Wnested-externs -Wold-style-declaration -Wold-style-definition -Woverride-init -Wsign-compare -Wtype-limits -Wwrite-strings -Werror   -g -O2 -MT libmpers_mx32_a-v4l2.o -MD -MP -MF .deps/libmpers_mx32_a-v4l2.Tpo -c -o libmpers_mx32_a-v4l2.o `test -f 'v4l2.c' || echo './'`v4l2.c

Т. е. файл исходного кода определяется как

`test -f 'file.c' || echo './'`file.c

Естественно, среда уже не может разобрать такое и «ломается» (файл не включён в проектную модель).

В исходных Makefile.am такого нет – только в Makefile.in, сгенерённых automake.

Поиск приводит к /usr/share/automake-1.16/am/depend2.am, содержащему вот такие правила:

?!GENERIC?      %VERBOSE%%COMPILE% -MT %OBJ% -MD -MP -MF %DEPBASE%.Tpo %-c% -o %OBJ% %SOURCEFLAG%`test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%
?-o?    %VERBOSE-NODEP%%COMPILE% %-c% %-o% %OBJ% %SOURCEFLAG%`test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%
?!-o?   %VERBOSE-NODEP%%COMPILE% %-c% %SOURCEFLAG%`test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%
?!GENERIC?      %VERBOSE%%LTCOMPILE% -MT %LTOBJ% -MD -MP -MF %DEPBASE%.Tpo %-c% -o %LTOBJ% %SOURCEFLAG%`test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%
?!GENERIC?      %VERBOSE-NODEP%%LTCOMPILE% %-c% -o %LTOBJ% %SOURCEFLAG%`test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%

У меня два вопроса к общественности:

  1. Какой смысл данного финта ушами? Если бы было test -f && echo, то я бы предположил, что файл из локального каталога (если есть) должен иметь более высокий приоритет, чем тот же файл из VPATH. А в том виде, как есть, – непонятно.
  2. Кажется, я не в каждом проекте, использующем autotools, встречал такое. Т. е. есть проекты на autotools, которые тот же NetBeans открывает без проблем. Навскидку сейчас пример не приведу, но, может быть, есть кто-то, кто сможет объяснить, почему? Могут ли существовать проекты, использующие autoconf без automake? Часто ли такое встречается в природе?

 , ,

Bass
()

После обновления на Devuan Beowulf не работает vlc при QT_STYLE_OVERRIDE=gtk2

Форум — Desktop

Всем здравствуйте.

После обновления на Devuan 3 (Beowulf, эквивалент Debian 10 Buster) перестал запускаться vlc. Причём проблема именно в Qt UI, т. е. cvlc запускается нормально, а vlc – нет.

При запуске пишет:

VLC media player 3.0.8 Vetinari (revision 3.0.8-0-gf350b6b5a7)

(vlc:1215): GLib-GObject-WARNING **: 15:54:22.365: cannot register existing type 'GtkBuildable'

(vlc:1215): GLib-GObject-CRITICAL **: 15:54:22.365: g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed

(vlc:1215): GLib-CRITICAL **: 15:54:22.365: g_once_init_leave: assertion 'result != 0' failed

(vlc:1215): GLib-GObject-WARNING **: 15:54:22.365: cannot register existing type 'GtkWidget'

(vlc:1215): GLib-GObject-WARNING **: 15:54:22.365: cannot add class private field to invalid type '<invalid>'

(vlc:1215): GLib-GObject-WARNING **: 15:54:22.365: cannot add private field to invalid (non-instantiatable) type '<invalid>'

– и никакого UI не появляется. В Debian Stretch/Devuan ASCII всё норм.

Выяснилось, что всему виной QT_STYLE_OVERRIDE и QT_QPA_PLATFORMTHEME, выставленные в gtk2.

Причём, что характерно:

  1. При любом другом значении QT_STYLE_OVERRIDE (plastique, fusion, qtcurve, gtk3, cde, motif, windows, cleanlooks) интерфейс vlc таки отрисовывается.
  2. Проблема не зависит от фактической темы оформления GTK2.
  3. Другие сложные интерфейсы (Qt Assistant, Qt Designer) работают без проблем.

Всё это на qt5-style-plugins 5.0.0+git23.g335dbec-2+b17 и Qt 5.11.3+dfsg1-1+deb10u2.

Народ, у кого 10-й Debian – можете протестировать у себя (QT_STYLE_OVERRIDE=gtk2 QT_QPA_PLATFORMTHEME=gtk2 vlc)?

 , , ,

Bass
()

«Опакечивание» Java-проекта под Debian

Форум — Development

Всем здравствуйте.

Есть задача «опакетить» Java-проект под Debian.

И есть стандартная документация:

Вопросы:

  1. Можете ли порекомендовать дополнительные ресурсы, объясняющие, как использовать javahelper, java-propose-classpath, maven-repo-helper и прочие утилиты? Ну, естественно, кроме man %s.
  2. Как дебиановские рекомендации, которые уже N лет не менялись, соотносятся с модулями в Java 9+?

 , , ,

Bass
()

ALSA и переключение между 3.5mm jack и встроенным микрофоном

Форум — Linux-hardware

Всем здравствуйте.

Есть ноутбук со встроенным микрофоном и комбинированным 3.5-мм входом (ну, как на своременных планшетах/телефонах).

Что касается вывода звука, то всё как положено: вставляешь наушники – встроенные колонки замолкают, и наоборот.

Но вот для микрофона это не работает – вставлял и комбинированные наушники с микрофоном, и отдельно внешний микрофон через вот такую штуку – хрен. Продолжаю слышать встроенный микрофон.

Железо – стандартный Realtek ALC233:

$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC233 Analog [ALC233 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

$ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=PCH
    HDA Intel PCH, ALC233 Analog
    Default Audio Device
sysdefault:CARD=PCH
    HDA Intel PCH, ALC233 Analog
    Default Audio Device
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC233 Analog
    Front speakers
surround21:CARD=PCH,DEV=0
    HDA Intel PCH, ALC233 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, ALC233 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, ALC233 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, ALC233 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, ALC233 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, ALC233 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
hdmi:CARD=PCH,DEV=0
    HDA Intel PCH, HDMI 0
    HDMI Audio Output
hdmi:CARD=PCH,DEV=1
    HDA Intel PCH, HDMI 1
    HDMI Audio Output
hdmi:CARD=PCH,DEV=2
    HDA Intel PCH, HDMI 2
    HDMI Audio Output
dmix:CARD=PCH,DEV=0
    HDA Intel PCH, ALC233 Analog
    Direct sample mixing device
dmix:CARD=PCH,DEV=3
    HDA Intel PCH, HDMI 0
    Direct sample mixing device
dmix:CARD=PCH,DEV=7
    HDA Intel PCH, HDMI 1
    Direct sample mixing device
dmix:CARD=PCH,DEV=8
    HDA Intel PCH, HDMI 2
    Direct sample mixing device
dsnoop:CARD=PCH,DEV=0
    HDA Intel PCH, ALC233 Analog
    Direct sample snooping device
dsnoop:CARD=PCH,DEV=3
    HDA Intel PCH, HDMI 0
    Direct sample snooping device
dsnoop:CARD=PCH,DEV=7
    HDA Intel PCH, HDMI 1
    Direct sample snooping device
dsnoop:CARD=PCH,DEV=8
    HDA Intel PCH, HDMI 2
    Direct sample snooping device
hw:CARD=PCH,DEV=0
    HDA Intel PCH, ALC233 Analog
    Direct hardware device without any conversions
hw:CARD=PCH,DEV=3
    HDA Intel PCH, HDMI 0
    Direct hardware device without any conversions
hw:CARD=PCH,DEV=7
    HDA Intel PCH, HDMI 1
    Direct hardware device without any conversions
hw:CARD=PCH,DEV=8
    HDA Intel PCH, HDMI 2
    Direct hardware device without any conversions
plughw:CARD=PCH,DEV=0
    HDA Intel PCH, ALC233 Analog
    Hardware device with all software conversions
plughw:CARD=PCH,DEV=3
    HDA Intel PCH, HDMI 0
    Hardware device with all software conversions
plughw:CARD=PCH,DEV=7
    HDA Intel PCH, HDMI 1
    Hardware device with all software conversions
plughw:CARD=PCH,DEV=8
    HDA Intel PCH, HDMI 2
    Hardware device with all software conversions

alsamixer выглядит вот так:

┌────────────────────────────────────────────────── AlsaMixer v1.1.3 ──────────────────────────────────────────────────┐
│ Card: HDA Intel PCH                                                                          F1:  Help               │
│ Chip: Realtek ALC233                                                                         F2:  System information │
│ View: F3:[Playback] F4: Capture  F5: All                                                     F6:  Select sound card  │
│ Item: Master [dB gain: -48.00]                                                               Esc: Exit               │
│                                                                                                                      │
│   ┌──┐     ┌──┐     ┌──┐     ┌──┐     ┌──┐     ┌──┐                                ┌──┐              ┌──┐            │
│   │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │  │                                │  │              │  │            │
│   │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │  │                                │  │              │  │            │
│   │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │  │                                │  │              │  │            │
│   │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │  │                                │  │              │  │            │
│   │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │  │                                │  │              │  │            │
│   │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │  │                                │  │              │  │            │
│   │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │  │                                │  │              │  │            │
│   │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │  │                                │  │              │  │            │
│   │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │  │                                │  │              │  │            │
│   │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │  │                                │  │              │  │            │
│   │▒▒│     │▒▒│     │▒▒│     │▒▒│     │  │     │  │                                │  │              │  │            │
│   ├──┤     ├──┤     ├──┤     └──┘     ├──┤     └──┘     ┌──┐     ┌──┐     ┌──┐     ├──┤   Enabled    └──┘   Enabled  │
│   │OO│     │OO│     │OO│              │MM│              │MM│     │MM│     │MM│     │MM│                              │
│   └──┘     └──┘     └──┘              └──┘              └──┘     └──┘     └──┘     └──┘                              │
│    8     100<>100 100<>100 100<>100   0<>0     0<>0                                0<>0              0<>0            │
│< Master >Headphon Speaker    PCM      Mic    Mic Boos  S/PDIF  S/PDIF 1 S/PDIF 2   Beep   Auto-Mut Internal Loopback │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Устройства захвата звука:

┌────────────────────────────── AlsaMixer v1.1.3 ──────────────────────────────┐
│ Card: HDA Intel PCH                                  F1:  Help               │
│ Chip: Realtek ALC233                                 F2:  System information │
│ View: F3: Playback  F4:[Capture] F5: All             F6:  Select sound card  │
│ Item: Mic Boost [dB gain: 0.00, 0.00]                Esc: Exit               │
│                                                                              │
│        ┌──┐               ┌──┐               ┌──┐               ┌──┐         │
│        │  │               │  │               │▒▒│               │  │         │
│        │  │               │  │               │▒▒│               │  │         │
│        │  │               │  │               │▒▒│               │  │         │
│        │  │               │  │               │▒▒│               │  │         │
│        │  │               │  │               │▒▒│               │  │         │
│        │  │               │  │               │▒▒│               │  │         │
│        │  │               │▒▒│               │▒▒│               │  │         │
│        │  │               │▒▒│               │▒▒│               │  │         │
│        │  │               │▒▒│               │▒▒│               │  │         │
│        │  │               │▒▒│               │▒▒│               │  │         │
│        │  │               │▒▒│               │▒▒│               │  │         │
│        └──┘              L└──┘R              └──┘               └──┘         │
│                         CAPTURE                                              │
│        0<>0              44<>44            100<>100             0<>0         │
│<    Mic Boost     >     Capture            Digital       Internal Mic Boost  │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘

Что можно сделать?

ОС – Devuan 2.0/3.0 на ядре 4.19, хотя это, наверное, неважно.

 , ,

Bass
()

О диалекте Make, используемом во FreeBSD

Форум — Development

Всем здравствуйте.

Выкачал исходники FreeBSD (вот с этого зеркала) с целью посмотреть, какие ещё бывают Makefile’ы, кроме «гнутых», и как на них себя ведёт обычный GNU Make под Linux.

И при выполнении make clean на корневом Makefile вижу следующее:

Makefile:113: *** missing separator.  Stop.

Что, с т. з. человека из экосистемы GNU, и неудивительно:

.if ${MAKE_VERSION} >= 20140620 && defined(.PARSEDIR)
.sinclude <bsd.compiler.mk>
.endif

Для GNU Make это выглядело бы скорее как

if ${MAKE_VERSION} >= 20140620 && defined(.PARSEDIR)
include <bsd.compiler.mk>
endif

Вопрос к знатокам: что это за диалект Makefile и где ещё он может использоваться в наше время?

Cast @kirk_johnson, @buratino, @iZEN, @yoghurt.

 , , ,

Bass
()

Realtek RTL8821AE Wi-Fi, серия 42608

Форум — Linux-hardware

Всем здравствуйте.

Короче, такая лажа.

У меня Devuan 2.0 ASCII (=Debian 9), и периодически отваливается Wi-Fi. Проводной Ethernet работает.

Wi-Fi подключаю через wpa_supplicant (без NetworkManager).

После того, как выполняю

service networking stop
service networking start

интерфейс eth0 приобретает IP-адрес по DHCP, а wlan0 – нет.

Помогает либо перезагрузка, либо rmmod rtl8821ae с последующим insmod.

Железяка вот такая:

03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8821AE 802.11ac PCIe Wireless Network Adapter
        Subsystem: Lenovo RTL8821AE 802.11ac PCIe Wireless Network Adapter
        Flags: bus master, fast devsel, latency 0, IRQ 323
        I/O ports at 4000 [size=256]
        Memory at a2100000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [70] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [140] Device Serial Number 00-e0-4c-ff-fe-87-2b-01
        Capabilities: [150] Latency Tolerance Reporting
        Capabilities: [158] L1 PM Substates
        Kernel driver in use: rtl8821ae
        Kernel modules: rtl8821ae

Текущие параметры модуля:

filename:       /lib/modules/4.9.0-11-amd64/kernel/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/rtl8821ae.ko
firmware:       rtlwifi/rtl8821aefw.bin
description:    Realtek 8821ae 802.11ac PCI wireless
license:        GPL
author:         Realtek WlanFAE <wlanfae@realtek.com>
alias:          pci:v000010ECd00008821sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008812sv*sd*bc*sc*i*
depends:        rtlwifi,rtl_pci,btcoexist,mac80211
retpoline:      Y
intree:         Y
vermagic:       4.9.0-11-amd64 SMP mod_unload modversions 
parm:           swenc:Set to 1 for software crypto (default 0)
 (bool)
parm:           ips:Set to 0 to not use link power save (default 1)
 (bool)
parm:           swlps:Set to 1 to use SW control power save (default 0)
 (bool)
parm:           fwlps:Set to 1 to use FW control power save (default 1)
 (bool)
parm:           msi:Set to 1 to use MSI interrupts mode (default 1)
 (bool)
parm:           debug:Set debug level (0-5) (default 0) (int)
parm:           disable_watchdog:Set to 1 to disable the watchdog (default 0)
 (bool)
parm:           int_clear:Set to 0 to disable interrupt clear before set (default 1)
 (bool)

Проблема совершенно точно наблюдается в ядрах 4.9 и 4.19 c версиями firmware-realtek версий 20161130-5 и 20190114-2.

Как диагностировать (помимо включения debug=5)?

Что можно сделать (на какие параметры модуля смотреть в первую очередь, что можно «подкрутить» ещё)?

 , , , ,

Bass
()

Запись CD/DVD/BD с поддержкой LightScribe или LabelTag

Форум — General

Всем здравствуйте.

Собственно, ${subj}.

Как (при наличии «правильных» дисков и необходимого «железа») штатными средствами Linux (т. е. не устанавливая оффтопик в виртуальную машину) произвести запись с поддержкой LightScribe и/или LabelTag?

Про Labelflash и DiscT@2 не спрашиваю, т. к. эти технологии, похоже, умерли («железо» есть, «болванок» – нет).

Спасибо.

 , , , ,

Bass
()

Ядро Linux в Eclipse CDT

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

Решил открыть в последнем (4.14) Eclipse CDT проект на C, использующий Makefile в свободной форме.

Что ж, проиндексировалось и открылось всё весьма быстро и, как видно, сам Eclipse в памяти занимает меньше 1 ГБ. И да, я могу вручную (ни о каком автоопределении целей, как это умеет remake, речи не даже идёт) добавить произвольные цели make (make targets) и собрать их (см. окно «Build Targets» справа).

Но на этом плюсы заканчиваются.

Eclipse не обрабатывает Makefile’ы и не строит базу данных компиляции в процессе создания проекта и потому индексирует тупо всё, что попадётся под руку. Это значит, что список включённых в проект файлов (часть модулей же обычно исключена из .config), равно как и #define’ы, ему априори неизвестны, и ни о каком точном рефакторинге говорить нельзя.

Более того, часть (включённого) кода в редакторе «сияет красным», и мне сообщают об ошибках, которых нет. Так, на снимке на 324-й строке fs/btrfs/async-thread.c Eclipse не может определить тип переменной work, хотя и ежу понятно, что это тип struct btrfs_work *, и этот тип определён в лежащем рядышком хедере. При попытке навигации к объявлению переменной work (хотя это локальная переменная в btrfs_work_helper()) мне предлагается 100500 кандидатов, разбросанных по всему проекту (диалог Open Declaration).

Вердикт – текстовый редактор, не более. Я, как давний пользователь и поклонник Eclipse, реально разочарован.

Несколько обязательных комментариев:

  • WM – WindowMaker
  • Тема оформления GTK3 – Greybird. К сожалению, только в «штатных» темах Adwaita, Greybird и Numix Eclipse выглядит удовлетворительно (в силу того, что разработчики SWT сделали ряд «хаков» для поддержки этих конкретных тем оформления), хотя, напр., поля ввода по-прежнему выглядят гигантскими. Сами разработчики рекомендуют попробовать отключить вышеупомянутые «хаки» (-Dorg.eclipse.swt.internal.gtk.noThemingFixes, см. bug 527729) и включить Clearlooks-Phénix, но, на мой взгляд, там работы ещё непочатый край: кнопки панели инструментов становятся раза в полтора больше и «уезжают» вправо.
  • Да, ШГ. Да, «кровь из глаз». Да, я всё это уже не раз слышал.

 , ,

Bass
()

ThinkPad T480 is my new main laptop which runs FreeBSD

Форум — Talks

Собственно, вот.

 ,

Bass
()

Сборка вне дерева исходников с использованием GNU Make

Форум — Development

Всем здравствуйте.

Скажите – как, имея произвольный проект на GNU Make, собрать его в произвольном каталоге (например, в $(mktemp -d))? Хочется поведения CMake, когда мухи и котлеты исходники и бинарники отдельно.

С GNU Autotools всё понятно, там VPATH – и вперёд!

Но на произвольном проекте это, увы, не работает:

$ pwd
/usr/src/linux-source-4.9
$ make -qnpRrs .DEFAULT > /dev/null
scripts/basic/fixdep.c:449:1: fatal error: opening dependency file scripts/basic/.fixdep.d: Permission denied
 }
 ^
compilation terminated.
scripts/Makefile.host:100: *** [scripts/basic/fixdep] Error 1
Makefile:444: *** [scripts_basic] Error 2
remake: *** No rule to make target '.DEFAULT'.  Stop.

Ладно, я обычный пользователь, мне нельзя. Давайте попробуем в другом каталоге:

$ mktemp -d
/tmp/tmp.tQiZe6PcOT
$ cd /tmp/tmp.tQiZe6PcOT
$ make -qnpRrs VPATH=/usr/src/linux-source-4.9 -f /usr/src/linux-source-4.9/Makefile .DEFAULT > /dev/null
/usr/src/linux-source-4.9/Makefile:305: scripts/Kbuild.include: No such file or directory
/usr/src/linux-source-4.9/Makefile:648: arch/x86/Makefile: No such file or directory
/bin/bash: ./scripts/gcc-goto.sh: No such file or directory
/usr/src/linux-source-4.9/Makefile:685: scripts/Makefile.gcc-plugins: No such file or directory
/usr/src/linux-source-4.9/Makefile:843: scripts/Makefile.kasan: No such file or directory
/usr/src/linux-source-4.9/Makefile:844: scripts/Makefile.extrawarn: No such file or directory
/usr/src/linux-source-4.9/Makefile:845: scripts/Makefile.ubsan: No such file or directory
remake: *** No rule to make target 'scripts/Makefile.ubsan'.  Stop.

Шиш. Т. е. в VPATH ищутся исходники, но не Makefile’ы, которые включаются через include.

P. S. Делается это всё для вытаскивания списка целей из Makefile’а. Что характерно, remake на той же задаче (ядро Linux) выводит на stdout и stderr ровно тот же мусор, что и обычный make.

stdout:

$ remake --tasks 2>/dev/null
  HOSTCC  scripts/basic/fixdep
scripts/Makefile.host:101: recipe for target 'scripts/basic/fixdep' failed

#0  scripts/basic/fixdep at /usr/src/linux-source-4.9/scripts/Makefile.host:100
#1  __build at /usr/src/linux-source-4.9/scripts/Makefile.build:95
Makefile:445: recipe for target 'scripts_basic' failed

#0  scripts_basic at /usr/src/linux-source-4.9/Makefile:444
#1  silentoldconfig at ??
...

stderr:

$ remake --tasks >/dev/null
scripts/basic/fixdep.c:449:1: fatal error: opening dependency file scripts/basic/.fixdep.d: Permission denied
 }
 ^
compilation terminated.
scripts/Makefile.host:100: *** [scripts/basic/fixdep] Error 1
Makefile:444: *** [scripts_basic] Error 2

 ,

Bass
()

Ремонт зеркала своими руками

Форум — Admin

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

Есть несколько «зеркал» (mdadm, RAID 1), каждое из которых «натянуто» на два идентичных (по геометрии) раздела двух физических дисков (всего дисков три, но в RAID 1 их разделы всегда участвуют попарно). Поверх md-разделов – LVM2. Поверх LVM2 – ext4.

/proc/mdstat в порядке:

Personalities : [raid1]
md4 : active raid1 sda6[0] sdb6[2]
      1299452672 blocks super 1.2 [2/2] [UU]

md3 : active raid1 sda5[4] sdb5[5]
      165540964 blocks super 1.2 [2/2] [UU]

md2 : active raid1 sdb3[5] sda3[4]
      165540964 blocks super 1.2 [2/2] [UU]

md1 : active raid1 sdb2[4] sda2[3]
      321793764 blocks super 1.2 [2/2] [UU]

md0 : active raid1 sdb1[4] sda1[3]
      1048564 blocks super 1.2 [2/2] [UU]

unused devices: <none>

S.M.A.R.T-атрибуты (18x, 19x) тоже в порядке.

/usr/share/mdadm/checkarray положен в cron, и в какой-то момент в почте я начал замечать следующее:

Nov  3 03:54:03 helios mdadm[3953]: RebuildFinished event detected on md device /dev/md4, component device  mismatches found: 4224 (on raid level 1)
Nov  3 05:04:10 helios mdadm[3953]: RebuildFinished event detected on md device /dev/md2, component device  mismatches found: 256 (on raid level 1)
Dec  1 03:53:45 helios mdadm[3929]: RebuildFinished event detected on md device /dev/md4, component device  mismatches found: 4224 (on raid level 1)
Dec  1 04:12:32 helios mdadm[3929]: RebuildFinished event detected on md device /dev/md2, component device  mismatches found: 128 (on raid level 1)
Jan 13 00:01:30 helios mdadm[3914]: RebuildFinished event detected on md device /dev/md2, component device  mismatches found: 256 (on raid level 1)
Jan 13 04:28:05 helios mdadm[3871]: RebuildFinished event detected on md device /dev/md4, component device  mismatches found: 7168 (on raid level 1)
Jan 13 05:36:56 helios mdadm[3871]: RebuildFinished event detected on md device /dev/md2, component device  mismatches found: 256 (on raid level 1)
Jan 13 14:03:54 helios mdadm[3871]: RebuildFinished event detected on md device /dev/md4, component device  mismatches found: 7168 (on raid level 1)
Jan 13 15:12:38 helios mdadm[3871]: RebuildFinished event detected on md device /dev/md2, component device  mismatches found: 256 (on raid level 1)

Повторная проверка (check), как видно, к изменению результатов не привела. Сейчас ситуация следующая (соответствует логам выше):

# cat /sys/block/md2/md/mismatch_cnt
256
# cat /sys/block/md4/md/mismatch_cnt
7168

Формально у меня сейчас два варианта:

  1. Попытаться прочитать (скопировать) все данные с потенциально проблематичных разделов и в результате гадать, была ли проблема и, если была, то с какой из двух половинок зеркала я эти данные считал.
  2. Выполнить echo repair > /sys/block/md{2,4}/md/sync_action и … Вспоминается Картман и его мега-бизнес-идея собирать старые кальсоны.

Вопросы:

  1. Как обычно в таких случаях ремонтируется RAID 1?
  2. Есть ли возможность «посмотреть» (интерактивный repair) на различающиеся блоки, занятые файлами?

 , , ,

Bass
()

Запуск Quake в «неродном» разрешении

Форум — Desktop

Всем здравствуйте.

Есть ноутбук с одной встроенной и одной внешней («дискретной») видеокартой:

$ xrandr --listproviders 
Providers: number : 2
Provider 0: id: 0x7d cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 4 outputs: 5 associated providers: 1 name:Intel
Provider 1: id: 0x54 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 5 outputs: 0 associated providers: 1 name:POLARIS11 @ pci:0000:01:00.0

$ glxinfo | grep -F 'OpenGL renderer'
OpenGL renderer string: Mesa DRI Intel(R) Kabylake GT2 

$ DRI_PRIME=1 glxinfo | grep -F 'OpenGL renderer'
OpenGL renderer string: Gallium 0.4 on AMD POLARIS11 (DRM 3.27.0 / 4.19.0-0.bpo.6-amd64, LLVM 3.9.1)

У этого ноутбука есть один встроенный (1920x1080) и один внешний монитор (3840x2160).

Так вот проблема в том, что ни один из движков quake (quakespasm, darkplaces) я не могу включить в разрешении, отличном от «родного» разрешения монитора (4k для внешнего либо 1080p для встроенного).

Причём независимо от того, добавляю ли я ключи командной строки (-width 640 -height 480) либо предварительно переключаю монитор в более низкое разрешение (через lxrandr или arandr) – я вижу либо искажённую картинку, либо серый экран. Поведение не зависит от используемого движка quake.

Как лечить?

 ,

Bass
()

Выбор журналируемой файловой системы для внешнего SSD

Форум — Linux-hardware
  1. Что там с флагом монтирования discard (или аналогом) у файловой системы UDF? Есть ли планы добавить поддержку в ядре? Как видно здесь, работа таки идёт, но про SSD я ни слова не нашёл.
  2. Есть ли какой-л. смысл использовать на SSD JFFS2 или F2FS? Или это скорее исследовательские «поделки»?
  3. Как вы решаете вопрос с «протиранием» SSD-диска образом жёсткого диска (VDI, VMDK,..), в «блоки» которого ативно пишет гостевая виртуальная машина?
  4. Какой драйвер ext4 для оффтопика вы бы порекомендовали? Интересен практический опыт. Помимо Paragon’овского драйвера, который умудряется портить ФС даже в R/O-режиме, я нарыл следующее:
    • ext4explore. Update: userspace-утилита; не смогла прочитать ничего глубже корневого каталога ext4-раздела. Бесполезна.
    • ext2fsd. Update: Драйвер файловой системы. Проект ничего не выпускал с 2017 года, драйвер не поддерживает ничего выше ext3.
    • ext2read. Update: то же самое, что и ext4explore, только в профиль.
    • DiskInternals Linux Reader. Update: userspace-утилита с поддержкой ext4, mdadm (software RAID), LVM2, возможностью монтирования образов VDI, VMDK, VHD(X) и функцией предпросмотра распространённых форматов файлов (JPEG, PDF,..). Единственная программа, пригодная для использования.

Update: Протестировал UDF на HDD, отформатированном format-udf, но CHKDSK в оффтопике постоянно «находит» там ошибки и постоянно их «исправляет» (см. здесь). Возможности проверки целостности ФС в Linux нет. Так что UDF, к сожалению, точно не вариант.

 , ,

Bass
()

Преобразование id3-тэгов в id3v2

Форум — General

Всем здравствуйте.

Есть масса mp3-файлов, созданных в те мохнатые времена, когда тэги были только первой версии, и писали в них в кодировке оффтопик-1251.

Как современными средствами в потоковом режиме (файлов много, по объёму это десятки Гбайт) преобразовать id3v1 в id3v2 (в процессе удалив id3v1), а сами значения полей сконвертировать с помощью iconv -f cp1251 -t UTF-8?

Пробовал воспользоваться eyeD3, как описано здесь, но безуспешно.

 ,

Bass
()

Web Rendering Proxy теперь умеет растеризовать всю веб-страницу в GIF/PNG

Форум — Talks

Как следствие – теперь работает скроллинг.

Видео (на примере Mozilla Suite в SCO UnixWare).

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

Сайт проекта.

 , ,

Bass
()

Системы вёрстки для нот/табулатур

Форум — General

Всем здравствуйте.

Скажите — а какими инструментами можно сверстать:

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

Интересуют как пакеты для LaTeX, так и wysiwyg-инструменты.

Спасибо.

 , , ,

Bass
()

В новом Thunderbird поддержка OpenPGP будет «из коробки»...

Форум — Talks

… наряду с S/MIME.

Полный текст здесь.

 , , ,

Bass
()

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