Kategoriarkiv: Ukategorisert

Simple steps for installing Qgis on Ubuntu or WSL

TLDR; Quick recipie for installing newest stable version of QGIS on Ubuntu (plain or WSL ubuntu).

I find the average recipie for installing more up-to-date versions of … anything on linux, basically…. rather difficult  to follow. For me, code words like Bionic does not translate easily into how to to modify the file /etc/apt/sources.list , or what sudo apt  magic I should perform.

So this recipie is helpful only to expert linux users.  https://www.qgis.org/en/site/forusers/alldownloads.html#debian-ubuntu

Unless you want to install .deb files manually, of course. But you don’t want that – you want to add the repositories so that updates roll in whenever you do sudo apt update && sudo apt -y upgrade.

The best recipie I’ve found so far

This is the easiest breakdown I’ve ever seen of this process:


Thank you, Phil Mike Jones. I learned a lot, and you solved a problem for me.

Translated into do this – then that steps

For my own memory, and possibly benefit of other, provide the the actuall commands needed (valid as of 3d of April, 2020). Updating with fresh, relevant details should be straightforward.

Add repository

sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable

Add key to that repository

wget -O - https://qgis.org/downloads/qgis-2019.gpg.key | gpg --import
gpg --fingerprint 51F523511C7028C3
gpg --export --armor 51F523511C7028C3 | sudo apt-key add -

This key should expire around August 2020 or so, unless I’ve misread some of the techspeak from these commands.

Edit the apt/sources file

The file /etc/apt/sources.list should be edited with your favorite editor, run as sudo. Add these following lines.

# Qgis ubuntugis dependencies
deb https://qgis.org/ubuntugis bionic main
deb-src https://qgis.org/ubuntugis bionic main

Final installation

sudo apt update
sudo apt upgrade
sudo apt install qgis python-qgis

The final qgis command should now start QGIS just fine.

Bonus: This works in WSL, but you need Xming (or similar)

WSL – Windows subsystem for linux – is a real life saver. Such as when my windows QGIS installation is beyond repair I can just install and run it in WSL. I run Ubuntu in my WSL.

But you need some tweaking to get graphical programs to work. Easy. Just install Xming or some equivalent and make sure to start it (just find it – click it).

In WSL, type:

export DISPLAY=:0

before starting any graphical commands. To test this, do:

sudo apt install x11-apps

Aftenposten driter i lov om personopplysninger

Etter flere festlige runder med Kafkas’k kundeservice kan jeg slå fast at Aftenposten driter i norsk lov om personopplysninger.

Jeg tror nok grunnen er latskap; det er neppe noen som helst rasjonell grunn til å opptre slik av vond vilje.

Alvorlig talt, Aftenposten: Jeg venter bedre av dere!

Så hva i all verden kan jeg gjøre med det? Ingen verdens ting. Rent bortsett fra å «oute» dem på internett og sosiale media står man nemlig totalt maktesløs. Ref Personvernnemdas avgjørelse i Brilleland-saken. Hvis et firma ikke gidder slette deg  så får det altså ingen konsekvenser overhodet. Datatilsynet vil sikkert støtte deg med vedtak om du gnåler lenge nok — men dette vedtaket kan firmaet altså trygt ignorere og trenere så lenge de vil.

For min egen del er historien slik: Jeg ønsker et skille mellom epost på jobb og privat. Jeg har i over ett år bedt Aftenposten om å slette jobb-eposten fra sine registre. Det ble jeg lovet – i august i fjor. Jeg er fremdeles ikke slettet, og får fremdeles spam fra dem. I jobben min hender det jeg får eposter fra aftenposten.no – domenet, så jeg kan ikke bruke spamfilteret (der jeg vanligvis er nådeløs!).

Det finnes viktigere og mer alvorlige ting her i verden. Men jeg hadde ventet bedre av en seriøs aktør som aftenposten.


Missing linux shell on W7? Getting friends with Msys2

Are you missing the power of (l)inux shell at you fingertips?

Of course, running Linux would be the best thing — but some of us are stuck on corporate machines, or don’t have the time to be our own sysadmin’s.

Installling Msys2 is fairly straightforward — but you have to type some pretty cryptic commands to get there. But if you’re longing for the linux-shell I guess this feeling should be somewhat familiar.

Understanding and tweaking Msys2

Msys2 makes a directory structure under where you choose to install it. Say you install it at c:\myprograms\msys2, then your home directory will be at c:\myprograms\msys2\home\<username>\

To navigate your file structure, you do cd /c or cd /c/data/whatever. cd with no arguments takes you back to your home directory.

Quirks and fixes

My biggest quirk was getting network connections right on my laptop. When connected to the corporate network I need to get the proxy settings rigth — but not when I’m at home, or at any of the other networks.

Adding a few lines to .bashrc did the trick:

