Qutebrowser userscript for TT-RSS

After the recent mishap of Firefox I switched to qutebrowser on Linux and Windows. As an i3wm user, I feel right at home – but I do miss the synchronisation between machines and my mobile. But I guess I have to live with that inconvenience for the moment.

One thing I can not live without is a quick bookmark to share articles via my ttrss installation. If you are interested, you can find my shared articles as a RSS feed here. I update the feed almost every day when I find something interesting.

Anyway, because qutebrowser does not have a quick bookmark toolbar, there is no way to quickly share an interesting URL. But fortunately, one can extend qutebrowser via userscripts – which are simple shell scripts receiving a couple variable like URL, title and selected text.

#!/bin/bash

echo "open -t https://MYHOST/PATH/TO/TTRSS/public.php?op=sharepopup&content=${QUTE_SELECTED_TEXT}&title=${QUTE_TITLE}&url=${QUTE_URL}" >> "$QUTE_FIFO"

The userscript can be executed with the following command:

spawn --userscript ttrss

It will execute the shell script and open a new tab in qutebrowser showing the ttrss share page. To make it even more convenient, I decided to bind the userscript to the key combination tt with the following command:

bind tt spawn --userscript ttrss

Now I can simply press tt when I read a nice article and share it to my ttrss feed.

Flashplugin für Opera unter Arch Linux

Auf meinem Desktop läuft seit einigen Monaten Arch Linux und seit kurzem als Standardbrowser Opera. Leider muss ich mich seitdem auch wieder mit dem unsäglichen Flash Plugin herumschlagen – in Chrome kommt das ja automatisch mit und wird mit Chrome aktualisiert.

Für Opera muss ich noch zwei Pakete nachinstallieren:

pacaur -S freshplayerplugin-git chromium-pepper-flash

Pacaur ist ein Hilfprogramm, mit dem sich direkt Pakete aus dem Arch User Repository herunterladen und installieren lassen. Damit sollte man immer vorsichtig sein, da im Prinzip anderer Leute Skripte direkt und u.U. mit Root-Rechten auf dem eigenen Rechner ausgeführt werden. Allerdings kann man mit Pacaur sehr einfach in die Skripte gucken und prüfen, was dort gemacht wird.

Egal, zurück zum Flash-Plugin. Nachdem der Befehl von oben erfolgreich ausgeführt ist, muss Opera noch einmal neugestartet werden. Anschliessend sollte das Plugin unter about:plugins im Browser gelistet werden. Aktuell ist bei mir die Version 23.0.0.185 installiert.

Vielen Dank an linuxundich für die Starthilfe!

Kategorien
Technology

Dockerfile to build qdirstat

Today I wanted to check how much diskspace I wasted in my home directory. On windows I’d use WinDirStat and on linux there is the alternative qdirstat. Unfortunately there is no pre-build binary for my distribution, so I decided to build from source. But I don’t want litter my system with Qt dependencies, so I decided to build it in a docker container. Here’s my Dockerfile:

First you have to create an image from this Dockerfile:

# copy the Dockerfile into a new directory and run the following command in a terminal in that directory
docker build -t moritanosuke/qdirstat .

Now you can start a container from this image to clone and build qdirstat:

# run the container
docker run --rm -it -v $(pwd):/usr/target moritanosuke/qdirstat

Now you should have the executable in the current directory. The owner will be root, but you should be able to run it on your local machine now – assuming that you have all dependencies to run Qt applications already installed. The container was removed right after it completed the build, so the only thing left to do is removing the image:

docker rmi moritanosuke/qdirstat

This is now my preferred way to build random open source projects without messing up my local machine. In earlier times I used full blown VMs with snapshots, but this is even faster.

Kategorien
Allgemein

Minimal Docker image for DokuWiki

Yesterday I upgraded my Docker setup from v1.5 to v.10. I had to do a full apt-get dist-upgrade as well to bring my system up to Debian Jessie. On the way I discovered that my backup script wasn’t backing up anything from my personal wiki running with DokuWiki. Another case of Schroedingers Backup: The backup is only there, if it can be successfully restored. ☹ Anyway, I had only a few snippets from my daily development work and some links to software I tend to use on the wiki, so not that much of a loss. And because I had to set up my wiki again, I decided to build a minimal container instead of re-using the offical php images.

