vinzv

Quicktipp: Benutzer wechseln mit Xfce unter Debian Stretch

Vorweg: Die Anleitung bezieht sich auf Debian Stretch (Testing), sollte aber auch mit Stable bzw. Sid funktionieren.

Neuerdings brauche ich auf meinem Notebook zwei Benutzerkonten – eins privat und eins beruflich. Um nicht alle Fenster immer wieder öffnen und alles neu laden zu müssen gibt es bei Xfce ja so ein kleines Applet für die Menüleiste bzw. einen Button im Whisker-Menü. Leider funktionieren die unter Debian Stretch nicht auf Anhieb. (Das kann gut an meiner Minimalinstallation liegen!)

Jedenfalls lässt sich der Umstand sehr leicht beheben.

Für das Whisker-Menü:

  1. LightDM installieren
    Du solltest LightDM installiert haben, wovon in der Regel auszugehen ist. Außer du findest den textbasierten Login super, aber dann brauchst du auch keinen grafischen Benutzerwechsel. Also:
    sudo apt install lightdm
  2. Rechtsklick auf das Whisker-Menü Eigenschaften Reiter „Befehle“
    Hier trägst du bei „Benutzer wechseln“ Folgendes ein:
    dm-tool switch-to-greeter
  3. Schließen, fertig.

Für das Applet „Aktionsknöpfe“:

Dieses Applet sucht nach einem Teil von Gnomes Display Manager GDM3. Den willst du nicht installieren, außer du legst Wert auf rund 380 MB sinnlos verbrauchten Festplattenplatz. Also müssen wir dem Applet einen gdmflexiserver vorgaukeln:

  1. sudo nano /usr/local/bin/gdmflexiserver
  2. Das hier reinkopieren und speichern (Strg+X):
    #!/bin/sh
    /usr/bin/dm-tool switch-to-greeter
  3. Die Datei noch ausführbar machen:
    sudo chmod +x /usr/local/bin/gdmflexiserver
  4. Applet entfernen und wieder hinzufügen – fertig!

Liferea 1.12 von Hand unter Debian Stretch installieren [Update]

Update: Mittlerweile ist v1.12-rc1 in den Repositories verfügbar.

Liferea ist ein feiner Desktopclient für RSS-Feeds, der nebenbei auch noch mit TinyTinyRSS synchronisiert. So lassen sich mobil auf dem Smartphone und zu Hause am PC gelesene Feeds sauber auf dem gleichen Stand halten.

In den Repositories von Debian Stretch (wie auch in allen anderen Debian Suiten) ist selbstredend nur eine stabile Version von Liferea verfügbar. Leider ist diese Version seitens des Upstreams schon ziemlich alt (v1.10.19) und auch nur ein Wartungsrelease, was das ganze nicht gerade besser macht. Aber der Entwickler ist glücklicherweise fleißig und hat Mitte September einen ersten RC1 veröffentlicht der eine Vielzahl an Verbesserung bringt!

Hier nun die nötigen Schritte um Liferea 1.12-rc1 von Hand zu kompilieren:

  1. Liferea ist bei dir bereits installiert? Weg damit!
    sudo apt purge liferea liferea-data
  2. Abhängigkeiten installieren
    sudo apt install libtool gettext libxml2-dev libxslt1-dev sqlite3  libsqlite3-dev libwebkitgtk-dev libjson-glib-dev libgirepository1.0-dev gsettings-desktop-schemas-dev libpeas-dev libwebkit2gtk-4.0-dev

    Optional, aber für die Nutzung von Plugins nötig:

    sudo apt install python3-cairo
  3. Quellcode herunterladen, entpacken und ins Verzeichnis wechseln
    wget https://github.com/lwindolf/liferea/releases/download/v1.12-rc1/liferea-1.12-rc1a.tar.bz2
    
    tar jxvf liferea-1.12-rc1a.tar.bz2
    
    cd liferea-1.12-rc1a
  4. Stop – eigentlich käme jetzt ./configure, aber bei Debian Stretch würdest du in folgende Fehlermeldung laufen:
    "You should recreate aclocal.m4 with macros from libtool..."
    Um das zu vermeiden, erzwingst du die erneute Erzeugung der genannten Skripte mit den korrekten Versionen.

    autoreconf --force --install
  5. Aber jetzt, der bekannte Dreisatz:
    ./configure
    make
    sudo make install

    Das war alles. Ich bin gespannt, wie sich Liferea entwickelt. Bis jetzt sieht das alles schon recht gut aus. Und vielleicht schauen sich andere Clients (ja, Akregator – du bist gemeint!) dann auch mal endlich den TTRSS-Sync ab.

