Onboard + Wayland

Ответить
turik02
Сообщения: 856
Зарегистрирован: 01 июн 2022, 13:47
Operating system: РОСА «ФРЕШ» 13.3 GNOME 64-bit

Onboard + Wayland

Сообщение turik02 »

Установка rpm (PLASMA 6 / GNOME)
1) Удали установленный onboard из реп:

Код: Выделить всё

sudo dnf remove -y onboard
2) Добавь пользователя в группу:

Код: Выделить всё

sudo usermod -a -G input $USER
3) Перезагрузи ПК.
4) Скачай https://disk.yandex.ru/d/Cowokzka09bRCg и установи onboard-1.4.4-5-rosa13.x86_64.rpm для PLASMA 6, обе rpm для GNOME.
5) Скопируй правило:

Код: Выделить всё

sudo cp /usr/share/onboard/72-onboard-uinput.rules /etc/udev/rules.d/
И раскомментируй в нём строки:
sudo udevadm control --reload-rules
sudo udevadm trigger /dev/uinput

6) Перезагрузи ПК, открой текстовый редактор и onboard из меню, проверяй.

Если GNOME,то надо выйти/войти и включить расширение "Onboard keyboard window helper".
Проблема: при нажатии на Win onboard виснет.

Как собрать rpm самому (делал в GNOME)
Что должно быть в системе для сборки rpm-пакета и библиотеки libextest.so:

Код: Выделить всё

sudo dnf -y install gcc gcc-c++ rpmrebuild rpm-build rpmdevtools rpmlint dnf-utils git libtool
Вводим в терминал для построения древа сборки (создаётся в домашней папке):

Код: Выделить всё

rpmdev-setuptree
Этот способ установит самую свежую версию Rust, но она не будет управляться системным пакетным менеджером.
Запустите официальный скрипт установки. Он безопасен, так как все действия происходят в вашей домашней директории (~/.cargo):

Код: Выделить всё

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
В появившемся меню выберите пункт 1) Proceed with installation (default) - просто нажмите Enter.
Когда скрипт завершится, он сообщит, что нужно добавить путь к Cargo в переменные окружения. Чтобы сделать это немедленно в текущем терминале, выполните:

Код: Выделить всё

source $HOME/.cargo/env
Проверьте, что rustup теперь доступен:

Код: Выделить всё

rustup --version
Скачайте исходник с https://github.com/Supreeeme/extest , распакуйте архив, войдите в папку, откройте терминал и выполните:

Код: Выделить всё

cargo build --release --target x86_64-unknown-linux-gnu
Это создаст библиотеку с именем libextest.so в target/x86_64-unknown-linux-gnu/release/. Обратите внимание, что эта библиотека 64-битная.
Копируем библиотеку:

Код: Выделить всё

cp ~/Загрузки/extest-1.0.3/target/x86_64-unknown-linux-gnu/release/libextest.so ~/rpmbuild/SOURCES
Создаём патч:

Код: Выделить всё

cd ~/rpmbuild/SOURCES
cat > fix-onboard-desktop.patch << 'EOF'
--- a/data/onboard.desktop.in	2025-03-13 02:05:22.000000000 +0300
+++ b/data/onboard.desktop.in	2025-04-25 13:48:19.623262563 +0300
@@ -2,7 +2,7 @@
 _Name=Onboard
 _GenericName=Onboard onscreen keyboard
 _Comment=Flexible onscreen keyboard
-Exec=onboard
+Exec=env LD_PRELOAD=/usr/lib64/libextest.so onboard
 Terminal=false
 Type=Application
 Categories=Utility;Accessibility;
EOF
Создаём спек (в новом терминале):

Код: Выделить всё

cd ~/rpmbuild/SPECS
cat > onboard.spec << 'EOF'
Name:          onboard
Summary:       Simple on-screen Keyboard
Summary(ru_RU.UTF-8): Простая экранная клавиатура
Group:         Graphical desktop/GNOME
Version:       1.4.4
Release:       5
License:       GPLv3+ and BSD
Url:           https://github.com/dr-ni/onboard
ExclusiveArch: x86_64
Source0:       %{name}-main.zip
Source2:       libextest.so
Patch:         fix-onboard-desktop.patch
BuildRequires: git
BuildRequires: gcc-c++
BuildRequires: lib64zlib-devel
BuildRequires: python3-distutils-extra
BuildRequires: lib64gtk+3.0-devel
BuildRequires: lib64xtst-devel
BuildRequires: lib64xkbfile-devel
BuildRequires: lib64dconf-devel
BuildRequires: lib64hunspell-devel
BuildRequires: lib64canberra-devel
BuildRequires: lib64python3-devel
BuildRequires: intltool
BuildRequires: lib64udev-devel
Requires:      lib64atspi-gir2.0
Requires:      python3-dbus
Requires:      at-spi2-core

%description
Works with both Wayland and X11.
An on-screen keyboard useful on tablet PCs or for mobility impaired
users.

%description -l ru_RU.UTF-8
Работает и с Wayland и с X11.
Экранная клавиатура, полезная для планшетных ПК
или для пользователей с ограниченными возможностями.

%package gnome
Group:    Graphical desktop/GNOME
Summary:  GNOME Shell support for onboard
Summary(ru_RU.UTF-8): Поддержка встроенной оболочки GNOME
Requires: onboard = %{version}-%{release}
Requires: gnome-shell

%description gnome
GNOME Shell support for onboard.

%description gnome -l ru_RU.UTF-8
Поддержка встроенной оболочки GNOME.

