24/2/2022

KMail probleem? Vanaf nul instellen…

Filed under: — cybrarian @ 3:23 pm

Is het mogelijk om KMail te “resetten” zonder het te de-installeren of de gebruikersaccount te wissen en terug aan te maken?
M.a.w. de bestaande instellingen (en mail?) te verwijderen, en de instellingen terug vanaf nul in te geven?

KMail gebruikt stap-voor-stap schermen om accounts aan te maken in de instellingen van het programma, maar als je daar even wat onzeker bent, vooruit-achteruit gaat, of een aantal keer opnieuw moet beginnen, wordt het snel een rommeltje in de instellingen.

Ook na een mislukte of afgebroken update van het systeem kan je KMail de mist in gaan.

Akonadi Console
KMail is een complex programma omdat het in de achtergrond allerlei hulpmiddelen gebruikt, waaronder een hele mysql server in de gebruikersaccount. Er zijn zelfs hulpprogramma’s om de programmeurs meer inzicht te geven in het gebeuren: Akonadi Console, dat je zelf ook gemallijk kan bij-installeren.

Ik volg de stappen van:
https://userbase.kde.org/KMail/FAQs_Hints_and_Tips#Clean_start_after_a_failed_migration

  1. Stop bijhorende programma’s (KMail, Kontact, KOrganiser als je die gebruikt).

    Stop dan Akonadi met:

    office@linux-rwr7:~> akonadictl stop

    (Geen reaktie – even kijken of myqsl nog draait:)

    office@linux-rwr7:~> ps ux | grep mysql

    office 5095 0.0 0.0 8680 876 pts/1 R+ 10:53 0:00 grep –color=auto mysql

    (eigenlijk mocht er niets komen. check nog eens of akonadi wel gestopt is:)

    office@linux-rwr7:~> akonadictl stop

    Akonadi is not running.

    (is andere reaktie, heeft dus gewerkt).

    ps ux laat zien dat er geen mysql aktief is.
    De mysql die vermeld wordt hierboven is die van de gevraagde grep.
    Ok dus.

  2. Verwijder de oude instellingen van Akonadi en de database door de volgende mappen te wissen:
    ~/.local/share/akonadi

    Ga naar de onzichtbare .local/share map en:
    office@linux-rwr7:~/.local/share> rm -R akonadi
    office@linux-rwr7:~/.local/share> ls akonadi

    Nadien staat er nog: (veel uitgehaald, alleen ivm mail overgehouden)
    office@linux-rwr7:~/.local/share> ls -l

    totaal 88
    drwxr-xr-x 1 office users    30 17 jan 14:55 akonadi_migration_agent
    ..
    drwxr-xr-x 1 office users    36 17 jan 14:55 contacts
    ..
    drwxr-xr-x 1 office users    58 22 feb 10:49 emailidentities
    ..
    drwx------ 1 office users    52 23 feb 09:44 keyrings
    ..
    drwxr-xr-x 1 office users    38 18 feb 10:39 kmail2
    ..
    drwxr-xr-x 1 office users    54 23 feb 12:55 kwalletd
    ..
    drwxr-xr-x 1 office users    98 17 jan 14:55 local-mail
  3. En: ~/.config/akonadi

    In ~/.config staan heel wat akonadi’s:

    office@linux-rwr7:~/.config> ls -l akonad*

    -rw——- 1 office users 70 17 jan 14:55 akonadi_akonotes_resource_0rc
    -rw——- 1 office users 6712 23 feb 10:58 akonadiconsolerc
    -rw——- 1 office users 32 17 feb 16:27 akonadi_contactrc
    -rw——- 1 office users 28 17 jan 14:55 akonadi_contacts_resource_0rc
    -rw——- 1 office users 195 17 jan 14:55 akonadi-firstrunrc
    -rw——- 1 office users 62 17 jan 14:55 akonadi_ical_resource_0rc
    -rw——- 1 office users 347 23 feb 09:30 akonadi_imap_resource_0rc
    -rw——- 1 office users 76 17 jan 17:06 akonadi_indexing_agentrc
    -rw——- 1 office users 74 17 jan 14:55 akonadi_maildir_resource_0rc
    -rw——- 1 office users 52 17 jan 17:06 akonadi-migrationrc

    akonadi:
    totaal 108
    -rw-r–r– 1 office users 46 17 jan 14:55 agent_config_akonadi_akonotes_resource_0
    -rw-r–r– 1 office users 16 24 feb 10:53 agent_config_akonadi_akonotes_resource_0_changes.dat
    -rw-r–r– 1 office users 16 24 feb 10:53 agent_config_akonadi_archivemail_agent_changes.dat
    -rw-r–r– 1 office users 39 17 jan 14:55 agent_config_akonadi_birthdays_resource
    -rw-r–r– 1 office users 16 24 feb 10:53 agent_config_akonadi_birthdays_resource_changes.dat
    -rw-r–r– 1 office users 36 17 jan 14:55 agent_config_akonadi_contacts_resource_0
    -rw-r–r– 1 office users 16 24 feb 10:53 agent_config_akonadi_contacts_resource_0_changes.dat
    -rw-r–r– 1 office users 16 17 jan 14:55 agent_config_akonadi_followupreminder_agent_changes.dat
    -rw-r–r– 1 office users 33 17 jan 14:55 agent_config_akonadi_ical_resource_0
    -rw-r–r– 1 office users 16 24 feb 10:53 agent_config_akonadi_ical_resource_0_changes.dat
    -rw-r–r– 1 office users 50 24 feb 06:03 agent_config_akonadi_imap_resource_0
    -rw-r–r– 1 office users 16 24 feb 10:53 agent_config_akonadi_imap_resource_0_changes.dat
    -rw-r–r– 1 office users 32 23 feb 12:54 agent_config_akonadi_indexing_agent
    -rw-r–r– 1 office users 16 17 jan 14:55 agent_config_akonadi_indexing_agent_changes.dat
    -rw-r–r– 1 office users 51 17 jan 14:55 agent_config_akonadi_maildir_resource_0
    -rw-r–r– 1 office users 16 24 feb 10:53 agent_config_akonadi_maildir_resource_0_changes.dat
    -rw-r–r– 1 office users 32 23 feb 16:07 agent_config_akonadi_maildispatcher_agent
    -rw-r–r– 1 office users 16 24 feb 10:53 agent_config_akonadi_maildispatcher_agent_changes.dat
    -rw-r–r– 1 office users 16 17 jan 14:55 agent_config_akonadi_mailfilter_agent_changes.dat
    -rw-r–r– 1 office users 16 24 feb 10:53 agent_config_akonadi_migration_agent_changes.dat
    -rw-r–r– 1 office users 16 17 jan 14:55 agent_config_akonadi_newmailnotifier_agent_changes.dat
    -rw-r–r– 1 office users 16 24 feb 10:53 agent_config_akonadi_notes_agent_changes.dat
    -rw-r–r– 1 office users 16 17 jan 14:55 agent_config_akonadi_sendlater_agent_changes.dat
    -rw-r–r– 1 office users 43 17 jan 14:55 agent_config_akonadi_unifiedmailbox_agent
    -rw-r–r– 1 office users 16 24 feb 10:53 agent_config_akonadi_unifiedmailbox_agent_changes.dat
    -rw-r–r– 1 office users 2020 22 feb 12:52 agentsrc
    -rw——- 1 office users 178 23 feb 12:54 akonadiserverrc

    Weg met die map:

    office@linux-rwr7:~/.config> rm -R akonadi

  4. Dan zegt de tekst:
    You might want to also delete also the files starting with akonadi from
    ~/.config
    but it’s actually quite convenient not to do that: then recreating the resources (in the same order as before) will auto-fill all your settings automatically again.

    Ok we houden ze dus even…

  5. Restart Akonadi server
    Doen we:
    office@linux-rwr7:~ akonadictl start

    office@linux-rwr7:~/.config> akonadictl start
    org.kde.pim.akonadictl: Starting Akonadi Server…
    org.kde.pim.akonadictl: done.

    En dan kan je terug beginnen een account aanmaken, de juiste waarden invullen, mail check proberen, en de automitische instelling aanzetten en bv veranderen van 60 naar 5 minuten.