GIMP-Tipp: Grünen Rand beim Anti-Aliasing loswerden

gimp-logoGIMP verwendet für die Darstellung von Schriften sein eigenes Subpixel-Rendering. Das führt dazu, dass mit den Standardeinstellungen ein hässlicher grüner Rand um die Schriften angezeigt – und auch beim Export mit weitergegeben wird.

Dies lässt sich mit einem einfachen Tipp unterbinden:

  1. Eigene fonts.conf für GIMP erstellen:
     vim .gimp-2.8/fonts.conf
  2. Diese Einstellungen kopieren und einfügen:
    <fontconfig>
      <match target="font">
        <edit name="rgba" mode="assign">
          <const>none</const>
        </edit>
      </match>
    </fontconfig>
  3. Speichern, GIMP neu starten – fertig!

KShutdown manuell kompilieren unter Debian

KShutdown ist ein kleines aber recht bequemes Tool um Rechner zeitgesteuert herunterzufahren, in den Ruhezustand zu setzen oder einzelne Medienplayer zu steuern. Die Paketversion in Debian Jessie und Stretch ist zwar aktuell zur stabilen Upstreamversion, aber es gibt neuere Betaversionen. Falls man KShutdown also unter Debian mit KF5/Plasma 5 direkt aus den Quellen kompilieren möchte sind folgende Schritte nötig:

  1. Entwicklerpakete installieren
    sudo apt install build-essential libkf5config-dev libkf5configwidgets-dev libkf5xmlgui-dev libkf5notifications-dev libkf5notifyconfig-dev libkf5idletime-dev gettext
  2. Quellcode holen
    Entweder das Zipfile herunterladen: http://kshutdown.sourceforge.net/download.html
    Oder über Subversion:

    svn checkout http://svn.code.sf.net/p/kshutdown/code/trunk/kshutdown2 kshutdown-code
  3. Im Quellcode-Verzeichnis:
    ./Setup-kf5.sh
    
    sudo make install

    Das war’s! Mehr Infos zum Kompilieren unter KDE4, generell Qt für Gnome und Xfce oder auch Windows gibt es auf der Seite von KShutdown.

Quicktipp: Systemressourcen sparen

Moderne Browser sind echte Monster wenn es um Systemressourcen geht. Egal ob Firefox, Chromium oder Epiphany Gnome Web – mit etwas Komfortbedarf steigt auch exponentiell die Speicher- und CPU-Last.

Anstatt jetzt das Programm zu beenden und beim nächsten Start ewig zu warten, bis alle zig Tabs wieder geladen sind, greifst du ganz einfach auf folgenden Befehl zurück:

pkill -STOP firefox

Und wenn es weitergehen soll:

pkill -CONT firefox

Fertig!

(Bildquelle CC0)

Quassel IRC und Let’s Encrypt unter Debian

Wer weechat/screen bzw. irssi kennt, dem ist das Prinzip geläufig: ein kleiner Server ist dauerhaft mit dem IRC verbunden, der Nutzer verbindet sich darauf und hat somit die Möglichkeit eines Backlogs um Chats auch später nachlesen zu können. Aus Gründen der Faulheit und weil ich lieber grafische Clients als terminalbasierte habe, verwende ich zu diesem Zweck den Client „Quassel„. Besser gesagt: die Kombination aus Quassel Core und Quassel Client, letzteren sowohl am PC als auch auf mobilen Android-Geräten. Auch unter Windows 7 funktioniert das übrigens einwandfrei!

