Skip to main content
Quick navigation

Frequently Asked Questions

Convert a certificate to a Java Trust Store

In the Java world (hence in Conduktor), we work with the "Java KeyStore .jks" format instead of the common PEM format (.pem, .crt, ..). Hopefully, here is a command line to convert a certificate mycompany.crt to a useful keystore mycompany.jks (with password "changeit") to be used as truststore:

keytool -import -v -trustcacerts -alias mycompany -file mycompany.crt -keystore mycompany.jks -keypass changeit -storepass changeit

Setup the Keystore in Conduktor

Conduktor supports explicit truststore/keystore for some of our HTTPS integrations: Kafka Connect, ksqlDB. Kafka & Schema Registry also support truststore/keystore through their additional properties.

In case we're missing an integration, it can be useful to setup it globally on Conduktor itself (it does not mean it is inherited by the specific connection that already manage a specific keystore configuration):

-Djavax.net.ssl.keyStore=/home/xxx/my.client.keystore.jks
-Djavax.net.ssl.keyStorePassword=<password>

See Configuring Conduktor -> Custom environment variables to see where.

I'm using IPv6 infrastructure

By default, due to Java "habits", and to avoid complicated issues and troubleshoots (such as "Conduktor can't connect to.."), Conduktor automatically set -Djava.net.preferIPv4Stack=true to automatically use the IPv4 stack (which is still mostly used) when starting up.

If you have no problem with IPv6, if your infrastructure is up to date and servers bound to IPv6 addresses, then you may run into troubles, and you'll need to disable this option.

To do this, create the file conduktor.vmoptions in your Conduktor personal folder and disable the option (restart Conduktor to be taken into account):

  • MacOS: /Users/<user>/Library/Application Support/conduktor/conduktor.vmoptions
  • Windows: C:\Users\<user>\AppData\Local\conduktor\conduktor\conduktor.vmoptions
  • Linux: /home/<user>/.config/conduktor/conduktor.vmoptions (or XDG Config path if set)
# in conduktor.vmoptions, supports only -D* options

-Djava.net.preferIPv4Stack=false

Sometimes, it seems it is not enough. Another solution is to remove the original flag in the original configuration: be aware that this modification will be LOST each time you will upgrade Conduktor.

Remove -Djava.net.preferIPv4Stack=true in the source configuration file of Conduktor:

  • MacOS: /Applications/Conduktor.app/Contents/app/Conduktor.cfg
  • Linux: /opt/conduktor/lib/app/Conduktor.cfg
  • Windows: C:\Program Files\Conduktor\app\Conduktor.cfg

Ubuntu Focal 20: missing libffi6 when installing .deb

For Linux, Conduktor is packaged with libffi6. This library had seen its version bump to libffi7 in Ubuntu 20 Focal so you'll end up with this error:

$ sudo dpkg -i Conduktor-2.1.1.deb
...
dpkg: dependency problems prevent configuration of conduktor:
conduktor depends on libffi6; however:
Package libffi6 is not installed.

It's possible to install the previous version using coming from Ubuntu 19.10 (Eoan Ermine): download it here.

$ curl -LO http://archive.ubuntu.com/ubuntu/pool/main/libf/libffi/libffi6_3.2.1-9_amd64.deb
$ sudo dpkg -i libffi6_3.2.1-9_amd64.deb
$ sudo dpkg -i Conduktor-2.1.1.deb
... OK!

I have a HDPI monitor and Conduktor doesn't scale on Linux

To scale Conduktor, you can use GDK_SCALE (with a plain integer), such as:

$ GDK_SCALE=2 /opt/conduktor/bin/Conduktor

Or you can also modify the shortcut directly

$ sudo vim /usr/share/applications/conduktor-Conduktor.desktop
...
Exec=env GDK_SCALE=2 /opt/conduktor/bin/Conduktor

If it does not work, we are unfortunately limited by the underneath technologies Java and JavaFX. Although it's possible to add JVM options to Conduktor's JVM configuration to alter the behaviour of the JVM, but we never found a working solution.

The following flags does not work:

# Config in: /home/user/.config/conduktor/v1/app.properties

-Dsun.java2d.dpiaware=true
-Dhidpi=true
-Dsun.java2d.xrender=true
-Dide.ui.scale=2.0
-Dsun.java2d.uiScale.enabled=true
-Dsun.java2d.uiScale=2.

Conduktor flatpak image does not work in Wayland

There is a known issue with conduktor flatpak image under Wayland:

Exception in thread "main" java.lang.UnsupportedOperationException: Unable to open DISPLAY

As a workaround, Conduktor can be launched with this command:

flatpak run --nosocket=fallback-x11 --socket=x11 io.conduktor.Conduktor

It's possible to edit the .desktop file generated by flatpak (Exec= line), but keep in mind this change may be lost on the next Conduktor update:

cat ~/.local/share/flatpak/exports/share/applications/io.conduktor.Conduktor.desktop
[Desktop Entry]
Name=Conduktor
Comment=A beautiful and fully-featured desktop client for Apache Kafka
Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=/app/bin/conduktor.sh --nosocket=fallback-x11 --socket=x11 io.conduktor.Conduktor
Icon=io.conduktor.Conduktor
Terminal=false
Type=Application
Keywords=Apache;Kafka;Zookeeper;Cluster;
X-Flatpak=io.conduktor.Conduktor