LINUX.ORG.RU

Сообщения Bass

 

Можно ли различить Alt и Meta в XTerm?

Форум — General

Всем привет.

Хочу научить XTerm (а) понимать и (б) различать Alt и Meta, но не очень понимаю, возможно ли (б).

Сейчас XTerm сконфигурирован так:

*.vt100.altSendsEscape:         True
*.vt100.altIsNotMeta:           True
*.vt100.metaSendsEscape:        True
*.vt100.eightBitInput:          False

-- но в этом случае нажатия Alt+Key, Meta+Key и Esc, Key интерпретируются одинаково (как escape-последовательность, соответствующая Alt+Key).

Может кто-нибудь проконсультировать?

Заранее спасибо.

 , , ,

Bass
()

А что там за драма с SeaMonkey и AdBlock Plus?

Форум — Talks

Закономерно не найдя последней поддерживаемой версии (2.9.1) на AMO, полез на https://addons.thunderbird.net/en-US/seamonkey/addon/adblock-plus/, но напоролся на HTTP 404.

На официальном сайте версий для SeaMonkey тоже не нашёл, в итоге пришлось качать с https://ftp.tw.freebsd.org/distfiles/xpi/.

Что случилось? Какую серию «Санта-Барбары» я пропустил?

 , , ,

Bass
()

О «безопасности» HTTPS

Форум — Talks

 ,

Bass
()

Как изменить параметры отображения шрифта без изменения fonts.conf?

Форум — Desktop

Всех приветствую.

Вопрос следующий.

Дано: некие глобальные настройки Xft (продублированные в fonts.conf):

$ xrdb -query | grep ^Xft
Xft.rgba:       none
Xft.hinting:    true
Xft.autohint:   false
Xft.hintstyle:  hintfull
Xft.antialias:  true
Xft.lcdfilter:  lcddefault

и настройки, индивидуальные для конкретного шрифта (в fonts.conf):

$ fc-match --verbose ':family=Courier New'  | grep -E '\<(family|antialias)\>'
        family: "Courier New"(s)
        antialias: False(s)
$ fc-match --verbose ':family=Luxi Mono'  | grep -E '\<(family|antialias)\>'
        family: "Luxi Mono"(s)
        antialias: True(w)
$ fc-match --verbose ':family=Terminus'  | grep -E '\<(family|antialias)\>'
        family: "Terminus"(s)
        antialias: True(w)
$ fc-match --verbose ':family=DejaVu Sans Mono'  | grep -E '\<(family|antialias)\>'
        family: "DejaVu Sans Mono"(s)
        antialias: True(w)

Т. е. вот здесь видно, что Courier New будет по умолчанию отрисован без AA, а все остальные кандидаты — как раз с AA.

И вот теперь я хочу, например, пресловутый Courier New отрисовать со включённым AA, но только в конкретном приложении, без изменения конфигурационных файлов:

$ xterm -fa 'Courier New:size=12:antialias=true:rgba=rgb'
$ rxvt -fn 'xft:Courier New:size=12:antialias=true:rgba=rgb'
$ stterm -f 'Courier New:size=24:antialias=true:rgba=rgb'

И нихрена — шрифт всё равно выглядит aliased, если только я не поменяю fonts.conf.

ЧЯДНТ?

То, чего я хочу, вообще возможно?

 , , , ,

Bass
()

Новый Mozilla Firefox с новыми расширениями

Форум — Talks

Стильно, модно, молодёжно.

Mozilla Foundation публикует победную запись в блоге: Make your Firefox browser a privacy superpower with these extensions.

И внезапно выясняется, что

With this extension, I see that for every page you load in your browser, there is a POST to http://136.243.163.73/. The posted data is garbled, maybe someone will have the time to investigate further.

Ну и развязка: Firefox Add-On With 220,000+ Installs Caught Collecting Users' Browsing History.