Die Ausgangssituation

Quassel Core erstellt bei der Installation direkt ein selbst-signiertes Zertifikat für die Transportverschlüsselung über SSL. Das ist okay, mit der – optional einmaligen – Meldung dazu im Client kann ich gut leben. Nun hat der kleine VPS aber für den darauf laufenden Webserver seit kurzem ein gültiges Zertifikat von Let’s Encrypt. Warum also nicht das auch für Quassel nutzen?

So geht’s!

Ich gehe davon aus, dass du Debian auf deinem System nutzt. Bei anderen Distributionen sollte das aber ähnlich bis identisch funktionieren.

  1. Als erstes überprüfst du, ob dein Quassel Core normal gestartet wurde oder als Systemdienst läuft. Wenn dein init System dir folgende Ausgabe liefert,
    # service quasselcore status
     quasselcore.service - LSB: distributed IRC client using a central core component
     Loaded: loaded (/etc/init.d/quasselcore)
     Active: active (running)...
  2. Je nachdem, wie du Quassel serverseitig betreibst, liegt das bestehende Zertifikat unter:
    • ~/.config/quassel-irc.org/ (Nutzer)
    • /var/lib/quassel/ (Systemdienst)
  3. Das existierende Zertifikat sichern wir lieber mal, man weiß ja nie:
    # cp /var/lib/quassel/quasselCert.pem /var/lib/quassel/quasselCert.bkup
  4. Jetzt brauchst du ein PEM Bundle aus dem private key und den fullchain. Dazu fügst du beide Dateien zusammen. In meinem Fall lagen die Dateien im Unterordner für die entsprechende Domain.
    # cd /etc/letsencrypt/live/name.der.seite/
    # cat privkey.pem fullchain.pem >> /var/lib/quasselCert.pem
  5. Abschließend startest du den Quassel Dienst neu – ein einfacher reload genügt nicht!
    # service quassel restart

Das war’s schon. Ab sofort läuft alles wie bisher – nur eben mit gültigem SSL-Zertifikat.
Ach ja: wer lieber Weechat mag, der legt das PEM Bundle einfach unter ~/.weechat/ssl ab und lädt mit /relay sslcertkey das neu Zertifikat.

Mozilla Sync, die OwnCloud und ein großes Fragezeichen

Dank Mozilla Sync lassen sich Browserdaten (Lesezeichen, Verlauf, Formulardaten, Passwörter etc.) über die eigene OwnCloud synchronisieren. Doch bei aller Liebe zu Mozilla, meine Passwörter vertraue ich denen dann doch nicht an und somit kommt an dieser Stelle meine OwnCloud in’s Spiel. Ich bin dann doch lieber selbst Schuld, wenn mir alles um die Ohren fliegt.

Die Installation der OwnCloud App ist denkbar einfach und auch die Einrichtung im Desktop-Firefox geht mit dieser Anleitung ganz fix:

Teil 1: Desktop

  1. Zip-Datei von apps.owncloud.com herunterladen, entpacken und in das Unterzeichnis /apps/ deiner OwnCloud schieben.
  2. Als Admin die App aktivieren und als User eine Email-Adresse hinterlegen, falls nicht eh schon geschehen.
  3. In der Adresszeile des Firefox öffnest du mit about:config die erweiterten Einstellungen und legst dort folgende zwei Strings an: services.sync.tokenServerURI mit https://deine-owncloud.url/remote.php/mozilla_sync/ sowie services.sync.username mit einem beliebigen Wert.
  4. Nach einem Neustart von Firefox legst du unter Einstellungen > Sync > Konto anlegen ein „neues“ Konto an, wählst „Eigenen Server“ und trägst dann deine OwnCloud-URL, deine Email-Adresse sowie das Passwort deines OC-Kontos ein.

Das war’s auf dem Desktop!
Aber wir wollen ja noch mit unseren mobilen Geräten synchronisieren:

