Setting up my new Dell XPS Ubuntu 18.04 LTS laptop

  1. connect via Wifi
  2. launch Chrome, sign in to Google
  3. love that Ubuntu automatically enters your first key into the password box of the lock screen (rather than the Mac which uses your first keystroke to wake the screen so you have to wait before you can enter your password)
  4. launch Terminal (Ctrl Alt T) and install Terminator (sudo apt-get -y update; sudo apt-get install -y terminator); launch Terminator (terminator ); Add to Favourites; close Terminal
  5. Register for Ubuntu LiveUpdate (this automatically came up when I logged in)
  6. peel Intel sticker off
  7. Ubuntu Software > dconf editor
    1. update wm/preferences/button-layout and change
    2. :minimize,maximize,close to close,maximize,minimize:
  8. install
    1. curl: sudo apt install curl
    2. git: sudo apt-get install -y git
    3. zsh, oh-my-zsh: sudo apt-get install -y zsh: http://www.snowcrash.eu/oh-my-zsh/
    4. install powerline fonts: sudo apt-get install fonts-powerline (so much easier than on the Mac) – https://github.com/powerline/fonts
    5. sudo apt-get install -y autojump;
    6. update zshrc plugins – i.e. to plugins=(autojump docker extract git git-extras vagrant web-search )

Ubuntu 16.04 LTS – debugging Wifi connections

Unbelievable.

Ubuntu 16.04 LTS could not connect to my Wifi network on either of 2 separate Dell laptops (the newer laptops have terrible keyboard layouts by the way. The one I’m using has shoe-horned a number pad to the right of the main keyboard. So there are 2 enter buttons. The Enter button on the right of the normal keyboard is tiny! There are also 2 sets of mouse buttons – one for the IBM style middle of the keyboard nipple and one for the trackpad. Crazy frankenstein monster.)

 

My Mac was fine connecting to the network.

Another wasted evening weekend due to Linux’s crappy Wifi networking.

 

ifconfig does not show gateway info.

Instead you need to do:

ip route | grep default

 

Here’s an example of the sort of advice people are getting to try and fix it:

What a shit-show!

 

Dell’s advice?

https://www.dell.com/support/article/uk/en/ukbsdt1/sln151759/how-to-troubleshoot-wireless-network-issues-in-ubuntu-linux-on-your-dell-pc?lang=en

Use nm-tool – a tool now deprecated and no longer supplied with Ubuntu.

 

These:

nmcli c (more on this later)

lshw -c network

are the replacements.

Also useful:

iwconfig

 

nmcli

is awesome. E.g.

nmcli device wifi list

will show you the Bars, Signal strength and Security.

And put an asterisk next to the connection you’re connected to.

 

nmcli networking connectivity

is not much use. It shows: full even if you can’t connect to the internet.

 

nmcli monitor

shows connection progress.

However it reports connected even if you can’t connect to the internet.

 

 

 

 

Install virtualbox on Ubuntu with UEFI Secure boot

https://askubuntu.com/a/768310

 

 

e.g.

 

Setting up virtualbox (5.1.38-dfsg-0ubuntu1.16.04.2) …
vboxweb.service is a disabled or a static unit, not starting it.
Job for virtualbox.service failed because the control process exited with error code. See “systemctl status virtualbox.service” and “journalctl -xe” for details.
invoke-rc.d: initscript virtualbox, action “restart” failed.
● virtualbox.service – LSB: VirtualBox Linux kernel module
Loaded: loaded (/etc/init.d/virtualbox; bad; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2019-01-29 15:51:32 GMT; 2ms ago
Docs: man:systemd-sysv-generator(8)
Process: 10816 ExecStart=/etc/init.d/virtualbox start (code=exited, status=1/FAILURE)

Jan 29 15:51:32 w-dell systemd[1]: Starting LSB: VirtualBox Linux kernel module…
Jan 29 15:51:32 w-dell virtualbox[10816]: * Loading VirtualBox kernel modules…
Jan 29 15:51:32 w-dell virtualbox[10816]: * modprobe vboxdrv failed. Please use ‘dmesg’ to find out why
Jan 29 15:51:32 w-dell virtualbox[10816]: …fail!
Jan 29 15:51:32 w-dell systemd[1]: virtualbox.service: Control process exited, code=exited status=1
Jan 29 15:51:32 w-dell systemd[1]: Failed to start LSB: VirtualBox Linux kernel module.
Jan 29 15:51:32 w-dell systemd[1]: virtualbox.service: Unit entered failed state.
Jan 29 15:51:32 w-dell systemd[1]: virtualbox.service: Failed with result ‘exit-code’.
Setting up virtualbox-qt (5.1.38-dfsg-0ubuntu1.16.04.2) …
Processing triggers for libc-bin (2.23-0ubuntu10) …
Processing triggers for shim-signed (1.33.1~16.04.3+15+1533136590.3beb971-0ubuntu1) …
Processing triggers for systemd (229-4ubuntu21.15) …
Processing triggers for ureadahead (0.100.0-19) …
W: Operation was interrupted before it could finish

Natural Scrolling for Ubuntu 16.04 LTS

The touchpad can be automatically set up via Settings > Touchpad > Natural Scrolling.

However, plugging in a USB mouse is more difficult.

Enable system-wide inverse/reverse/natural scrolling on Ubuntu


In case it disappears:

1. Get your mouse device id by running the following in a terminal, you have to choose the right one:

Take that number you got (just the number after “id=”) and replace “{device id}” with that number in the following command:

In my case:

This will output something like below, remember that “Scrolling Distance” is case-sensitive. If nothing is outputted, you’ve chosen a wrong device id, go back to step 1 and choose another one:

So 270 is your property number, 1, 1, 1 is your scrolling distance, remember this to use later.

It is case sensitive unless you use -i in the grep command. Write down the numbers you find in the output from that command (in my case it was the number 1, shown three times and separated by commas). You will use the negative values of the numbers you get in your output. Also, make sure to write down the property number (it will be in parentheses in the output; in my case, it was (270) in Ubuntu and (273) in Fedora).

Note: If you get no output containing the property “Scrolling Distance” this method will not work for you and you will need to stop here and skip to an alternate way.

2. Create a natural scrolling config file by running the following command in your open terminal:

3. Now, config the natural scrolling profile by running the following command (you can use your favorite text editor instead of nano but I use nano):

In the file you have opened in your preferred text editor, paste the following (but be sure to change the numbers to the same comma-separated numbers you got from step 3; in my case, the number was 1 so in order to make the scroll inverse, I will change 1 to -1):

Save the file (Ctrl+O) and exit (Ctrl+X) the text editor. No need for a reboot. Just issue the following command (substituting the property number and the negatives of the numbers you got in the third step, and the device id you got from the second step):

In my case:

Versions

Let’s say you want to find out the version of some software. It’s a fucking mess. The options tend to be:

<software name> -v

<software name> --version

<software name> -V

<software name> version

<software name> -version

 

Unfortunately they all vary. E.g.

Python understands --version and -V.

Whereas Ansible only takes --version.

ssh only understands -V whereas PHP understands -v and --version.

Finally, Java stands by itself with the odd -version.

And I still haven’t figured out how you get ls to tell you its version on the Mac: https://unix.stackexchange.com/questions/415415/option-to-output-version

 

Here’s what uses what: 

-v

  • PHP

--version

  • Ansible
  • awk
  • PHP
  • Python 2.7 and 3.x
  • Terraform
  • zsh

-V

  • Python 2.7 and 3.x
  • ssh

version

  • kubectl
  • Terraform

-version

  • Java