Где там было сравнение производительности движков? «Servo ворует ваши личные данные вдвое быстрее, чем Gecko и XUL».

Ну и, для тех, кто забыл, 2 года назад вся эта ахинея начиналась так:

More Secure Extensions

Because extensions built with the Add-on SDK can request XPCOM privileges, they could still introduce unintentional security and stability issues into Firefox. Even add-ons written by well-meaning developers can accidentally introduce vulnerabilities that could allow malicious code to execute with the full privileges of the browser. WebExtensions uses its manifest.json to mitigate this by requiring add-on authors to declare up front which permissions their code will need to operate. Unlike the Add-on SDK, WebExtensions does not allow arbitrary XUL/XPCOM access, so even insecure/vulnerable code is limited to its whitelisted subset of functionality. This vastly reduces the vulnerability surface of a WebExtension, leading to faster review times and a more stable browser.

 , ,

Bass
()

Ищу консольный клиент для slack

Форум — Talks

Попробовал тут по старой памяти скрестить богомерзкий slack (стильно, модно, молодёжно, корпоративный стандарт) с Pidgin через XMPP, но увы.

Модуль для weechat (wee-slack/wee-slack) тоже не взлетел (т. е. соединяется, но не работает).

Вот ещё нашёл erroneousboat/slack-term (альфа, проект не обновлялся с апреля) и cixtor/slackapi, но их пощупать пока руки не дошли.

Какой у кого есть опыт? Поделитесь, пожалуйста.

Хочется slack-клиент, который бы не был написан на JavaScript и жрал бы меньше 1G оперативы.

 , ,

Bass
()

Передача dbus-оповещений между пользователями

Форум — Desktop

Дано:

  • Один пользователь, от имени которого запущены X Window
  • Другой пользователь (имеющий доступ к текущему DISPLAY), от имени которого запущено некоторое GUI-приложение, показывающее оповещения через dbus. Но dbus наплевать на текущий DISPLAY.

Хочется странного: чтобы dbus-оповещения другого пользователя показывались на экране. Т. е., чтобы имело видимый эффект, например, следующее:

sudo -u ihateslack notify-send 'Заголовок' 'Текст' --icon=dialog-information

 

Bass
()

X11 и переключение раскладки, серия 6383

Форум — Desktop

Приветствую.

По какой-то причине настройки клавиатуры внутри /etc/X11/xorg.conf:

Section "InputDevice"
        Identifier      "Keyboard0"

        Driver          "evdev"
        Option          "Device"        "/dev/input/by-id/usb-Logitech_USB_Keyboard-event-kbd"

        Option          "XkbRules"      "xorg"
        Option          "XkbModel" "pc105"
        Option          "XkbLayout" "us,ru"
        Option          "XkbVariant" ",winkeys"
        Option          "XkbOptions" "altwin:meta_win,compose:ralt,grp:menu_toggle,grp:rctrl_switch,grp:sclk_toggle,grp_led:scroll,terminate:ctrl_alt_bksp"
EndSection

не работают должным образом (ну, т. е., не включается переназначение Meta на Win, игнорируется Ctrl+Alt+Backspace и т. д.), так что приходится всё дублировать в ~/.xinitrc:

setxkbmap -option
setxkbmap -option altwin:meta_win
setxkbmap -option compose:ralt
setxkbmap -option grp:menu_toggle
setxkbmap -option grp:rctrl_switch
setxkbmap -option grp:sclk_toggle
setxkbmap -option grp_led:scroll
setxkbmap -option terminate:ctrl_alt_bksp

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

( (простыня) )

Ну и в том же самом логе многократно в процессе работы:

