mpd - Alle Songs in zufälliger Reihenfolge abspielen

12.04.2022 - Lesezeit: ~1 Minute
#! /bin/bash
# Playlist leeren, bis auf den aktuellen song
mpc crop
# Alle Songs an die aktuelle Playlist anhängen
mpc ls | mpc add
# Mischt alle Songs der Playlist.
mpc shuffle
# Die Playlist abspielen
mpc play
Tags: Linux-Scripte mpc mpd

Wildkamera AVI für Whatsapp ausgeben

17.03.2020 - Lesezeit: ~1 Minute
ffmpeg -i IMAG2476.AVI -c:v libx264 -c:a aac output.mp4
Tags: Linux-Scripte Wildkamera

Abschalten von unattended-upgr

11.01.2020 - Lesezeit: ~1 Minute

In einer meiner VMware-Maschinen (Kubuntu 18.04.2 LTS) lief das Programm unattended-upgr Amok mit einer Prozessorauslastung von 100%. Auch ein Neustart half da nichts. Hier steht beschrieben, wie dem Problem abgeholfen werden kann.

sudo dpkg-reconfigure -plow unattended-upgrades

Nach einem reboot war dann alles wieder gut.

Dieses Shell-Script löst die gleiche Aufgabe in der Konsole:

#!/bin/bash
sudo apt update && sudo apt dist-upgrade
sudo apt-get autoremove --purge
sudo apt-get autoclean
Tags: Linux-Scripte

Für Indy .p12 zu .pem wandeln

20.06.2018 - Lesezeit: 2 Minuten

Literatur

Zur Beachtung Unter Delphi 2009 funktioniert die unten angegebene Funktion testCert zwar, aber der Zugriff auf einen anderen Server lieferte nur 403 Forbidden. Unter Delphi 10 Tokyo funktioniert der Zugriff immer.

  • Delphi 2009: Indy version: 10.2.5
  • Delphi 10.2: Indy version: 10.6.2.5366

Convert a PKCS#12 file (.pfx .p12) containing a private key and certificates to PEM

openssl pkcs12 -in zugang.p12 -out zugang.pem -nodes

in Delphi

  • me ist vom Typ TMemo
    
    uses
    SysUtils, Classes, Forms, IdHTTP, IdSSLOpenSSL, idGlobal,
    Controls, ComCtrls, ToolWin, StdCtrls;

function TForm1.testCert: boolean; var IdHTTP1 : TIdHTTP; Id_HandlerSocket : TIdSSLIOHandlerSocketOpenSSL; cert:string; s : string; begin try me.Clear; IdHTTP1 := TIdHTTP.Create( self ); IdHTTP1.Request.BasicAuthentication := False; IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0'; Id_HandlerSocket := TIdSSLIOHandlerSocketOpenSSL.Create( IdHTTP1 ); cert := 'zugang.pem'; Id_HandlerSocket.SSLOptions.CertFile := cert; ( PEM contain both CERT and Key ) Id_HandlerSocket.SSLOptions.KeyFile := cert;

  Id_HandlerSocket.SSLOptions.Mode := sslmClient;
  Id_HandlerSocket.SSLOptions.Method := sslvSSLv23;
  IdHTTP1.IOHandler := Id_HandlerSocket;

  me.Add( Id_HandlerSocket.SSLOptions.CertFile );

  s := IdHTTP1.Get( 'https://www.scriptjunkie.us/auth/verifycert' );

  me.Add( s );
  Result:=True;

finally
  Id_HandlerSocket.Free;
  IdHTTP1.Free;
end;

end;

Tags: Delphi-Programmierung Linux-Scripte

Unterschiede von zwei Textdateien anzeigen

27.04.2017 - Lesezeit: ~1 Minute

Die beiden Dateien liste_1.txt und liste_2.txt wurden durch ein Windows-Programm erzeugt.

  • Deswegen zuerst mit iconv UTF-8 Dateien erstellen
    $ iconv -f ISO_8859-1 -t UTF-8 liste_1.txt > liste_1.utf
    $ iconv -f ISO_8859-1 -t UTF-8 liste_2.txt > liste_2.utf
  • Danach die Unterschiede in einer Textdatei unterschiede.txt speichern
    $ diff liste_1.utf liste_2.utf | grep '^>' | sed -e 's/>//' > unterschiede.txt
Tags: Linux-Scripte

Python-Script Play All My Mp3s

18.12.2016 - Lesezeit: ~1 Minute

Aus der Musiksammlung im Verzeichnis PATH werden 100 zufällige Titel abgespielt.

Als MP3-Player dient mpg123 (der natürlich vorher installiert werden muss)

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
import os
from glob import glob
import random
import subprocess

PATH = '/wnfdaten/Musik/'

def playMp3(path):
    subprocess.Popen(['mpg123', '-q', path]).wait()

def allMp3s():
    print(PATH) 
    result = [y for x in os.walk(PATH) for y in glob(os.path.join(x[0], '**/*.mp3'))]
    return result

def main():
    alle = allMp3s()
    anz=0
    while anz<100:
        dn=random.choice(alle)
        print(anz,dn)
        playMp3(dn)
        anz = anz +1
    return anz

if __name__ == '__main__':
    main()
Tags: Python Linux-Scripte mp3