Xubuntu 19.04: The Exhaustive Update
bluesabre.org
bluesabre.org
1. Plugged the hdmi, everything looks so small. 2. Mate desktop had HiDPI support but only by a scaling factor of 2. Now everything looks very large. 3. I have to manually change the fonts dpi settings. Chrome and some other apps look good but the menus, file manager and firefox are still upscaled. 4. I manually change layout.css.devPixelsPerPx in about:config to make firefox look good.
Finally, the result looks very unpolished. The menus are still largely upscaled and some apps like vlc won't even scale at all. My laptop's screen can't be used as a secondary screen because everything is upscaled, not to mention that i have to manually undo all those steps to revert everything back to "normal" for my 15.6" laptop screen. I eventually wrote some scripts with dconf to automate the proccess but it's just not good.
Does anyone have experience with external monitors and linux desktops? How does xfce or kde handle this? I tried gnome that supports fractional scaling and it's way better than mate. Now the problem is that i only have 8GB of ram and gnome shell is known to be a ram hog.
I'm using Compiz, fwiw.
[1] The developers are doing great work, but it is a uphill battle without support from NVIDIA.
If I am not wrong gnome 3.32 also has the nvidia wayland backend
It's a shame that they nailed this, but decided to remove menus, desktop icons, system tray icons, etc. GNOME could have been a great competitor to macOS and Windows, if they actually talked to real-world users. I wish that they had an UX steward like Sun Microsystems back in the days.
I do like things like window snapping, and miss it in MacOS, but the actual desktop experience is so much better in MacOS than pretty much anything else.
Messing with Xorg config files is something you do not have to do since Xorg was forked from XFree86, especially when it comes to monitors. Personally the only time i had to do that was to force 1:1 mapping for mouse (ie. disable mouse acceleration), but that is not monitor stuff.
I settled with i3 reacting to my connecting/disconnecting my laptop from my monitor, but even then the resolutions never looked correct.
I ended up selling my Lenovo Carbon x6 and bought a macbook pro. I was so bitter about the experience, but on the other hand I'm no longer worrying about things that should just work.
/rant
Works great no matter what monitor I plug it into using an X1 Carbon with the hidpi screen.
The problem then becomes, if you don't have a 200dpi display, the scaling is noticeable.. Just like if you scale the display on a non-Retina monitor on a Mac.
You shouldn't really need to scale 2560x1440 @ 25" unless you have bad eyesight. Go up to a 27 or 30" display.
edit: I just installed Ubuntu 19.04 and it has GNOME 3.32 but there is no fractional scaling available in settings, in either Xorg or Wayland. The old experimental option can still be enabled but continues to make non-GTK3 apps blurry.
I didn't know if it was Linux, the TV or the Nuc. So I spent the next two hours trying to figure it out to no avail. About to give up, I then had what I thought was a dumb idea, hook it to the TV using an HDMI-DVI cable. It worked. the 1920x1080 desktop filled the screen as it should. The only thing I can think of is the HDMI port is only setup to look for TV video profiles. The DVI port expects a PC so it can figure out the signal and get the picture right.
I also frequently connect my XFCE laptop (only 1920x1080 native) running a totally different distribution to a 4K TV.
This requires a visit to the Appearance menu (as above) every time I plug/unplug in order to adjust font sizes. (Or, I could just run the 4k at 1080p, but either way it needs an adjustment.) This doesn't actually bother me, since it's just one step and I could script it if I did it all the time.
As far as using your laptop screen as a second screen, I've never really cared for that as a way to work anyway because of the size disparity (my 4k monitors/tv's are all much, much bigger than my little 13" laptop), but you could play with the resolution on each -- but you're right; the DPI settings in XFCE are for the whole desktop (and all apps, including Firefox), not per screen.
I still get my bash shell and unix experience and tooling easily as well so there is very little context switching when I jump into a linux container or remote host. There's tiny differences in some of the commands but largely a consistent experience.
I love linux, but the desktop is hard to get all the little things done right. On server, Linux just kicks ass, and all the tooling is built for it.
I have a Surface Pro 3 that works best at 175% scaling, and every day I connect it to a 27" 1080p monitor at 100% scaling. When dragging a window between the two, it will switch to the other scaling factor when it's halfway across. It works very well, so I'm not sure why it doesn't work for you. Maybe take another look at it?
I have also experienced the pain of trying to setup Ubuntu on my SP3, and eventually gave up and went back to Windows because it was such a nightmare. Which is weird, because I seem to remember that Ubuntu used to support non-integer scaling factors in the past.
No problem with KDE Plasma, but when running a tiling WM without a DE...
Where does Xubuntu and Kubuntu stand, install-base-wise, compared to the default Ubuntu? And other distros, for that matter?
I'm one of many people who left Ubuntu as soon as they started doing their big UI changes. I went to Xubuntu.
But I have no bigger idea of which distro is hot anymore; once I settled on Xubuntu, I haven't really been shopping around for alternatives.
I don't see what any other DE gives me other than glossy animations that I don't even want.
I very nearly switched to a BSD, but the learning curve was a bit too high (I like apt).
pkg_info -Q <search_term> # find a package
pkg_info <package> # show package description
pkg_add <package> # add a package
pkg_delete <package> # delete a package
That's all the basics you need on a fresh install.
The XFCE-based Xubuntu spin includes nothing of KDE by default, and neither KDE or Kubuntu are mentioned in the linked article at all. Call me cynical, I just don't think most people clicked the link or even took a close enough look at the title here.
I'm a longtime Xubuntu user because it just gets out of my way and is rock solid, but the apparently unfixable screen tearing makes me weep.
Seemingly Manjaro XFCE edition[1] solves the screen tearing by using a different compositor[2].
[1] https://manjaro.org/download/xfce/ [2] https://www.jupiterbroadcasting.com/130616/the-xfce-surprise...
For example, my KDE application menu refers to applications using these generic description ("Web Browser" instead of Firefox, "Music Player" instead of Spotify).
- Excel, says absolutely nothing about what the product does.
- PowerPoint is only tangentially related to what the product does.
- Internet Explorer vs. Windows Explorer confuses many users.
To avoid singling out just Microsoft, look at Apple:
- Numbers basically depends upon people associating spreadsheets with any form of quantitative analysis.
- Keynote is only tangentially related to what the product does.
- Safari says absolutely nothing about what the program does.
Contrast that to the brilliantly named GIMP: GNU Image Manipulation Program. It is clearly a program for enhancing photographs of gnu's! Okay, maybe it's not so brilliant. Yet it does demonstrate that naming is hard even when the name states what the program is.
Not trying to be snarky, but its good to have a unique, memorable name. Personally, GNOME just calling their text editor "Text Editor" is annoying, since I have more than one text editor installed.
Its the fastest option to quickly load scripts, and its convinient to have it always on the taskbar for frequently launched stuff. Whats the rationale for removing it?
edit: I'm rate-limted[x] from commenting for defending myself against people calling me a brown-nosed European and white supremacist so I can't really reply below to @Crinus:
here reply inline:
oh I didn't know about v1, I think the first version I used was kde2 and that was the heaviest option you could install back then (iirc).
fwiw my comparison to i3 above isn't really fair. one is just a WM the other is a full-blown DE.
No really, KDE1 was very fast - try COL 2.3 CD from archive.org[1] and put it in PCem or 86box with an emulated Pentium MMX at 166MHz and 32MB of RAM and see it for yourself.
Later versions bulged and bloated and i do not think it ever felt as lightweight, but at least version 3 was rock solid. Of course this meant that KDE4 had to be rewritten from scratch and become a bloated buggy mess, as is tradition on the Linux desktop (also see GNOME 3 and i'm going to be very disappointed if XFCE doesn't become slower and bloated after it fully switches to GTK 3).
Xubuntu => xfce
In the time and machines since, I've kept using Xubuntu.
Now I just have Windows 10 and macOS Mojave.
For Linux stuff, I spin up a Cloud9 EC2 instance.
I really like fedora and Cinnamon is kind what I imagine XFCE would be if they rebuilt it from scratch.
It's nice to have choices that fit my workflow though.
KDE has some decent themes as well to get it to look a little more polished than the default theme.
after moving to i3 I find it hard to look back. the level of customization I can do with a tiling WM (also dwm, xmonad etc) is just insane. Makes more sense to me since most of the tools I use are lightweight, e.g. suckless (surf), a complete process tree after login now consists of:
?─┬─?───i3-wrapper───i3
├─sh───xautolock
├─sh───unclutter
├─sh───dunst───2*[{dunst}]
├─sh───i3bar───sh───python───{python}
├─sh───x-terminal-emul─┬─3*[bash]
│ ├─bash───pstree
│ └─6*[{x-terminal-emul}]
└─systemd─┬─at-spi-bus-laun─┬─dbus-daemon
│ └─3*[{at-spi-bus-laun}]
├─at-spi2-registr───2*[{at-spi2-registr}]
├─dbus-daemon
├─dconf-service───2*[{dconf-service}]
├─dirmngr
├─gconfd-2
├─gvfs-udisks2-vo───2*[{gvfs-udisks2-vo}]
├─gvfsd─┬─gvfsd-trash───2*[{gvfsd-trash}]
│ └─2*[{gvfsd}]
├─gvfsd-metadata───2*[{gvfsd-metadata}]
├─pulseaudio───2*[{pulseaudio}]
└─tracker-store───4*[{tracker-store}]
$> sudo smem -c pss -t | tail -1
606032
^^^^ as commenter below pointed out this includes processes from other users. the correct figure is smem -c pss -t | tail -1
220678
Use compton if you need some bells+whistles (transparency). If you want to get rid of X.org and use Wayland[0] just use sway[1] instead as drop-in replacement for i3.[0] The real story behind Wayland and X: https://www.youtube.com/watch?v=GWQh_DmDLKQ
(all of them are ridiculous sizes considering something like Windows NT 4 needs 16MB of RAM for the entire system and applications to run while providing a ton of functionality out of the box, but still even relatively your setup looks to use a lot of memory)
smem -c pss -t | tail -1
220678
EDIT: reply inline to @Crinus because rate limitation:no this is only current user because hidepid on proc in fstab
proc /proc proc defaults,hidepid=2 0 0More ridiculous could be a full GUI OS on a machine witch less RAM, like an Amiga 1000/500 or a early Macs.
I do not expect current versions to be easy to run even in 32MB (although i've heard - but didn't verify - that Xorg can be configured and built from source to use as little as 600KB) but i'm curious where those hundreds of MBs go even for something like Xorg + Window Maker.
just an idea of what happens if I were to install konqueror on a non-kde system:
sudo apt-get install konqueror
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
baloo-kf5 catdoc dolphin kactivities-bin kactivitymanagerd
keditbookmarks kfind kimageformat-plugins kinit kio
kio-extras kio-extras-data kpackagelauncherqml
kpackagetool5 kwayland-data kwayland-integration
libdbusmenu-qt5-2 libdolphinvcs5 libfam0 libhfstospell10
libkf5activities5 libkf5archive5 libkf5attica5
libkf5auth-data libkf5auth5 libkf5baloo5 libkf5balooengine5
libkf5baloowidgets-bin libkf5baloowidgets5
libkf5bookmarks-data libkf5bookmarks5 libkf5codecs-data
libkf5codecs5 libkf5completion-data libkf5completion5
libkf5config-bin libkf5config-data libkf5configcore5
libkf5configgui5 libkf5configwidgets-data
libkf5configwidgets5 libkf5coreaddons-data
libkf5coreaddons5 libkf5crash5 libkf5dbusaddons-bin
libkf5dbusaddons-data libkf5dbusaddons5
libkf5declarative-data libkf5declarative5 libkf5dnssd-data
libkf5dnssd5 libkf5doctools5 libkf5filemetadata-bin
libkf5filemetadata-data libkf5filemetadata3
libkf5globalaccel-bin libkf5globalaccel-data
libkf5globalaccel5 libkf5globalaccelprivate5
libkf5guiaddons5 libkf5i18n-data libkf5i18n5
libkf5iconthemes-bin libkf5iconthemes-data
libkf5iconthemes5 libkf5idletime5 libkf5itemviews-data
libkf5itemviews5 libkf5jobwidgets-data libkf5jobwidgets5
libkf5js5 libkf5kcmutils-data libkf5kcmutils5
libkf5kdelibs4support-data libkf5kdelibs4support5
libkf5kdelibs4support5-bin libkf5khtml-bin libkf5khtml-data
libkf5khtml5 libkf5kiocore5 libkf5kiofilewidgets5
libkf5kiogui5 libkf5kiontlm5 libkf5kiowidgets5
libkf5kirigami2-5 libkf5konq6 libkf5newstuff-data
libkf5newstuff5 libkf5newstuffcore5
libkf5notifications-data libkf5notifications5
libkf5package-data libkf5package5 libkf5parts-data
libkf5parts-plugins libkf5parts5 libkf5pty-data libkf5pty5
libkf5quickaddons5 libkf5service-bin libkf5service-data
libkf5service5 libkf5solid5 libkf5solid5-data
libkf5sonnet5-data libkf5sonnetcore5 libkf5sonnetui5
libkf5textwidgets-data libkf5textwidgets5 libkf5wallet-bin
libkf5wallet-data libkf5wallet5 libkf5waylandclient5
libkf5widgetsaddons-data libkf5widgetsaddons5
libkf5windowsystem-data libkf5windowsystem5
libkf5xmlgui-bin libkf5xmlgui-data libkf5xmlgui5
libkwalletbackend5-5 libminizip1 libphonon4qt5-4
libpolkit-qt5-1-1 libpoppler-qt5-1 libqt5quickcontrols2-5
libqt5quicktemplates2-5 libqt5script5 libqt5texttospeech5
libqt5waylandclient5 libqt5waylandcompositor5
libqt5webengine-data libqt5webenginecore5
libqt5webenginewidgets5 libre2-5 libssh-4 libvoikko1
phonon4qt5 phonon4qt5-backend-vlc
qml-module-org-kde-kirigami2 qml-module-org-kde-newstuff
qml-module-qtqml-models2 qml-module-qtquick-controls2
qml-module-qtquick-templates2 qtwayland5 sonnet-plugins
Suggested packages:
tk | wish dolphin-plugins konq-plugins fam voikko-fi
phonon4qt5-backend-gstreamer hspell
The following NEW packages will be installed:
baloo-kf5 catdoc dolphin kactivities-bin kactivitymanagerd
keditbookmarks kfind kimageformat-plugins kinit kio
kio-extras kio-extras-data konqueror kpackagelauncherqml
kpackagetool5 kwayland-data kwayland-integration
libdbusmenu-qt5-2 libdolphinvcs5 libfam0 libhfstospell10
libkf5activities5 libkf5archive5 libkf5attica5
libkf5auth-data libkf5auth5 libkf5baloo5 libkf5balooengine5
libkf5baloowidgets-bin libkf5baloowidgets5
libkf5bookmarks-data libkf5bookmarks5 libkf5codecs-data
libkf5codecs5 libkf5completion-data libkf5completion5
libkf5config-bin libkf5config-data libkf5configcore5
libkf5configgui5 libkf5configwidgets-data
libkf5configwidgets5 libkf5coreaddons-data
libkf5coreaddons5 libkf5crash5 libkf5dbusaddons-bin
libkf5dbusaddons-data libkf5dbusaddons5
libkf5declarative-data libkf5declarative5 libkf5dnssd-data
libkf5dnssd5 libkf5doctools5 libkf5filemetadata-bin
libkf5filemetadata-data libkf5filemetadata3
libkf5globalaccel-bin libkf5globalaccel-data
libkf5globalaccel5 libkf5globalaccelprivate5
libkf5guiaddons5 libkf5i18n-data libkf5i18n5
libkf5iconthemes-bin libkf5iconthemes-data
libkf5iconthemes5 libkf5idletime5 libkf5itemviews-data
libkf5itemviews5 libkf5jobwidgets-data libkf5jobwidgets5
libkf5js5 libkf5kcmutils-data libkf5kcmutils5
libkf5kdelibs4support-data libkf5kdelibs4support5
libkf5kdelibs4support5-bin libkf5khtml-bin libkf5khtml-data
libkf5khtml5 libkf5kiocore5 libkf5kiofilewidgets5
libkf5kiogui5 libkf5kiontlm5 libkf5kiowidgets5
libkf5kirigami2-5 libkf5konq6 libkf5newstuff-data
libkf5newstuff5 libkf5newstuffcore5
libkf5notifications-data libkf5notifications5
libkf5package-data libkf5package5 libkf5parts-data
libkf5parts-plugins libkf5parts5 libkf5pty-data libkf5pty5
libkf5quickaddons5 libkf5service-bin libkf5service-data
libkf5service5 libkf5solid5 libkf5solid5-data
libkf5sonnet5-data libkf5sonnetcore5 libkf5sonnetui5
libkf5textwidgets-data libkf5textwidgets5 libkf5wallet-bin
libkf5wallet-data libkf5wallet5 libkf5waylandclient5
libkf5widgetsaddons-data libkf5widgetsaddons5
libkf5windowsystem-data libkf5windowsystem5
libkf5xmlgui-bin libkf5xmlgui-data libkf5xmlgui5
libkwalletbackend5-5 libminizip1 libphonon4qt5-4
libpolkit-qt5-1-1 libpoppler-qt5-1 libqt5quickcontrols2-5
libqt5quicktemplates2-5 libqt5script5 libqt5texttospeech5
libqt5waylandclient5 libqt5waylandcompositor5
libqt5webengine-data libqt5webenginecore5
libqt5webenginewidgets5 libre2-5 libssh-4 libvoikko1
phonon4qt5 phonon4qt5-backend-vlc
qml-module-org-kde-kirigami2 qml-module-org-kde-newstuff
qml-module-qtqml-models2 qml-module-qtquick-controls2
qml-module-qtquick-templates2 qtwayland5 sonnet-plugins
0 upgraded, 147 newly installed, 0 to remove and 0 not upgraded.
Need to get 72.7 MB of archives.
After this operation, 310 MB of additional disk space will be used.
Do you want to continue? [Y/n]1. Konqueror is basically the Swiss army knife of KDE. No wonder it pulls in everything and the kitchen sink.
2. You present an intimidatingly large package list to make your point, but that list is that long 'because KDE Frameworks (formerly known as kdelibs) is now deliberately packaged in a lot of tiny pieces to reduce the amount of libraries that an average application needs to pull in.
And in practice applications do not use one or two of them, they use several of them and those libraries bring in several others, etc like spaghetti (so you have Konsole relying on Phonon as mentioned in another reply).
Edit. Or KCachegrind, okteta
Auxiliary stuff you leave at the background (e.g. an IM or music player) tend to have multiple applications and you can always find an alternative.
There are exceptions of course but they can be limited in general.
And chances are you want to avoid the latter stuff for the former stuff, it isn't like RAM exists to be unused (even for file caching). In other words, if i run a heavy program as a primary task then there is even more of a reason to want auxiliary programs to be lightweight so that this program will have more resources for itself.
(Also as an extra bonus, sometimes as a programmer i want the primary programs - IDE - to be lightweight themselves since i want the resources to be available for the program i am working on)
It's weird seeing a KDE product without a single K in its name.
OSTree: https://ostree.readthedocs.io/en/latest/manual/introduction/ -> The underlying architecture might be summarized as "git for operating system binaries"
vs
XFCE: https://www.xfce.org/ -> Xfce is a lightweight desktop environment for UNIX-like operating systems. It aims to be fast and low on system resources, while still being visually appealing and user friendly.
Also that Silverblue thing, assuming it's this site: https://silverblue.fedoraproject.org/ doesn't really do a good job at explaining what it is...
(I largely agree that OSTree-based systems are better, but Ubuntu is so popular that it is unlikely that Silverblue replaces it soon. By the way, Silverblue fans should look at Nix ;).)
Ubuntu has the full force of upstream Debian behind it, while Centos/Fedora has Red Hat upstream, which just got bought by Oracle. Is anyone in the Centos/Fedora ecosystem concerned about the sale? What happens if management simply quits making public RH streams available? What if the lawyers come out as usual?
Little funny for me as I'm running Xubuntu with the XP desktop background (bliss). I'm not exactly old though.