I am already using Alpine Linux for a couple of images at work and I am switching everything using busybox to it too. So it was a natural decision to build the minimal wiki container with Alpine as well. Modifying the Dockerfile was easy, and I also added some ONBUILD instructions to let users add their own users, access control list and DokuWiki configuration. I probably will provide an image to just run a wiki instance and one with the ONBUILD instructions to extend from.

Here’s the README:

Create the files local.php, acl.auth.php and users.auth.php according to DokuWiki documentation. They will be added when you build your own image. Create a Dockerfile in the same directory as your configuration files:

FROM moritanosuke/dokuwiki-docker

Build the Dockerfile:

docker build -t yourname/dokuwiki .

Start your wiki:

docker run -d --name some-dokuwiki -p 8080:80 yourname/dokuwiki

Now you can access your dokuwiki at http://localhost:8080

You can find the image dokuwiki-docker on Docker Hub and on github. Here’s the current image size:

Kategorien
Technology

Changing volume for the current audio device using pactl

I’m still in the process of setting i3wm up for use on my desktop and laptop computers. Today I noticed that my configuration still used a hardcoded value when changing the volume for my audio device. But I’m using a Xonar soundcard on my desktop, a logitech headset for my gaming needs and regular speakers on both the desktop and the laptop. I had to figure out how to get the current audio device and change the volume for that, instead of “just the first” audio device.

Luckily, the command line has all thing ready for this task and i3 makes it easy to configure it. The command pactl list short sinks produces output like this:

0 alsa_output.pci-0000_01_00.1.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
1 alsa_output.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
2 alsa_output.usb-ASUS_Xonar_U7-00-U7.analog-stereo module-alsa-card.c s16le 2ch 48000HzRUNNING

Now it’s easy to get the device currently in use with simple grep and awk commands:

pactl list short sinks|grep RUNNING|awk '{print $1}'

This commands return the first row of the above output, i.e. 2 when I’m using my Xonar soundcard. Now I can modify my keybinding for the media keys on my keyboards or the scrollwheel on the Xonar device. Here’s the section from my configuration file (see all in my github repo):

# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume $(pactl list short sinks|grep RUNNING|awk '{print $1}') +5% #increase sound volume
bindsym XF86AudioLowerVolume exec pactl set-sink-volume $(pactl list short sinks|grep RUNNING|awk '{print $1}') -- -5% #decrease sound volume
bindsym XF86AudioMute exec pactl set-sink-mute $(pactl list short sinks|grep RUNNING|awk '{print $1}') toggle # mute sound
Kategorien
Gaming

Installing Steam 32bit under ArchLinux 64bit

Yesterday I tried to install Steam on my ArchLinux 64bit installation. I failed without knowing exactly why. I followed the wiki docs closely, but I couldn’t manage to start Steam. It just wouldn’t show the main window.

I removed all installed 32bit libraries with this little command:

pacman -R $(paclist multilib | cut -f1 -d' ')

I had to run it several time and ended up removing most of the libraries manually, because of dependency cycles… I also removed the multilib repository from my configuration. Then I made sure that all 64bit stuff is still installed:

pacman -S gcc-libs base-devel

Today I tried again, by enabling the multilib repository and adding a custom repository that has a meta package for all 32bit libraries needed by Steam:

nano /etc/pacman.conf

Add the following lines at the end of file:

[alucryd-multilib]
Server = http://pkgbuild.com/~alucryd/$repo/x86_64
SigLevel = Never

After that update pacman:

pacman -Syyu

Now you can install all 32bit libraries:

pacman -S steam-libs

This time I didn’t use the nvidia 32bit libraries, but stayed with mesa. After all is installed, I re-installed Steam and was able to run it fine. The main window opened and I can see my library. 🙂 :thumbsup:

Kategorien
Technology

Wechsel zu ArchLinux