%files -f %{name}.lang
%{_sysconfdir}/xdg/autostart/%{name}-autostart.desktop
%{_bindir}/*
/usr/lib64/*
%{_datadir}/applications/*
%{_datadir}/dbus-1/services/*
%{_docdir}/%{name}/*
%{_datadir}/glib-2.0/schemas/*
%{_datadir}/help/C/%{name}
%{_datadir}/icons/*
%{_mandir}/man1/*
%{_datadir}/%{name}/*
%{_datadir}/sounds/freedesktop/stereo/onboard-key-feedback.oga

%files gnome
%{_datadir}/gnome-shell/extensions/Onboard_Indicator@onboard.org
#---------------------------------------------------------------
%prep
%autosetup -p1 -n %{name}-main

%build
%py3_build

%install
%__python3 setup.py install --prefix=%{_prefix} --root %{buildroot}
cp %{SOURCE2} %{buildroot}/usr/lib64

%find_lang %{name}
EOF
Качаем onboard-main.zip https://github.com/dr-ni/onboard и кладём его в ~/rpmbuild/SOURCES
В новом терминале
Установим зависимости, которые необходимы для сборки (BuildRequires):

Код: Выделить всё

sudo dnf -y builddep rpmbuild/SPECS/onboard.spec
И собираем rpm (Двоичный пакет) и src.rpm (Исходный пакет):

Код: Выделить всё

rpmbuild -ba rpmbuild/SPECS/onboard.spec
Михаил Ягих
Сообщения: 87
Зарегистрирован: 01 дек 2025, 12:31
Operating system: Rosa Linux 13 fresh

Re: Onboard + Wayland

Сообщение Михаил Ягих »

Код: Выделить всё

# After installing (typically copying to /etc/udev/rules.d/), run:
#     sudo udevadm control --reload-rules
#     sudo udevadm trigger /dev/uinput
Так надо именно раскомментировать или только выполнить в терминале?
Линуксом на десктопе я пользовался 15 лет назад, во времена Ubuntu 8-10 и Gnome2, поэтому многое забыл.
turik02
Сообщения: 856
Зарегистрирован: 01 июн 2022, 13:47
Operating system: РОСА «ФРЕШ» 13.3 GNOME 64-bit

Re: Onboard + Wayland

Сообщение turik02 »

Михаил Ягих писал(а): 21 окт 2026, 10:00

Код: Выделить всё

# After installing (typically copying to /etc/udev/rules.d/), run:
#     sudo udevadm control --reload-rules
#     sudo udevadm trigger /dev/uinput
Так надо именно раскомментировать или только выполнить в терминале?
Эти две строки раскомментировать только
Вложения
Снимок экрана от 2026-10-21 10-13-50.png
Михаил Ягих
Сообщения: 87
Зарегистрирован: 01 дек 2025, 12:31
Operating system: Rosa Linux 13 fresh

Re: Onboard + Wayland

Сообщение Михаил Ягих »

Появляется только пустое окно.

Код: Выделить всё

~ $ onboard
12:04:16.015 WARNING Config: mousetweaks GSettings schema not found, mousetweaks integration disabled.
(onboard:6991): libayatana-appindicator-WARNING **: 12:04:16.666: libayatana-appindicator is deprecated. Please use libayatana-appindicator-glib in newly written code.
TypeError: Couldn't find foreign struct converter for 'cairo.Context'
TypeError: Couldn't find foreign struct converter for 'cairo.Context'
TypeError: Couldn't find foreign struct converter for 'cairo.Context'
TypeError: Couldn't find foreign struct converter for 'cairo.Context'
TypeError: Couldn't find foreign struct converter for 'cairo.Context'
Линуксом на десктопе я пользовался 15 лет назад, во времена Ubuntu 8-10 и Gnome2, поэтому многое забыл.
turik02
Сообщения: 856
Зарегистрирован: 01 июн 2022, 13:47
Operating system: РОСА «ФРЕШ» 13.3 GNOME 64-bit

Re: Onboard + Wayland

Сообщение turik02 »

Михаил Ягих писал(а): 21 окт 2026, 12:07 Появляется только пустое окно.
Проверь, есть ли:

Код: Выделить всё

sudo dnf in python3-gi-cairo
Или же:

Код: Выделить всё

sudo dnf in python3-cairo
Михаил Ягих
Сообщения: 87
Зарегистрирован: 01 дек 2025, 12:31
Operating system: Rosa Linux 13 fresh

Re: Onboard + Wayland

Сообщение Михаил Ягих »

Код: Выделить всё

sudo dnf in python3-gi-cairo
Да, спасибо, это помогло. Но правда, при нажатии кнопки Super, как и обещано, зависло. Но хотя бы Ctrl и Alt работают.
Линуксом на десктопе я пользовался 15 лет назад, во времена Ubuntu 8-10 и Gnome2, поэтому многое забыл.
turik02
Сообщения: 856
Зарегистрирован: 01 июн 2022, 13:47
Operating system: РОСА «ФРЕШ» 13.3 GNOME 64-bit

Re: Onboard + Wayland

Сообщение turik02 »

Михаил Ягих писал(а): 21 окт 2026, 13:50 Но правда, при нажатии кнопки Super, как и обещано, зависло.
Это модификатор Win просто фиксируется намертво.
Если хочешь, то можешь посмотреть настройки onboard, например задержку для модификаторов или поведение.
Вложения
Снимок экрана от 2026-10-21 23-42-48.png
Ответить

Вернуться в «Обсуждение РОСА Фреш 13 (платформа РОСА 13)»