Installing the Onboard on-screen keyboard in Gentoo Linux
June 25, 2018 10 Comments

Onboard on-screen keyboard configured with the British English layout, Droid theme and international character selection enabled for the long-press action
The most sophisticated and polished virtual keyboard I have seen so far in Linux is Onboard, the on-screen keyboard previously provided in Ubuntu prior to the switch to GNOME 3. The current version of Onboard is 1.4.1 and it can be installed and used in other Linux distributions and desktop environments. Thanks to Gentoo Linux user wjn an ebuild is available in the wjn-overlay overlay and can be installed from there via Portage. However, I prefer to use a local overlay so I copied the ebuild to my local overlay and installed it from there instead. Here is what I did to install
app-accessibility/onboard
in the Gentoo Stable installation running KDE Plasma 5 on my Clevo W230SS laptop:
1. I first made sure the preferred Python interpreter was selected (I should have done that when the Gentoo Linux developers recently replaced Python 3.5 with Python 3.6 in the default Python targets for Gentoo installations):
root # grep PYTHON /etc/portage/make.conf
PYTHON_TARGETS="python2_7 python3_6"
PYTHON_SINGLE_TARGET="python3_6"
root # eselect python list
Available Python interpreters, in order of preference:
[1] python2.7
[2] python3.5 (uninstalled)
[3] python3.4
[4] python3.6 (fallback)
root # eselect python set 4
root # eselect python list
Available Python interpreters, in order of preference:
[1] python3.6
[2] python2.7
[3] python3.5 (uninstalled)
[4] python3.4
2. Then I copied the ebuild to my local overlay:
root # mkdir -p /usr/local/portage/app-accessibility/onboard/files
root # cd /usr/local/portage/app-accessibility/onboard/files/
root # wget https://bitbucket.org/wjn/wjn-overlay/raw/5d7fe162af7c0cde9b401a9a30fb3ab8b2b65e3d/app-accessibility/onboard/files/# onboard-1.4.1-remove-duplicated-docs.patch
root # cd ..
root # wget wget https://bitbucket.org/wjn/wjn-overlay/raw/5d7fe162af7c0cde9b401a9a30fb3ab8b2b65e3d/app-accessibility/onboard/onboard-1.4.1.ebuild
root # ebuild onboard-1.4.1.ebuild manifest
3. As I am using using Gentoo Stable I unmasked the ebuild by keyword:
root # nano /etc/portage/package.accept_keywords/onboard
root # cat /etc/portage/package.accept_keywords/onboard
=app-accessibility/onboard-1.4.1 **
4. Then I installed the package:
root # emerge onboard
root # eix onboard
[I] app-accessibility/onboard [1]
Available versions: (~)1.4.1^m {PYTHON_TARGETS="python3_5 python3_6"}
Installed versions: 1.4.1^m(15:28:57 25/06/18)(PYTHON_TARGETS="python3_6 -python3_4 -python3_5")
Homepage: https://launchpad.net/onboard
Description: Onscreen keyboard for everybody who can't use a hardware keyboard
[1] "local_overlay" /usr/local/portage
Icons for Onboard and Onboard Settings were added to the KDE Application Launcher’s menu (Applications > Utilities) and they can be launched from there or by entering the command ‘onboard
‘ in a Konsole window under the user’s account.
5. The only thing that did not work ‘out of the box’ in KDE Plasma 5.12.5 in Gentoo was selecting ‘Help’ from the pop-up menu displayed by clicking on the Onboard icon on the Plasma 5 Panel:
FileNotFoundError: [Errno 2] No such file or directory: ‘/usr/bin/yelp’: ‘/usr/bin/yelp’
This was simply because the package gnome-extra/yelp
had not been installed in my KDE installation. Now, I could have just installed it separately:
root # emerge yelp
but I chose intead to edit the onboard ebuild to add yelp to the list of runtime dependencies:
RDEPEND="${COMMON_DEPEND} app-accessibility/at-spi2-core app-text/iso-codes gnome-extra/mousetweaks gnome-extra/yelp x11-libs/libxkbfile"
and I then re-installed the package, which then automatically installed yelp and its dependencies:
root # ebuild onboard-1.4.1.ebuild manifest
root # emerge onboard
Onboard is a nice utility, and I hope its developers continue to maintain and develop it even though Ubuntu now uses the GNOME 3 on-screen keyboard instead, as it can be used in other desktop environments and in other Linux distributions.