if [[ "$(ping -n 1 internal.corporate.webservice | wc -l)" -gt 1 ]]; then
    export http_proxy=proxy.my.corporate.net:8080
    export https_proxy=$http_proxy
    export ftp_proxy=$http_proxy
    export rsync_proxy=$http_proxy
    export rsync_proxy=$http_proxy
    export no_proxy="localhost,,localaddress,.localdomain.com"

I first fire away a single ping request to a service which is accessible only within my corporate firewalls. If it fails, ping’s terse error message is one line only. So if the test fails I’m not at my corporate network and (usually) won’t have to do anything.

If I get more than one line from my single ping I am at our corporate network, and need to use our corporate proxies for internet connection.

Tweaking the bash shell

You should have a look at the file .bashc in your home folder. It already has a lot of the tweaking required to make bash suit your needs. Uncomment the options you love the most —  this is my pick:

# If not running interactively, don't do anything
[[ "$-" != *i* ]] && return

# show differences in colour
alias grep='grep --color'              
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'

# classify files in colour
alias ls='ls -hF --color=tty'
alias dir='ls --color=auto --format=vertical'
# long list
alias ll='ls -l'
# all but . and ..                              
alias la='ls -A'                              
alias l='ls -CF'

# Tab completion cycles through alternatives
bind TAB:menu-complete

Search history

Adding these changes to the the .inputrc file gives you the power to search history.  Most likely, you have soome default setting for show-all-if-ambiguous and completion-ignore-case, so you should review and edit and not just paste into the tail of the .inputrc file. 

"\e[A": history-search-backward
"\e[B": history-search-forward

ls and arrow up now will now iterate over any ls – command you’ve added previously. At least in w7 – can’t get it to work at w10 (yet). 

Thanks for this tip to http://markjacobsen.net/2016/04/improved-linux-command-history/

You may also consider adding these to the .inputrc (not sure if the same can or should be achieved through settings in .bashrc)

set show-all-if-ambiguous on 
set completion-ignore-case on

If there’s more than one possible completion when you autocomplete with tab, the first setting will list all of them.

The second will tell autocomplete to ignore case when looking for competions.  This is how windows treat file names anyhow.

The daunting Pacman

If you survived the installation instructions you’ll probably have noticed that Msys2 uses the package manager Pacman to administer which programs are installed as part of msys2. For novice users, finding your way through the pacman documentation is quite … daunting and intimidating.

The hardest part about pacman is actually  finding the packages you want to use. I found browsing for available packages and repositories really, really  tedious and painfull. Luckily, the pacman search function is good. So in the MSys-shell you do:

pacman -Ss <search phrase>

and then finally

pacman -S <package name>

Note that you typically don’t need to include version info in <package name> . To install grep I simply typed

pacman -S grep

and then accepted the proposition proceed to installation. 

Pin to start menu and desktop

Creating a shortcut to <your installation folder>\msys2\msys2_shell.bat will give you you one-click startup of this wonderful shell. However, different windows-version have different opinions about how you add stuff to the start menu, your most used programs and the taskbar.

Windows 10: I’ve only been able to create this shortcuts to the desktop, and NOT the taskbar or start meny.

Windows 7: Adding to menu bar and/or start menu is straightforward. (Pro-tip: manipulate the icon of the shortcut, there is a «change icon» button there, you may have to manually input the path to <your installation folder>\msyss\msys.ico ).

What doesn’t work

Working interactively with python sort of works for super simple stuff (use python -i), but is painfull: I cant use the arrow keys to navigate the python history. I think this is why.  Instead I highly recommend installing anaconda, which has the editor spyder built-in (also available separately). Another good editor is IeP. Or you can use the regular windows command line utility.

Diff: If pacman doesn’t have your favorite utility you may have to install that separately. I had to do that with diff (see below)

Manually installing windows command line utilities

Curiously, I could not find a pacman-package for diff. Instead, I installed GnuWin32 diffutils.  Download the binaries, which contains the setup program diffutils-2.8.7.exe.  Run the installation program, then add the destination folder/Gnuwin32/bin to the windows PATH environment variable. (Here’s just one of very many tutorials on how to do this.)

What works:

ssh including key generating and sharing (ssh-copy-id). Scp works just fine, and I assume sftp and the rest of ssh-related stuff will work as well.

well… most of the stuff I’ve tried works. Except the popular have-multiple-bash-sessions-in-one-terminal program screen.

Cutting and pasting magic

Any text that is selected in the command window is also copied to the windows clipboard, automagically. You must use the mouse to select text, but there is a multiple-click to select the whole word or the whole line. This GREATLY speeds up the selection, just click many times to iterate through the selections (none, word, line). If none of those rock your boat you can always do the click-drag thing.

Pasting is done with a  singleright-click on the mouse.

I thought it would be awkward to shift from the highly automated CTRL-C, CTRL-V combination to the click-rigthclick thing inside the shell, but that worked out pretty smooth pretty quick (for me). Now I want all other windows applications to behave like this!