5

I'm having problems with kdeconnect on Lubuntu and the only error I see when I execute the daemon with --replace is the inablility to launch kuiserver:

Couldn't start kuiserver from org.kde.kuiserver.service: QDBusError("org.freedesktop.DBus.Error.ServiceUnknown", "The name org.kde.kuiserver was not provided by any .service files")

I have it in qdbusviewer list on my main installation (it's a separate machine) but can't find what package it's from, what file provides this service. There is no file named like this and I can't even find anything with grep kuiserver -ri in select system directories.

Note that ideally the answer should be generic as I'm interested not only in solving this particular problem but in learning how to solve problems like this one in general.

Systems in question are 20.04 but the question itself is not about 20.04, thus no tag. plasma-workspace package does not provide this service, I tried installing in on Lubuntu and even rebooting after this.

int_ua
  • 8,574
  • 1
  • 2
    No, I don't know what file it is, that's the point. apt search, locate and even trying to find something in system directories didn't help so far. – int_ua Jun 17 '20 at 08:28
  • @N0rbert The author says that the linked question didn't help so far, so it might be better to retract the close vote rather than drag it out closing from one bad duplicate link, then reopening after 4 more bad close votes, failing to reopen it the easy way, and dragging it all the way through Meta. This way I only need to delete this one dumb comment instead of incurring massive overhead. – karel Jun 17 '20 at 12:52
  • While I disagree with the dup closing vote too, karel, I think your reply is too impolite, please tone it down. – int_ua Jun 18 '20 at 06:22
  • If kuiserver is visible on qdbusviewer, why is kdeconnect complaining about the service not being provided? – ashvatthama Jun 19 '20 at 05:23
  • it's two separate machines, tried to clarify that a bit in the main body of the question – int_ua Jun 19 '20 at 05:26
  • In general there is no 1:1 mapping between processes and DBus services. But if we assume that whatever process is providing kuiserver will probably have "k" in the name, try for pid in $(pgrep k); do ps -fp "$pid"; done – ashvatthama Jun 19 '20 at 05:26
  • Tried it but most of the processess in KDE have k in their name and I don't see anything similar. I tried checking kwin-* and kactivitymanagerd packages but I don't see anything that might be it in them yet. – int_ua Jun 19 '20 at 05:37
  • Maybe kdeconnect doesn't completely depend on kuiserver, it's just an optional dependency? Does kdeconnect run despite the warning or does it exit immediately after? – ashvatthama Jun 19 '20 at 08:17
  • It fails to send files and the only error in the output is this one. I'll verify later if it sends file in KDE on that system. – int_ua Jun 19 '20 at 09:09

2 Answers2

3

You can get the PID of the process owning a DBus socket:

dbus-send --session --print-reply --dest=org.freedesktop.DBus / org.freedesktop.DBus.GetConnectionUnixProcessID string:org.kde.kuiserver

then when you have the PID, just ps -fp PID

alternate:

find the string "kuiserver" in /usr/bin:

for exe in /usr/bin/*; do sudo strings -f "$exe"; done | grep "kuiserver"

(sudo is required because your user may not have read permissions for many executables)

for more specificity you could also grep for "org.kde.kuiserver.service"


Although you can safely ignore the kuiserver error, it shouldn't affect KDE Connect.

  • @int_ua the dbus command was wrong, sorry. I've edited it, please see that (note the space between / and org....) – ashvatthama Jun 19 '20 at 06:18
  • Meanwhile I've found a match in libkf5kiowidgets5 package with strings. Trying the updated command. – int_ua Jun 19 '20 at 06:35
  • Yes, the new command works and shows /usr/bin/plasmashell. But I've already tried installing plasma-workspace on the Lubuntu system and it didn't work. Anyway, that command answers the main question, thank you. – int_ua Jun 19 '20 at 06:36
  • Bounty is locked for another 23 hours by the system. – int_ua Jun 19 '20 at 06:40
  • 1
    Hmm, it being provided by plasmashell implies you need to actually be running KDE in order to use that service. But kdeconnect shouldn't depend on running KDE... you might want to check out https://github.com/sandsmark/kuiserver-standalone - I'll add an edit about that to my answer – ashvatthama Jun 19 '20 at 06:43
  • @int_ua please see the edit – ashvatthama Jun 19 '20 at 06:52
  • Thank you :) that was an overkill, but useful to know anyway. Not sure if the repository is outdated since the last update was 2 years ago or it's just finished and perfect as is. I'm not sure I will be testing it, definitely not right now :) – int_ua Jun 19 '20 at 07:50
  • 1
    @int_ua this is late, but I've started using KDE Connect recently too, and I've found that KDE Connect GUI doesn't send files for me either (Xfce), but using kdeconnect-cli -d your_device_id --share /path/to/file works perfectly. I think this is a bug in KDE connect, I'll report it later. – ashvatthama Jun 27 '20 at 05:18
  • @int_ua https://bugs.kde.org/show_bug.cgi?id=423975 – ashvatthama Jul 07 '20 at 18:36
  • 1
    @int_ua the bug has been fixed. now to wait for Ubuntu to package the latest version... – ashvatthama Jul 19 '20 at 06:34
3

Despite what the other answer says you do not need plasmashell to use KDE Connect.

TL;DR You can ignore the error

kuiserver provides a way for applications such as KDE Connect to report progress for jobs (such as file transfers) to Plasma. Plasma then embedds a progress bar in the panel.

When kuiserver is not available, i.e. when not using Plasma, KDE Connect falls back to displaying the transfer progress in a standalone window. Not as pretty as the progressbar integrated into Plasma, but perfectly functional.

Source: I am a KDE Connect and Plasma developer

  • 1
    Thank you! The first answer is correct in the part that is main to this particular question: identifying process that provides a dbus service, so it will remain the accepted one. But I'll reward this answer too, it's good to know this. – int_ua Jul 08 '20 at 17:31
  • Have to wait 24 hours to reward :/ – int_ua Jul 08 '20 at 17:33
  • 1
    I've corrected the info in my answer, thanks. – ashvatthama Jul 08 '20 at 18:07