Python3, Qt & PyQt5 på macOS

macOS er UNIX, en efterkommer af Darwin

Jeg brygger på en cross-platform app der skal fungere på Linux, Windows og macOS.

Forkælet som man bliver med Arch Linux og alt binært er klar til brug, så er macOS ikke helt så let at gå til.

For en cross-platform app er Python er det åbenlyse valg og når det skal være en grafisk app er der flere valgmuligheder. Valget faldt på Qt men at få det til at falde rigtigt på plads i macOS er ikke lige åbenlyst.

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

Har du hørt om ReactOS?

ReactOS

ReactOS er et frit opensource operativsystem. Det er ikke Linux der efterligner Windows.

Det er et operativ system kodet fra bunden med det primære mål at køre Windows programmer.

Et gratis ‘Windows’ operativ system.

ReactOS 0.0.4
ReactOS 0.0.4

Crossover Office

Windows programmer på Android

Mens mange ved at Windows programmer kan bringes til at fungere på Linux ved hjælp af Wine, en ‘oversætter’ der oversætter Windows til Linux, så er der ikke mange der ved at det samme kan gøres på Android.

Codeweavers har videreudviklet og tilpasset Wine i en sådan grad at kan bruges på Android.

Hvis du har en Intel-baseret Chromebook kan få du mulighed for at bruge et stort antal Windows apps som Microsoft Office og forskellige spil.

Office på Chromebook with CrossOver
Jeg har en Asus MemoPad 7 med CrossOver Android og den kan bruges med Windows programmer.

CrossOver Android er i øjeblikket udgivet som preview og er du interesseret i at være med til at afprøve CrossOver Android kan du kontakte CrossOver for en invitation til at deltage.

Virtuel 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:.

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.

HyperV til VirtualBox

Visual Studio: IIS Express

Visual Studio: IIS Express webserver

Documentation for IIS express:

%USERPROFILE%\Documents\IISExpress\config\application.host.config

<site name="Backend" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="D:\source\c5-backend-v09\c5backend" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:61000:localhost" />
    </bindings>
</site>

change to

<site name="Backend" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="D:\source\c5-backend-v09\c5backend" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:61000:*" />
    </bindings>
</site>

then

λ netsh http add urlacl url=http://*:61000/ user=everyone

What ?!?

Create SDDL failed, Error: 1332

A Google search gave an indirect answer.

It turns out the user-parameter need to be expressed in the OS locale.

That is with danish locale everone=alle so

λ netsh http add urlacl url=http://*:61000/ user=alle

URL reservation successfully added