far2l icon indicating copy to clipboard operation
far2l copied to clipboard

Debian 10 (Buster): невозможен ввод текста на английской раскладке

Open Xrum-xrum opened this issue 3 years ago • 40 comments

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

Xrum-xrum avatar Jan 05 '22 15:01 Xrum-xrum

какая версия - GUI, TTY (терминальная)?

elfmz avatar Jan 05 '22 15:01 elfmz

GUI

Xrum-xrum avatar Jan 05 '22 15:01 Xrum-xrum

запустите im-config и скажите что оно выведет про input methods

elfmz avatar Jan 05 '22 16:01 elfmz

Мне ещё не приходилось иметь дело с im-config, он даже не был установлен, поэтому привожу скриншот:

im-config_01

Xrum-xrum avatar Jan 05 '22 16:01 Xrum-xrum

Для сравнения у меня вот так:

Current configuration for the input method:
 * Active configuration: ibus (normally missing)
 * Normal automatic choice: ibus (normally ibus or fcitx or uim)

Непонятно как оно может работать если у вас ничего не выбрано. Попробуйте выбрать ibus, у меня с ним все работает :) и перелогиниться или даже ребутнуться Впрочем даже если у вас заработает - останется вопрос почему раньше работало и перестало...

elfmz avatar Jan 05 '22 16:01 elfmz

Действительно, интересно... ibus у меня тоже не установлен. В im-config доступны только следующие конфигурации метода ввода: default, auto,cjkv, none, xim.

Сейчас установлю ibus и в ближайшее время постараюсь ребутнуться.

Xrum-xrum avatar Jan 05 '22 18:01 Xrum-xrum

Раньше, судя по всему, тоже не работало :) Дело в том, что у меня два Бастера: один на десктопе, второй -- на ноуте. Сейчас я на ноуте, а far2l, видимо, был только на десктопе. ibus поставил. На таскбаре появился его переключатель раскладок. Работающий независимо от системного. При определённом сочетании их положений английский в Фаре появляется, но работает всё это настолько оригинально, что, поскольку ноутом также пользуется моя пожилая мама, я был вынужден вернуть всё как было :(

Xrum-xrum avatar Jan 05 '22 21:01 Xrum-xrum

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

elfmz avatar Jan 05 '22 21:01 elfmz

Хорошо, тогда я снова поставлю IBus и на всякий случай какое-то время не буду его сносить.

Current configuration for the input method:
 * Active configuration: ibus (normally missing)
 * Normal automatic choice: ibus (normally ibus or fcitx or uim)
 * Override rule: zh_CN,fcitx:zh_TW,fcitx:zh_HK,fcitx:zh_SG,fcitx
 * Current override choice:  (ru_RU)
 * Current automatic choice: ibus
 * Number of valid choices: 2 (normally 1)
The override rule is defined in /etc/default/im-config.
The configuration set by im-config is activated by re-starting X.
Явный выбор не требуется для включения автоматической конфигурации, если одно из default/auto/cjkv/missing активно.
Доступные методы вводаs: ibus xim
Даже если есть необходимость во всех, убедитесь, что установлена только одна система метода ввода.

Сразу после ребута ни одна из комбинаций переключателей раскладки не даёт в Фаре английских букв. Чтобы они появились нужно зайти в "Параметры" IBus -> "Дополнительно" -> "Использовать системную раскладку клавиатуры" (снять этот чекбокс, если он установлен, или, соответственно, наоборот). Что после этого происходит: -- если переключатель IBus'a установлен на русскую раскладку, системный переключатель работает в обычном режиме: на русской раскладке видим в Фаре русские буквы, на английской -- не видим ничего. -- если теперь оставить системный на русской раскладке, а IBus переключить на английскую, то системный тоже переключится на английскую и залочится в этом состоянии (глобально, комбинация Alt-Shift не будет работать нигде). В этот момент в Фаре появятся английские буквы.

Xrum-xrum avatar Jan 06 '22 00:01 Xrum-xrum

Не, я имею ввиду как вы добились того изначального состояния на ноуте что стоит none в im-config. Я когда в убунте попробовал выставить none - в итоге получился все равно ibus. Как я понял, у вас и на десктопе и на ноуте одинаковые системы, так вот интересно, что такого было наконфигурено в ноуте, что так получилось

elfmz avatar Jan 06 '22 10:01 elfmz

Интересно, как у Вас всё равно получится ibus, если Вы его удалите из системы? :) То состояние, которое видно на скриншоте -- дефолтное после установки системы. Я ничего специально не менял и не настраивал. Даже im-config поставил только сейчас, по случаю. Вот "active configuration: missing" сходу воспроизвести не получается, а везде "none" -- запросто:

im-config_04

Xrum-xrum avatar Jan 06 '22 10:01 Xrum-xrum

Кстати, вот, что говорит im-config на десктопе:

im-config_Desktop

Xrum-xrum avatar Jan 06 '22 20:01 Xrum-xrum