18/2/2022

Git branch zoeken op basis van datum aktiviteit

Filed under: — cybrarian @ 12:21 pm

Binnen een branch kan je kijken met git log, maar als je een overzicht wil over alle branches…

Lijst van alle branches met laatste commit bericht:
git branch -v

Gesorteerd op datum (maar zonder die weer te geven)

git branch -v --sort=committerdate

Alle, inclusief remote:
git branch -v --sort=committerdate

git for-each-ref --sort='-committerdate:iso8601' --format='%(committerdate:relative)|%(refname:short)|%(committername)' refs/remotes/ | column -s '|' -t

2 months ago           origin/HEAD               matty
2 months ago           origin/master             matty
2 months ago           origin/test               matty
3 months ago           origin/feat-Day           matty
6 months ago           origin/integrate-lib      matty
3 years, 7 months ago  origin/feat-Fact       cybrarian

git for-each-ref --sort=-committerdate refs/heads/ --format='%(committerdate:short) %(authorname) %(refname:short)'

2022-02-11 cyb master
2022-02-11 cyb test
2022-02-09 cyb feat-DayAdd
2021-12-08 cyb fixMissingDayTypeDispl

git for-each-ref --sort=committerdate refs/heads/ --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(color:red)%(objectname:short)%(color:reset) - %(contents:subject) - %(authorname) (%(color:green)%(committerdate:relative)%(color:reset))'

 fixMissingDayTypeDispl - a493cbe - FDayReq: fix missing daytype display - mat.ara (2 months ago)
* feat-DayAdd - dea7f5e - gitignore err - cyb (9 days ago)
  test - a94611e - merge test ie FMain.class - cyb (7 days ago)
  master - 33ac1e2 - fix Changes.txt  - cyb (7 days ago)

Met de datum ervoor:

