Archiv der Kategorie: Uncategorized

Hoher CPU-Verbrauch durch Tracker-Miner-Fs unter Ubuntu 20.04

In meiner Ubuntu-Installation habe ich das Problem, dass der Prozess Tracker-Miner-FS viel CPU verbraucht (konstant 5-10%) und einiges an Ram (ca. 200MB).

Der Tracker Miner ist Teil der Suche innerhalb von Gnome.

Während andere Nutzer davon berichten, dass ein hoher CPU-Verbrauch nur direkt nach dem Systemstart vorkam, bestand dieser bei mir konstant.

Analyse

Über tracker status lässt sich der aktuelle Status der Trackers abfragen. Hier konnte ich feststellen, dass die Indizierung lief, aber keine neuen Dateien dazukommen.

Über tracker daemon lassen sich die Indizierungsjobs anzeigen. Dort konnte ich sehen, dass der Prozess bei mir in einem über SSH eingebundenen Verzeichnis mit vielen Bildern festhängt.

Die aktuelle Konfiguration lässt sich über das folgende Kommando auslesen (ohne sudo ausführen):

gsettings list-recursively | grep -i org.freedesktop.Tracker | sort | uniq

Problemlösung

Indizierung im Batteriebetrieb

Da ich zum einen mit der Akku-Laufzeit meines Laptops nicht zufrieden bin, möchte ich die Indizierung im Batteriebetrieb abschalten. Dies ist über die folgenden Einstellungen möglich:

gsettings set org.freedesktop.Tracker.Miner.Files index-on-battery-first-time false
gsettings set org.freedesktop.Tracker.Miner.Files index-on-battery false

Siehe https://wiki.gnome.org/Projects/Tracker/Documentation/Configuration

Dateien von der Indizierung ausschließen

Wie oben erwähnt, hängt die Indizierung bei mir beim einlesen meine Fotos. Da ich nicht 10.000sende Fotos in meiner Suche benötige. Also möchte ich dieses Verzeichnis und seine Unterordner gerne von der Indizierung ausschließen.
Die folgenden Einstellungen definieren welche Dateien und Verzeichnisse ausgeschlossen werden:

org.freedesktop.Tracker.Miner.Files ignored-directories ['po', 'CVS', 'core-dumps', 'lost+found']
org.freedesktop.Tracker.Miner.Files ignored-directories-with-content ['.trackerignore', '.git', '.hg', '.nomedia']
org.freedesktop.Tracker.Miner.Files ignored-files ['*~', '*.o', '*.la', '*.lo', '*.loT', '*.in', '*.csproj', '*.m4', '*.rej', '*.gmo', '*.orig', '*.pc', '*.omf', '*.aux', '*.tmp', '*.vmdk', '*.vm*', '*.nvram', '*.part', '*.rcore', '*.lzo', 'autom4te', 'conftest', 'confstat', 'Makefile', 'SCCS', 'ltmain.sh', 'libtool', 'config.status', 'confdefs.h', 'configure', '#*#', '~$*.doc?', '~$*.dot?', '~$*.xls?', '~$*.xlt?', '~$*.xlam', '~$*.ppt?', '~$*.pot?', '~$*.ppam', '~$*.ppsm', '~$*.ppsx', '~$*.vsd?', '~$*.vss?', '~$*.vst?', 'mimeapps.list', 'mimeinfo.cache', 'gnome-mimeapps.list', 'kde-mimeapps.list', '*.directory']

Eigentlich sollte also eine .trackerignore-Datei in einem Verzeichnis ausreichen, um dieses zu ignorieren. Im ersten Versuch hat dies bei mir leider nicht wie gewünscht funktioniert und der Tracker ist dennoch in ein Unterverzeichnis abgetaucht.

Über GUI Konfigurieren

Aufruf über Einstellungen -> Suchen. Dort gibt es oben in der Titelleiste den Button „Orte durchsuchen“ über den Konfiguriert werden kann welche Verzeichnisse durchsucht werden sollen. Diesen Button habe ich die ersten Male auf der Einstellungsseite völlig übersehen.

Tracker komplett deaktivieren über Desktop-Files

Auf GitHub gibt es eine Beschreibung den Tracker komplett für euren Nutzer zu deaktivieren ohne an Systemdateien herumfummeln zu müssen:
(habe ich selbst noch nicht getestet)

tracker daemon -t
cd ~/.config/autostart
cp -v /etc/xdg/autostart/tracker-*.desktop ./
for FILE in tracker-*.desktop; do echo Hidden=true >> $FILE; done
rm -rf ~/.cache/tracker ~/.local/share/tracker

Tracker über Konfiguration deaktivieren

Ein weiterer Tipp zum Deaktivieren von Tracker ist die Konfiguration:

gsettings set org.freedesktop.Tracker.Miner.Files enable-monitors false
gsettings set org.freedesktop.Tracker.Miner.Files ignored-files "['*']"
gsettings set org.freedesktop.Tracker.Miner.Files crawling-interval -2

Insbesondere das Setzen des Crawling Intervalls auf -2 soll den Indexer abschalten.

Verzeichnis von Linux-Server unter Ubuntu 20.04 einbinden

Auf meinem Laptop möchte ich ein Verzeichnis von meinem Selbstbau-NAS einbinden. Da beides Linuxsysteme sind, verwende ich kein smb, sondern eine Freigabe über SSH.

Mit sshfs ist dies kein Problem. Ein entferntes Verzeichnis kann über SSH in einem beliebigen lokalen Verzeichnis eingebunden werden.

Für die Einbindung fand ich die folgende Anleitung sehr gut: https://askubuntu.com/a/925848/950658