[2021148.899] (II) input device 'Power Button', /dev/input/event6 is tagged by udev as: Keyboard
[2021148.899] (II) input device 'Power Button', /dev/input/event6 is a keyboard
[2021148.900] (II) input device 'Video Bus', /dev/input/event16 is tagged by udev as: Keyboard
[2021148.900] (II) input device 'Video Bus', /dev/input/event16 is a keyboard
[2021148.900] (II) input device 'Power Button', /dev/input/event4 is tagged by udev as: Keyboard
[2021148.900] (II) input device 'Power Button', /dev/input/event4 is a keyboard
[2021148.901] (II) input device 'Sleep Button', /dev/input/event5 is tagged by udev as: Keyboard
[2021148.901] (II) input device 'Sleep Button', /dev/input/event5 is a keyboard
[2021148.902] (II) input device 'Logitech USB Keyboard', /dev/input/event1 is tagged by udev as: Keyboard
[2021148.902] (II) input device 'Logitech USB Keyboard', /dev/input/event1 is a keyboard
[2021148.902] (II) input device 'Logitech USB Keyboard', /dev/input/event2 is tagged by udev as: Keyboard
[2021148.902] (II) input device 'Logitech USB Keyboard', /dev/input/event2 is a keyboard
[2021148.903] (II) input device 'Logitech Logitech USB Headset', /dev/input/event0 is tagged by udev as: Keyboard
[2021148.903] (II) input device 'Logitech Logitech USB Headset', /dev/input/event0 is a keyboard
[2021148.904] (II) input device 'ACPI Virtual Keyboard Device', /dev/input/event20 is tagged by udev as: Keyboard
[2021148.904] (II) input device 'ACPI Virtual Keyboard Device', /dev/input/event20 is a keyboard

Как можно дальше продиагностировать это поведение?

Хочется однократно задать настройки клавиатуры для всех пользователей, а не носить ~/.xinitrc туда-сюда.

 , ,

Bass
()

Дополнительные (бесполезные) ROLLBACK'и при использовании BasicDataSource из commons-dbcp

Форум — Development

Если экземпляр BasicDataSource из Apache commons-dbcp (версии 1.4, т. к. я ограничен Java 1.6) сконфигурирован с defaultAutoCommit=false, то библиотека выполняет два идиотских ROLLBACK'а — один при взятии соединения из пула, и ещё один при возвращении его обратно (т. е. закрытии соединения из пула при сохранении низкоуровневого физического соединения открытым).

Соответствующие стек-трейсы (на примере T4CConnection драйвера Oracle Thin):

T4CConnection(PhysicalConnection).rollback() line: 1950	
PoolableConnection(DelegatingConnection).rollback() line: 368	
PoolableConnectionFactory.passivateObject(Object) line: 685	
BasicDataSource.validateConnectionFactory(PoolableConnectionFactory) line: 1559	
BasicDataSource.createPoolableConnectionFactory(ConnectionFactory, KeyedObjectPoolFactory, AbandonedConfig) line: 1545	
BasicDataSource.createDataSource() line: 1388	
BasicDataSource.getConnection() line: 1044	

и

T4CConnection(PhysicalConnection).rollback() line: 1950	
PoolableConnection(DelegatingConnection).rollback() line: 368	
PoolableConnectionFactory.passivateObject(Object) line: 685	
GenericObjectPool.addObjectToPool(Object, boolean) line: 1379	
GenericObjectPool.returnObject(Object) line: 1342	
PoolableConnection.close() line: 90	
PoolingDataSource$PoolGuardConnectionWrapper.close() line: 191	

Т. обр., каждая успешная транзакция — это последовательность след. вида:

  1. ROLLBACK
  2. полезная работа с БД
  3. COMMIT
  4. ROLLBACK