Teil 2: Android

Bis Version 43 brauchte Firefox auf Android-Geräten wohl ein Add-On um mit benutzerdefinierten Sync-Servern zu sprechen. Seit v44 ist dies angeblich nicht mehr nötig. Und so geht’s – zumindest fast!

1. Wichtig ist, dass kein Sync-Konto verbunden ist. Falls doch, bitte zuerst über Einstellungen > Sync > Abmelden entfernen.

2. Die Konfiguration öffnest du – wie vom Desktop bekannt – mit about:config in der Adresszeile. Dort suchst du nach dem Wert „identity.sync.tokenserver.uri“, änderst den hinterlegten URI von http://sync.example.com/token/1.0/sync/1.5 auf https://deine-owncloud.url/remote.php/mozilla_sync/ und schließt das Tab danach.

3. Jetzt kannst du dich mit der Email-Adresse und dem Passwort deines OwnCloud-Kontos ganz normal am Sync-Service einloggen. Das Ganze sieht aus wie bisher, mit dem Unterschied dass deine OwnCloud jetzt als Syncserver fungiert.

Doch hier kommt das Problem: Alles sieht ok aus, keine Fehlermeldungen, nichts. Aber wenn man den Sync manuell anstößt, passiert nichts.
Hier wäre ich für Hinweise dankbar, sieht es doch momentan nicht danach aus als gäbe es eine Lösung für das Problem.

(Quelle 1, 2)

Einige Fragen zu GNU Social

Für einen Blogpost von Alex habe ich von ihm einige Fragen zu GNU Social bekommen, die ich natürlich gerne beantwortet habe. Er möchte dazu eine Übersicht über verschiedene Nodes ausarbeiten. Meine Antworten stelle ich hier schon mal vorab zum Lesen bereit. Das ganze ist plain text aus der Antwortmail kopiert, daher ohne irgendwelche schönen Formatierungen. Falls ihr auch Fragen habt, beantworte ich die gerne auch unten in den Kommentaren.

(Alles auf Englisch, da der Blogpost wohl auch englischsprachige Admins einschließen wird.)

> Gnusocial configuration
> =======================
>
> – How many characters per queet are possible on your instance?
1024 chars.

> – Which plugins are installed on your instance?
Activity, Autocomplete, ClientSideShorten, ChooseTheme, EmailReminder, ExtendedProfile, FeedPoller, GroupPrivateMessage, LRDD, ModPlus, OStatus, OpenExternalLinkTarget, Qvitter, StaleAccounts, Statistics, StoreRemoteMedia, TabFocus, TwitterBridge (posting only, no import due to ressource overusage), WebFinger

> – Do you keep up with the most recent version or are you testing new
> versions for a while before using them?
I’m quite close to current nightly status. All code comes from Git so if anything goes wrong I’m moving back some commits.
Lesen Sie weiter

Howto: APT mit bash-completion

Im Zuge der Veröffentlichung von APT 1.1 hatte ich mir vorgenommen, nicht mehr das doch recht umständliche apt-get (mit Kosorten wie apt-cache) zu nutzen sondern stattdessen komplett auf die neue, deutlich einfacher Syntax umzustellen. Der Versuch lief bis dato auch recht gut, wobei ich aber von Anfang an die automatische Vervollständigung von Befehlen und Optionen vermisst habe. Oder kurz gesagt: bash-completion ging nicht.