Я нашел на офсайте и поставил в виртуалку debian-10.11.0-amd64-xfce-CD-1.iso.torrent выбрав xfce. Так же при установке выбрал русский в качестве основного. В результате получил систему с таким же выводом im-config как у вас, но в far2l все прекрасно печатается в обоих языках. На всякий случай, закройте все far2l и переименуйте ~/.config/far2l в ~/.config/far2l.bak - вдруг у вас там какой то макрос корявый завелся или еще чтото нездоровое.

elfmz avatar Jan 06 '22 21:01 elfmz

Хорошо, попробую. Только, к сожалению, сделать это раньше, чем через несколько дней не получится. Также я попробую взять с десктопа deb-файл. Раз уж Вы запустили Дебиан, попробуйте заодно открыть в Фаре какую-нибудь картинку из архива. По дефолту она открывается в Ristretto и через небольшой промежуток времени исчезает. Во всяком, случае у меня.

Xrum-xrum avatar Jan 06 '22 21:01 Xrum-xrum

Да с картинками такая же фигня и в убунте у меня самого) Дело в том что far2l для открытия распаковывает во временный файл и отслеживает что его ктото держит открытым с помощью lsof - и удаляет его когда он становится не нужен. Просмотршик картинок похоже открывает файл вычитывает и закрывает, рисуя в окне что прочитал. Но, он зачемто продолжает отслеживать существование файла и при его удалении - прячет картинку.

elfmz avatar Jan 06 '22 21:01 elfmz

Молодцы какие :) В общем-то, про вьюер я так и подумал, но, поскольку это наконец-то простимулировало меня поставить wine, чтобы запустить IrfanView, я не очень переживаю по этому поводу.

Xrum-xrum avatar Jan 06 '22 21:01 Xrum-xrum

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

elfmz avatar Jan 06 '22 21:01 elfmz

насчет клавы, если не поможет сброс настроек - откройте терминал, в нем напишите export FAR2L_STD=- и из него же запустите far2l. Вышеуказанный экспорт включает дебаг лог, который будет выводиться прямо в терминал. Так что в запущенном far2l переключитесь на английский и потыкайте работающие (цифровые) и неработающие кнопки в определенной последовательности, и пришлите лог, с описанием какие кнопки нажимались.

elfmz avatar Jan 06 '22 21:01 elfmz

У меня в Ubuntu всё работает нормально, но в Manjaro после одного из обновлений вылезла эта проблема. Просто установка ibus не помогла, im-config в системе нет. Вот лог из дебага:

OnKeyDown: raw=61 code=6c6 uni=444 (ф) ts=687646 [now=969515951]
OnChar: raw=61 code=61 uni=61 (a) ts=687646 lke=0
ConsoleInput::Enqueue: a 61 6c6 0 DOWN
ConsoleInput::Enqueue: a 61 6c6 0 UP
OnKeyUp: raw=61 code=6c6 uni=444 (ф) ts=687766
ConsoleInput::Enqueue: ф 444 6c6 0 UP
OnKeyDown: raw=73 code=6a6 uni=456 (і) ts=687954 [now=969516259]
OnChar: raw=73 code=73 uni=73 (s) ts=687954 lke=0
ConsoleInput::Enqueue: s 73 6a6 0 DOWN
ConsoleInput::Enqueue: s 73 6a6 0 UP
OnKeyUp: raw=73 code=6a6 uni=456 (і) ts=688078
ConsoleInput::Enqueue: і 456 6a6 0 UP
OnKeyDown: raw=64 code=6d7 uni=432 (в) ts=688326 [now=969516631]
OnChar: raw=64 code=64 uni=64 (d) ts=688326 lke=0
ConsoleInput::Enqueue: d 64 6d7 0 DOWN
ConsoleInput::Enqueue: d 64 6d7 0 UP
OnKeyUp: raw=64 code=6d7 uni=432 (в) ts=688466
ConsoleInput::Enqueue: в 432 6d7 0 UP
OnKeyDown: raw=66 code=6c1 uni=430 (а) ts=688618 [now=969516923]
OnChar: raw=66 code=66 uni=66 (f) ts=688618 lke=0
ConsoleInput::Enqueue: f 66 6c1 0 DOWN
ConsoleInput::Enqueue: f 66 6c1 0 UP
OnKeyUp: raw=66 code=6c1 uni=430 (а) ts=688714
ConsoleInput::Enqueue: а 430 6c1 0 UP
OnKeyDown: raw=31 code=31 uni=31 (1) ts=689122 [now=969517427]
OnChar: raw=31 code=31 uni=31 (1) ts=689122 lke=0
ConsoleInput::Enqueue: 1 31 31 0 DOWN
ConsoleInput::Enqueue: 1 31 31 0 UP
FilesSuggestor: enum '.'
OnKeyUp: raw=31 code=31 uni=31 (1) ts=689234
ConsoleInput::Enqueue: 1 31 31 0 UP
OnKeyDown: raw=32 code=32 uni=32 (2) ts=689438 [now=969517743]
OnChar: raw=32 code=32 uni=32 (2) ts=689438 lke=0
ConsoleInput::Enqueue: 2 32 32 0 DOWN
ConsoleInput::Enqueue: 2 32 32 0 UP
OnKeyUp: raw=32 code=32 uni=32 (2) ts=689554
ConsoleInput::Enqueue: 2 32 32 0 UP
OnKeyDown: raw=33 code=33 uni=33 (3) ts=689746 [now=969518051]
OnChar: raw=33 code=33 uni=33 (3) ts=689746 lke=0
ConsoleInput::Enqueue: 3 33 33 0 DOWN
ConsoleInput::Enqueue: 3 33 33 0 UP
OnKeyUp: raw=33 code=33 uni=33 (3) ts=689858
ConsoleInput::Enqueue: 3 33 33 0 UP
OnKeyDown: raw=34 code=34 uni=34 (4) ts=690006 [now=969518312]
OnChar: raw=34 code=34 uni=34 (4) ts=690006 lke=0
ConsoleInput::Enqueue: 4 34 34 0 DOWN
ConsoleInput::Enqueue: 4 34 34 0 UP
OnKeyUp: raw=34 code=34 uni=34 (4) ts=690118
ConsoleInput::Enqueue: 4 34 34 0 UP

