For whatever reason, Zoom distributes .debs that have a
dependency on ibus
. ibus
is the "intelligent input bus" package and as far
as I'm aware, might be used for emoji input in chat or something?? But is
otherwise not actually a dependency of the Zoom package. I've tested this
extensively... the client works fine without it.
I noticed when I installed ibus
along with the Zoom package that ibus
would
frequently eat an entire core of CPU. I'm sure this is a bug in the ibus
package or service, but I have no energy to try to get that fixed. If it's not
a hard dependency, Zoom shouldn't depend on it in the first place.
Anyways, here's how you can repack a Zoom .deb to remove the ibus
dependency:
scratch=$(mktemp -d)
# Extract package contents
dpkg -x zoom_amd64.deb $scratch
# Extract package control information
dpkg -e zoom_amd64.deb $scratch/DEBIAN
# Remove the ibus dependency
sed -i -E 's/(ibus, |, ibus)//' $scratch/DEBIAN/control
# Rebuild the .deb
dpkg -b $scratch patched_zoom_amd64.deb
Now you can install the patched .deb with
dpkg -i patched_zoom_amd64.deb
The upstream fix would be for Zoom to move the ibus
"Dependency" to a
"Recommends", but they have been unwilling to do this for over a year.
But wait, what version even is my package?
By the way, you may have also noticed that the Zoom client downloads do not
conform to the standard Debian package naming scheme (i.e. including the
version in the filename). If you're not sure what version a zoom_amd64.deb
package you've downloaded is, you can quickly extract that information with
dpkg-deb
:
dpkg-deb -I zoom_amd64.deb | grep Version
# Version: 3.5.383291.0407