1

I know the term "heavier" is relative to the capacities of each machine, but I am asking the question within the limits of that relativity, while considering a PC on which Xfce is more stable and more responsive than Plasma/KDE.


I remember a discussion on some forum about whether Xfce is still lighter than Plasma, and the argument that Xfce may start not feeling "lite" after a while, when people try to bring it closer to Plasma for instance, by installing Kwin, Dolphin or Okular, which come with a lot of KDE/Qt dependencies.

I have about 8 year experience with Linux and I know better than mixing desktop environments, despite so many saying that "we can" do that.

I had to move from Plasma to Xfce because the system became less responsive and with frequent little crashes (Kwin and panel mostly) and I am now using Xfce for almost an year. The desktop is absolutely stable and feeling as snappy as ever (and looking as good as any with the Vertex Dark and Green themes). But, for the purposes of this answer (about changing colors in pdf books in order to improve readability) I wanted to try Okular.


In Xfce, installing Okular with apt would bring 100 new dependencies in a 19 MB download, taking 101 MB on disk :

The following NEW packages will be installed:
  kinit kio kpackagetool5 libaccounts-glib0 libaccounts-qt5-1 libdbusmenu-qt5-2 libfam0 libkaccounts1 libkf5activities5
  libkf5archive5 libkf5attica5 libkf5auth-data libkf5auth5 libkf5bookmarks-data libkf5bookmarks5 libkf5codecs-data
  libkf5codecs5 libkf5completion-data libkf5completion5 libkf5config-data libkf5configcore5 libkf5configgui5
  libkf5configwidgets-data libkf5configwidgets5 libkf5coreaddons-data libkf5coreaddons5 libkf5crash5 libkf5dbusaddons-data
  libkf5dbusaddons5 libkf5declarative-data libkf5declarative5 libkf5doctools5 libkf5globalaccel-data libkf5globalaccel5
  libkf5guiaddons5 libkf5i18n-data libkf5i18n5 libkf5iconthemes-data libkf5iconthemes5 libkf5itemviews-data libkf5itemviews5
  libkf5jobwidgets-data libkf5jobwidgets5 libkf5js5 libkf5jsapi5 libkf5kexiv2-15.0.0 libkf5kiocore5 libkf5kiontlm5
  libkf5kiowidgets5 libkf5notifications-data libkf5notifications5 libkf5package-data libkf5package5 libkf5parts-data
  libkf5parts5 libkf5pty-data libkf5pty5 libkf5purpose-bin libkf5purpose5 libkf5quickaddons5 libkf5service-bin
  libkf5service-data libkf5service5 libkf5solid5 libkf5solid5-data libkf5sonnet5-data libkf5sonnetcore5 libkf5sonnetui5
  libkf5textwidgets-data libkf5textwidgets5 libkf5threadweaver5 libkf5wallet-bin libkf5wallet-data libkf5wallet5
  libkf5widgetsaddons-data libkf5widgetsaddons5 libkf5windowsystem-data libkf5windowsystem5 libkf5xmlgui-bin libkf5xmlgui-data
  libkf5xmlgui5 libkwalletbackend5-5 libmarkdown2 libokular5core8 libphonon4qt5-4 libpolkit-qt5-1-1 libpoppler-qt5-1
  libqca-qt5-2 libqmobipocket2 libqt5script5 libqt5texttospeech5 libsignon-qt5-1 okular phonon4qt5 phonon4qt5-backend-vlc
  qml-module-org-kde-kquickcontrolsaddons qml-module-qtquick-dialogs qml-module-qtquick-privatewidgets
  qml-module-ubuntu-onlineaccounts qtdeclarative5-qtquick2-plugin
0 upgraded, 100 newly installed, 0 to remove and 9 not upgraded.
Need to get 19,0 MB of archives.
After this operation, 101 MB of additional disk space will be used.

How many of those dependencies could be qualified as KDE-specific and considered out-of-place/risky in Xfce?


Looking at ways of installing in a "sandboxed" manner — which, as far as I understand, is keeping Xfce separated from KDE dependencies:

Trying Flatpak: I see this message: 798,8 MB will be downloaded in total. 2,7 GB more disk space will be used — enough to be taken aback. (Separate question: Why is flatpak so much bigger than snap (at least for Okular)?.)

I have installed from Snapcraft (sudo snap install okular) but it stopped working after a short while. I have asked a different question on how to fix that.

(Also: installing in this way Qt apps in Xfce results in them not following the system theme and looking rather poorly.)


So, I'm thinking about installing Okular with apt, but I would like to know a little more about the impact of those 100+ dependencies.

cipricus
  • 3,444
  • 2
  • 34
  • 85
  • 1
    By the way most of the packages are libraries, so I'll stick with APT method. – N0rbert Dec 13 '19 at 16:55
  • @N0rbert - Do you know why this is voted to be closed and whether it can be re-formulated to avoid that? – cipricus Dec 13 '19 at 17:23
  • 2
    You're asking for the "best" way. Best, by what criteria? You have not explained the criteria for 'best' and therefore this is an opinion-driven question. Revise the question to explain what 'best' means to avoid downvotes. – K7AAY Dec 13 '19 at 19:55
  • 1
    @K7AAY - I have edited the question, changed the title. – cipricus Dec 16 '19 at 14:15
  • 1
    I have edited the question and voted to reopen. – cipricus Dec 16 '19 at 14:30
  • 1
    "Heavier" is subjective. Consider the fact I run sudo updatedb every 15 minutes in cron to give my system something to do and while typing this all 8 CPU cores are running 2 to 3 %. Long gone are the days I was dying to get an IBM PC/AT so things ran faster. – WinEunuuchs2Unix Dec 17 '19 at 01:00

1 Answers1

2

We'll start by first referring to the Xubuntu Strategy Document. This will help illuminate some concepts. Under "Seeds and Composition" we find:

When measuring if a package is right for Xubuntu, the decision should not be based on an analysis of the package alone, but the target package along with its dependencies. Any package that is considered for seeding should fulfill the following requirements:

  • The package should use the GTK toolkit

  • The package should not pull in heavy libraries, especially if they will run and/or start frequently

  • The package should be well maintained upstream

The above guidelines can be omitted with the approval of the council when there are extensive benefits to seeding the package.

Okular fails a basic test for inclusion as it is built with the Qt toolkit rather than GTK. Another test failed is that it pulls in "heavy libraries" which in this case means it requires installing the appropriate KDE Frameworks packages to be able to run. Without those KDE-specific dependencies Okular will not function and in your question you show that one hundred megabytes worth of such packages must be installed. As to your question about them being out of place or risky in Xfce instead they won't impact the operation of any Xfce components nor will they necessarily interact.

As to Flatpak and Snapcraft, those are methods to ship the necessary libraries and runtimes in a self-contained fashion with the application itself. Questions about why the Flatpak is so large should likely be directed to the KDE development team. A page on their wiki discusses their current effort making distributed Flatpak iterations of their programs. Their support channels should be also contacted relative to the snap not working.

You're not necessarily going to do any damage to your system installing Okular. An application from KDE just needs to bring its dependencies along to function. Xubuntu currently seeds Atril in its basic installation which is a fork of GNOME's Evince viewer.