Udgivet den

Python3, Qt, PyQt5 på macOS

macOS er UNIX, en efterkommer af Darwin

Homebrew er selvskreven da det er en fantastisk måde at få installeret de nødvendige komponenter men at få det til at virke er en ganske anden ting.

Installation

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Afinstallation

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

Installation af PyQt

brew install pyqt

Jeg fandt da heldigvis dette spørgsmål på stackoverflow

LDFLAGS=-L/usr/local/opt/qt/lib CPPFLAGS=-I/usr/local/opt/qt/include pip3 install PyQt5

Så kørte min Linux kode på macOS – Yaii

Udgivet den

Raspberry Pi – ressource og kommando ref

Status

#!/bin/bash
for src in arm core h264 isp v3d uart pwm emmc pixel vec hdmi dpi
do
    echo -e "$src:\t$(vcgencmd measure_clock $src)"
done
for id in core sdram_c sdram_i sdram_p
do
    echo -e "$id:\t$(vcgencmd measure_volts $id)"
done
vcgencmd codec_enabled MPG2
vcgencmd codec_enabled WVC1

Tilgængelige kommandoer

vcgencmd commands

Ressourcer

Raspberry Pi

http://www.raspberrypi.org/documentation/configuration/device-tree.md
http://www.raspberrypi.org/forums/viewtopic.php?f=29&t=97314
https://github.com/Hexxeh/rpi-firmware/tree/master/overlays

ArchLinux

http://archlinuxarm.org/platforms/armv6/raspberry-pi
http://archpi.dabase.com/
https://wiki.archlinux.org/index.php/Raspberry_Pi
http://elinux.org/ArchLinux_Install_Guide
http://www.raspberrypi.org/tag/arch-linux/
http://docs.rpi-dashboard.com/build_from_source/build_on_arch_linux.html
http://docs.rpi-dashboard.com/system_configuration/enable_spi.html
Udgivet den

Linux: delt mappe i fstab

Montering af cifs i fstab

Installer cifs-utils

sudo pacman install cifs-utils

Rediger /etc/fstab og tilføj:

//server/mappe /sti/til/montering cifs credentials=/etc/samba/.smbcredentials 0 0

Opret filen /etc/samba.smbcredentials

$ sudo touch /etc/samba/.smbcredentials

Rediger filen

$ sudo nano /etc/samba/.smbcredentials

Indsæt følgende tekst – som du tilpasser dit system

username=shareuser
password=sharepassword
domain=domain_or_workgroupname

Filen /etc/samba/.smbcredentials sikres så den kun kan læses af root:

sudo chmod 0400 /etc/samba/.smbcredentials

Test om det virker:

sudo mount -a

Gå til den mappe hvor du monterede den delte mappe.

Udgivet den

USB harddisk på Raspberry Pi

Minimer slitage på SD-kort

  • God strømforsyning 2Ah eller bedre.
  • Monter rootfs partition på dit SD kort
  • Monter din harddisk (ext4)
  • Kopier din rootfs partition til dit usb-harddisk
  • Husk at bruge sync for at skrive alt til disken
