Wireguard, easy config

All this explanations with too many words on the internet. Here is simple config for 2 clients connecting to one server

Server

#
# server
#
[Interface]
Address = 192.168.91.1/24
SaveConfig = true
PrivateKey = SERVER_PRIVATE_KEY
ListenPort = 51820

#client 1 specification
[Peer]
PublicKey = CLIENT1_PUBLIC_KEY
AllowedIPs = 192.168.91.2/32

#client 2 specification
[Peer]
PublicKey = DUPFv3VULbMaf7da+V8s+15/uCoQCv3vLlLiaYdA3X4=
AllowedIPs = 192.168.91.3/32

 

Client1

#
# client 1
#

#physical interface on the client 1
[Interface]
PrivateKey = CLIENT1_PRIVATE_KEY
Address = 192.168.91.2/32

#specification of the "other" side when looking from the client
[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = SERVER_PUBLIC_IP_ADDRESS_VISIBLE_ON_THE_INTERNET:51820
AllowedIPs = 192.168.91.1/32
PersistentKeepalive = 25

 

Client2

#
# client 2
#

#physical interface on the client 2
[Interface]
PrivateKey = CLIENT2_PRIVATE_KEY
Address = 192.168.91.3/32

#specification of the "other" side when looking from the client
[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = SERVER_PUBLIC_IP_ADDRESS_VISIBLE_ON_THE_INTERNET:51820
AllowedIPs = 192.168.91.1/32
PersistentKeepalive = 25

Year of Linux desktop is 10 years from today. Always.

WIP.

 

Seeing a lot of projects going bad in my own environments, i could see some patterns in open source communities and linux on desktop. This post is a bit of a rant and a cry for different approach.

I was a consultant, now just a developer working mostly in data processing for big organizations. Not a single organization where i have stepped into has been using linux other than on servers. Not a single one.

Why?

1. Quality

While kernel has exact guidelines, strong quality control, oversight and personalities behind, desktop projects are a lot more loose. Instead of having a common goal, open source organizations are splitting their resources instead of pooling them together.

Before:

  • one X server implementation, reference one, used everywhere
  • higher complexity then wayland

Now:

  • many window managers / compositors, one for every desktop environment
    • not a revolutionary approach, rather evolutionary, still very much relying on Xorg so no real incentive to migrate

While many window managers approach can bring innovation into this space, this seems very unlikly since no invoation has taken place 10 years after starting wayland project. Basis of the project can be used among all compositors, with maybe minor things just being different, everyone started egotripping and inventing their own. “Fixed” pool of people working on common goal was now split amongĀ  different goals. As of now, Gnome has architecture problems and KDE is so buggy that just by leaving my PC alone, session crashes. Quality situation got worse while architecture and implementation got simplified. Paradox in the making?

Proposals like wlroots and libmiral are discarded for reasons unknown, i guess NIH and/or “we invested so many time into this we are going to use it”. Basically this will be long fucking ride until this thing gets on the right track.

There are many, many examples where linux quality is lacking and actually, having shitty experience just makes people go back to windows. Several people i know did exactly that – they tried, really tried, then just went back to the devil. They got sick of bad ux and mediocrity.

2. Fragmentation

Fragmentation of projects, as said before can be seen in wayland/xorg space.

Then there is

  • compositors: kwin, mutter, …
  • office: libreoffice/openoffice/calligra.
  • desktop: mate, cinnamon, gnome, xfce, lxqt,…

These important pieces of software should be used among the distribution. We need a Torvalds equivalent for linux desktop. One really smart guy that will set the rules for the whole industry.

3. Office

Due to fragmentation, libreoffice (as most advanced and used one) is the prime example of why this fragmentation sucks. Instead of implementing e.g. dropdowns for formulas, people are working on openoffice and calligra. Result of this is shitty quality among all 3 products.

Microsoft Excel drives the corporate world. Libreoffice has to look better, has to have convenience better than it is now to attract people.

As a knowledgable user, i still hate to use it due to visuals, due to different behavior and overall performance. Microsoft office has no alternative and it will have no alternative until office community starts to work on one product and not split their time reinventing the wheel.

Minimal Fedora Install

At the time of the writing it was Fedora 31.

Start with:

  • download network installer
  • select minimal fedora option with additional tools

After installation

# basic gnome
sudo dnf install gnome-shell gdm gnome-tweaks tilix gedit gnome-tweaks gnome-backgrounds mozilla-fira-mono-fonts.noarch mozilla-fira-sans-fonts.noarch firefox chromium nautilus mc openssh-server xdg-user-dirs-gtk geary gnome-shell-extension-dash-to-dock postgresql gnome-system-monitor snapd firefox-wayland alsa-utils vim evince libreofffice papirus-icon-theme

# basic kde
sudo dnf install konsole plasma-workspace-wayland kscreen papirus-icon-theme firefox vim

# set boot option
systemctl set-default graphical.target

# create Documents, Downloads, ... folders in home
xdg-user-dirs-update

# development stuff
dnf install git gnome-builder golang extra-cmake-modules golang git gdb

# qt stuff
dnf install qt5-qtwayland qtcreator qgnomeplatform qt5-qtbase-postgresql

# kde dev stuff
dnf install kf5-kdoctools-devel kf5-ki18n-devel kf5-ktexteditor-devel kf5-kactivities-devel kf5-kcrash-devel kf5-kdbusaddons-devel kf5-kiconthemes-devel kf5-kwindowsystem-devel

# flatpak stuff 
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub io.github.celluloid_player.Celluloid
flatpak install flathub org.gnome.PasswordSafe
flatpak install org.gnome.Fractal

 

Postinstall:

Changing the prompts

For root

PS1="\[\033[01;31m\][\u@\h:\w]\\$\[\033[00m\] "
export EDITOR=vi

 

For normal users

PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
export EDITOR=vi

 

Kde 5.17 notes

The good

  • performance improvements
  • krunner
  • still fully supporting tray icons
  • listening to the user wishes

The bad

  • pimple by default on desktop, why is this still a thing?
    • seems to be going away in 5.18
  • speed of changes. example coming up in 5.18: that pimple on the desktop from the bullet before. this thing took how long to remove?
  • still unstable, when changing stuff in settings (cursors), plasma session crashed.
  • organization of settings
    • global theme – is this a bundle of all other components? what is then plasma style? why is color not part of global theme? naming of things and reasonable organization is not something we find in kde settings
    • there was a project years back which started to analyze how the settings should be organized. i think abandoned.
  • logo
    • there was an idea of changing a logo, even contest was organized, but for some reason nothing came out of this. some really nice logos were done.
  • speed of settings.
    • changing between modules kinda freezes slower computers due to loading of kcm modules.
  • while languages like golang and rust are gaining grounds, the only viable IDEs to use for this are coming from two corporate entities. one of these tools is written in java, the other one based on electron. kde has kdevelop which supports: c++, php and python. let that sink in.
    • gnome-builder has decent support for rust, iirc.
    • if one is going to argue that kate should do the syntax coloring, then we can also say the same about gedit
  • ksysguard. the way it shows the charts. in gnome it is fluid, here it works in discreet intervals, looks like low framerate
  • missing equivalent for virt-manager
    • an option would be to make something qt based for lxd now that lxd will support both lxc containers and qemu machines
  • there are alternatives to breeze window decorations, but none actually work well, so to have less breakage, staying with breeze is recommended…

The ugly

  • design
    • breeze icons
      • outline icons are horrible choice imo.
        • luckily, papirus exists
      • some/most of the icons are not self explanatory and you need to read their description of what they mean. e.g.
        • network icon in dolphin sidebar looks like share in android, only in a circle
        • documents icon in dolphin sidebar is actually align text bottom-left
        • desktop icons in dolphin sidebar looks like minimize
        • back/forward icons in dolphin are smaller-than and bigger-than
        • images icon in dolphin sidebar is just a square with something inside
        • leave icon on right-click desktop menu is the same as back in dolphin
        • create icon on right-click desktop menu is a hollow document with graphics glitch in bottom-right corner
    • breeze colors are too screaming and cold, this is a problem when you need to work prolonged times looking at the monitor
      • while most projects, even devices (android) try to fix blue coloring for multiple reasons (one of them is eye strain), while tools like redshift and night-color are invented, kde goes balls deep with blue – and not some pastel color, but screaming, eye-poking fluorescent blue at all places. now there is this https://www.nature.com/articles/s41514-019-0038-6
    • everything in plasma seems to needs an outline. if possible glowing and screaming so you do not miss it. i find this tacky and unnecessary.
    • sizing of elements, layouts of config etc (this is improving though)
    • inconsistency
      • e.g. in dolphin all icons behave differently, search, preview and split are toggle icons, control is a menu. there is no distinction between different type of buttons.
    • font selection. noto is just not nice.
    • default wallpaper. why dont just go with photographs?
      • windows, mac and gnome all go with photograph. these abstract images are just <polite word for bad and amateurish>. at least get something better like this
    • cursors. just use something simple like dmz. these ones look like 12yearold masterhacker designed.
    • animations.

 

Conclusion

Good design is not something KDE does well.

To be on the constructive side, here is an example of how some easy tweaks have huge visual impact

Before

kde-before-changes

After

kde-after-changes

  • Papirus icon theme
  • Align-left text on title bar
  • Increase size of title bar to large
  • Change shadow size to small (window decorations)
  • Disable gradient on titlebar and showing a circle around “x”
  • Change coloring of text on selection to be shade-of-black used elsewhere
  • Change desktop background to national geographic or bing or whatever
  • Changing mouse cursors on archlinux does not work well. I would like to have dmz cursor theme, but it works only with some cursors… anyhow, a mess

What is mind boggling is that with Qt as a base, KDE should be waaaaaaaay ahead compared to gnome, but it is actually not the case. Good thing is they are trying to move forward, bad thing is – it is too slow.

Where i think they should move:

  • wayland (one of the currently selected initiatives)
  • design rework, completely. colors, icons, guidelines…
  • development tools, there is no purpose to move to kde since gnome is better in everything except performance (which doesn’t matter if you run newer hw).
    • if you have kdevelop which fully supports rust and go, maybe people will move (assuming they will not run it on gnome)
    • complicated to setup a dev env. maybe this should be worked on and simplified (this doesn’t mean a new set of bash script which would think for “us”)
  • documentation
    • documentation today is for old kde developers. not for new people who want to join in
  • web – currently there is so much crap that it is amazing, so most of it should be consolidated into as few apps as possible
    • forum no one uses because, well open it and then tell me how long you stayed there
    • blogs are using which platform?
    • bugzilla instead of gitlab issues? i do not really understand this decision
  • drop some things
    • calligra office? why is this just not a frontend for libreoffice?

 

Interesting thought: Qt based gnome?