Issue with Kleopatra: Inappropriate IOCTL (I/O-Control) for the device

Hey Manjaritos,

I am encountering an issue Kleopatra, Kontact and GnuPG on my Manjaro system with KDE.

  1. When I attempt to access the encryption settings (in Kontact), I receive the following error:

KPluginFactory could not create a KCModule instance from /usr/lib/qt6/plugins/pim6/kcms/kleopatra/kleopatra_config_gnupgsystem.so

  1. When I want to use Kleopatra (GUI) I cant import S/MIME certificates or generate keys with following error:

Inappropriate IOCTL (I/O-Control) for the device

I Checked if the necessary packages are installed:

sudo pacman -S kleopatra gnupg

Updated QT6 plugins:

sudo pacman -S qt6-base qt6-declarative qt6-tools

Unfortunately, none of these solutions resolved the issue. Has anyone else experienced this problem or have any further suggestions on how to fix it?

Thank you in advance for your help!

System Information:

**OS: Manjaro Linux**
**Desktop Environment:** KDE Plasma
**Kontact Version:** [6.1.0 (24.05.0)]
**GnuPG Version:** [gpg (GnuPG) 2.4.5]
**Kernel:** 6.6.32-1-MANJARO

System Partititions:

Summary

nvme0n1 259:0 0 476,9G 0 disk
├─nvme0n1p1 259:1 0 500M 0 part /boot/efi
├─nvme0n1p2 259:2 0 1G 0 part
│ └─luks-5c1a3d07--------------4ed9e95a26af
│ 254:3 0 1022M 0 crypt /boot
├─nvme0n1p3 259:3 0 250G 0 part
│ └─luks-51527b96------------d97afa7e0e8d
│ 254:0 0 250G 0 crypt /
├─nvme0n1p4 259:4 0 30G 0 part
│ └─luks-37a9c7a6------------156088d74cb7
│ 254:1 0 30G 0 crypt [SWAP]
└─nvme0n1p5 259:5 0 195,4G 0 part
└─luks-0e59223c--------------55f1ad7efd63
254:2 0 195,4G 0 crypt /home

Edit Update:

I encountered a problem when importing an S/MIME certificate with the following error: Inappropriate IOCTL (I/O-Control) for the device.

The found solution for the problem: [External Link] Solution Possibility 1 (ger)
unfortunately does not work for me.

Edit Update 2:

I completely set up a new Environment with actual kernel and just one partition with the actual kernel (because I thought maybe it is a cause of my luks encryption on different partitions) but unfortunately I have the same issue on a completely freshly installed manjaro with (minimal installataion) with just one root partition and one swap partition (no encryption at all).

Edit Update 3:

Removed pacman version and installed flatpak version — no change in result — same problem still.

Edit Update 4:

Okay, so let me recap. [External Link] Here I learned, that the problem mentioned above might be that GnuPG uses pinentry-curses as a standard. And [Extrernal Link] Here I learned, that

For Pinentry preferably pinentry-qt alternatively pinentry-gtk2 and pinentry-gnome also work. Pinentry-curses does not work for Kleopatra.

So, I was thinking in how I could tell GnuPG to use pinentry-qt for Kleopatra.

Then I went to the Arch Wiki Forum for GnuPG and there is written:

Install the gnupg package.

This will also install pinentry, a collection of simple PIN or passphrase entry dialogs which GnuPG uses for passphrase entry. The shell script /usr/bin/pinentry determines which pinentry dialog is used, in the order described at #pinentry.

BUT: Now there is the point where I do not come further. There is no pinentry folder in this particular path. And I wonder how it could be possible else then to tell GnuPG to use pinentry-qt instead of pinentry-curses for Kleopatra.

Any Ideas?

It’s not a folder - it is a shell script (a little program).

pinentry is a dependency of gnupg and should therefore be installed

it looks like this here:

which pinentry

/usr/bin/pinentry
ls -al /usr/bin/pinentry*

-rwxr-xr-x 1 root root    369 Mar 30 02:29 /usr/bin/pinentry
-rwxr-xr-x 1 root root  72248 Mar 30 02:29 /usr/bin/pinentry-curses
-rwxr-xr-x 1 root root  51768 Mar 30 02:29 /usr/bin/pinentry-emacs
-rwxr-xr-x 1 root root  80416 Mar 30 02:29 /usr/bin/pinentry-gnome3
-rwxr-xr-x 1 root root  84512 Mar 30 02:29 /usr/bin/pinentry-gtk-2
-rwxr-xr-x 1 root root 204400 Mar 30 02:29 /usr/bin/pinentry-qt
-rwxr-xr-x 1 root root 183000 Mar 30 02:29 /usr/bin/pinentry-qt5
-rwxr-xr-x 1 root root  51760 Mar 30 02:29 /usr/bin/pinentry-tty

Which one to use can be configured here:
~/.gnupg/gpg-agent.conf

See:

GnuPG - ArchWiki

1 Like

Thanks brother! I was on the right path then :slight_smile:

SOLUTION:

open Terminal cd ~ then type nano .gnupg/gpg-agent.conf and enter: pinentry-program /usr/bin/pinentry-qt save file ctrl + O --» reload agent with: gpg-connect-agent reloadagent /bye

DONE!!! - Kleopatra works, Kontact works too :slight_smile: Peace and out.

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.