#!/bin/sh
#
# simple-moode-watchdog.sh
# checks if other media renderer stuck in paused state, if so, unblock that
# checks if radio stream still playing, would otherwise restart playback
if [ -n "$(cat /proc/asound/card0/pcm0p/sub0/hw_params | grep closed)" ]
then
if [ -n "$(cat /var/local/www/currentsong.txt | grep Spotify)" ]
then
/usr/local/bin/moodeutl -R --spotify
elif [ -n "$(cat /var/local/www/currentsong.txt | grep Airplay)" ]
then
/usr/local/bin/moodeutl -R --airplay
elif [ -n "$(cat /var/local/www/currentsong.txt | grep Bluetooth)" ]
then
/usr/local/bin/moodeutl -R --bluetooth
fi
fi
if [ -n "$(cat /var/local/www/currentsong.txt | grep state\=play)" ] && [ -n "$(mpc | grep play)" ]
then
timestamp1=$(mpc status | awk 'NR==2 { split($3, a, "/"); print a[1]}')
sleep 10
timestamp2=$(mpc status | awk 'NR==2 { split($3, a, "/"); print a[1]}')
if [ "$timestamp1" = "$timestamp2" ]; then
mpc -q stop
mpc -q play
fi
fi
if [ -n "$(cat /var/local/www/currentsong.txt | grep state\=stop)" ] || [ -n "$(cat /var/local/www/currentsong.txt | grep state\=pause)" ]
then
mpc -q clear
mpc -q load "Favorites"
mpc -q play
fi
if ! pgrep -x "librespot" > /dev/null
then
/usr/local/bin/moodeutl -R --spotify
fi
Kategorie: linux
linux läuft fast überall drauf, wenn man will. meistens gut, manchmal gibts probleme. hier sind meine lösungen.
kodi + alte XBOX-DVD-Kit Fernbedienung
Bei einem guten Freund von mir läuft im Wohnzimmer ein Rechner mit Ubuntu, auf dem wiederum zum Filme gucken Kodi.
Nun hatte ich von meiner alten XBOX 1 noch das originale XBOX DVD Playback Kit, was eine ziemlich gute Fernbedienung enthält sowie einen USB-IR-Empfänger dafür.
Schritt 1: USB-Empfänger an USB anschließen. Klingt trivial, aber die alte Xbox hatte so ein eigenes Steckerformat um zu kaschieren dass sie USB benutzt, weil das System ursprünglich (bis der Modchip reinkam :D) zugenagelt war. Geht ziemlich einfach, hier ist die Anleitung dazu: https://kodi.wiki/view/Archive:Wire_your_XBOX_DVD-Remote_for_USB
Schritt 2: Kodi läuft, Lirc läuft, aber die „BACK“- und die große grüne Taste ganz oben tun noch keinen Dienst? Das liegt an der originalen Lircmap.xml von Kodi, in der die Keycodes KEY_BACK und die KEY_ANGLE fehlen. Folgende Lircmap funktioniert hier ganz prächtig und sorgt dafür, dass alle Tasten sinnvoll gematcht sind (de facto sind nur die ersten beiden Zeilen der Tastendefinitionen gegenüber der originalen bei Kodi in Ubuntu mitgelieferten Lircmap an die Keycodes der XBOX Remote angepasst, daher auch bisschen noch Übeflüssiges dabei, aber Faulheit siegt):
<lircmap>
<remote device="devinput-32">
<back>KEY_BACK</back>
<display>KEY_ANGLE</display>
<left>KEY_LEFT</left>
<right>KEY_RIGHT</right>
<up>KEY_UP</up>
<down>KEY_DOWN</down>
<select>KEY_OK</select>
<enter>KEY_ENTER</enter>
<clear>KEY_DELETE</clear>
<start>KEY_MEDIA</start>
<record>KEY_RECORD</record>
<play>KEY_PLAY</play>
<pause>KEY_PAUSE</pause>
<stop>KEY_STOP</stop>
<forward>KEY_FASTFORWARD</forward>
<reverse>KEY_REWIND</reverse>
<volumeplus>KEY_VOLUMEUP</volumeplus>
<volumeminus>KEY_VOLUMEDOWN</volumeminus>
<pageplus>KEY_CHANNELUP</pageplus>
<pageminus>KEY_CHANNELDOWN</pageminus>
<skipplus>KEY_NEXT</skipplus>
<skipminus>KEY_PREVIOUS</skipminus>
<guide>KEY_EPG</guide>
<title>KEY_TITLE</title>
<subtitle>KEY_SUBTITLE</subtitle>
<language>KEY_LANGUAGE</language>
<info>KEY_INFO</info>
<mute>KEY_MUTE</mute>
<power>KEY_POWER</power>
<eject>KEY_EJECTCD</eject>
<eject>KEY_EJECTCLOSECD</eject>
<menu>KEY_DVD</menu>
<menu>KEY_MENU</menu>
<myvideo>KEY_VIDEO</myvideo>
<mymusic>KEY_AUDIO</mymusic>
<mypictures>KEY_CAMERA</mypictures>
<livetv>KEY_TUNER</livetv>
<mytv>KEY_TV</mytv>
<teletext>KEY_TEXT</teletext>
<one>KEY_NUMERIC_1</one>
<two>KEY_NUMERIC_2</two>
<three>KEY_NUMERIC_3</three>
<four>KEY_NUMERIC_4</four>
<five>KEY_NUMERIC_5</five>
<six>KEY_NUMERIC_6</six>
<seven>KEY_NUMERIC_7</seven>
<eight>KEY_NUMERIC_8</eight>
<nine>KEY_NUMERIC_9</nine>
<zero>KEY_NUMERIC_0</zero>
<star>KEY_NUMERIC_STAR</star>
<hash>KEY_NUMERIC_POUND</hash>
<red>KEY_RED</red>
<green>KEY_GREEN</green>
<yellow>KEY_YELLOW</yellow>
<blue>KEY_BLUE</blue>
<recordedtv>KEY_PVR</recordedtv>
<liveradio>KEY_RADIO</liveradio>
</remote>
</lircmap>
Einfach in .kodi/userdata/Lircmap.xml abspeichern, Kodi neustarten, läuft.
kaputte Taste auf der Tastatur unter Linux auf funktionierende Taste umlegen
Bei meinem Thinkpad X260 trat kürzlich folgender Tastaturdefekt auf: die „-“ bzw. „_“-Taste hörte spontan auf zu funktionieren, während alle anderen Tasten völlig unbeeinträchtigt sind. Bis die Ersatztastatur geliefert und eingebaut ist, kann es noch was dauern. Das NERVT! Denn um sich mit der Tastatur effektiv auf der Kommandozeile zu bewegen ist die „-“ bzw. „_“-Taste (rechts neben der „.“ bzw. „:“-Taste) unabdingbar, z.B. für Argumente etc. Oder auch für Smileys!
Also musste erstmal was passieren, und glücklicherweise befindet sich bei dem Tastaturlayout des Thinkpads ganz in der Nähe der nun „verstummten“ Taste eine andere, die ich eigentlich nicht brauche: die „Druck“-Taste in der untersten Tastenreihe, eigentlich da wo früher ContextMenu gewesen wäre, zwischen „Alt Gr“ und „right Strg“. Damit bietet sich also an, die kaputte Taste hierdrauf zu legen, das geht ja noch fast als exotisches Layout durch. Manche Laptoptastaturen sind da schlimmer!
Was ist zu beachten? Damit es systemweit läuft trotz Wayland und so weiter, hab ich mich analog zur Beschreibung unter https://www.beatworm.co.uk/blog/keyboards/gnome-wayland-xkb für die Lösung entschieden, nur drei Dateien zu bearbeiten: ein neues „Unter-Layout“ als Tastaturdefinition mit der entscheidenden Veränderung der“Druck“taste (oder eigentlich <PRSC> Print Screen) unter /usr/share/X11/xkb/symbols/fixdefect erstellen, und in udev-Rule und udev-sprechender Liste bekanntmachen. Dann im dconf-Editor die Änderung aktivieren.
1. Erstelle /usr/share/X11/xkb/symbols/fixdefect:
partial modifier_keys xkb_symbols "swapminusprint" { replace key <PRSC> { type[Group1]="FOUR_LEVEL_PLUS_LOCK", symbols[Group1]=[ minus, underscore, endash, emdash, underscore ] }; };
2. Modifiziere /usr/share/X11/xkb/rules/evdev:
ergänze im Abschnitt „! option = symbols“ folgende Zeile:
fixdefect:swapminusprint = +fixdefect(swapminusprint)
3. Modifiziere /usr/share/X11/xkb/rules/evdev.lst:
ergänze irgendwo/am Ende folgende Zeile:
fixdefect:swapminusprint Fix defective minus/underscorekey by swapping with printscreen
4. Starte dconf-Editor und ändere den Eintrag /org/gnome/desktop/input-sources/xkb-options:
Bei custom-value (das ist quasi eine Liste!) unseren neuen Eintrag ergänzen:
(obige Notizen beziehen sich auf die zum Zeitpunkt der Erstellung aktuelle stable-x64-Distribution von Debian GNU/Linux, 11.1 bullseye, mit Gnome3 und Wayland)
Evolution druckt nicht? Sandbox deaktivieren.
Wenn mein langjähriger eMail- und alles-Client EVOLUTION unter Debian nicht drucken will („Printer not found“), hat das mit der Sandbox zu tun, in der Webkit ausgeführt wird.
Die Lösung fand ich unter https://forum.manjaro.org/t/evolution-3-38-mail-printing-failing/38021/4:
cp /usr/share/applications/org.gnome.Evolution.desktop ~/.local/share/applications/ sed -i 's/Exec=evolution/Exec=env WEBKIT_FORCE_SANDBOX=0 evolution/g' ~/.local/share/applications/org.gnome.Evolution.desktop grep -i "exec" ~/.local/share/applications/org.gnome.Evolution.desktop
Wie schon im Originalbeitrag beschrieben, ist das natürlich kein echter Fix für das in Evolution vorhandene Problem, welches auch bereits Bugreports etc.pp. hat, die allerdings noch nicht bis ins Release in Form eines permanenten Fixes durchgesickert sind, sondern mehr ein Workaround damit man halt wieder schnell was drucken kann. Ymmv.