Раскладка в системе стоит английская, но в логе почему-то вылазят русские буквы. В самом фаре на буквы реакции нет, а на цифры есть.

Upliner avatar Jan 08 '22 12:01 Upliner

После обновления линукса или far2l?

elfmz avatar Jan 08 '22 16:01 elfmz

Интересует с какой именно версией wx собран far2l, а так же некоторые переменные, поэтому скиньте результаты команд запущенный в обычном терминале (не в far2l):

ldd /usr/local/lib/far2l/far2l_gui.so |grep wx
echo LC_ALL=$LC_ALL
echo LANG=$LANG
echo XDG_SESSION_TYPE=$XDG_SESSION_TYPE

elfmz avatar Jan 08 '22 20:01 elfmz

После обновления линукса или far2l?

После обновления всех пакетов и far2l в том числе. Manjaro использует rolling release в отличие от Ubuntu, поэтому там обновления постоянно приходят.

Upliner avatar Jan 08 '22 22:01 Upliner

$ ldd /usr/lib/far2l/far2l_gui.so | grep wx
        libwx_gtk3u_core-3.0.so.0 => /usr/lib/libwx_gtk3u_core-3.0.so.0 (0x00007f8ddc991000)
        libwx_baseu-3.0.so.0 => /usr/lib/libwx_baseu-3.0.so.0 (0x00007f8ddc702000)
$ echo LC_ALL=$LC_ALL
LC_ALL=
$ echo LANG=$LANG
LANG=en_US.UTF-8
$ echo XDG_SESSION_TYPE=$XDG_SESSION_TYPE
XDG_SESSION_TYPE=x11

Upliner avatar Jan 08 '22 22:01 Upliner

То есть у вас far2l из какогото репозитория приходит? В моей тестовой monjaro pacman его не знает:

[manjaro user]# lsb_release -a
LSB Version:	n/a
Distributor ID:	ManjaroLinux
Description:	Manjaro Linux
Release:	21.2.1
Codename:	Qonos
[manjaro user]# pacman -Ss far2l
[manjaro user]# 

ну а самосборный far2l в этой системе у меня работает адекватно. Может у вас там чтото хитрое установлено в шелле для раскладок клавиатуры?

elfmz avatar Jan 08 '22 22:01 elfmz

Это far2l-git из AUR

Upliner avatar Jan 08 '22 22:01 Upliner

Ещё может быть проблема из-за того, что использую KDE

Upliner avatar Jan 08 '22 22:01 Upliner

@Xrum-xrum а у вас кстати какой шелл?

elfmz avatar Jan 08 '22 22:01 elfmz

И ещё момент: под Wayland проблема исчезает, возникает только под X11.

Upliner avatar Jan 08 '22 22:01 Upliner

Ну судя по XDG_SESSION_TYPE у меня x11 в тестовой manjaro. PS запустил pamac build far2l-git, а он оказывается компиляет в один поток.. Этож долго, надо както стукануть авторам пакета чтоб -j$(nproc --all) добавили в командлайн make-а...

elfmz avatar Jan 08 '22 22:01 elfmz

Чтобы компилило быстрее, надо в /etc/makepkg.conf раскомментировать MAKEFLAGS, у себя поставил -j10. Действительно непонятно, почему они по дефолту не поставили nproc Попробоавл far2l также под XFCE, там тоже проблем нет. Гном на проблемной системе почему-то не хочет запускаться, потому так и не проверил. Но судя по всему проблема действительно возникает только в KDE и только под иксами.

Upliner avatar Jan 08 '22 23:01 Upliner