(вместо единственного COMMIT'а), в то время как каждая неудачная — это:

  1. ROLLBACK
  2. полезная работа с БД
  3. ROLLBACK
  4. ROLLBACK

(вместо единственного ROLLBACK'а).

Вышеописанное поведение даёт дополнительную нагрузку на redo- и undo-подсистемы (что очень хорошо видно под нагрузкой в Oracle, но, на самом деле, при использовании commons-dbcp проблема универсальна — я наблюдал ровно то же самое для MySQL).

Вопрос 1: как избавиться от пресловутых ROLLBACK'ов, сохранив экземпляр DataSource сконфигурированным с defaultAutoCommit=false (т. е. без необходимости вручную вызывать setAutoCommit(false) для каждого соединения, взятого из пула)?

Вопрос 2: как можно обойти проблему средствами Oracle (т. е. без необходимости менять прикладной код или библиотеки)?

 , ,

Bass
()

GTK3 здорового человека

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

Долго пытался заставить GTK+ версии 3 выглядеть согласованно с темой Raleigh из GTK+ 2.0 (разработчики бросили её обновлять давным-давно, и в варианте по умолчанию она непригодна для использования), пока не наткнулся на вот эту годноту.

На снимке — meld, gedit и evince.

Не то, чтобы я стал активно переползать на третью версию с GTK+ 2.0 и Qt 5 (свят, свят), но теперь хотя бы не плююсь при её виде.

Плюсуйте проект на Гитхабе — автору темы наверняка будет приятно.

 

Bass
()

Удавалось ли кому-нибудь завести Realtek RTL8821AE под FreeBSD?

Форум — Linux-hardware

Ни один из штатных (во FreeBSD 11) драйверов для Realtek, похоже, не поддерживает RTL8821AE.

В результате, в качестве последнего средства, попробовал ndiswrapper.

Драйвера для WinNT 5.1 сконвертировались в ядрёный модуль без ошибок, в выводе утилиты nm вижу символы.

Модули ndis и if_ndis загружены.

Тем не менее, при загрузке полученного модуля в dmesg вижу следующее:

no match for RtlGUIDFromString
no match for ExNotifyCallback
no match for ExCreateCallback
no match for KeInitializeSemaphore
no match for KeReleaseSemaphore
no match for IoWMIQueryAllData
no match for IoWMIOpenBlock
no match for IoCsqInsertIrp
no match for IoCsqRemoveNextIrp
no match for IoCsqInitialize

— и новый сетевой интерфейс, ясное дело, не появляется.

Есть ещё какие-л шаги, которые можно предпринять, или плюнуть и поставить Linux?

 , ,

Bass
()

«Дебианизация» пакета, использующего imake

Форум — Development

Приветствую.

Есть античный пакет, в качестве системы сборки использующий imake.

Процесс установки выглядит как make install, но, в отличие от пакетов, использующих autotools, я не могу указать prefix, DESTDIR и вот это вот всё.

Пакет хочется «дебианизировать».

Вопрос: я правильно понимаю, что всю логику установки мне придётся вручную переносить из Imakefile в debian/rules с использованием множества команд debhelper (dh_*), или есть более простой способ?

checkinstall задействовать не хочется — как инструмент он очень ненадёжен.

 , ,

Bass
()

Рисование диаграмм в LaTeX с помощью TikZ

Форум — General

Приветствую.

Пытаюсь освоить ${subj}.

Все примеры ([1], [2], [3]) прекрасно компилируются, но при просмотре dvi-выхлопа блоки на диаграмме отображаются, а все текстовые метки выводятся не внутри блоков, а строго в одной точке (друг поверх друга).

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

Error: /undefined in VResolution
Operand stack:
   --nostringval--   --nostringval--   --nostringval--   --nostringval--   --nostringval--   0.12   72
Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval-- GPL Ghostscript 9.20: Unrecoverable error, exit code 1
  --nostringval--   --nostringval--   false   1   %stopped_push   1999   1   3   %oparray_pop   1998   1   3   %oparray_pop   1982   1   3   %oparray_pop   1868   1   3   %oparray_pop   --nostringval--   %errorexec_pop   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--
Dictionary stack:
   --dict:1209/1684(ro)(G)--   --dict:1/20(G)--   --dict:87/200(L)--   --dict:171/300(L)--   --dict:58/200(L)--
Current allocation mode is local
Last OS error: Resource temporarily unavailable

В то же время pdflatex обрабатывает исходный .tex-файл без проблем, на выходе не диаграмма, а конфетка.

Вопрос: это такое хитрое ограничение TikZ, что он не работает с dvi-форматом?

Debian 9, texlive-full установлен.

 , ,

Bass
()

Как изменить имя и почтовый адрес, используемые dch

Форум — Development

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

При обновлении debian/changelog dch вставляет моё имя из /etc/passwd и генерит почтовый адрес как ${LOGNAME}@${HOSTNAME}.

Хочется поменять это поведение.

Сильно не бейте — я нуб, и Too Many Fucking Manuals to Read.

 , ,

Bass
()

Чем заменили Xprint?

Форум — Desktop

Была раньше такая технология (https://www.x.org/docs/XPRINT/Xprint_FAQ.html).

Насколько я понимаю, любой клиент мог воспользоваться принтерами, подключёнными к X-серверу (вплоть до печати просто содержимого окна), через вызовы клиентской библиотеки libXp.so и отдельный экземпляр X-сервера, отвечающий за собственно печать (Xprt).

Насколько я понимаю, CUPS, cairo и вот это вот всё — вещи сугубо клиентские.

А вот как нынче реализуется возможность вывода на локальный принтер удалённого X-клиента?

Возможно ли технически собрать Xprt из современного кода Xorg? Сохранились ли этот сервер и сопутствующие утилиты в портах *BSD (кастую iZEN)?

 ,

Bass
()

/tmp/serverauth.MPuME5LguK в качестве XAUTHORITY

Форум — Desktop

Вот, собственно, такой вопрос.

Несмотря на существование файла ~/.Xauthority и на явно выставленное окружение (XAUTHORITY=~/.Xauthority), X-сервер всегда стартует с аргументом -auth, указывающим на случайный файл в /tmp (см. заголовок).

Это, разумеется, если не переопределить иное (через ~/.xserverrc).

Вот скажите — вот нафига так? У меня же один и тот же файл спокойно может обслуживать несколько разных значений переменной DISPLAY.

Update: cast Zubok.

 ,

Bass
()

e2fsck: checksum doesn't match extent

Форум — Admin

Приветствую.

После того, как в офисе выключилось электропитание, стал проверять файловые системы. И вот для 10 файлов e2fsck выдал пресловутое сообщение.

Запуск debugfs привёл к вот таким файлам:

# debugfs -R 'ncheck -c 125090 135942 146377 149354 149355 154279 155520 178619 179280 280807' /dev/mapper/unit--725--vg--bulk-public 
debugfs 1.43.4 (31-Jan-2017)
Inode   Pathname
125090  /distfiles/mozilla/seamonkey/seamonkey-2.49.1/obj-x86_64-pc-linux-gnu/dist/seamonkey/libxul.so
135942  /distfiles/mozilla/seamonkey/seamonkey-2.49.2.source.tar.xz
146377  /distfiles/mozilla/seamonkey/seamonkey-2.49.1.source.tar.xz
149354  /distfiles/mozilla/seamonkey/seamonkey-x86_64-pc-linux-gnu-gtk2+alsa-2.49.2.tar.bz2
149355  /distfiles/mozilla/seamonkey/seamonkey-2.46.source.tar.xz
154279  /Java/IDEA/ideaIU-2017.2.6-no-jdk.tar.gz
155520  /Java/JBoss/6.1/jboss-as-distribution-6.1.0.Final.zip
178619  /distfiles/mozilla/seamonkey/seamonkey-2.46/obj-x86_64-pc-linux-gnu/toolkit/library/libxul.so
179280  /distfiles/mozilla/seamonkey/seamonkey-2.46/obj-x86_64-pc-linux-gnu/dist/seamonkey/libxul.so
280807  /Drivers/HP/LJM1120-Full-Solution.exe

Проверка архивов ошибок не выявила (а libxul.so — да и хрен бы с ним).

И вот тут у меня несколько вопросов.

  • Файлы были записаны давно и долго не менялись, т. е. некорректная контрольная сумма с отключением питания, скорее всего, никак не связана. Раньше раздел проверки fsck успешно проходил. Как контрольная сумма могла «испортиться»?
  • Сами данные оказались корректными (благо, это архивы и можно проверить). Возможно, контрольная сумма была изначально записана неверно. Но, опять же, как?
  • О каких вообще контрольных суммах идёт речь, если, насколько мне известно, ext4 (в отличие от btrfs, zfs и hammer) использует таковые только для метаданных?

 

Bass
()

В ksh93 перестал работать floating point

Форум — Development

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

Имею два варианта AT&T ksh93 — один 93u+20120801-1 из Debian 8, другой 93u+20120801-3.1 из Debian 9.

Кодовая база, очевидно, почти одна и та же — основной код не меняется уже десятилетиями. В ChangeLog — 3 штуки NMU и всякая мелочь.

Было:

$ echo $((1./2))
0.5

Стало:

$ echo $((1./2))
ksh: 1./2: arithmetic syntax error

Теперь, похоже, единственный шелл, который по-прежнему умеет в FP без внешнего bc.exe — это zsh.

ЧЯДНТ?

 ,

Bass
()

XTerm и кириллица в заголовках окон

Форум — Desktop

Приветствую.

Как известно, есть магическая ANSI escape-последовательность (\e]0;строка\007), позволяющая динамически менять заголовок окна терминала (вернее, одновременно WM_NAME и WM_ICON_NAME, иначе 0 нужно заменить на 1 или 2).

Последовательность поддерживается подавляющим большинством эмуляторов терминалов, в т. ч. и XTerm.

А вот теперь, собственно, вопрос. У XTerm есть ресурс titleModes, описание которого гласит:

       titleModes (class TitleModes)
               Tells xterm whether to accept or return window- and icon-labels
               in ISO-8859-1 (the default) or UTF-8.  Either can be encoded in
               hexadecimal.  The default for this resource is “0”.

               Each bit (bit “0” is 1, bit “1” is 2, etc.)  corresponds to one
               of the parameters set by the title modes control sequence:

               0    Set window/icon labels using hexadecimal

               1    Query window/icon labels using hexadecimal

               2    Set window/icon labels using UTF-8 (overrides utf8Title
                    resource).

               3    Query window/icon labels using UTF-8

Странность состоит в том, что, если ресурс имеет значение 0 (0b00) или 2 (0b10), то всё работает корректно и совершенно идентично (в «не-юникодной локали», в соответствии с ICCCM, выставляются атомы WM_NAME(COMPOUND_TEXT) и WM_ICON_NAME(COMPOUND_TEXT), в «юникодной» же, в соответствии с EWMH, дополнительно к первым двум выставляются _NET_WM_NAME(UTF8_STRING) и _NET_WM_ICON_NAME(UTF8_STRING)).

А вот при значениях 1 (0b01) и 3 (0b11) всё одинаково не работает — escape-последовательность игнорируется (т. е. значение атомов не меняется).

Кто-нибудь может мне растолковать данный ман, а также как с ним коррелирует наблюдаемое поведение?

Спасибо.

 , , ,

Bass
()

SeaMonkey 2.49.2

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

16 февраля состоялся выпуск SeaMonkey 2.49.2.

SeaMonkey — это набор интегрированных сетевых приложений, включающий в себя браузер, почтовый клиент, RSS/Atom-агрегатор и WYSIWYG-редактор HTML-страниц. Выпуск 2.49.2 синхронизирован с кодовой базой Firefox 52.6 ESR и Thunderbird 52.6 ESR (см. соотв. примечания к выпуску по ссылкам).

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

>>> Английская версия

 ,

Bass
()

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