Installing latest version of Scala on Debian

So this is basically a combination of this and this:

sudo apt-get purge scala
sudo apt-get autoremove

cd ~/desktop/scala
wget http://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz
tar xzf scala-2.11.8.tgz
sudo mv scala-2.11.8 /usr/share/scala

sudo ln -s /usr/share/scala/bin/scala /usr/bin/scala
sudo ln -s /usr/share/scala/bin/scalac /usr/bin/scalac
sudo ln -s /usr/share/scala/bin/fsc /usr/bin/fsc
sudo ln -s /usr/share/scala/bin/sbaz /usr/bin/sbaz
sudo ln -s /usr/share/scala/bin/sbaz-setup /usr/bin/sbaz-setup
sudo ln -s /usr/share/scala/bin/scaladoc /usr/bin/scaladoc
sudo ln -s /usr/share/scala/bin/scalap /usr/bin/scalap

Everything is easy when you know how!

Adding ‘Attach to Icedove’ desktop/dolphin menu item on Debian Jessie

On Debian Jessie (testing) the default ‘Send as Email Attachment’ context menu item uses KMail, and only KMail, even if you’ve configured your desktop to use Icedove (Thunderbird) as your default mail client.

So you can remove the broken ‘Send as Email Attachment’ from Dolphin by opening Dolphin then:

Settings -> Configure Dolphin… -> Services -> uncheck ‘Send as Email Attachment’

Then to create a replacement feature that uses Icedove edit:

~/.kde/share/kd4/share/icedove_attachment.desktop

And enter:

[Desktop Entry]
Type=Service
Actions=attachToEmail
Encoding=UTF-8
ServiceTypes=KonqPopupMenu/Plugin,all/allfiles
ExcludeServiceTypes=application/x-iso,kdedevice/*,inode/directory

[Desktop Action attachToEmail]
Exec=icedove -compose "attachment='$(echo %F | sed 's/\\ \\//,\\/\\//g')'"

Name=Attach to Icedove
Name[it]=Invia E-mail con Icedove
Name[es]=Enviar adjunto con Icedove
Name[de]=Als Anhang mit Icedove verschicken
Name[pt]=Anexar ao Icedove E-mail
Name[pt_BR]=Enviar arquivo(s) como anexo(s)
Name[fr]=Envoyer avec Icedove
Name[nl]=Voeg toe als bijlage aan Icedove
Name[pl]=Wyślij jako załącznik Icedove
Name[ru]=Отправить с помощью Icedove
Name[cz]=Odeslat jako přílohu Icedove

Icon=/usr/lib/icedove/chrome/icons/default/default16.png

And make sure your .desktop file is executable:

 $ chmod +x ~/.kde/share/kd4/share/icedove_attachment.desktop

Entering SSH passphrase once in a KDE Pulse session

If you want KDE to remember your SSH key’s passphrase for your whole desktop session you can create a ~/.config/autostart/ssh-add.desktop file like this:

[Desktop Entry]
Type=Application
Name=ssh-add
Comment=Adds my private key to my session.
Exec=/usr/bin/konsole -e 'ssh-add /home/$USER/.ssh/id_rsa'

KDE Plasma Desktop hacks

I managed to get my desktop settings so that files on the desktop were sorted automatically. But I didn’t want that. I edited the ~/.kde/share/config/plasma-desktop-appletsrc file and set the sortingStrategy=0 and that disabled automatic alphabetical desktop sorting.

I wanted to run an application on my desktop when I dropped some files on it. To do that I created a process.desktop file like this:

#!/usr/bin/env xdg-open
[Desktop Entry]
Icon=unknown
Name[en_US]=process
Name=process
Type=Application
Exec=/home/jj5/bin/tmp/process-test %F

Note the “%F” to receive the file list. More information here and here.

Mounting Windows SMB share from Debian Wheezy

Configuring an SMB mount from my Linux box to my Windows box. This was helpful.

Basically:

# apt-get install cifs-utils

Then create your credentials file:

# cat > /root/amanda.smbpass  <<EOF
username=jj5
password=SECRET
EOF

Then edit /etc/fstab and add:

//amanda.jj5.net/Users  /media/amanda cifs defaults,noauto,credentials=/root/amanda.smbpass 0 2

Then create /etc/network/if-up.d/mount-amanda like this:

#!/bin/bash
mount /media/amanda

And make sure it’s executable:

# chmod +x /etc/network/if-up.d/mount-amanda

Mounting can also be done from the command-line:

# mount -t cifs -o username=jj5,password=SECRET //amanda.jj5.net/Users /media/amanda