Als Voraussetzung muss eine Key-basierte Authentifizierung zum Server eingerichtet sein. Hier ist beschrieben, wie diese eingerichtet wird: Link

Die Schritte in Kurzform:

sudo apt install sshfs autofs

Neue Zeile in /etc/auto.master hinzufügen:

/- /etc/auto.sshfs --timeout=30

Die neue Datei /etc/auto.sshfs anlegen:

/local_directory -fstype=fuse,allow_other,IdentityFile=/local_private_key :sshfs\#user@remote_host\:/remote_directory

Wichtig: Der # vor dem Benutzernamen muss bleiben und es muss der Pfad zum Private Key angegeben werden. Ich hatte versehentlich meinen Public Key angegeben (id_rsa.pub) und habe mich darüber gewundert warum ich trotzdem nach meinem Kennwort gefragt werde.

Ubuntu 20.04 LTS auf MacBook Pro (Retina, 15″, Ende 2013)

Installation

Ubuntu Image per LinuxLive USB Creator (https://www.linuxliveusb.com/) auf USB-Stick spielen.

Beim Start des Macbooks die Alt-Taste drücken, um in die Bootauswahl zu gelangen.

Installation mit „Third Party Treibern“ (sonst wird die Netzwerkkarte nicht erkannt)

Grafiktreiber

Grafikkarte ermitteln:
lspci | grep -i --color 'vga|3d|2d'
Ausgabe bei mir:
01:00.0 VGA compatible controller: NVIDIA Corporation GK107M [GeForce GT 750M Mac Edition] (rev a1)

Bei mir funktioniert der Treiber nvidia-driver-390 für die GeForce GT 750M sehr gut:

Eine manuelle Installation des nvidia-Treibers hat bei mir nicht gut funktioniert.

Helligkeit einstellen

Leider scheint es ein verbreitetes Problem zu sein, dass die Helligkeitseinstellungen des Displays nicht funktionieren. Bei mir erschien beim Druck auf F1 und F2 zwar die Helligkeitsregulierung, aber am Display veränderte sich nichts.

Der Tipp unter https://askubuntu.com/a/813067/950658 hat mir weitergeholfen.
Eine neue rc.local-Datei anlegen:
sudo vim /etc/rc.local
und dort folgendes eintragen:
setpci -v -H1 -s 00:01.00 BRIDGE_CONTROL=0

Zum vorab Test kann auch nur die zweite Zeile mit sudo-Rechten ausgeführt werden.

Tastatur

Da ich bisher nur Windows und Linux genutzt habe, kommt mir das Tastaturlayout des Macs komisch vor. Ich habe deshalb unter Ubuntu die Tastatur auf Deutsch statt Deutsch (Macintosh) gestellt. Das @ ist nun wieder auf AltGr + Q.

Leider fehlen einige Tasten auf der Mac-Tastatur. Besonders häufig vermisse ich die Entf-Taste, die über Fn + Backspace (vorheriges Zeichen löschen) ersetzt werden kann.

FN-Tasten (F1-F12)

Um die Funktionstasten nicht automatisch mit den FN-Funktionen belegt zu haben, sondern per Druck auf die FN-Taste zu aktivieren: https://askubuntu.com/a/7553/950658

Test mit:

echo 2 > /sys/module/hid_apple/parameters/fnmode

Permanente Änderung der FN-Tasten:

echo options hid_apple fnmode=2 | sudo tee -a /etc/modprobe.d/hid_apple.conf
sudo update-initramfs -u -k all
sudo reboot # optional

Webcam

Die Webcam des Macbooks wird standardmäßig nicht erkannt. Weder Skype noch Cheese finden eine passende Webcam.

Über den FacetimeHD Treiber (https://github.com/patjak/bcwc_pcie/wiki) kann die Webcam aktiviert werden.
Auf askubuntu (https://askubuntu.com/a/1215628/950658) sind die Schritte gut zusammengefasst:

sudo apt-get install git
sudo apt-get install curl xz-utils cpio
git clone https://github.com/patjak/facetimehd-firmware.git
cd facetimehd-firmware
make
sudo make install
cd ..
sudo apt-get install kmod libssl-dev checkinstall
git clone https://github.com/patjak/bcwc_pcie.git
cd bcwc_pcie
make
sudo make install
sudo depmod
sudo modprobe -r bdc_pci
sudo modprobe facetimehd
sudo nano /etc/modules
**add line "facetimehd", write out (ctl+o) & close**

Die Meldungen beim zweiten Ausführen von „make install“ können ignoriert werden.

Der Treiber hat einen Bug der den Laptop vom Betreten des Standby abhält. Deshalb muss das Modul vor dem Standby entfernt werden und danach wieder geladen werden. Dies erledigt das Script unter https://gist.github.com/mauron85/f764c88d2dc47af157487a7a318dd35b

Es muss in lib/systemd/system-sleep/suspend-modules abgelegt werden und mit sudo chmod a+x /lib/systemd/system-sleep/suspend-modules als ausführbar markiert werden. Dann könnt ihr facetimehd zu /etc/suspend-modules.conf hinzufügen.
Es wird außerdem empfohlen das Module bdc_pci zu blacklisten: „Don’t forget to add a file /etc/modprobe.d/blacklist-facetimehd.conf with the line blacklist bdc_pci to prevent bdc_pci from being auto-loaded.“ (Quelle)

Die Änderungen müssen nach einem Kernel-Update vermutlich erneut durchgeführt werden. Es kann auch ein Paket erstellt werden, das automatisch aktualisiert wird.
Die probiere ich vielleicht später mal aus: https://github.com/patjak/bcwc_pcie/wiki/Get-Started#setting-up-dkms-auto-compile-on-kernal-update