9/9/2018

Teamviewer gebruiken

Filed under: — cybrarian @ 11:07 pm

Na installatie van Teamviewer op openSUSE Leap 42.3 komt het programma voor in het Kde menu onder systeem of hulpmiddelen? Nee, onder “Internet”.

Bij het starten geeft het een aantal gegevens die je kan gebruiken om een koppeling te maken met een andere computer.

user id

password

Op de “andere computer” start je ook het programma.

De id invullen, het wachtwoord invullen…

(Eerste keer blijft hij altijd het wachtwoord vragen, alsof het fout is. In beide richtingen trouwens, als ik omgekeerd probeer ook dus. Ik moet afsluiten wegens tijdgebrek en beslis morgen verder te proberen).

Volgende dag lukt het wel: open het programma op beide computers, neem de nummer van de ene mee, alsook het wachtwoord; en je krijgt het scherm te zien.

De verbinding is niet razendsnel; je moet echt wel rekening houden met de vertraging bij bv het typen van een tekst, het verplaatsen vergroten/kleinen van vensters, enz.

Maar het werkt dus wel, je kan op afstand iemand helpen.

Teamviewer installeren

Filed under: — cybrarian @ 10:23 pm

Teamviewer op openSuse Leap 42.3

1. download 32 of 64 bit versie? Suse 64bit. (kies “Save File” (Bewaren) in de browser)
www.teamviewer.com/nl/download/linux/

2. ga naar de download map (klik op download pijl rechtsboven in Firefox, kies “open containing folder”)
Open een terminal (rechtsklik actions, open terminal here) en installeer met de commandolijn:

sudo zypper install teamviewer-suse_13.2.13582.x86_64.rpm

Loading repository data…
Reading installed packages…
Resolving package dependencies…

The following NEW package is going to be installed:
teamviewer-suse

1 new package to install.
Overall download size: 12.2 MiB. Already cached: 0 B. After the operation, additional
59.3 MiB will be used.
Continue? [y/n/…? shows all options] (y):

y

Retrieving package teamviewer-suse-13.2.13582-0.x86_64
(1/1), 12.2 MiB ( 59.3 MiB unpacked)
teamviewer-suse_13.2.13582.x86_64.rpm:
Header V4 RSA/SHA1 Signature, key ID 0c1289c0: NOKEY
V4 RSA/SHA1 Signature, key ID 0c1289c0: NOKEY

teamviewer-suse-13.2.13582-0.x86_64 (Plain RPM files cache): Signature verification failed [4-Signatures public key is not available]
Abort, retry, ignore? [a/r/i] (a):

Er wordt een vraag gesteld over signing; blijkbaar deden ze dat nooit, de packages signen voor Linux, dus ik ignore de waarschuwing met i.

i

Checking for file conflicts: ……………………………………………..[done]
(1/1) Installing: teamviewer-suse-13.2.13582-0.x86_64 ……………………….[done]
Additional rpm output:
warning: /var/cache/zypper/RPMS/teamviewer-suse_13.2.13582.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 0c1289c0: NOKEY
gtk-update-icon-cache: Cache file created successfully.

3. Start de daemon (kan al gestart zijn door de installatie)
Check eerst of hij al loopt, zo ja, geen probleem.

systemctl status teamviewerd