mount /dev/sdxY /your/sdcard/mountfolder
mount /dev/sdxY /your/usb/mountfolder
cp -r /your/sdcard/mountfolder/* /your/usb/mountfolder
sync

Monter boot partitionen på dit SD-kort og lav en sikkerhedskopi af filen cmdline.txt → cmdline.bak.txt.

cp /boot/cmdline.txt /boot/cmdline.bak.txt

Åben filen cmdline.txt med nano

sudo nano cmdline.txt

Find teksten

root=/dev/mmcblk0p6

Ret den til

root=/dev/sda1

Gem filen.

Tilslut USB harddisken til din Pi, indsæt SD-kortet og tilslut strøm. Din Pi starter nu hurtigere op og dit SD-kort bliver ikke slidt lige så meget.

Udgivet den

Terminal – søg og erstat tekst

Kommandolinje søg og erstat

Linux har nogle kraftfulde værktøjer for fil manipulation.

For eksempel kan man bruge grep til at søge efter tekst i filer og man kan bruge sed en streaming editor til at redigere filer.

grep -rl 'findtekst' mappe/ | xargs sed -i 's/tekst1/tekst2/g'

Bemærk: / adskilleren i sed kommandoen kunne også være en pipe |

findtekst er den tekst der skal matches med og ideelt er det samme som tekst1 fordi grep kun sender de filer videre der indeholder findtekst. tekst2 er den tekst man vil indsætte i stedet for tekst1

Eksempel

grep -rl 'windows' ./ | xargs sed -i 's/windows/linux/g'
Udgivet den

Portkontrol med RaspberryPi

1 RPi A+ eller B rev.2 eller nyere

1 PSU 5v DC 1.2A
1 USB WiFi
1 SD-card 8GB 
1 Relæ Modul 
1 Magnet kontakt 
Jumperwire med HUN-HUN stik men det kan også loddes.
Signalkabel min. 2x0.6 - de fleste kabler har flere ledere.

Du kan nok finde det hele her http://elektronik-lavpris.dk/.

Værktøj
Multimeter
Små skruetrækkere (PZ1, PH1, 5mm)
Evt. lille loddekolbe + tin med flus

Python controller modul
Et python script med en webservice.
Webservicen bruger GPIO til at levere status-data og aktiverings-signal for åbning/lukning.
[plain]git clone https://github.com/andrewshilliday/garage-door-controller[/plain]

TRIGGER
[plain]
RPi pin 1 (3.3v) => Relæ Modul pin Vcc
RPi pin 16 (BCM GPIO 17) => Relæ Modul pin In1
RPi pin 3 (GND) => Relæ Modul pin Gnd
[/plain]
STATUS
[plain]
RPi pin 9 (GND) => MK reed
RPi pin 11 (BCM GPIO 23) => MK reed
[/plain]
RELÆ
[plain]
Common => portstyring
Normally Open => portstyring
[/plain]

Udgivet den

Windows til Hyper-V

Overfør din windows til virtuel maskine.

Windows opsættes til RDP (Remote Desktop Protocol) på dansk Fjernskrivebord.
Vær sikker på at du har ret til login på Fjernskrivebord.

Flyt data væk fra C:
Det kan være sekundær disk, flytbar disk, cloud, netværk …

Skift størrelse på C: til maks 127GB.
Ved fysisk disk med mere end 127GB kan det være nødvendigt at defragmentere den frie plads før det er muligt at skifte størrelse på C:.

Windows XP bruges fx. http://www.aomeitech.com/download.html

Windows 7, 8.x, 10 bruges Diskhåndtering.

Efter størrelsesændring kan det være en fordel men ikke nødvendigt at konsolidere den frie plads med SDelete, et gratis Microsoft program.

Hvis du bruger SSD diske skal du ikke bruge SDelete da dette slider unødigt på hukommelseskredsene.

https://technet.microsoft.com/en-us/sysinternals/sdelete.aspx

Nu bruges et andet gratis Microsoft program Disk2vhd.

https://technet.microsoft.com/en-us/sysinternals/ee656415.aspx

Dette program kloner computer fra dit C: drev til et format der kan bruges med Microsoft HyperV eller VirtualPC.

Husk at gemme den virtuelle disk som VHDX – det udvidede HyperV format.

Disk2vhd kan gemme den på den computer der klones men kan med fordel gemmes på et eksternt medie fx. en flytbar harddisk, USB eller netværkslager. Husk at der skal være mindst 127GB ledig plads da dette er den maksimale størrelse for den virtuelle harddisk.

Udgivet den

Windows til VirtualBox

Har du konverteret din Windows til Hyper-V kan den konverteres til VirtualBox.

https://www.virtualbox.org/

De fleste Linux distibutioner har den i deres pakke/software installation. Du vil også få brug VirtualBox Extension Pack som kan hentes på VirtualBox web. Mac OSX fungerer muligvis anderledes.

For brug af USB lager skal din bruger tilhøre gruppen ‘vboxusers’ og det er en manuel opgave – check gruppe medlemskab

$ groups
lp wheel network video audio storage users

Tilknyt dit brugernavn

$ sudo gpasswd -a $USER vboxusers

Husk at gruppe medlemskab først træder i kraft ved næste login.

I eksemplet herunder er forudsat

  • en værts maskine med dual-core cpu, 4GB RAM, Intel lydkort
  • engelske mappe navne i home-folder
  • VHDX filen indeholder en Windows 10 (32-bit)
  • virtuel maskin-navn “din-vm”

Opret en mappe til din virtuelle maskine (BEMÆRK: venstre-vendt skråstreg før mellemrum)

$ mkdir -P ~/VirtualBox\ VMs/din-vm

Konverter vhdx-filen til vdi

$ VBoxManage clonehd /path/to/din-vm.vhdx ~/VirtualBox\ VMs/din-vm/din-vm.vdi

Hvis du er mest fortrolig med GUI kan du nu åbne VirtualBox fra genvejen i din distro’s menu system eller du kan forsætte i terminalen.

Terminal kommando til oprettelse og konfigurering af en virtual maskine der bruger din konverterede Hyper-V maskine er som følger.

Opret virtuel maskine

$ VBoxManage createvm --name "din-vm" --ostype "Windows10" --register

Sætte ram og cpu

$ VBoxManage modifyvm "din-vm" --cpus 1 --memory 2048 --longmode on --ioapic on

Sætte boot rækkefølge

$ VBoxManage modifyvm "din-vm" --boot1 disk --boot2 dvd

Sætte grafik og skærm

$ VBoxManage modifyvm "din-vm" --vram 128 --monitorcount 1

Sætte lydkort

$ VBoxManage modifyvm "din-vm" --audio pulse --audiocontroller hda

Sætte mus

$ VBoxManage modifyvm "din-vm" --usb on --usbehci on --mouse usbtablet

Sætte netværk til NAT/DHCP

$ VBoxManage modifyvm "din-vm" --nic1 nat

Oprette disk-styre-enhed

$ VBoxManage storagectl "din-vm" --name "IDE" --add ide --controller PIIX4 --hostiocache on --bootable

Sætte virtuel disk på disk-styre-enhed

$ VBoxManage storageattach "din-vm" --storagectl "IDE" --port 0 --device 0 --type hdd --medium "din-vm.vdi"

Sætte DVD-drev på disk-styre-enhed

$ VBoxManage storageattach "din-vm" --storagectl "IDE" --port 1 --device 0 --type dvddrive --passthrough off --medium host:/dev/sr0

Oprette delt mappe til Linux-home-folder Documents (Dokumenter)

$ VBoxManage sharedfolder add "din-vm" --name $(basename $HOME) --hostpath $HOME/Documents --automount
Udgivet den

Windows produkt nøgle

Min Windows produktnøgle – hvor er den?

Linux terminal

sudo cat /sys/firmware/acpi/tables/MSDM

Windows
Hent programet FirmwareTablesView fra nirsoft.net

Det er også muligt at lave et script til backup af produktnøgle.
https://gallery.technet.microsoft.com/scriptcenter/Backup-Windows-product-key-1a200645

Eller vbscript – laves i notepad og gemmes med endelsen .vbs

Set WshShell = CreateObject("WScript.Shell")
MsgBox ConvertToKey(WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"))
Function ConvertToKey(Key)
  Const KeyOffset = 52
  i = 28
  Chars = "BCDFGHJKMPQRTVWXY2346789"
  Do
    Cur = 0
    x = 14
    Do
      Cur = Cur * 256
      Cur = Key(x + KeyOffset) + Cur
      Key(x + KeyOffset) = (Cur \ 24) And 255
      Cur = Cur Mod 24
      x = x -1
    Loop While x >= 0
    i = i -1
    KeyOutput = Mid(Chars, Cur + 1, 1) & KeyOutput
    If (((29 - i) Mod 6) = 0) And (i <> -1) Then
      i = i -1
      KeyOutput = "-" & KeyOutput
    End If
  Loop While i >= 0
  ConvertToKey = KeyOutput
End Function
Udgivet den

Flash hukommelse

USB hukommelse og SD kort

Opensource program

for test af flash hukommelse (USB, SD-kort oa)

Nogle billige hukommelseskort og usb-stik snyder på vægten og averterer med mere hukommelse end der faktuelt er. Problemet kan opstå når der kopieres flere data til kortet end der er hukommelses kredse.

Link til artikel på engelsk
http://oss.digirati.com.br/f3/

Artiklen indeholder også link til kildekoden som skal bygges (kompileres) for det aktuelle system.

Udgivet den

Virtual Windows med VirtualBox

Ubuntu trin for trin guide

Installation af VirtualBox

Installer VirtualBox med

$ sudo apt-get install virtualbox

Adgang til usb-enheder
Hent og installer VirtualBox Extension Pack fra https://www.virtualbox.org/wiki/Downloads. Du kan lade browseren åbne filen og den installeres automatisk.

Åbn terminal og check dit logins gruppemedlemskab med

$ groups

Hvis gruppen ’vboxusers’ ikke er i listen så føjer du din bruger til gruppen med

$ sudo gpasswd -a $USER vboxusers

Opret virtuel maskine

I VirtualBox håndtering

Klik Ny.

  • Udfyld Navn (windows-10).
  • Udfyld Type – hvis den ikke er korrekt.
  • Udfyld Version – hvis den ikke er korrekt.

Klik Næste.

  • Vælg størrelse på hukommelse.
  • Windows 10 – mindst 2048MB.

Klik Næste.

  • Virtuel harddisk.
  • Brug forvalg.

Klik Opret.

Virtuel harddisk fil-type

  • Brug forvalg.

Klik Næste.

Virtuel harddisk lagring på fysisk disk

  • Brug forvalg.

Klik Næste.

Virtuel harddisk fil, placering og størrelse.

  • Brug forvalg.

Klik Opret.

Virtuel maskine opsætning

  • Marker den maskine du lige har oprettet. Hvis der kun er en er den allerede markeret.

Klik Opsætning.

For at kunne installere Windows skal du opsætte en installations kilde under Lagerenheder.

Opsætning

Generelt::Avanceret

  • Delt udklipsholder – aktiveres ved behov.
    • Gør det muligt at overføre tekst fra vært til virtuel og omvendt.
  • Træk og slip – aktiveres ved behov.
    • Gør det muligt at trække en fil fra vært til virtuel og omvendt.

System::Bundkort

  • Fjern unødvendigt diskettedrev.

System::CPU

  • Hvis det er muligt sættes til 2 CPU.

Skærm::Skærm

  • Ved HiDPI skærm sættes skaleringsfaktor til 150 % eller 200 %.
  • 3D og 2D aktiveres ved behov f.eks. CAD eller DTP.

Lagerenheder

  • Marker det tomme CD drev.
  • For indsætning af installations CD-aftryk .
  • Klik CD-skiven til højre.
  • Udpeg cd-aftryk eller dit fysiske drev.

Lydkort

  • Aktiveres eller deaktives efter behov.

Netværk
Ved netværksproblemer checkes at der bruges det rigtige netkort.

  • Klik på Avanceret for at se hvilket netkort der er anvendt.
    • Dvs. hvis du bruger WiFi skal det være dit WiFi kort der er markeret.
    • Der findes yderligere mulighed for at begrænse den virtuelle computers netværksadgang.
    • I nogle tilfælde er det nødvendigt at skifte forbindelse måde fra NAT til Netværksbro.

USB

  • Sættes ikke til bedre end det den fysiske computer har til rådighed f.eks. bruges ikke USB 3 hvis der kun er USB 2 til rådighed.

Delte mapper

Klik Mappe+ til højre.
Ved Mappesti klikkes PilNed
Klik Andet.

  • I din hjemmemappe kan du udpege en mappe du vil have adgang til i den virtuelle maskine.
  • Hvis du undlader at vælge mappe men blot klikker Åbn vil du have adgang til hele din hjemmemappe.

Klik Åbn.

  • Du kan redigere stien – fx hvis ændre fra bruger/doks til bruger.
  • Marker evt. tilvalg (skrivebeskyttet, automatisk tilslutning).

Klik OK.

Start virtuel maskine

 
Dobbeltklik på maskinen eller marker og klik på Start og Windows installeres på sædvanlig måde.
 
Når din virtuelle maskine er færdiginstalleret skal du have VirtualBox Gæstetilføjelser installeret. Disse har betydning for integration med mus og tilpasning af skærmopløsning.
 
Med den virtuelle maskine startet og du er logget ind.
 
Klik i VirtualBox vindues menu Enheder og vælg derefter Indsæt gæstetilføjelser CD-aftryk
 
Herefter vil Windows spørge dig hvad du vil gøre.
 
– Kør installationsprogrammet og accepter standard indstillinger.

Den delte mappe i Windows

  • Åbne Windows Stifinder.
  • Klik på Netværk.
  • Windows advarer: Netværksregistrering er slået fra.
  • Klik OK.

Nu vil der åbne en linje i toppen af Stifinder.

  • Klik på linjen og vælg Slå netværksregistrering og fildeling til.
  • Vælg at netværket skal gøres til privat netværk.

Nu kan du under Netværk vil du finde en sted med navnet VBOXSVR. Der finder du også den mappe du delte fra din linux.

Hvis du kaldte mappen doks vil du have en mappe der hedder \\VBOXSVR\doks.

Hvis du gerne vil have en genvej til i Windows kan du trække den op til Hurtig adgang.

Windows kan godt finde på selv at tilknytte et drev-bogstav typisk E: som du vil finde under Denne pc.
 
Ellers du kan højreklikke på den og vælge Tilknyt netværksdrev... – her kan du give den et bogstav fx Z:.

Udgivet den

Duplicity – Linux backup

duplicity

Usage: 
  duplicity [full|incremental] [options] source_dir target_url
  duplicity [restore] [options] source_url target_dir
  duplicity verify [options] source_url target_dir
  duplicity collection-status [options] target_url
  duplicity list-current-files [options] target_url
  duplicity cleanup [options] target_url
  duplicity remove-older-than time [options] target_url
  duplicity remove-all-but-n-full count [options] target_url
  duplicity remove-all-inc-of-but-n-full count [options] target_url

Backends and their URL formats:
  cf+http://container_name
  file:///some_dir
  ftp://user[:password]@other.host[:port]/some_dir
  ftps://user[:password]@other.host[:port]/some_dir
  hsi://user[:password]@other.host[:port]/some_dir
  imap://user[:password]@other.host[:port]/some_dir
  rsync://user[:password]@other.host[:port]::/module/some_dir
  rsync://user[:password]@other.host[:port]/relative_path
  rsync://user[:password]@other.host[:port]//absolute_path
  s3://other.host[:port]/bucket_name[/prefix]
  s3+http://bucket_name[/prefix]
  scp://user[:password]@other.host[:port]/some_dir
  ssh://user[:password]@other.host[:port]/some_dir
  swift://container_name
  tahoe://alias/directory
  webdav://user[:password]@other.host/some_dir
  webdavs://user[:password]@other.host/some_dir
  gdocs://user[:password]@other.host/some_dir
  pydrive://user@other.host/some_dir
  mega://user[:password]@other.host/some_dir
  copy://user[:password]@other.host/some_dir
  dpbx:///some_dir
  onedrive://some_dir
  azure://container_name
  b2://account_id[:application_key]@bucket_name/[some_dir/]
  mf://user[:password]@other.host/some_dir

Commands:
  cleanup <target_url>
  collection-status <target_url>
  full <source_dir> <target_url>
  incr <source_dir> <target_url>
  list-current-files <target_url>
  restore <source_url> <target_dir>
  remove-older-than <time> <target_url>
  remove-all-but-n-full <count> <target_url>
  remove-all-inc-of-but-n-full <count> <target_url>
  verify <target_url> <source_dir>

Options:
  -h, --help            show this help message and exit
  --allow-source-mismatch
  --archive-dir=path    
  --asynchronous-upload
  --compare-data        
  --dry-run             
  --encrypt-key=gpg-key-id
  --encrypt-secret-keyring=path
  --encrypt-sign-key=gpg-key-id
  --exclude=shell_pattern
  --exclude-device-files
  --exclude-filelist=filename
  --exclude-if-present=filename
  --exclude-other-filesystems
  --exclude-regexp=regular_expression
  --exclude-older-than=time
  --extra-clean         
  --file-prefix=FILE_PREFIX
  --file-prefix-manifest=FILE_PREFIX_MANIFEST
  --file-prefix-archive=FILE_PREFIX_ARCHIVE
  --file-prefix-signature=FILE_PREFIX_SIGNATURE
  -r path, --file-to-restore=path
  --force               
  --ftp-passive         
  --ftp-regular         
  --full-if-older-than=time
  --gio                 
  --gpg-binary=path     
  --gpg-options=options
  --hidden-encrypt-key=gpg-key-id
  --ignore-errors       
  --imap-full-address   
  --imap-mailbox=imap_mailbox
  --include=shell_pattern
  --include-filelist=filename
  --include-regexp=regular_expression
  --log-fd=file_descriptor
  --log-file=filename   
  --max-blocksize=number
  --name=backup name    
  --no-encryption       
  --no-compression      
  --no-print-statistics
  --null-separator      
  --num-retries=number  
  --numeric-owner       
  --old-filenames       
  --par2-redundancy=number
  --par2-options=options
  --progress            
  --progress-rate=number
  --pydevd              
  --rename=RENAME       
  -t time, --restore-time=time, --time=time
  --rsync-options=options
  --s3-european-buckets
  --s3-use-rrs          
  --s3-use-ia           
  --s3-use-new-style    
  --s3-unencrypted-connection
  --s3-multipart-chunk-size=number
  --s3-multipart-max-procs=number
  --s3-multipart-max-timeout=number
  --s3-use-multiprocessing
  --s3-use-server-side-encryption
  --scp-command=command
  --sftp-command=command
  --cf-backend=pyrax|cloudfiles
  --short-filenames     
  --sign-key=gpg-key-id
  --ssh-askpass         
  --ssh-options=options
  --ssl-cacert-file=pem formatted bundle of certificate authorities
  --ssl-cacert-path=path to a folder with certificate authority files
  --ssl-no-check-certificate
  --tempdir=path        
  --timeout=seconds     
  --time-separator=char
  --use-agent           
  -v [0-9], --verbosity=[0-9]
  -V, --version         
  --volsize=number      
  --file-changed=path   
Udgivet den

Resilio Sync – Opret Invitation

Opret delt mappe og udsend invitation

Resilio Sync er en lukket proprietær platform der bruger BitTorrent protokol til privat synkronisering af filer mellem computere.

Dette er 4. del af Resilio Sync Guiden

For at dele en mappe skal du oprette en mappe, derefter skal du dele en nøgle eller et link til mappen.

Først gå til adressen localhost:8888 i din browser og login hvis du ikke er det.

Efter login

Vælg mappe du vil dele

Klik Add Folder derefter Standard folder

En eksisterende eller en ny

Opret et sted du har skriverettigheder til typisk /home/bruger

Rettigheder på mappen

Kun læse Read Only – Læse/Skrive Read & Write

Standard skal du kun godkende een gang

Hvis du vil godkende hver gang klik New peers All peers

Link kan have en udløbs tid og hvor mange gange det virker

Nøgler til Læs & Skriv og Kun læsning

BEMÆRK: En mappe nøgle udløber aldrig og enhver med nøglen kan åbne mappen

QR kode til mobile enheder

Invitation via email

Fanen Link klik Email

Tilpas teksten i email, undtaget link

Der ingen peers – endnu

Modtagers email

Kopier hele link teksten

Klik Add Folder Enter a key or link

Indsæt link teksten og klik Next

Udpeg hvor du vil oprette mappen – klik Connect

Der står nu Pending approval

Den der har inviteret kan se du er klar

Klik på flueben

Endnu ingen delte filer

Opret en fil

Filer synkroniseres straks