Was macht man, wenn man Urlaub und viel freie Zeit hat? Genau, man wechselt auf dem Dell XPS 15 Laptop von Ubuntu zu ArchLinux. 🙂 Eigentlich war ich zufrieden mit Ubutu, aber der Geek in mir wollte schon immer ein etwas nerdiges Linux ausprobieren. Ausserdem passt mein aktueller Window Manager i3wm nicht so ganz zu Ubuntu und mit einiger Gnome-Software war ich auch unzufrieden. Ich hatte kurz mit dem Gedanken gespielt, zu Gentoo zu wechseln, aber ganz so viel Frickelei wollte ich mir nicht antun. Und ArchLinux scheint in den letzten Monaten viel Zuwachs bekommen zu haben. Die Dokumentation sah auch sehr schön aus, ausführlich und trotzdem verständlich.

Also habe ich – nach einem Backup meiner Daten – kurzentschlossen einen bootbaren USB-Stick mit ArchLinux fertig gemacht und die Installation nach Installation Guide durchgeführt. Dabei gab es keine Überraschungen, sogar mit dem EFI kam ArchLinux gut zurecht. Nach nicht mal einer Stunde hatte ich das Grundsystem und die wichtigste Software installiert und konnte eine Runde Minecraft spielen. :thumbsup:

Bei den folgenden Dingen hatte ich ein wenig Bedenken, aber letztendlich hat alles gut funktioniert:

  • WLAN
  • Sound
  • die eingebaute Nvidia-Karte (klappt hervorragend mit Bumblebee)
  • HiDPI Display

Die Paketverwaltung mit pacman funktioniert hervorragend, auch Community-gepflegte Software per AUR zu installieren klappt reibungslos. Ich bin zufrieden und werde ArchLinux erstmal weiter nutzen.

Kategorien
Technology

Firefox unter Linux mit HiDPI Display nutzen

Wenn ihr euch auch über die kaputte UI von Firefox unter Linux bei der Nutzung eines Display mit hohen DPI-Werten ärgert, hilft euch evtl. die folgenden Einstellung.

  1. Gebt in der Adressezeile des Firefox about:config ein.
  2. Sucht nach layout.css.devPixelsPerPx.
  3. Setzt den Wert auf mind. 1.5.

Anschliessend werden auch die Tabs und die Menüs anständig dargestellt. 😀

Kategorien
Gaming

Minecraft Audiodevice unter Ubuntu ändern

Ich benutze ein Logitech G430 USB Headset und wenn ich unter Linux das Geräte einstecke, kann ich bis vor kurzem das Audiodevice für Minecraft nicht mehr ändern. Das ist sehr nervig und muss nicht sein.

Wenn ihr die Datei ~/.alsoftrc mit folgendem Inhalt anlegt, könnt ihr auch bei Minecraft das Audiodevice nach dem Start noch ändern:

drivers=pulse
[pulse]
allow-moves=true

Wenn ihr jetzt pavucontrol aufruft, könnt ihr Minecraft auf das neue Audiodevice verschieben.

Hier gibt es auch eine entsprechende Antwort bei AskUbuntu.

Ade, Windows.

Ich verabschiede mich endgültig von Windows.

Nachdem meine Installation von Windows 7 Home Premium auf der zweiten SSD in meinem Rechner schon seit Wochen meckerte, dass eine Installation des Service Pack 1 nicht möglich sei (echt jetzt, man kann kein SP installieren, wenn Windows nicht auf der 1. Platte/1. Partition/wasweißich installiert ist?), habe ich gestern eine Neu-Installation gestartet.

Die Installation brach sowohl von meinem Original-Installationsmedium als auch von einem frisch runtergeladenen ISO-Image mit dem Fehler 0x80070017 ab. Mehrmals.

Wie auch immer, eigentlich hatte ich Windows schon seit Jahren nur noch zum Spielen. Mittlerweile gibt es aber auch diverse Spiele bei Steam für Linux und ich werde mich einfach darauf beschränken.

Ab sofort ist und bleibt mein Rechner also absolut Windows-frei.