Kubuntu 20.04 und Dropbox – Wenn die inotify-Handles ausgehen

KDE Plasma macht mit seinem Index-Dienst „baloo“ relativ ausgiebig Gebrauch von inotify. Wenn man dann noch zusätzliche Anwendungen oder Dienste nutzt, die ebenfalls auf inotify basieren, so kann die nicht sehr üppige Voreinstellung auf 8192 schnell zu knapp werden. Leider findet man nur weniges Anwendungen, die hier explizit einen Hinweis geben, z.B. VS Code. Sogar baloo meldet seine Probleme eher dezent im System-Log : „KDE Baloo File Indexer has reached the inotify folder watch limit.“

Einer der Dienste, die einfach stillschweigend nichts mehr tun, ist die Dropbox. In der Task-Leiste nimmt man zunächst nur noch ein dauerhaft drehendes Rädchen im Dropbox-Icon wahr, wenn man auf der Konsole Dropbox nach dem Status fragt, kommt immer nur ein „wird gestartet…“ – und dabei bleibt es auch. Auch Dropbox möchte inotify-Handles und bekommt keine, was man allerdings leider in keinem einzigen Log findet. 

Die Lösung ist dabei ganz einfach: Man muss die Anzahl der inotify-Handles pro User erhöhen. Das kann man temporär machen, in dem man manuell mit Root-Rechten einen höheren Wert setzt:

# echo 20000 > /proc/sys/fs/inotify/max_user_watches

Stellt man dann fest, dass dadurch das Problem behoben wird, so kann man dies auf permanent und bootfest setzen.

Dazu erzeugt man die Datei:

/etc/sysctl.d/40-max-user-watches.conf

mit folgendem Inhalt:

# change from original default of 8192
# https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers
fs.inotify.max_user_watches=524288

und bootet neu. Danach sollte die Dropbox wieder flüssig funktionieren.

(Aus: https://bbs.archlinux.org/viewtopic.php?id=235557)

Kubuntu 20.04: Probleme mit Handbrake und DVDs

Falls man nach einem Update oder Upgrade Probleme hat, Backups seiner eigenen, legal gekauften DVDs zu erstellen, so kann das an einer fehlenden oder fehlerhaften libdvdcss liegen. Die einfachste Möglichkeit, dies zu beheben, ist die Programme neu zu installieren und die libdvdcss neu zu erzeugen:

sudo apt remove       libdvd-pkg  handbrake-cli  vlc  handbrake
sudo apt install      libdvd-pkg  handbrake-cli  vlc  handbrake
sudo dpkg-reconfigure libdvd-pkg

Kubuntu 20.04: Einrichten von OpenVPN als User

Per Default wird eine frisch importierte OpenVPN-Verbindung für „alle Benutzer“ eingerichtet und fragt daher nach einem Admin-Passwort. Im Firmenumfeld möchte man aber eher Geräte herausgeben, auf denen die Nutzer keine Admin-Rechte haben. Daher muss man dafür sorgen, dass auch ein Normaluser eine VPN-Verbindung konfigurieren kann. Auch hier steht das Polkit im Weg.
 
Man erzeugt daher die Datei (freie Namenswahl, nur die Endung ist wichtig):
 
/var/lib/polkit-1/localauthority/50-local.d/nm-openvpn-connections.pkla
 
mit dem Inhalt:
 
[Setup and manage openvpn connections]
Identity=unix-group:users
Action=org.freedesktop.NetworkManager.settings.modify.system
ResultActive=auth_self
 
Danach kann jeder User seinen eigenen VPN-Tunnel einrichten. Insbesondere sollte man unter Netzwerk -> [Verbindungs-Name]-> „Allgemeine Einstellungen“ den Schalter „Alle Benutzer dürfen sich mit diesem Netzwerk verbinden“ auf „Aus“ stellen.

Kubuntu 20.04: Eigenes Passwort ändern ohne Admin-Rechte

Unter Kubuntu 20.04 verhindert der PolicyKit1-KDE-Agent, dass man als Nicht-Admin-User sein eigenes Passwort ändern kann, indem er zu Verifikation nach einem Admin-Passwort fragt.
Dies kann man mit einer lokalen Policy leicht ändern:
Zunächst erzeugt man eine gemeinsame Gruppe für alle Normal-User, die ihr Passwort ändern können sollen (oder fügt sie zur lokal schon vorhandenen Gruppe „users“ hinzu). Dann legt man folgende Datei an (der Name ist egal, nur die Endung ist wichtig):
 
/var/lib/polkit-1/localauthority/50-local.d/change-own-passwd.pkla
 
mit dem Inhalt:
 
[Change own password]
Identity=unix-group:users
Action=org.freedesktop.accounts.change-own-password
ResultActive=auth_self
Danach kann jeder User sein eigenes Passwort ändern.
 
Siehe auch:

Konfigurationscheck für Varnish


Warning: wp_shkshell_substitute(): Argument #1 ($match) must be passed by reference, value given in /var/www/vhosts/web.leinders.de/htdocs/harald/wp-content/plugins/wp-shkshell/wp-shkshell.php on line 119

Fatal error: Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given in /var/www/vhosts/web.leinders.de/htdocs/harald/wp-content/plugins/wp-shkshell/wp-shkshell.php:59 Stack trace: #0 [internal function]: wp_shkshell_substitute() #1 /var/www/vhosts/web.leinders.de/htdocs/harald/wp-content/plugins/wp-shkshell/wp-shkshell.php(119): preg_replace_callback() #2 /var/www/vhosts/web.leinders.de/htdocs/harald/wp-includes/class-wp-hook.php(324): wp_shkshell_before_filter() #3 /var/www/vhosts/web.leinders.de/htdocs/harald/wp-includes/plugin.php(205): WP_Hook->apply_filters() #4 /var/www/vhosts/web.leinders.de/htdocs/harald/wp-includes/post-template.php(256): apply_filters() #5 /var/www/vhosts/web.leinders.de/htdocs/harald/wp-content/themes/twentysixteen/template-parts/content.php(26): the_content() #6 /var/www/vhosts/web.leinders.de/htdocs/harald/wp-includes/template.php(792): require('...') #7 /var/www/vhosts/web.leinders.de/htdocs/harald/wp-includes/template.php(725): load_template() #8 /var/www/vhosts/web.leinders.de/htdocs/harald/wp-includes/general-template.php(206): locate_template() #9 /var/www/vhosts/web.leinders.de/htdocs/harald/wp-content/themes/twentysixteen/archive.php(44): get_template_part() #10 /var/www/vhosts/web.leinders.de/htdocs/harald/wp-includes/template-loader.php(106): include('...') #11 /var/www/vhosts/web.leinders.de/htdocs/harald/wp-blog-header.php(19): require_once('...') #12 /var/www/vhosts/web.leinders.de/htdocs/harald/index.php(17): require('...') #13 {main} thrown in /var/www/vhosts/web.leinders.de/htdocs/harald/wp-content/plugins/wp-shkshell/wp-shkshell.php on line 59