Diodon fails to boot under Linux Mint

Asked by invernosantigos

    In Linux Mint's Cinnamon environment, many applications either don't work or only work partially -- Nobody can, for example, make Clipboard work (it just doesn't work), Copy Q (locks the clipboard, pastes but doesn't copy) Packages Appimage doesn't work at all; just to name the most common cases -- but nothing is as irritating as Diodon, which works, but after a while it doesn't start, and after we've struggled for a solution, it works for a few weeks, and then it stops. start again, and this keeps repeating itself with each repair, as if it were a Ruindows XP bug... Namely, at first, it does not start, or is unstable, closing at the same time it is opening. Running it in a terminal doesn't work, because when you close the terminal, it crashes. My first solution was to add the nohup command to Diodon's syntax ( sudo nohup diodon ), which fixed the problem for 2 weeks, causing the application to start stably, but then it stopped working, and worse, nohup stopped working also. Like everyone who has had problems with the diodon, I've tried sudo -- but of course that doesn't work for autostart, which doesn't support sudo, nor does creating a diodon group and registering it in sudoers; and starting Diodon manually every day is frustrating and irritating, but it worked, until it stopped working. So the next solution was to abandon nohup and use the screen command ( screen -d -m diodon ) and I sincerely recommend that, and include screen in Diodon's dependencies, since screen has to be installed. It worked well, and it still works. But after 2 months it stopped working too. Then I ran into a permissions problem in the application ( in /usr/share/applications/diodon.desktop ). All permissions were root, with no user permissions, and read-only, with no execute permissions -- a very common bug in apps installed on Mint, when written by developers with no knowledge or experience of Cinnammon : Cinnamon has one of the Stricter security policies (read: permissions) for applications, although it is no Sabayon. When installing a new application, it installs it only with the default Mint permissions, unless something else is clearly specified. You can't improvise with it. So much so that it has constant problems with git packages (read: most don't work anyway). I now have to start it manually with sudo, and I can't figure out where the startup bug is. But it appears that Diodon is not recognized as a user process, or at least not as a user process that can access root space. If I start exclusively as an administrator, it works without any problems. But if I log in as a user, or use automatic login (called "guest-user" in Ubuntu, where you can log in as an unspecified user) Diodon won't start, and I can't make myself available to users to start Diodon with sudo for them.
 My only clue : When I say, Mint installs only with Mint's default permissions, unless something else is clearly specified, I mean something like specifying root access, even though it's a user session (the area Mint transfer, like all instances of Cinnamon , is considered root ).

Question information

Language:
English Edit question
Status:
Expired
For:
Diodon Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Oliver Sauder (sao) said :
#1

Thanks for raising this. I had a test run with Diodon on Linux Mint 20.2 and it seems to work just fine.

I have a feeling you properly messed up your local permissions by running it by root and that's why there are issues now.

Rule of thumb never run Diodon or most user space application with sudo.

When it comes to Diodon try the following steps to see whether this fixes your setup (some sudo are needed here to resolve possible permission issues):

sudo killall diodon
sudo killall zeitgeist-daemon
sudo mv ~/.local/share/zeitgeist ~/.local/share/zeitgeist.old
# install newest Diodon version if not already the case
sudo add-apt-repository ppa:diodon-team/stable
sudo apt update
sudo apt install diodon

After that reboot your machine to be sure. Diodon should be there in the indicator area. There is an issue (which is be fixed soon) that the very first time nothing gets added to the history (see #1435033). So what you can do is logout and login again and it should start working.

I hope this is helpful. I am turning this issue into a question as I have a feeling it is a setup issue. In case we will find a bug while analyzing we can always open an issue later.

Revision history for this message
Launchpad Janitor (janitor) said :
#2

This question was expired because it remained in the 'Open' state without activity for the last 15 days.

Revision history for this message
Oliver Sauder (sao) said :
#3

Opening again to continue discussion as of new details at #1959650

Revision history for this message
invernosantigos (invernosantigos) said :
#4
Revision history for this message
invernosantigos (invernosantigos) said :
#5

     Well, continuing, in this new version released, the problem has improved a lot, in the sense that it is no longer unsolvable. But Linux Mint 20 requires zeigeist to be installed and zeitgeist-datahub is included in the dependencies visible in Synaptic, although not in the package. You can install without these dependencies, if the installation is done directly by the package via Gdebi, but then Diodon doesn't work, at least not in this style of installation. Through Synaptic or apt, it works as long as zeitgeist and zeitgeist-datahub are also installed. In case of Diodon crash or boot failure, you need to purge zeitgeist ( complete removal of it ) and remove Diodon and zeitgeist-datahub ( simple removal, complete removal would erase the entire list from Diodon's clipboard, and it's not necessary ) because it takes complete removal of zeitgeist is a mystery, not least because, as Sao-sama already explained ( https://bugs.launchpad.net/diodon/+bug/1959650 ) in previous answer, it doesn't even use Zeitgeist. Must be a Mint 20 thing...

   Sometimes when reinstalled it does not start, or only starts with sudo. But sudo can fatally bug Diodon on the next machine boot, if not the following ones. The solution I found to eliminate the sudo requirement was to enter the Diodon launcher at /usr/share/applicatios/diodon, and change the permissions to make it executable for both root and user. This allows it to be launched without sudo. If it closes itself after a few minutes when in use, or opens and closes immediately when launched, the solution has been to install the screen command ( sudo apt install screen ) and change the exec line of the file to "diodon" (rewriting the exec line directly in the file -- /usr/share/applicatios/diodon and manually editing the line) changing the exec line to "screen -d -m diodon" without the quotes. It's very stable.

   About this last part, the need for the screen command to keep it running stably, I'm doing some tests running it without the screen command for a few days but with the highest processor clock. My idea is that the "instability" that causes the diodon to shut down could be the OOM Killer, the Linux "process killer", which selectively kills processes when there is insufficient memory -- my machine is pretty beefy, 12Gb i5, but I use it on the edge, with a lot of open stuff, and eventually, something else heavy with a lot of open priority (like VLC). If that's the case, maybe improving Diodon's priority a bit ( from +20 to +17 ) will do the trick.

Revision history for this message
invernosantigos (invernosantigos) said :
#6

      Coming back with some important news: I migrated my linux mint to the new 20.3 Una version, the most current. In it, zeitgeist and zeitgeist-datahub are no longer dependencies of the Diodon package, now it's just zeigeist-core. Diodon in the new version seemed to run smoothly, but it still required the screen command ( screen -d -m diodon ), and worse, it didn't work on autostart. To be launched it was necessary to invoke it twice, as in previous bugs: In the terminal, "screen -d -m diodon", then again "screen -d -m diodon" (just to get ahead, put it as "screen -d -m diodon && screen -d -m diodon" didn't work; had to launch it twice SEPARATELY, not in the same command -- I've reported this before; it was a bug that came and went, randomly). So I found in the mint upgrade from 20 to 20.3 that the installation had zeitgeist-datahub on autostart, I don't know why. And after turning off zeitgeist-datahub (I don't even know what it's for) from automatic startup, diodon started to boot normally, without failures. So there was some conflict with zeitgeist-datahub. You don't need twice more, this mystery is solved. BUT, it still requires "screen -d -m diodon", because if you just use "diodon" it starts, but crashes as soon as the terminal closes. It keeps requiring the screen command because it doesn't go to the background by itself. The nohup command ( nohup diodon ) doesn't work, because when it does, it only works with sudo. And diodon doesn't accept sudo.

Revision history for this message
Launchpad Janitor (janitor) said :
#8

This question was expired because it remained in the 'Open' state without activity for the last 15 days.

Revision history for this message
invernosantigos (invernosantigos) said :
#10

     I was away for months after upgrading my Mint 20.0 Ullyana to 20.3 Una. It took me time to debug the new installation. Now, Diodon is back in trouble. It just completely stopped working (in Mint 20.3 Una), like other times, but this time, no reinstallation worked. And there wasn't some "datahub" package interfering. It got interesting after several tries. I chose to completely uninstall Diodon, after concluding that it was the flatpack that was buggy, and I tried installing it via git, directly from Github. I think this git route was one of the most frustrating installs I've ever faced. Installation required to be done via Meson, which was easy to install, but from there it was a hell of a frustration. The git version required for compilation several dependencies unavailable for focal, which are even in the repositories, but are not recognized for installation. The famous, "It's like a public office: it exists, but it doesn't work" as we say here in Brazil. The primary dependency required was libayatana-appindicator3-1, which was not found by apt for installation, and had to be manually downloaded from Ubuntu.org (found libayatana-appindicator3-1_0.5.4-2_amd64.deb, and libayatana-appindicator3 -dev_0.5.4-2_amd64.deb; which in turn also required gir1.2-ayatanaappindicator3-0.1_0.5.4-2_amd64.deb -- so far it was just boring ) and I had to install them manually, via Gdebi. Now the frustrating and annoying part begins: The compilation stopped for lack of dependencies, but not because they were actually missing, but because their names were not recognized:

   First : It required libpeas-1.0, but that depe doesn't exist for Focal Fossa, at least not with that name; there is libpeas-1.0-0_1.32.0-1_amd64.deb. But the terminal requirement was -1.0, not -1.0-0, which should have served but was not recognized. Given that, I tried installing directly from the source, and only then was it recognized as installed. It could just be a depe installation bug, but then came the worst

   Second: the compilation also required "zeitgeist2.0", which DOES NOT EXIST. There is gir1.2-zeitgeist-2.0, which is the Focal equivalent, but it was not recognized. It took me half an hour to understand what was wrong. The correct package is zeitgeist, and the available version is 1.0.2 ( 1.0.2-3ubuntu2 ), which is a serious version identification error. "Zeigeist-2.0" doesn't exist, and it's a version of the future that hasn't been made yet and is even missing a lot. It appeared to be a terminal error, because when installing the available version ( zeitgeist-1.0.2-3ubuntu2 ) the build was finally accepted and completed. And diodon launched with the command "screen -d -m diodon". With just "diodon", Diodon starts, but there is no button available on the toolbar -- only the menu appears when the diodon command is typed in a terminal window, but closing the window, the menu disappears, and the icon does not appear at no time of it; when you need to reopen the menu, you'll need a new terminal window -- and if the terminal isn't closed, the drop-down menu is right in the middle of the screen, constantly coming back to the foreground without being prompted. And, let's face it, it must be quite difficult to open a terminal window and type diodon every time you have to open the menu... It looks like flubox... or XMonad, the legendary fully text-mode graphical interface that you have to be very geeky to use.

   Well, that's the whole report. Installing via git solves it, I don't know if the new dependencies installed change the problem of the flatpack version. It would be interesting to test, but after all this tiring, I will not risk a functional installation.
   To summarize, the dependencies required for installation via git are:

     *gir1.2-ayatanaappindicator3-0.1_0.5.4-2_amd64.deb
     *libayatana-appindicator3-1_0.5.4-2_amd64.deb
     *libayatana-appindicator3-dev_0.5.4-2_amd64.deb
     *libpeas-1.0-0_1.32.0-1_amd64.deb
     *zeitgeist

   Remembering that libpeas-1.0-0 is currently buggy ( Mar 25 2022 ), and has to be compiled and installed via source. There are already reports on github reporting the problem, but remembering, the system asks for libpeas-1.0, not libpeas-1.0-0 which is the only version available; so the problem must be with Diodon's git, and not so much with the dependency itself.

   Given the urgency of this report, I didn't have time to do stability tests. By urgency, I mean, my development philosophy is that the developer should always be the first to know -- he has the right to be the first to know, to be kept informed and to give advice, including advising not to do something. The rights of Kings! The reason: he can choose to make a developer fix, propose tests, or warn not to do something at the risk of breaking the environment.

Revision history for this message
invernosantigos (invernosantigos) said :
#11

     One more problem. I was almost giving up on Diodon, because its bugs seem to be immortal. It was stable ( Diodon Git, installed as I described above ), but as usual, it broke again and nothing resolved. I uninstalled the git version and installed the latest version binary. Unable to reinstall git version, due to Ninja problems. But then the "latest binary" version didn't work, until I found the culprit: Again, zeitgeist-datahub. There's something installing this crap automatically on the system without being prompted, and I can't figure out what -- it's annoying -- I solved it by blocking zeitgeist-datahub in Synaptic ( select package, zeitgeist-datahub, click "package" in the top menu, and select the option "lock version" ) But of course, this is not the most correct nor the most secure solution. You have to have the decency to think about newbees. I suggest developers include the package in Diodon's dependency list as a conflicting package. Although it is not directly affecting Diodon, but just a Diodon dependency: It is the zeigeist-datahub that is preventing libayatana from activating an icon in the panel, forcing to invoke Diodon's menu via terminal, as I described in the previous post. It would be good to let the Libayatana developers know, because zeitgeist-datahub is not in the libayatana conflict list. Note, it also affects the flatpack. In theory, libayatana running inside the flatpack would be free of interference from other instances external to it, but that is not what is happening. The libayatana would need a configuration file that runs inside the flatpack, or a version of it ( libayatana ) dedicated, that is, preconfigured only for Diodon, which I consider the better idea. Note: As I said in the previous post, there are 3 ayatana packages involved ( in creating, managing and launching the Diodon icon ): gir1.2-ayatanaappindicator; libayatana-appindicator3-1; libayatana-appindicator3-dev ; but I couldn't figure out which of the 3 is conflicting with zeitgeist-datahub. I don't have the tools to figure this out. The solution for now would be to include zeitgeist-datahub as a package that conflicts with Diodon and Ayatana. I consider my mission completed. I want to end my participation here.

Revision history for this message
invernosantigos (invernosantigos) said (last edit ):
#12

    And didn't I have to go back to fight yet another bizarre and nonsensical bug? It stopped working, but the system monitor indicates the diodon working, but there is no icon on the panel -- i.e. the same problem as before -- Libayatana is not working ( does not generate icon on the panel for the diodon ), and this time, it doesn't it is missing or poorly installed dependency issue, but rather a problem that appears to be dependency configuration issue : Reinstalling Diodon or Libayatana didn't work, but it did when installing libayatana-indicator3-tools, which IS NOT a dependency on either Diodon or the libayatana packages , needed by Diodon, which is so weird that you'll have to investigate if it only worked for me, i.e. if it worked entirely by chance.. It doesn't make sense, since the new package ( libayatana-indicator3-tools ) SEEMS to configure ( or modifies from the configuration files of ) libayatana-indicator3-7 ( can only be ), but it is dependent on it, not dependent on it. On the other hand, libayatana-indicator3-7 is a dependency of libayatana-indicator3-1, that is, an essential dependency of Diodon. So the problem seems to have been a certain lack of stability of the libayatana project, which has been getting mixed updates. Perhaps a dedicated Libayatana version for the Diodon flatpack, as I suggested before, would be a good solution. But for Diodon installed in the system root or via git, it is necessary for the Ayatana developers to stop messing around, or at least, to pre-arrange the Libayatana updates with the Diodon developers. Which by the way is the responsible obligation of every developer.

     Note: Once Diodon is running without generating an icon on the panel (check via htop or system monitor), you need to kill the Diodon process to make another attempt to launch the icon.