Something very annoying hit me today when using Terminator: As soon as I switched to "Broadcast all" or "Broadcast group", the primary window would get the correct keyboard input, but all the others would get each character twice.
Let me show that in an example:
As you can see, in the not-selected window below, each entered character is appearing twice.
This was working last week, I am sure. So what did change?
On my research I pretty quickly came across an Ubuntu bug on the terminator package, which is about that problem. The comments of that bug report led me to "ibus". According to Ubuntu's ibus help page, ibus is:
an input method framework for multilingual input in Unix-like operating systems
Interesting... I don't use a multilingual input. But now that I've read this, I suddenly remembered that this weekend I noticed a sudden change of keyboard input which was set to US-English instead of my default of Swiss German. And I would certainly not change that as I'm using a Swiss German keyboard layout.
So how and why did ibus come on my system? Or has it always been running?
The apt history reveals more:
WM2856l ~ # zgrep ibus /var/log/apt/history.log.1.gz -A 2 -B 2
Start-Date: 2019-05-29 10:09:58
Install: libxcb-xtest0:amd64 (1.10-2ubuntu1, automatic), ibus:amd64 (1.5.5-1ubuntu3.2, automatic), dconf-cli:amd64 (0.20.0-1, automatic)
End-Date: 2019-05-29 10:10:02
ibus was obviously installed a couple of days ago, just after 10am. But why? This is the same time I was invited into a Zoom meeting and installed the package for Linux Mint:
admck@WM2856l ~ $ ls -la /home/admck/Downloads/zoom_amd64.deb
-rw-r--r-- 1 admck admck 66321120 May 29 10:09 /home/admck/Downloads/zoom_amd64.deb
So the installation of the zoom deb package caused an installation of a dependency; ibus in this case. Besides ibus the zoom package also changed my default keyboard layout, as written above. Not nice!
But is it actually ibus causing the problem, as meanwhile suspected, or is it something else? Let's try this and kill the ibus daemon process:
admck@WM2856l ~ $ ps auxf|grep -i ibus
admck 11524 0.0 0.0 12016 2388 pts/22 S+ 15:29 0:00 | | \_ grep --colour=auto -i ibus
admck 2460 0.1 0.0 361940 11456 ? Ssl 09:32 0:25 /usr/bin/ibus-daemon --daemonize --xim
admck 2479 0.0 0.0 276960 6500 ? Sl 09:32 0:00 \_ /usr/lib/ibus/ibus-dconf
admck 2480 0.0 0.1 519520 24524 ? Sl 09:32 0:08 \_ /usr/lib/ibus/ibus-ui-gtk3
admck 2539 0.0 0.0 201228 6360 ? Sl 09:32 0:07 \_ /usr/lib/ibus/ibus-engine-simple
admck 2490 0.0 0.0 285896 13296 ? Sl 09:32 0:11 /usr/lib/ibus/ibus-x11 --kill-daemon
WM2856l ~ # kill 2460
WM2856l ~ # ps auxf|grep -i ibus
root 11689 0.0 0.0 12016 2420 pts/22 S+ 15:31 0:00 | | \_ grep --colour=auto -i ibus
OK, the ibus processes are gone. What about terminator?
Finally the input is showing up correctly, in both windows.
... its a package installation which brings some "hidden inconveniences" with it. Of course I immediately uninstalled the zoom and the packages which were installed as a dependency to zoom.
WM2856l ~ # apt remove zoom ibus libxcb-xtest0 dconf-cli
If someone from Zoom reads this, please clean this up. Thanks. This happened on Linux Mint 17.3 Cinnamon 64bit by the way.
Yuriy Kryshchuk from Ukraine wrote on Jan 14th, 2020:
The same issue exists on Fedora 31. I do not have Zoom installed. However, the ibus seems to be the issue here too. Once I killed the daemon the broadcast got fixed.
Choroba from wrote on Nov 19th, 2019:
I use several keyboard layouts and switch between them via the "Keyboard Layout Handler". Ibus installed via Zoom totally broke my setup and caused the handler to randomly freeze. Unfortunately, it sometimes freezes before I can kill ibus, and it doesn't come around later :-(
Johny from Canada wrote on Sep 18th, 2019:
In my case Microsoft Teams Insiders was the culprit. Thanks for this tip.
Mike from wrote on Jul 3rd, 2019:
Excellent. Saved me a hair tearing.
AWS Android Ansible Apache Apple Atlassian Automation BSD Backup Bash Bluecoat CMS Chef Cloud Consul Container Containers CouchDB DB DNS Database Databases Docker ELK ElasticSearch Elasticsearch Filebeat FreeBSD GlusterFS Grafana Graphics HAProxy HTML Hacks Hardware Icinga Icingaweb2 InfluxDB Internet Java Kibana Kubernetes LXC Linux Logstash Mac Macintosh Mail MariaDB Minio MongoDB Monitoring Multimedia MySQL NFS Nagios Network Nginx OSSEC OTRS PGSQL PHP Perl Personal PostgreSQL Postgres PowerDNS Proxmox Proxy Rancher SSL Security Shell SmartOS Solaris Surveillance SystemD TLS Tomcat Ubuntu Unix VMware Varnish Virtualization Windows Wireless Wordpress Wyse ZFS Zoneminder