systemctl status teamviewerd
● teamviewerd.service – TeamViewer remote control daemon
Loaded: loaded (/etc/systemd/system/teamviewerd.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2018-09-09 23:22:12 CEST; 3min 9s ago
Process: 5628 ExecStart=/opt/teamviewer/tv_bin/teamviewerd -d (code=exited, status=0/SUCCESS)
Main PID: 5633 (teamviewerd)
Tasks: 16 (limit: 512)
CGroup: /system.slice/teamviewerd.service
└─5633 /opt/teamviewer/tv_bin/teamviewerd -d

Sep 09 23:22:12 TCM-S4VCR72 systemd[1]: Starting TeamViewer remote control daemon…
Sep 09 23:22:12 TCM-S4VCR72 systemd[1]: teamviewerd.service: PID file /var/run/team…ry
Sep 09 23:22:12 TCM-S4VCR72 systemd[1]: Started TeamViewer remote control daemon.
Hint: Some lines were ellipsized, use -l to show in full.

Zo nee, start hem manueel.
sudo systemctl start teamviewerd

4. Voeg toe aan de opstartfase als je dat wil.

sudo systemctl enable teamviewered

Het desktopprogramma is opgenomen in het menu Internet als Teamviewer 13.

Geraadpleegde bron: www.linuxbabe.com

Zie verder: Wacht om te zien of het werkt … Teamviewer gebruiken op Linux

4/9/2018

Git gebruik organiseren: branches, comit, merge

Filed under: — cybrarian @ 8:59 pm

(Reeks Githandboek (nl)commando’s vbbranch, mergeGitLab vbgit en gambas)
Zie ook artikel over branches in git, (Engelstalig, 2015)

Branch commando’s

git branch = toon branches = git branch --list = toon branches
git branch -v = toon laatste commit messages
git branch Testing = maak nieuwe branch met naam “Testing”
git checkout Testing = overschakelen naar branch
git merge bugfix = merge bugfix in huidige branch (vorige checkout branch, hier dus Testing)
git branch -d bugfix = verwijder branch (gaat niet? checked out?)

Branch, merge
Veelgebruikte struktuur van vertakkingen:

Master branch (-> production server)
Develop branch (-> staging server)

  • Feature branch
  • Hotfix branch
  • Release branch
  • Support branch

Git Branching and merging strategies beschrijft het zo:

Master – Test – Develop

Uit Master wordt initieel test gemaakt, uit test develop, en uit develop de feature branches.

Master - Test - Develop -- Feature-1
                        -- Feature-2

(

De Develop stage krijgt updates uit de feature branch die gewijzigd is;

.. Develop <-- Feature-1
           <-- Feature-2

De feature branches houden zich up to date door de wijzigingen uit de develop regelmatig af te halen (rebase). Hoe beter ze onderling op de hoogte blijven van de ontwikkeling, hoe minder conflicten later.

.. Develop --> Feature-1
           --> Feature-2

En alles van develop gaat uiteindelijk naar boven naar test, dan naar Master.

Vanuit Master wordt een Release 1.0 branch gemaakt.
Later vanuit Master een Release 2.0 branch.

De bugs die ontdekt worden in de Release branches, kunnen gepatcht worden (éérst op eerste versie waar die voorkomt)
bv comit op Release 1 –
van daaruit Merge naar Release 2
van daaruit Merge naar Develop (waarna het met rebase bij de feature branches komt, en waar het klaar zit voor de volgende release naar boven)

Overzicht van bestaande branches:

git branch --list

bugfix
* master
testing

Verschillende commits:

  • Merge
  • Fast-Forward
  • Rebase

Branch namen

Vb van een prefix die onderscheidend werkt:

feat-shortname bv: feat-stocklist
fix-shortname bv: fix-bugitem1234
hot-shortname bv: hot-fixCrashStartWithoutDb
rel-shortname bv: rel-v1-2
try-shortname bv: try-stocklistlocalcache

Branch lokaal-remote

Een lokaal gemaakte branch kan nadien gewoon naar de server gestuurd worden:

git push origin feat-1

Voorbeeld 1 merge (recursive):

master: bestand 1 veranderd; commit
develop: bestand 2 veranderd; commit

git checkout master
git merge testing

Merge made by the ‘recursive’ strategy.
TweedeBestand.txt | 1 +
1 file changed, 1 insertion(+)

Voorbeeld 2 merge (fast-forward):

git checkout master
git checkout -b bugfix

Switched to a new branch ‘bugfix’

Wijzig bestand 2, en …

git commit -a -m "voeg commentaar toe"

[bugfix 02aa0b3] voeg commentaar toe
1 file changed, 1 insertion(+)

git checkout master

Switched to branch ‘master’
Your branch is ahead of ‘origin/master’ by 3 commits.
(use “git push” to publish your local commits)

git merge bugfix

Updating feb4282..02aa0b3
Fast-forward
TweedeBestand.txt | 1 +
1 file changed, 1 insertion(+)


Voorbeeld 3: opkuisen na merge

Daarna mag de tak van de bugfix weg:

git branch -d bugfix

Deleted branch bugfix (was 02aa0b3).

Als hij nog aktief staat krijg je een fout:

error: Cannot delete branch ‘bugfix’ checked out at ‘/home/..

Voorbeeld 4 merge (rebase)

branch master, test, feat-1, feat-2

wijzigingen feat-1, commit
wijzigingen feat-2, commit

git checkout test
git status

git merge feat-1

Updating f276191..804f3c6
Fast-forward
Project/.src/Filename.class | 12 +++++++++++-
… (bestanden en wijzigingen)
12 files changed, 291 insertions(+), 37 deletions(-)
create mode 100644 Project/.src/FGetText.class
create mode 100644 Project/.src/FGetText.form

git merge feat-2

Auto-merging Project/Changes.txt
Auto-merging Project/.src/MForm.module
Auto-merging Project/.src/FMain.class
Merge made by the ‘recursive’ strategy.
Project/.src/FMain.class | 2 +-
Project/.src/MForm.module | 1 +
… (bestanden en wijzigingen)
7 files changed, 646 insertions(+), 1 deletion(-)
create mode 100644 Project/.src/Class/CIntWeek.class
create mode 100644 Project/.src/Forms/FInterim.class

Om in mijn feat-1 alle wijzigingen van test al mee te krijgen:

git checkout feat-1
git rebase test

(alhoewel niet iedereen voorstander is van rebase gebruik, zie ook fetch/merge, pull)

Merge Error 1

Fout op 1 bestand dat lokaal veranderd is, maar enkel een .settings bestand is dat mag overschreven worden:

git reset --hard
Daarna terug de merge.

Merge Error 2

git checkout test
git merge feat-1

Auto-merging Proj/Changes.txt
CONFLICT (content): Merge conflict in Proj/Changes.txt
Automatic merge failed; fix conflicts and then commit the result.

git status

On branch test
You have unmerged paths.
(fix conflicts and run “git commit”)
(use “git merge –abort” to abort the merge)

Changes to be committed:

modified: Proj/.src/ProjForms/FInterim.class
modified: Proj/.src/ProjForms/FInterim.form

Unmerged paths:
(use “git add …” to mark resolution)

both modified: Proj/Changes.txt

Inderdaad, de Changes.txt file is gewijzigd in beide takken. Als je het bestand in de huidig aktieve branch (de merge branch Test in dit geval) opent, zal je aanduidingen zien van de overlapping:

0.1.2 
...
< <<<<<< HEAD

FFactoring:
0.1.2 
=======
>>>>>>> feat-interim

HEAD : geeft de “hoofd”-branch aan, waar naartoe gemerged wordt, waarna die tekstversie
====== : geeft de scheiding aan naar het begin van de ingevoegde (feature-,..) branch en de bijhorende tekstversie
Ook de ingevoegde branch naam staat er achter.

Maak van de tekst de versie die het uiteindelijk moet worden, combineer beide stukken of gooi wat weg.
Stage de veranderingen met git add .
Commit de veranderingen met git commit -m "Resolve merge conflict by combining and ordening changes.txt"

Probeer daarna opnieuw een merge.

3/9/2018

Docker hierarchie enz

Filed under: — cybrarian @ 1:09 pm

Hierarchie

concept:

Stack
Services
Container

container directory/files:

directory/dockerfile
directory/app.py
directory/requirements.txt

Woordenlijst

dockerfile : definiëert de container

Python

Docker lijkt sterk gebruik te maken van Python (zie ook installatie)

Docker in Yast

Filed under: — cybrarian @ 12:46 pm

Installeren:
– Yast, Softwarebeheer, zoek docker
– docker, docker-bash-completion, docker-libnetwork, docker-runc, docker-zhs-completion, ruby2.1-rubygem-docker-api, yast2-docker, zypper-docker (docker-compose)
– installeer.

Controleren:

Yast Control Center, Virtualisatie, Docker.

Start de module met venster YaST2 – docker @ host.loc

Twee tabbladen: Images en Containers.

Containers toont de “running docker containers”

Na het starten van het “Hello World” voorbeeld (zie commando’s), wordt in tabblad [Images] zichtbaar:

hello-world latest sh256:2cb0d 2018-07-11T00:32:08+00:00 1.80 KiB

Docker commando’s

Filed under: — cybrarian @ 12:38 pm

Docker
(voorbeelden op OpenSUSE, volg de gids op docs.docker.com)

Docker installeren:
zypper install docker docker-compose

Docker starten
systemctl start docker

Docker stoppen
systemctl stop docker

Docker automatisch laten starten:
sudo systemctl enable docker

Docker groep vervoegen:
sudo usermod -G docker -a GEBRUIKERSNAAM

Versie van Docker:
host:/home/gebruikersnaam # docker --version

Docker version 17.09.1-ce, build f4ffd2511ce9

Aktieve containers:
host:/home/gebruikersnaam # docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

(niets in gebruik hier)

Meer info:
host:/home/gebruikersnaam # docker info

Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 17.09.1-ce
Storage Driver: btrfs
Build Version: Btrfs v4.5.3+20160729
Library Version: 101
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc oci
Default Runtime: runc
….

Hallo Wereld!
docker run hello-world

Unable to find image ‘hello-world:latest’ locally
latest: Pulling from library/hello-world
9db2ca6ccae0: Pull complete
Digest: sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the “hello-world” image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.

# docker image ls

REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 2cb0d9787c4d 7 weeks ago 1.85kB

# docker container ls

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

# docker image ls --all

REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 2cb0d9787c4d 7 weeks ago 1.85kB

# docker image ls -aq

2cb0d9787c4d

(q = quite mode)

10/7/2018

Raspbian voor Raspberry Pi

Filed under: — cybrarian @ 1:43 pm

Systeemsoftware afhalen (image).
Als startend systeem op sd kaar zetten

Download
De laatste versie van Raspbian kan je hier afhalen:

Raspbian

Uitpakken
In je bestandbeheerder of op de commandolijn.

Schrijven
Op Linux kan je met dd de uitgepakte image naar de sd kaart schrijven, open een terminal.
Wees voorzichtig met het exact opgeven van de doel-drive waarnaar je schrijft, je kan per vergissing je eigen systeemschijf opgeven als doel!
Check voor je de kaart in de sd drive steekt:

~> lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 489,1G 0 disk
├─sda1 8:1 0 399M 0 part /boot
└─sda2 8:2 0 488,7G 0 part
└─cr_ata-Crucial_CT525MX300SSD1_1730181A3D36-part2 254:0 0 488,7G 0 crypt
├─system-swap 254:1 0 2G 0 lvm [SWAP]
├─system-root 254:2 0 40G 0 lvm /var/opt
└─system-home 254:3 0 100G 0 lvm /home
sr0 11:0 1 1024M 0 rom

Steek de kaart in de sd drive en check opnieuw:

~> lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 489,1G 0 disk
├─sda1 8:1 0 399M 0 part /boot
└─sda2 8:2 0 488,7G 0 part
└─cr_ata-Crucial_CT525MX300SSD1_1730181A3D36-part2 254:0 0 488,7G 0 crypt
├─system-swap 254:1 0 2G 0 lvm [SWAP]
├─system-root 254:2 0 40G 0 lvm /var/opt
└─system-home 254:3 0 100G 0 lvm /home
sr0 11:0 1 1024M 0 rom
mmcblk0 179:0 0 14,5G 0 disk
├─mmcblk0p1 179:1 0 1,1G 0 part
├─mmcblk0p2 179:2 0 1K 0 part
├─mmcblk0p5 179:5 0 32M 0 part
├─mmcblk0p6 179:6 0 66M 0 part
└─mmcblk0p7 179:7 0 12,8G 0 part

In dit geval is mmcblk0 dus het doel.

Commando: (gebruik de naam van je image)

sudo dd bs=4M if=2018-06-27-raspbian-stretch.img of=/dev/mmcblk0 conv=fsync

Na een tiental minuutjes:
(je kan de diskmonitor op je desktop in het oog houden om te weten wanneer de operatie gedaan is)

sudo dd bs=4M if=2018-06-27-raspbian-stretch.img of=/dev/mmcblk0 conv=fsync
1150+0 records gelezen
1150+0 records geschreven
4823449600 bytes (4,8 GB, 4,5 GiB) copied, 1113,16 s, 4,3 MB/s

Als je de Raspberry Pi start komt er een melding van het aanpassen van iets van het systeem, als ik het goed begrepen heb is dat het gebruiken van de hele SD kaart.

Daarna krijg ik een welkom scherm maar ik beland wel op de commandolijn.
Ik tik startx om een grafische sessie te starten, en dan komt er weer een welkom

Before you start using it, there are a few things to set up.
Press Next to get started.

Country: Belgium
(Language en Timezone staan goed)

Daarna herstart de Pi en komt wel in het grafisch systeem op.

In het menu kan je configureren:

Systeem:
– Hostname : …
– opstarten naar buroblad of CLI (commandolijn)
– Autologin als gebruiker Pi
– …

Interfaces:
– Camera aan
– ssh aan.
– … aan/af

De hostname staat in /etc/hostname
Het ip address in /etc/dhcpcd.conf

bv: haal # weg aan begin van de lijn om te aktiveren, en pas aan je eigen adressen aan:

interface eth0
static ip_address=192.168.1.10/24

reboot
ifconfig

9/7/2018

Raspbian upgraden

Filed under: — cybrarian @ 1:16 pm

Van 8 (Jessie) naar 9 (Stretch)?

Raspberry Pi wordt standaard uitgeleverd met Raspbian (in noobs). De versie van een Raspberry Pi Model B zou kunnen zijn:

cat /etc/issue

Raspbian GNU/Linux 8

uname -a

Linux ras001 4.9.35-v7+ #1014 SMP

eenzelfde bord, later geinstalleerd:

Raspbian GNU/Linux 9
(4.14.34-v7+ #1110 SMP)

Hoe krijg je nu de eerste op het niveau van de te tweede?

1. Een nieuw systeem afhalen (heb je waarschijnlijk van die 2e) en installeren
https://www.raspberrypi.org/downloads/
2. De eerste upgraden.

Voor beide mogelijkheden geldt natuurlijk: maak eerst een backup.

Upgrade van 8
Volgens de handleiding op raspberrypi.org:

sudo apt-get update

sudo apt-get dist-upgrade

Zo’n upgrade kan wel wat extra ruimte in beslag nemen, en niet elke SD kaart is daar groot genoeg voor.

Een SD kaart van 16 Gb zou er geen probleem mee mogen hebben, die begon met 38% vol en liep tot 41% tijdens/na de installatie.


Starten in het nieuwe systeem

Na installatie herstart (commando “reboot“) geeft het upgedate systeem een melding op de desktop, in een venster met titel “Information”:

Your Raspbian system has been upgraded to the latest version.

To ensure compatibility with the new version, some configuration files have been overwritten-if you had customised your system, some of the changes may have been lost.

Your original configuration files have been backed up and put in the directory /home/pi/oldconfigfiles.

Ik draai nog sudo apt-get autoremove, wat 94 Mb zou vrijmaken.

Niet tot 9?
De desktop is terug de standaard Pixel desktopachtergrond.
Wat niet veranderd is:
– iconen en links op de desktop
– hostname
– het ip-adres
– eigenaardig genoeg is ook /etc/issue en /etc/debian_version blijven staan op 8
– ook de kernel is hetzelfde gebleven?

Met deze stappen doe je dus geen update van 8 naar 9!

Van Jessie naar Stretch

Om van versie jessie naar stretch te gaan is meer nodig, en het is ook niet gegarandeerd dat het lukt.**

Daarvoor moet je twee configuratiebestanden van de updater aanpassen (met root rechten), ik gebruikte daarvoor mcedit omdat ik die geïnstalleerd heb staan.

In het bestand /etc/apt/sources.list vervang je jessie door strech:

deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi
#deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi

In het bestand /etc/apt/sources.list.d/raspi.list vervang je ook jessie door stretch:

deb http://archive.raspberrypi.org/debian/ stretch main ui
#deb http://archive.raspberrypi.org/debian/ jessie main ui

Daarna weer:
sudo apt-get update
sudo apt-get -y dist-upgrade

Het eerste gaat snel, het tweede duurt wel even (11:00-..)
De -y antwoordt automatisch “y” op licentievragen en zo.

Je komt wel in een aantal schermen met allerlei informatie over gevolgen van wijzigingen ivm cron jobs, ssh verbindingen enz.
Tik q om er uit te geraken, of maak een keuze waar gevraagd (meer details zie log onderaan).

Om plaast vrij te maken ongebruikte audio eruit met:

sudo apt-get -y purge "pulseaudio*"

reboot

** ps: bij mij is het trouwens niet gelukt, zie log onderaan.

Nog een (Engelstalige) uitleg over de upgrade ivm toepassingen als de database:
https://linuxconfig.org/how-to-upgrade-debian-8-jessie-to-debian-9-stretch

(meer…)

25/6/2018

Raspberry Pi toepassing: Afsluiten met icoon op desktop

Filed under: — cybrarian @ 3:38 pm

Op de desktop een link maken om de Raspberry Pi af te sluiten.
(Dit is bv bedoeld voor een toestel dat een bepaalde functie heeft, en waar de gebruikers geneigd zouden kunnen zijn de “stekker uit te trekken”. De Pi kan daar niet zo goed tegen, en vooral de SD kaart met het systeem niet).

Shell script
Eerst maak je een shell script dat de Raspberry Pi afsluit als je het uitvoert; het bevat hetzelfde commando dat we geven op de commandolijn:

sudo shutdown -h now

Bewaar het met de naam Shutdown.sh
Maak het uitvoerbaar met

chmod +x Shutdown.sh

Desktop
Dan de link op de desktop. Ik heb in Raspbian geen manier gevonden zoals in KDE om met rechtsklik een nieuwe link te maken, maar manueel komt het erop neer dat je een tekstbestand maakt (zonder extentie mag) dat je op de desktop zet:

touch Afsluiten

Dan zet je volgende tekst erin:

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Uitschakelen
Comment=Veilig-Uitschakelen
Icon=/usr/share/icons/Adwaita/64x64/actions/system-shutdown-symbolic.symbolic.png
Exec=/home/pi/bin/Shutdown.sh
Terminal=false
Categories=None;

Als je nu op dat uitschakelsymbool klikt, sluit de Raspberry Pi af.

Raspberry Pi te licht beeld op scherm

Filed under: — cybrarian @ 1:14 pm

Het scherm geeft te veel licht af en daardoor zijn fijne lijnen niet zichtbaar, scherm ziet er in het geheel overbelicht uit.

Is niet op elk scherm even erg, deze omstandigheden: Pi HDMI naar VGA kabel (oude VGA-aansluiting dell 17″ monitor).

Een gelijkaardig fenomeen wordt gemeld op een Pi forum:
HDMI washed out / too bright

En als je verderleest en de links volgt, kom je tot een mogelijke oplossing. Blijkbaar zijn er instellingen mogelijk in een bestand
/boot/config.txt volgens de documentatie
config.txt, die verhuisd is naar hier:
https://www.raspberrypi.org/documentation/configuration/config-txt/README.md.

Een forumgebruiker vermeldt het toevoegen van:
hdmi_pixel_encoding=2

Er zijn heel wat waarden om mee te spelen, alles hangt af van je scherm natuurlijk.

Ik gebruik uiteindelijk toch de instellingen zoals ik ze voorheen had, en probeer in mijn programma’s de achtergrond donkerder te maken.

22/6/2018

Tumbleweed update

Filed under: — cybrarian @ 9:06 pm

(teruggevonden artikel, datum kwijt *)

Er was deze week (*) een opvallend grote Tumbleweed update, met niet enkel een nieuwe kernel (kernel-default-4.15.5-1.2), maar ook ander paketten als LibreOffice, geluidssysteem, enz. ; in totaal 153 packages.

Dit gebeurde in de gewone update met “zypper up“.
Zypper is de commandolijntool die gebruikt wordt in openSUSE, ongeveer zoals debian gebruikers apt gebruiken.

Tumbleweed is de “rolling release” distributie van openSUSE. Bij een rolling release evolueert het systeem constant in plaats van met afgelijnde versienummers te werken.

ps:
De installatie eindigde bij mij met Failed to cache rpm database (1).

Op een forum post van opensuse.org wordt aangeraden om :
rpm --rebuilddb
te doen. Dat eindigt zonder foutmelding (trouwens helemaal zonder melding, maar dat betekent meestal dat het gelukt is).

Een daaropvolgende zypper up geeft “Nothing to do”.

Op lwn.net/Articles/717489/ wordt trouwens beschreven dat er omstandigheden zijn waarin je beter een ander commando gebruikt voor het updaten:
zypper dup --no-allow-vendor-change

Dit zou iets beter overweg kunnen met het opruimen van oude rommel, maar toch niet zo drastisch zijn als een gewone dup, die “distribution update” betekent. Distribution update is meer dan een gewone “update” van bestaande dingen. Distribution update schakelt over naar nieuwere versies, en is een beetje meer avontuurlijk, wat soms voor verrassing leidt bij het opstarten de volgende keer. In het slechtste geval moet je wat terugdraaien.

Uiteindelijk gaf de update wat recentere paketten tov de huidige Leap 42.3 versies:
– kernel-4.15.5 (tov 4.4 in Leap),
– LibreOffice 5.4.1.2 (tov 5.3.5.2 in Leap maar ook 5.4.5.1 mogelijk),
– Firefox 58.0.2 (tov 52.5.3 in Leap)

18/6/2018

Datum en tijd voor Raspberry Pi

Filed under: — cybrarian @ 10:11 am

De Raspberry Pi heeft GEEN real-time clock. Dat betekent dat hij bij het opstarten geen idee heeft van datum of tijd.

  • Je kan de datum/tijd zelf instellen na opstarten
  • Als er een (internet) netwerkverbinding is kan hij van een “timeserver” die gegevens ophalen.
  • Je maakt applicaties waarbij de datum/tijd geen rol speelt.

Database
Als je niet aan internet of een interne timeserver kan, maar wel aan een database:

mysql>
SELECT NOW()
Number of Records: 1
2018-06-18 09:15:58

Dus als je een datum-tijd wil voor gebruik als sorteerwaarde:

SELECT DATE_FORMAT(NOW(), "%Y%m%d-%H%i" AS mijndatumtijd)

Dan krijg je als antwoord in mijndatumtijd bv:

20180617-1300

17/6/2018

Raspberry Pi camerabeeld uploaden

Filed under: — cybrarian @ 11:04 pm

Een uitleg die alles combineert wat je nodig hebt:

https://www.newth.net/mars/how-to-set-up-a-raspberry-pi-zero-to-upload-images-to-a-server-via-ftp/

samengevat:

  • Foto maken:
    raspistill -o /home/pi/mijnfoto.jpg
    of
    raspistill -o /home/pi/mijnfoto.jpg --annotate 12
    de annotate voegt datum/tijd informatie toe aan bestandsnaam *(1)
  • Met ftp naar een server sturen:
    curl -T /home/pi/mijnfoto.jpg ftp://ftp-host-machine//yourwebsite/folder/mijnfoto.jpg --user yourftpusername:yourpasswd
  • (aanpassen om naam met datum te ftp’en)

* 1) Meer over annotate: rapsberrypi.org forum

31/5/2018

Upgrade, KWallet

Filed under: — cybrarian @ 11:24 am

Bij een upgrade naar een andere computer kan je proberen zoveel mogelijk gebruikers (desktop) informatie mee te nemen, een lijstje:
– kde: desktopinstellingen (tijd, taal, standaardformaat papier A4/A3, ..)
– kmail: mail mappen, mails, attachments, accountgegevens, filters, adressen, …
– kwallet: wachtwoorden
– firefox: bookmarks, wachtwoorden

Kmail
– Heeft Export functie, maar die werkte niet wat betreft mailmappen (kwamen niet door) en de mail zelf (omdat die waarschijnlijk te groot was, 20 GB of zo.)
– mails zelf zitten in …
– configuratiebestanden: …
– wachtwoorden: normaal via kwallet.

KWallet
Heeft export functie (je kan ook gewoon slepen naar een usb stick of netwerkdrive).
Er is een versleutelde export om een backup te houden op bv usbstick.
Je kan in het kwallet beheer ook de inhoud gaan bekijken, met “Show values” kan je zo een bepaalde waarde gaan opzoeken als je die nodig hebt.

29/5/2018

Voeding voor Raspberry Pi

Filed under: — cybrarian @ 8:47 pm

Micro-USB
Voeding voor de Raspberry Pi komt normaal via de micro-usb aansluiting. Een typische laadkabel voor smartphones en andere gadgets kan daarvoor gebruikt worden, mits het vermogen groot genoeg is.

Voeding
Voor inbouw wil je een inbouwvouding of railmodel gebruiken.
Daar heb je enkel een draadaansluiting, zowel in als uit.

In:
L: Line, of fasedraad (bruin)
N: Neutraal of nuldraad (blauw)

Uit: 5V
+

Voeding naar Micro-usb
als je de + en – 5V uitgang van een voeding wil leiden naar de micro-usb ingang, moet je volgende kleuren van de usb-kabel aansluiten:

rood = +5 V (usb pin 1)
zwart = – GND (usb pin 4)

ps:
groen = data+ (usb pin 3)
wit = data- (usb pin 2)

Ik heb gemerkt dat met een 5-Volt voeding met fijnregeling ik een melding van zwakke voeding kreeg op Raspberry Pi (bliksem-icoon rechtsboven in beeld), tot ik het voltage bijregelde tot ongeveer 5,.6 Volt.

GPIO
Het is ook mogelijk rechstreeks voeding te geven op bepaalde pinnen: (bv Pi2 GPIO 2 en 6). Dan heb je niet het beschermcircuit van de USB aansluiting.

(meer achtergrond op deze Stackexchange

26/5/2018

KMail: menu kwijt

Filed under: — cybrarian @ 1:10 pm

Na wat knoeien met een migratie van openSUSE 13.1 naar Leap 42.3 heb ik KMail blijkbaar kapot gekregen.

Een export vanuit de bestaande kmail (KMail: Identity + mails + mail transport + resources + config + akonadi Db en KAddressBook: Resources + config) zou te groot geweest zijn voor de vrije ruimte op die pc. Dus de mail rechtstreeks gekopeerd (/home/gebruiker/.local/share/local-mail); er komen dan telkens meldingen van nieuwe mail in kde, en de mail komt in kmail. Maar helaas was de mappenstructuur nog niet geïmporteerd, en dus was een deel van de mail er niet. Bovendien zijn bij een import oorspronkelijke instellingen van de het mailprogramma op de bestemmingspc overschreven. Ik heb een kopie gemaakt van kmail2rc, maar mogelijk was het al te laat.

Menu verdwenen
Bij het opstarten krijg ik de menu’s niet meer te zien, en ik vind ook nergens hoe ik ze kan terugkrijgen. Met de alt-toets krijg je ook geen menu te zien.

kmail2rc
configuratiebestand bekeken:
cat ./.config/kmail2rc
Het bevat ondermeer de lijn met MenuBar:

[Main Window]
Height 1024=1004
Height 1050=1030
MenuBar=Disabled

Die heb ik verwijderd, maar loste het nog niet op.

Een andere lijn verwijst naar het menu:

[General]
ShowMenuBar=false
first-start=false

Ook verwijderd. (of eerder true in gezet)

22/5/2018

Systeem op SD kaart voor Raspberry Pi

Filed under: — cybrarian @ 10:30 pm

De Raspberry Pi heeft geen harde schijf, maar start zijn systeem van een SD-kaart.

Pre-install
De meestgebruikte is NOOBS, van waaruit je dan een systeem vanop de kaart kiest, uitpakt en installeert als besturingssysteem (zie “Noobs voor Raspberry Pi“).

Image –> SD Drive
Maar je kan ook een ander systeem gebruiken op Raspberry Pi, zelfs kanjers als openSUSE.

Meestal stellen ze een image ter beschikking die je kan downloaden:

JeOS image E20 image XFCE image LXQT image KDE image X11 image

Zie deze directory:
http://download.opensuse.org/ports/aarch64/distribution/leap/42.3/appliances/

De vermelde KDE versie lijkt niet meer aanwezig te zijn op de download server, de vroeger bestaande link
http://download.opensuse.org/ports/aarch64/distribution/leap/42.3/appliances/openSUSE-Leap42.3-ARM-KDE-raspberrypi3.aarch64-2017.07.26-Build1.1.raw.xz
werkt niet meer, en KDE heeft misschien eerder een desktop met 4 a 8 GB geheugen nodig om wat normaal te kunnen draaien.

Voor bv een XFCE (lichtgewicht desktop) is er een goeie 628 Mb
openSUSE-Leap42.3-ARM-XFCE-raspberrypi3.aarch64-2017.07.26-Build1.1.raw.xz

Je moet de “image” alleen nog op de SD kaart krijgen, en dan wel in een Pi-startende vorm. Daar zijn wel wat handelingen voor nodig, want de Pi heeft geen gewone pc-processor / start niet als een gewone pc.

Etcher
Een handig hulpmiddel daarbij is Etcher. Dat is de image-maker voor Raspberry Pi images. Het is een apart programma dat je download van https://etcher.io/ (bv “Download for Linux x64”).

  • Download van ongeveer 81 Mb: etcher-electron-1.4.4-linux-x64.zip
  • Uitpakken:
    unzip etcher-electron-1.4.4-linux-x64.zip
    Archive: etcher-electron-1.4.4-linux-x64.zip
    inflating: etcher-electron-1.4.4-x86_64.AppImage
  • Uitgepakt: etcher-electron-1.4.4-x86_64.AppImage

Op de AppImage kan je klikken (en even wachten) om hem te starten. Je volgt de stappen:
– image selecteren uit je bestanden (als je probeert een verkeerd bestand te selecteren, bv een iso voor een installatie-medium, merkt Etcher zelf op dat die geen voor Raspberry startbaar resultaat geeft, en kan je corrigeren).
– de SD kaart die ik ingestoken had werd al vanzelf geselcteerd, maar je kan dus zelf kiezen moesten er meer mogelijkheden zijn
– Flash! is de derde stap; daarbij moet je root rechten gebruiken en wordt het wachtwoord gevraagd.

Starting … 1 % Flashing …
Etcher is een open source project by resin.io

Het percentage wordt doorlopend aangepast, dit duurt ongeveer 10 minuten, daarna gebeurt een controle die zo’n 3 minuten duurt:

8% validating…

.. en eindigt met ‘Flash Complete’ (en wat reklame).
Je ziet nu twee partities op je SD-apparaat: root en efi.

Start de Pi
Steek de SD-kaart in de Raspberry Pi, sluit de stroom aan om te starten.

  • Start niet maar blijft in een kleuren-testscherm hangen. Je hebt waarschijnlijk een nieuwe Pi 3B+. Probeer een recente Raspbian of NOOBS (https://www.raspberrypi.org/downloads/raspbian/)
  • Start met een groen openSUSE scherm, en begint vanalles te doen. Laat hem doen; de boot dingen worden gereorganiseerd en daar kom je best niet tussen! Uiteindelijk zal je een (on)bekend welkom scherm krijgen met een login .. te kiezen uit “other” en zelf in te vullen, en wachtwoord.

Login/wachtwoord?
De eerste keer inloggen met root en wachtwoord linux, je wachtwoord verzetten en eventueel een andere gebruiker maken naast root.
Daarna heb je een systeem met 11.1 GB gebruikt van de 14.7 (als je een 16 GB kaart gebruikt).

Software
Je hebt hier geen softwarekeuze gehad bij installatie, dus je moet zelf wat opkuisen; verwijderen van games en alle software die je niet nodig hebt (Gimp?).
Bij-installeren van bv GambasIDE.
Yast helpt hierbij natuurlijk.

Opmerkingen

  • Op mijn specifieke hardwarecombinatie valt het beeld wat buiten het scherm en is de beeldkwaliteit slecht (ik probeer later met een ander scherm).
  • Het toetsenbord staat in qwerty, er is geen keuze geweest dus je moet dat zelf instellen; opgelet voor wachtwoorden voor/na!
  • Een 16 GB kaartje is misschien wat krap voor een desktop systeem …

Installatie-medium
Een andere manier is eerst een installatie-systeem maken op een USB-stick zoals je een installatie DVD zou hebben:
bv een ong 4 Gb grote
openSUSE-Leap-42.3-DVD-aarch64-Build0200-Media.iso
van download.opensuse.org/ports/aarch64/distribution/leap/42.3/iso/openSUSE-Leap-42.3-DVD-aarch64-Build0200-Media.iso
Dan moet je vanaf deze usb-stick starten op de Pi, en dat lijkt me iets omslachtiger dan de bovenstaande methode, maar heeft waarschijnlijk het voordeel dat je op maat kan installeren zoals op je pc, dat je toetsenbordkeuze krijgt enz.

Bronnen

https://www.suse.com/c/opensuse-raspberry-pi-3-zero-functional-system-easy-steps/
https://en.opensuse.org/HCL:Raspberry_Pi3
https://www.raspberrypi.org/magpi/pi-sd-etcher/

16/5/2018

Raspberry Pi camera module

Filed under: — cybrarian @ 2:15 am

Een camera
Het doosje vermeldt enkel “Camera module für Raspberry”, en bevat een camera bordje en een platte kabel. De aansluiting van de kabel durft al eens slecht contact geven, met fouten als gevolg als:

mmal: mmal_vc_component_create: failed to create component ‘vc.ril.camera’ (1:ENOMEM)
mmal: mmal_component_create_core: could not create component ‘vc.ril.camera’ (1)
mmal: Failed to create camera component
mmal: main: Failed to create camera component

Beschikbaar maken

Camera aktiveren in de Raspberry Pi settings.
sudo raspi-config
Bewaren. Bij de volgende start van de Pi worden deze gelezen en wordt de camera bruikbaar. Indien langer niet meer nodig terug de-activeren om stroom te sparen.

commandolijn
Voor foto’s is er raspistill:
raspistill --help

Voorbeeld: een foto nemen en rechtzetten alvorens te bewaren
(f= flip, v=vertikaal, h=horizontaal, o=output):

raspistill -vf -hf -o foto.jpg

Voor video is er raspivid:
raspivid --help

Voorbeeld: 10 seconden opname:

raspivid -o filmpje.h264 -t 1000

Vanuit Python aanspreken

from picamera import PiCamera
camera = PiCamera()
imagenaam = "CameraBeeld1.jpg"
camera.capture(imagenaam)

Fototoestel

Bouw een knop en verbindt met de gpio pinnen.
Als de knop ingedrukt wordt, de foto maken.

Deze code kan handig zijn voor een preview als je een scherm aangesloten hebt:
camera.start_preview()
camera.stop_preview()

Automatische camera
Bouw een loop in in het programma:

while imageno < 10:
  sleep(5)
  imagename = 'cameraShot{0:04d}.jpg'.format(imageno)
  camera.capture(imagename)
  imageno += 1

Je kan ook een eigen GUI/Desktop programma schrijven in Gambas en van daaruit de bediening en/of instellingen doen op een preview, zodat je reeks juist is (vgl "PiCam" voorbeeld).

Grootte: als je lage resolutie beelden (800x800) maakt van zo'n 300 KB groot, en 1 foto per minuut maakt, kom je bv na een uur op 17.8 MB voor de 60 beelden.
Laat ons zeggen 100 MB voor 5 uur, of beetje naar boven afgerond 0,5 Gb per dag.

Stop motion filmpje

Van achtereenvolgende foto's kan je een filmpje maken door ze aan elkaar te plakken.

Software nodig:
sudo apt-get install libav-tools

Beelden omzetten:
avconv -r 10 -i image%04d.jpg -r 10 -vcodec libx264 -crf 20 -g 15 timelapse.mp4
Waarbij:
-r 10 : tien beelden per seconde in input en output
-i image%04.jpg : vorm van de invoerbestanden, hier met 4 tekens voor volgnummer, kan ook bv 02 of zo zijn.
-vcodec libx264 gebruikt de x264 encoder software.
-vf scale=1280:720 : beeldgrootte aanpassen naar 720p. Kan ook bv 1920:1080, of lagere resoluties, zoals je wil. De Pi kan maar video afspelen tot 1080 p, maar als je op een ander apparaat wil spelen aan bv 4K, kun je dat ook instellen.
timelapse.mp4 : naam van het resultaat
Meer: https://www.raspberrypi.org/documentation/usage/camera/raspicam/timelapse.md

Desktop
Of de beelden afhalen en op je desktop verder verwerken.
Op bv OpenSUSE:

curlew

Raspberry Pi via netwerk

Filed under: — cybrarian @ 1:55 am

Je wil je Raspberry Pi aanspreken via het netwerk. Daarvoor moet je weten welk IP adres hij heeft. Normaal gaat hij bij netwerkverbinding een IP adres vragen van een DHCP server op het netwerk waarop hij aangesloten is (meestal doet de router die functie). Kan je op voorhand er voor zorgen dat hij een vast IP adres gebruikt?

Volgens www.modmypi.com kan je het ip adres zelf in een bestand op de sd kaart schrijven.

/etc/dhcpcd.conf

Verander de voorbeeldcode naar het ip adres dat je zelf wil gebruiken (bv 192.168.1.15), en pas ook de gateway/router en dns servers aan.
Zet ook ssh aan als het nog niet zo zou zijn.
Herstart de Pi.

Nu kan je verbinden met ssh pi@192.168.1.15
Je kan het systeem updaten, software bij-installeren, python scripts starten, enz.

Ook handig als je onder KDE werkt: open betandsbeheer en tik in de locatiebalk:
fish://pi@192.168.1.15

Je kan dan bv bestanden overzetten, python scripts wijzigen vanuit Kate of KEdit, beelden bekijken, enz.

NOOBS245

De (soms) bijgeleverde SD-kaart met “NOOBS” bevat verschillende samengepakte systemen (images), waarvan je er één kan installeren. LibreElec is voor een multimedia apparaat, raspbian is een algemene Linux desktop. Je kan hier geen bestand op de kaart wijzigen omdat het nog geen geïnstalleerd systeem is. Dus ofwel moet je toch een toetsenbord, muis en scherm aan de Pi hangen, en Raspbian ervan installeren, ofwel moet je elders een image downloaden en op de kaart installeren, weer je dan daarna de Pi mee kan starten.

15/5/2018

NOOBS voor Raspberry Pi

Filed under: — cybrarian @ 9:56 am

Systeem voor Pi

Noobs is een compilatie van mogelijke systemen voor de Raspberry Pi. Die worden samengeperst op een SD kaart gezet en voorzien van een installatieprogramma om de eerste keer van te starten.

Op Linux kan je met dd de uitgepakte image naar de sd kaart schrijven.
Wees voorzichtig met het exact opgeven van de doel-drive waarnaar je schrijft, je kan per vergissing je eigen systeemschijf opgeven als doel!
Check voor je de kaart in de sd drive steekt:

~> lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 489,1G 0 disk
├─sda1 8:1 0 399M 0 part /boot
└─sda2 8:2 0 488,7G 0 part
└─cr_ata-Crucial_CT525MX300SSD1_1730181A3D36-part2 254:0 0 488,7G 0 crypt
├─system-swap 254:1 0 2G 0 lvm [SWAP]
├─system-root 254:2 0 40G 0 lvm /var/opt
└─system-home 254:3 0 100G 0 lvm /home
sr0 11:0 1 1024M 0 rom

Steek de kaart in de sd drive en check opnieuw:

~> lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 489,1G 0 disk
├─sda1 8:1 0 399M 0 part /boot
└─sda2 8:2 0 488,7G 0 part
└─cr_ata-Crucial_CT525MX300SSD1_1730181A3D36-part2 254:0 0 488,7G 0 crypt
├─system-swap 254:1 0 2G 0 lvm [SWAP]
├─system-root 254:2 0 40G 0 lvm /var/opt
└─system-home 254:3 0 100G 0 lvm /home
sr0 11:0 1 1024M 0 rom
mmcblk0 179:0 0 14,5G 0 disk
├─mmcblk0p1 179:1 0 1,1G 0 part
├─mmcblk0p2 179:2 0 1K 0 part
├─mmcblk0p5 179:5 0 32M 0 part
├─mmcblk0p6 179:6 0 66M 0 part
└─mmcblk0p7 179:7 0 12,8G 0 part

In dit geval is mmcblk0 dus het doel. Commando: (gebruik de naam van je image)

sudo dd bs=4M if=2018-06-27-raspbian-stretch.img of=/dev/mmcblk0 conv=fsync

(ps. dit is het commando om niet noobs, maar wel een raspbian image te schrijven, dat kan ook.)

sudo dd bs=4M if=2018-06-27-raspbian-stretch.img of=/dev/mmcblk0 conv=fsync
1150+0 records gelezen
1150+0 records geschreven
4823449600 bytes (4,8 GB, 4,5 GiB) copied, 1113,16 s, 4,3 MB/s

Noobs geeft keuze

Noobs is het beginnerssysteem dat soms bij een raspberry pi geleverd wordt, of dat je zelf kan downloaden (https://www.raspberrypi.org/downloads/noobs/). Er bestaat ook een “light” versie waarbij je de software na opstarten van internet haalt. Bijna alle systemen voor Raspberry Pi zijn gebaseerd op Linux.

Het zelfstartend systeem laat je beslissen welke software je wil gaan draaien vanaf de kaart. Er is keuze uit een volledige en een minimale Raspbian, en systemen voor multimedia en beeldschermmuren enz. Het gekozen systeem wordt dan uitgepakt, de andere systemen worden gewist. Je kan ook meer dan 1 systeem selecteren. Voor een server neem je de minimale Raspbian, voor desktop de gewone.

Raspbian
De installatie van Raspbian heeft meer dan 4 Gb ruimte nodig, dus heb je minstens een 8 GB kaartje nodig, liever 16 Gb (waarschijnlijk wil je ook gegevens bewaren die je verzamelt of verwerkt).

Het installatiescherm toont informatie en zegt dat het installeren “een paar minuutjes” kan duren. Versta: voor een Raspberry Pi 3 Model B v1.2 met gewone 16 Gb geheugen SD kaart met NOOBS duurt het eerder 20 a 25 minuten.

Pixel
Na het installeren krijg je een melding, als je die wegklikt start de Pi op van de kaart, en krijg je een desktop te zien met icoontjes.
De bestandsbeheerder geeft aan: 7.9 Gb vrije ruimte, totaal 12.7 Gb.
Voor recovery mode kan je de shift toets indrukken bij het starten.
Verander eerst het wachtwoord (eventueel ook de gebruikersnaam), check voordien wat de toetsenbordinstelling is.

Instellingen
– toetsenbord
– netwerk: vast ip adres ipv DHCP?
– ssh aktiveren

In het programma Raspberry Pi Configuration kan je bv SSH aanzetten, camera activeren, enz. Blijkbaar moet je wel de Pi herstarten, want de configuration wijzigt eigenlijk bootscripts.
In de terminal:
sudo raspi-config

In de terminal met ifconfig kan je zien welk het huidig ip adres is.

Powered by WordPress