Die Suche im Netz nach „apt“ und „bash-completion“ in verschiedenen Kombinationen war zwar ergiebig, aber nicht gerade hilfreich. Einzig auf askubuntu.com bin ich über ein kurzes Script gestolpert, das sowie dessen Einrichtung ich euch nicht vorenthalten möchte:

  1. Datei mit root Rechten anlegen/öffnen:
    # vim /usr/share/bash-completion/completions/apt
  2. Folgenden bash code kopieren und dort einfügen:
    # Debian apt(8) completion                             -*- shell-script -*-
    
    _apt()
    {
        local cur prev words cword
        _init_completion || return
    
        local special i
        for (( i=0; i < ${#words[@]}-1; i++ )); do if [[ ${words[i]} == @(list|search|show|update|install|remove|upgrade|full-upgrade|edit-sources|dist-upgrade|purge) ]]; then special=${words[i]} fi done if [[ -n $special ]]; then case $special in remove|purge) if [[ -f /etc/debian_version ]]; then # Debian system COMPREPLY=( $( \ _xfunc dpkg _comp_dpkg_installed_packages $cur ) ) else # assume RPM based _xfunc rpm _rpm_installed_packages fi return 0 ;; *) COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" \ 2> /dev/null ) )
                    return 0
                    ;;
            esac
        fi
    
        case $prev in
            -c|--config-file)
                 _filedir
                 return 0
                 ;;
            -t|--target-release|--default-release)
                 COMPREPLY=( $( apt-cache policy | \
                     command grep "release.o=Debian,a=$cur" | \
                     sed -e "s/.*a=\(\w*\).*/\1/" | uniq 2> /dev/null) )
                 return 0
                 ;;
        esac
    
        if [[ "$cur" == -* ]]; then
            COMPREPLY=( $( compgen -W '-d -f -h -v -m -q -s -y -u -t -b -c -o
                --download-only --fix-broken --help --version --ignore-missing
                --fix-missing --no-download --quiet --simulate --just-print
                --dry-run --recon --no-act --yes --assume-yes --show-upgraded
                --only-source --compile --build --ignore-hold --target-release
                --no-upgrade --force-yes --print-uris --purge --reinstall
                --list-cleanup --default-release --trivial-only --no-remove
                --diff-only --no-install-recommends --tar-only --config-file
                --option --auto-remove' -- "$cur" ) )
        else
            COMPREPLY=( $( compgen -W 'list search show update install 
                remove upgrade full-upgrade edit-sources dist-upgrade 
                purge' -- "$cur" ) )
        fi
    
        return 0
    } &&
    complete -F _apt apt
    
    # ex: ts=4 sw=4 et filetype=sh
  3. Speichern und abschließend als normaler Nutzer die .bashrc neu einlesen:
    $ source .bashrc

Fertig! Jetzt habt ihr die Vervollständigung für folgende APT Optionen: list search show update install remove upgrade full-upgrade edit-sources dist-upgrade purge

(Quelle, Code lizenziert unter GPL)

Spotify unter Linux: Zwei Kurztipps

Mit Debian & Derivaten Spotify zu nutzen ist ja kein Hexenwerk, hierfür gibt es zum Glück eine recht einfache Anleitung. Zwei Dinge funktionierten bei mir aber nicht bzw. haben mich gestört.

1. Fehlende libgcrypt.so.11

Sollte nach der Installation beim ersten Start nichts passieren und beim Aufruf über das Terminal eine fehlende „libgcrypt.so.11“ bemängelt werden, reicht es das Paket libgcrypt11 aus den Wheezy-Repositories zu installieren. Dies gilt natürlich nur für Jessie oder – wie in meinem Fall – für Stretch. Die Datei gibt es hier zum Download für die jeweilige Architektur, im Normalfall amd64.

sudo dpkg -i libgcrypt11_1.5.0-5+deb7u1_amd64.deb

2. Nervige Benachrichtigungen

screenshot-spotify-notification
Beim jedem Songwechsel meint Spotify mir das mitteilen zu müssen. Ich bin nicht doof, ich merke wenn ein Lied zu Ende ist und das nächste beginnt. Leider gibt es in den Einstellungen keine Möglichkeit diese Funktion zu deaktivieren. Also hilft nur die Brechstange über das config file:

vim ~/.config/spotify/Users/[Spotify Nutzername]-user/prefs

Dort folgende Zeile einfügen und danach Spotify neu starten:

ui.track_notifications_enabled=false

Das war’s, schon ist Ruhe!

 

« Ältere Beiträge

Copyright © 2016 vinzv

Theme von Anders Norén↑ ↑