git for-each-ref --sort=-committerdate refs/heads/ --format='%(authordate:short) %(color:red)%(objectname:short) %(color:yellow)%(refname:short)%(color:reset) (%(color:green)%(committerdate:relative)%(color:reset))'

Deze is ook mooi:

git branch -vv --color=always | while read; do echo -e $(git log -1 --format=%ci $(echo "_$REPLY" | awk '{print $2}' | perl -pe 's/\e\[?.*?[\@-~]//g') 2> /dev/null || git log -1 --format=%ci)" $REPLY"; done | sort -r | cut -d ' ' -f -1,4-

2022-02-11   master                 33ac1e2 [origin/master] fix Changes.txt for merge
2022-02-11   test                   a94611e [origin/test] fix merge test FMain.class
2022-02-09 * feat-DayAdd            dea7f5e [origin/feat-DayAdd] gitignore 
2021-12-08   fixMissingDayTypeDispl a493cbe FDayReq: fix missing daytype display

Of maak een alias

(Reeks Githandboek (nl)commando’s vbbranch, mergebranch zoeken/datumstashGitLab vbSourceForge vbgit en gambas)

15/2/2022

Arduino’s seriele print data uitlezen

Filed under: — cybrarian @ 12:43 pm

Serial

Een Arduino bord heeft een programma dat (-bv om het te debuggen-) feedback geeft met print:

In de setup:
Serial.begin();

Je moet ook de snelheid opgeven, dus bv:
void setup() {
Serial.begin(9600);
}

In de code-loop:
Serial.println(someValue);

Bv in een loop:

void loop() {
Serial.println("Hello from Arduino..");
delay(1000);
}

De developer kan in de IDE de feedback zien met de tool “serial monitor”.

Losgekoppeld

Maar ook eens het programma loopt en de Arduino niet meer aan de programmeeromgeving hangt, kan je die seriële communicatie opvangen. Hang de usb-kabel aan een usb-poort van een Linux computer (Raspberry Pi, …).

1. Rechtstreeks vanuit het systeem/commandolijn
Om de hardware te benaderen moeten we root rechten hebben, ofwel telkens met sudo, ofwel:

su root

****

Werp een blik op de usb poorten:

lsusb

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 046d:c31c Logitech, Inc. Keyboard K120
Bus 001 Device 002: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 001 Device 004: ID 2341:0043 Arduino SA Uno R3 (CDC ACM)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

tty

Seriëel in de Linux (unix) wereld is “tty”; en er zijn heel wat seriële apparaten mogelijk:

ls /dev/tty*

/dev/tty    /dev/tty20  /dev/tty33  /dev/tty46  /dev/tty59    /dev/ttyS12  /dev/ttyS25
/dev/tty0   /dev/tty21  /dev/tty34  /dev/tty47  /dev/tty6     /dev/ttyS13  /dev/ttyS26
....
/dev/tty15  /dev/tty28  /dev/tty40  /dev/tty53  /dev/tty9     /dev/ttyS2   /dev/ttyS4
/dev/tty16  /dev/tty29  /dev/tty41  /dev/tty54  /dev/ttyACM0  /dev/ttyS20  /dev/ttyS5
/dev/tty17  /dev/tty3   /dev/tty42  /dev/tty55  /dev/ttyS0    /dev/ttyS21  /dev/ttyS6
...
/dev/tty2   /dev/tty32  /dev/tty45  /dev/tty58  /dev/ttyS11   /dev/ttyS24  /dev/ttyS9

stty

Het commando dat de afkorting is van “Set Teletype”:

stty – change and print terminal line settings

Gebruik:
stty [-F APPARAAT | --file=APPARAAT] [INSTELLING...]

Wat?
stty -F

-F, –file=APPARAAT te gebruiken apparaat in plaats van standaardinvoer

Speciale instellingen:
speed de snelheid van de terminal tonen

Dus:
stty -F /dev/ttyACM0 speed

9600

(vreemd ik zou verwachten 115200 ..)
Eens proberen of ik hem kan verzetten:

stty -F /dev/ttyACM0 speed 115200

9600

Terug opvragen:

stty -F /dev/ttyACM0 speed

115200

Lees nu uit:
cat /dev/ttyACM0

SCD30 Raw Data

Carbon Dioxide Concentration is: 930.56 ppm

SCD30 Raw Data

Carbon Dioxide Concentration is: 930.51 ppm

Carbon Dioxide Concentration is: 929.86 ppm

….

Dit is dezelfde uitvoer die je krijgt in de IDE.
Je kan de Arduino aan eender welke bereikbare* Linux-bak hangen en vanop afstand met ssh inloggen en uitlezen, naar een logfile laten sturen, enz…

* bekend ip-adres

2. Serieële communicatie ontvangen met software
Vanuit eigen geschreven software in python of gambas3 kan je de serieële poort uitlezen.

2.1 Python:
Grofweg gezegd: gebruik import serial, creeer een object met eigenschappen in parameters, en maak een lus met serialobject.readline()

2.2 Gambas: gebruik SerialPort, creëer een object, zet eigenschappen, maak methode _Read(), gebruik een lus of Timer om uit te lezen.

Powered by WordPress