Installing the Onboard on-screen keyboard in Gentoo Linux

Onboard on-screen keyboard with the Compact British English layout, Droid theme and international character selection enabled for the long-press action

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.

About Fitzcarraldo
A Linux user with an interest in all things technical.

10 Responses to Installing the Onboard on-screen keyboard in Gentoo Linux

  1. sal says:

    hi
    i use lubuntu 18,04 did not understand ” 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):”
    thanx
    sal

    • Fitzcarraldo says:

      My blog post is for Gentoo Linux only. If you are using Lubuntu 18.04 (which I also use on a different machine), installation of Onboard is much easier. All you need to do is:

      sudo apt-get update
      sudo apt-get install onboard
      
  2. sal says:

    thank you Fitzcarraldo
    i did this few months ago:

    sudo apt-get update
    sudo apt-get install onboard

    it worked for some time, tell i played with the panel, then it disappeared. I removed it and reinstalled
    but still does not work, i played with configuration , i see it before longing but i can’t get it on again after logging, please help me
    sal

    • Fitzcarraldo says:

      Well, I’m not sure what you have done to lose Onboard in Lubuntu 18.04, but you could try the following:

      1. Click on the LXDE Menu icon on the Panel and select ‘Preferences’ > ‘Default applications for LXSession’.

      2. Click on ‘Autostart’ in the left pane of the ‘LXSession configuration’ window.

      3. Tick the Enabled box for Onboard in the list of ‘Known Applications’.

  3. sal says:

    i did what you told me to do but the problem still the same
    when i logout the onboard appears, when i log in again and click on LXDE Menu icon on the Panel and select universal accesses ’ > ‘ onboard
    i see the arrow change to circle like it will start but no thing happen

    • Fitzcarraldo says:

      Have you checked if Onboard is running? When you think it is running, what does the following command return in an LXTerminal window?

      ps -ef | grep onboard | grep -v color=auto
      

      You should see something similar to this:

      $ ps -ef | grep onboard | grep -v color=auto
      fitzcarraldo    1577  1212  1 07:56 ?        00:00:00 /usr/bin/python3 /usr/bin/onboard
      

      There should be a menu entry in the LXDE Menu to configure Onboard (‘Preferences’ > ‘Onboard Settings’). Select that and check what the settings are for Onboard. Try changing any that look like they may be hiding the Onboard keyboard.

      If you are sure Onboard is not running, what do you see in an LXTerminal window when you launch Onboard from the command line? This is what I see:

      $ onboard
      08:06:51.892 WARNING Config: mousetweaks GSettings schema not found, mousetweaks integration disabled.
      

      If none of the above gets Onboard working for you, you can remove and re-install the package:

      sudo apt-get install --reinstall onboard
      

      You can remove the package and its configuration files, then re-install it:

      sudo apt-get remove --purge onboard
      sudo apt-get install onboard
      

      You can auto remove the package with its dependencies:

      sudo apt-get autoremove onboard
      

      You can check for broken dependencies:

      sudo apt-get check
      

      If there are any missing build dependencies you can re-install the build dependencies for the package:

      sudo apt-get build-dep onboard
      

      Also, when was the last time you upgraded the packages in the installation?:

      sudo apt-get update
      sudo apt-get upgrade
      
  4. sal says:

    the following command
    ps -ef | grep onboard | grep -v color=auto
    returns nothing

  5. sal says:

    onboard

    (onboard:8069): dbind-WARNING **: 21:38:18.896: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files

    (onboard:8069): dbind-WARNING **: 21:38:20.909: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files

    (onboard:8069): dbind-ERROR **: 21:38:20.910: AT-SPI: Couldn’t connect to accessibility bus. Is at-spi-bus-launcher running?
    Trace/breakpoint trap (core dumped)

  6. sal says:

    sudo apt-get install at-spi2-core
    it worked
    thank you
    sal

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.