My-Stuff

Start into AI

Default for CPU:

Download and install this: https://gpt4all.io/index.html

Default for Nvidia or AMD GPU:

git clone https://github.com/oobabooga/text-generation-webui

then cd into it and run install:

./start_linux.sh

Find good LLM or other AI model:

https://huggingface.co/models?pipeline_tag=text-generation&sort=trending

Linux-Mint

First Steps

Packages to install:

tools:
sudo apt install -y vim htop wget git apt-transport-https
Bitwarden:
flatpak -y install com.bitwarden.desktop
Element:
sudo apt install -y wget apt-transport-https; \‍
sudo wget -O /usr/share/keyrings/element-io-archive-keyring.gpg https://packages.element.io/debian/element-io-archive-keyring.gpg; \‍
echo "deb [signed-by=/usr/share/keyrings/element-io-archive-keyring.gpg] https://packages.element.io/debian/ default main" | sudo tee /etc/apt/sources.list.d/element-io.list; \
sudo apt update; \
sudo apt install element-desktop;
VSCodium:
wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg \
    | gpg --dearmor \
    | sudo dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg

echo 'deb [ signed-by=/usr/share/keyrings/vscodium-archive-keyring.gpg ] https://download.vscodium.com/debs vscodium main' \
    | sudo tee /etc/apt/sources.list.d/vscodium.list
sudo apt update && sudo apt install -y codium
DistroBox - With UI:

Github: https://github.com/89luca89/distrobox?tab=readme-ov-file#installation

Ubuntu-repro:

https://launchpad.net/~michel-slm/+archive/ubuntu/distrobox

UI: 

flatpak install -y io.github.dvlv.boxbuddyrs

AMD GPU:

My used packages:
#Sublime
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/sublimehq-archive.gpg > /dev/null; \
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list; \
sudo apt update; \
sudo apt install -y sublime-text;
#Signal

wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg; \
cat signal-desktop-keyring.gpg | sudo tee /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null; \

echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' |\
  sudo tee /etc/apt/sources.list.d/signal-xenial.list; \

sudo apt update && sudo apt install -y signal-desktop;

QR-Code Generator and Reader:
sudo apt install -y qtqr

#FreeCAD

Mac Theme:

install script:

https://git.cs30.de/MK_0x41/install-mac-theme-mint

git clone https://git.cs30.de/MK_0x41/install-mac-theme-mint

sudo ./INSTALL.sh

Manuell

git clone https://git.cs30.de/MK_0x41/WhiteSur-icon-theme

git clone https://git.cs30.de/MK_0x41/McMojave-cursors

git clone https://git.cs30.de/MK_0x41/WhiteSur-gtk-theme

Go in every folder and run:

sudo ./install

For Flatpak support:

In WhiteSur-gtk-theme:

sudo cp -r /usr/share/themes/WhiteSur-Dark /home/mk_0x41/.themes/
sudo flatpak override --filesystem=/home/mk_0x41/.themes/WhiteSur-Dark

Add the Plank:

sudo apt install -y plank synapse


ctrl + right-click to edit

To autostart add Plank to Startup-Applications

Add enc user:

sudo adduser --encrypt-home username
# For password change after login
sudo chage -d 0 username

 

 

Disable C6 state for AMD Errors:

https://github.com/ZanMax/amd-states-linux

Wireguard VPN

Um sich mit einem WireGuard VPN-Server unter Linux Mint zu verbinden, müssen Sie WireGuard installieren und anschließend die bereitgestellte .conf-Datei verwenden. Hier sind die Schritte:

  1. WireGuard installieren:

    Öffnen Sie ein Terminal und führen Sie die folgenden Befehle aus:

    sudo apt update; \
    sudo apt install -y wireguard resolvconf
    
    
    
  2. .conf Datei kopieren:

    Kopieren Sie die bereitgestellte .conf-Datei in das /etc/wireguard/ Verzeichnis. Angenommen, Ihre Datei heißt wg0.conf und befindet sich in Ihrem Home-Verzeichnis:

    sudo cp ~/<device-name>.conf /etc/wireguard/<con. name>.conf
    
    
    
    

    Stellen Sie sicher, dass die Berechtigungen korrekt gesetzt sind:

    sudo chmod o+r /etc/wireguard/
    
    
    
    
  3. Verbindung herstellen:

    Verwenden Sie den folgenden Befehl, um eine Verbindung zum VPN-Server herzustellen:

    sudo wg-quick up wg0
    
    
    

    (wobei wg0 der Name Ihrer Konfigurationsdatei ohne die .conf-Erweiterung ist)

  4. Verbindung trennen:

    Wenn Sie die Verbindung trennen möchten, verwenden Sie:

    sudo wg-quick down wg0
    
    
    
  5. Optional (Automatischer Start):

    Wenn Sie möchten, dass WireGuard automatisch beim Booten startet, können Sie es mit systemd aktivieren:

    sudo systemctl enable wg-quick@wg0
    
    
    

Denken Sie daran, dass Sie die entsprechenden Firewall-Regeln und Routing-Einstellungen in Ihrer .conf-Datei haben müssen, damit alles ordnungsgemäß funktioniert.

Wiregurad-GUI

install Wireguard aplett on Linux MINT

  1. PolicyKit-Regel erstellen:

    Erstellen Sie eine neue PolicyKit-Regel. Sie können einen Editor Ihrer Wahl verwenden, hier verwenden wir nano:

    sudo vim /etc/polkit-1/localauthority/50-local.d/wg-quick.pkla
    
    
    
  2. Inhalt der Regel hinzufügen:

    Fügen Sie den folgenden Inhalt in die Datei ein:

    [Allow wg-quick for yourusername]
    Identity=unix-user:yourusername
    Action=org.freedesktop.policykit.exec
    ResultAny=yes
    ResultInactive=yes
    ResultActive=yes
    
    

    Ersetzen Sie yourusername durch Ihren tatsächlichen Benutzernamen.

  3. Änderungen speichern und beenden:

    Speichern Sie die Datei und beenden Sie den Editor.

OhMy zsh

Install:

sudo apt install zsh fonts-hack-ttf fonts-powerline
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Config:

edit ~/.zshrc

set theme:

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

ZSH_THEME="powerlevel10k/powerlevel10k"

To Restart the installation:

p10k configure

 

set Plugins:

Install
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
Set in Config:
plugins=(git vscode zsh-autosuggestions zsh-syntax-highlighting command-not-found)

Debian Upgrade

Upgrade debain11 to debain12:

  1. Edit the file /etc/apt/sources.list using a text editor and replace each instance of bullseye with bookworm. Next find the update line, replace keyword **bullseye-updates** with bookworm-updates. Finally, search the security line, replace keyword bullseye-security with bookworm-security
  2. Update the packages index on Debian Linux, run: sudo apt update
  3. Prepare for the operating system minimal system upgrade, run: sudo apt upgrade --without-new-pkgs
  4. Finally, update Debian 11 to Debian 12 Bookworm by running: sudo apt full-upgrade
  5. Reboot the Linux system so that you can boot into Debian 12 Bookworm

Win10

Activation script:

@echo off
title Activate Windows 10 ALL versions for FREE!&cls&echo ============================================================================&echo #Project: Activating Microsoft software products for FREE without software&echo ============================================================================&echo.&echo #Supported products:&echo - Windows 10 Home&echo - Windows 10 Home N&echo - Windows 10 Home Single Language&echo - Windows 10 Home Country Specific&echo - Windows 10 Professional&echo - Windows 10 Professional N&echo - Windows 10 Education&echo - Windows 10 Education N&echo - Windows 10 Enterprise&echo - Windows 10 Enterprise N&echo - Windows 10 Enterprise LTSB&echo - Windows 10 Enterprise LTSB N&echo.&echo.&echo ============================================================================&echo Activating your Windows...&cscript //nologo slmgr.vbs /ckms >nul&cscript //nologo slmgr.vbs /upk >nul&cscript //nologo slmgr.vbs /cpky >nul&set i=1&wmic os | findstr /I "enterprise" >nul
if %errorlevel% EQU 0 (cscript //nologo slmgr.vbs /ipk NPPR9-FWDCX-D2C8J-H872K-2YT43 >nul&cscript //nologo slmgr.vbs /ipk DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4 >nul&cscript //nologo slmgr.vbs /ipk WNMTR-4C88C-JK8YV-HQ7T2-76DF9 >nul&cscript //nologo slmgr.vbs /ipk 2F77B-TNFGY-69QQF-B8YKP-D69TJ >nul&cscript //nologo slmgr.vbs /ipk DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ >nul&cscript //nologo slmgr.vbs /ipk QFFDN-GRT3P-VKWWX-X7T3R-8B639 >nul&goto server) else wmic os | findstr /I "home" >nul
if %errorlevel% EQU 0 (cscript //nologo slmgr.vbs /ipk TX9XD-98N7V-6WMQ6-BX7FG-H8Q99 >nul&cscript //nologo slmgr.vbs /ipk 3KHY7-WNT83-DGQKR-F7HPR-844BM >nul&cscript //nologo slmgr.vbs /ipk 7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH >nul&cscript //nologo slmgr.vbs /ipk PVMJN-6DFY6-9CCP6-7BKTT-D3WVR >nul&goto server) else wmic os | findstr /I "education" >nul
if %errorlevel% EQU 0 (cscript //nologo slmgr.vbs /ipk NW6C2-QMPVW-D7KKK-3GKT6-VCFB2 >nul&cscript //nologo slmgr.vbs /ipk 2WH4N-8QGBV-H22JP-CT43Q-MDWWJ >nul&goto server) else wmic os | findstr /I "10 pro" >nul
if %errorlevel% EQU 0 (cscript //nologo slmgr.vbs /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX >nul&cscript //nologo slmgr.vbs /ipk MH37W-N47XK-V7XM9-C7227-GCQG9 >nul&goto server) else (goto notsupported)
:server
if %i%==1 set KMS=kms7.MSGuides.com
if %i%==2 set KMS=kms8.MSGuides.com
if %i%==3 set KMS=kms9.MSGuides.com
if %i%==4 goto notsupported
cscript //nologo slmgr.vbs /skms %KMS%:1688 >nul&echo ============================================================================&echo.&echo.
cscript //nologo slmgr.vbs /ato | find /i "successfully" && (echo.&echo ============================================================================&echo.&echo #My official blog: MSGuides.com&echo.&echo #How it works: bit.ly/kms-server&echo.&echo #Please feel free to contact me at msguides.com@gmail.com if you have any questions or concerns.&echo.&echo #Please consider supporting this project: donate.msguides.com&echo #Your support is helping me keep my servers running everyday!&echo.&echo ============================================================================&choice /n /c YN /m "Would you like to visit my blog [Y,N]?" & if errorlevel 2 exit) || (echo The connection to my KMS server failed! Trying to connect to another one... & echo Please wait... & echo. & echo. & set /a i+=1 & goto server)
explorer "http://MSGuides.com"&goto halt
:notsupported
echo ============================================================================&echo.&echo Sorry! Your version is not supported.&echo.
:halt
pause >nul

Remove Win password

Setup:

 

  1. Boot Linux
  2. Install chntpw
    1. sudo apt install -y chntpw
      
  3. Mount win disk
  4. cd into <win-disk>/Windows/System32/config
  5. run
    sudo chntpw -l SAM
    
  6. use 
    sudo chntpw -u "Username" SAM
  7. Reboot to Win and have fun xD

Improving Battery

Guide to Improving Battery Life on Linux Mint with TLP

Table of Contents

  1. Introduction
  2. Installing TLP
  3. Starting and Enabling TLP
  4. Understanding TLP Modes
  5. Checking TLP Status
  6. Conclusion

1. Introduction

This guide will walk you through the installation and usage of TLP, a tool that can help improve the battery life of your Linux Mint laptop. TLP optimizes power usage in the background, automatically adjusting settings based on power source.

2. Installing TLP

TLP is an advanced power management tool for Linux that runs in the background and automatically optimizes power settings.

To install TLP, open a terminal and run the following commands:

sudo add-apt-repository ppa:linrunner/tlp
sudo apt-get update
sudo apt-get install tlp tlp-rdw

3. Starting and Enabling TLP

This command will start TLP immediately. However, to ensure TLP starts automatically at boot, you need to enable it:

sudo systemctl enable tlp.service

After installing TLP, you can start it with the following command:

sudo tlp start

4. Understanding TLP Modes

TLP operates in two main modes: AC and Battery. When your laptop is plugged into a power source, TLP operates in AC mode, allowing for higher performance. When running on battery, TLP switches to Battery mode, aiming to minimize power consumption and extend battery life. This switch happens automatically.

5. Checking TLP Status

You can check the status of the TLP service at any time with the following command:

sudo systemctl status tlp.service

This will show whether the TLP service is active and running. For more detailed information about your system's power settings and status, you can use the tlp-stat command. This command outputs a variety of information, including current CPU settings, power settings for various devices, and more.

6. Conclusion

By using TLP, you can gain more control over your system's power usage and potentially extend your laptop's battery life. Remember to monitor your system's performance and stability as you make changes, and always back up your data before making significant system changes.

Setup - Deja - Dup

Deja Dup is a simple backup tool for Linux, seamlessly integrated into the GNOME desktop. It utilizes the duplicity backend to produce encrypted, incremental, compressed backups. Here’s a guide on how to set up Deja Dup on Linux Mint and store backups on your WebDAV server:

1. Installation of Deja Dup:

Open a terminal and execute the following commands:

sudo apt update
sudo apt install deja-dup duplicity

2. Launching Deja Dup:

Search for "Deja Dup" in the Linux Mint application menu and launch the application.

3. Configuring Settings:

  1. Click on "Preferences" or "Settings".
  2. Under "Storage Location", select "WebDAV" from the dropdown menu.
  3. In the "Folder" field, input your URL, replacing joscha.mijailovic with <username>. It should look like this: davs://one-cloud.cs30.de/remote.php/dav/files/<username>/?dir=/Backup. Note that the exact path will depend on your WebDAV server setup.
  4. Under the "Login Credentials" section, input your username and password.
  5. Determine which folders you wish to backup and which ones you wish to exclude. By default, your Home directory will be backed up.
  6. Choose how often backups should occur and for how long they should be retained.

Exclude and some settings:

dconf write /org/gnome/deja-dup/exclude-list "['/home/$USER/VirtualBox VMs', '/home/$USER/Downloads', '/home/$USER/gpt4all', '/home/$USER/Nextcloud', '/home/$USER/Pictures', '/home/$USER/Videos', '/home/$USER/tmp/VM', '/home/$USER/.local/share/nomic.ai', '/home/$USER/.steam/debian-installation/steamapps']"

4. Starting Backup:

Click "Backup Now" to manually initiate the backup process. Remember, the first backup might take a while depending on the amount of data. Subsequent backups are typically faster since they only back up changed files (incremental backups).

5. Restoring Files:

If you ever need to restore files, you can open Deja Dup, choose "Restore", and follow the on-screen instructions.

Note: As with all backup solutions, ensure that your backups are being made regularly and correctly, and that you know how to restore data when needed. It's advisable to occasionally test the restoration process to make sure everything works as expected.

Good luck with your data backups using Deja Dup!

Auto-Update

Aptoide:

update-script:

/usr/local/bin/update_packages.sh

sudo bash -c 'echo -e "#!/bin/bash\n\napt update\napt upgrade -y\napt autoremove -y\napt autoclean -y" > /usr/local/bin/update_packages.sh' && sudo chmod +x /usr/local/bin/update_packages.sh
#!/bin/bash

apt update
apt upgrade -y
apt autoremove -y
apt autoclean -y

crateapt-updater.service

sudo bash -c 'echo -e "[Unit]\nDescription=Update all apt packages\n\n[Service]\nType=oneshot\nExecStart=/usr/local/bin/update_packages.sh\n\n[Install]\nWantedBy=multi-user.target" > /etc/systemd/system/update_packages.service'
[Unit]
Description=Update all apt packages

[Service]
Type=oneshot
ExecStart=/usr/local/bin/update_packages.sh

[Install]
WantedBy=multi-user.target

Flatapak:

create flatpak-updater.service

sudo bash -c 'echo -e "[Unit]\nDescription=Update all flatpak apps and runtimes\n\n[Service]\nType=oneshot\nExecStart=/usr/bin/flatpak update -y\n\n[Install]\nWantedBy=multi-user.target" > /etc/systemd/system/flatpak_updater.service'
[Unit]
Description=Update all flatpak apps and runtimes

[Service]
Type=oneshot
ExecStart=/usr/bin/flatpak update -y

[Install]
WantedBy=multi-user.target

Timer:

create apt-updater.timer

sudo bash -c 'echo -e "[Unit]\nDescription=Run update_packages daily\n\n[Timer]\nOnBootSec=5min\nOnUnitActiveSec=24h\nPersistent=true\n\n[Install]\nWantedBy=timers.target" > /etc/systemd/system/update_packages.timer'
[Unit]
Description=Run update_packages daily

[Timer]
OnBootSec=5min
OnUnitActiveSec=24h
Persistent=true

[Install]
WantedBy=timers.target

Timer - Server:

sudo bash -c 'echo -e "[Unit]\nDescription=Run update_packages daily\n\n[Timer]\nOnBootSec=5min\nOnCalendar=*-*-* 02:00:00\nPersistent=true\n\n[Install]\nWantedBy=timers.target" > /etc/systemd/system/update_packages.timer'
[Unit]
Description=Run update_packages daily

[Timer]
OnBootSec=5min
OnCalendar=*-*-* 02:00:00
Persistent=true

[Install]
WantedBy=timers.target

create flatpak-updater.timer

sudo bash -c 'echo -e "[Unit]\nDescription=Run flatpak_updater daily\n\n[Timer]\nOnBootSec=5min\nOnUnitActiveSec=24h\nPersistent=true\n\n[Install]\nWantedBy=timers.target" > /etc/systemd/system/flatpak_updater.timer'
[Unit]
Description=Run flatpak-updater daily

[Timer]
OnBootSec=5min
OnUnitActiveSec=24h
Persistent=true

[Install]
WantedBy=timers.target


Aktivierung:

sudo systemctl daemon-reload
sudo systemctl enable --now flatpak_updater.timer
sudo systemctl enable --now update_packages.timer

check:

sudo systemctl list-timers --all

ATEM Controller

Install OpenSwitcher:

flatpak remote-add openswitcher https://flatpak.brixit.nl/brixit.flatpakrepo
flatpak install https://flatpak.brixit.nl/switcher-stable.flatpakref

then run the app, if you have Errors run in Terminal:

flatpak run nl.brixit.Switcher

If you get some Errors like this:

error: runtime/org.gnome.Platform/x86_64/42 not installed

Install: 

flatpak install flathub org.gnome.Platform//42

Guide: Running ATEM Control on Linux via Wine and Receiving RTMP Streams with nginx

Inhaltsverzeichnis

Install ATEM Control using Wine

1. Installation von Wine:

a. Aktualisieren Sie zunächst Ihre Paketliste:

sudo apt update

b. Installieren Sie anschließend die 64-Bit- und 32-Bit-Versionen von Wine:

sudo apt install wine64 wine32

c. Um sicherzustellen, dass Wine korrekt installiert ist, führen Sie:

winecfg

Dadurch wird das Wine-Konfigurationsfenster geöffnet und falls erforderlich, wird eine neue Wine-Installation in Ihrem Home-Verzeichnis eingerichtet.

2. Download des erforderlichen VC++ Redistributable:

Laden Sie die VC++ Redistributable Datei herunter, die einige der von ATEM Control benötigten Bibliotheken enthält:

wget https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe

3. Installation der VC++ Redistributable mit Wine:

Installieren Sie die heruntergeladene Datei mit Wine:

WINEPREFIX=~/.wine64 WINEARCH=win64 wine64 vc_redist.x64.exe

4. Download und Installation von ATEM Control:

a. Besuchen Sie die offizielle Blackmagic Design-Website und laden Sie die ATEM Control-Software herunter. (Hier kann ich keinen direkten Link bereitstellen, da die URL von der Version und anderen Faktoren abhängen kann.)

b. Nachdem Sie die ATEM Control-Installationsdatei heruntergeladen haben (angenommen, es handelt sich um eine .exe-Datei), navigieren Sie zu dem Verzeichnis, in dem die Datei gespeichert ist.

c. Führen Sie die Installation von ATEM Control mit Wine aus:

WINEPREFIX=~/.wine64 WINEARCH=win64 wine64 YOUR_DOWNLOADED_FILE.exe

Ersetzen Sie YOUR_DOWNLOADED_FILE.exe durch den genauen Namen der heruntergeladenen ATEM Control-Installationsdatei.

d. Befolgen Sie die Installationsanweisungen im Setup-Assistenten, um ATEM Control zu installieren.


Nach Abschluss dieser Schritte sollte ATEM Control unter Wine auf Ihrem Linux-System installiert sein und einsatzbereit sein.

Create a Desktop Shortcut for ATEM Control

  1. Create a new file named BMD-atem-control.desktop:

    vim BMD-atem-control.desktop
    
  2. Insert the following content into the file:

    #!/usr/bin/env xdg-open
    [Desktop Entry]
    Version=1.0
    Type=Application
    Terminal=true
    Icon=mate-panel-launcher
    Icon[en_US]=mate-panel-launcher
    Name[en_US]=BMD-atem-control
    Exec=env WINEPREFIX=/home/joscha_mijailovic/.wine64 WINEARCH=win64 taskset -c 0 wine64 /home/joscha_mijailovic/.wine64/drive_c/Program\ Files\ \(x86\)/Blackmagic\ Design/Blackmagic\ ATEM\ Switchers/ATEM\ Software\ Control/ATEM\ Software\ Control.exe
    Name=BMD-atem-control
    
  3. Save and exit.

  4. Make the .desktop file executable:

    chmod +x BMD-atem-control.desktop
    

Receive RTMP Streams using nginx

  1. Install nginx with the RTMP module:

    sudo apt install libnginx-mod-rtmp nginx
    
  2. Edit the nginx configuration file:

    sudo vim /etc/nginx/nginx.conf
    
  3. Add the following RTMP configuration to the end of the file:

    rtmp {
        server {
            listen 1935;
            chunk_size 4096;
    
            application live {
                live on;
                record off;
            }
        }
    }
    
  4. Save and exit.

  5. Restart nginx:

    sudo systemctl restart nginx
    

Configure RTMP Stream in ATEM

  1. Start the ATEM Software Control.
  2. Navigate to Settings > Streaming.
  3. Choose RTMP as the protocol.
  4. Enter the RTMP address of the nginx server. It should look like: rtmp://YOUR_SERVER_IP/live.
    1. <?xml version="1.0" encoding="UTF-8" ?>
      <streaming>
          <service>
      		<name>OBS</name>
      		<servers>
      			<server>
      				<name>10.202.0.2</name>
      				<url>rtmp://10.202.0.2:1935/live</url>
      			</server>
      		</servers>
      		<profiles>
      			<profile>
      				<name>Streaming High</name>
      				<config resolution="1080p" fps="60">
      					<bitrate>6000000</bitrate>
      					<audio-bitrate>128000</audio-bitrate>
      				</config>
      			</profile>
      			<profile>
      				<name>Streaming Medium</name>
      				<config resolution="720p" fps="60">
      					<bitrate>4500000</bitrate>
      					<audio-bitrate>128000</audio-bitrate>
      				</config>
      				<config resolution="720p" fps="30">
      					<bitrate>3000000</bitrate>
      					<audio-bitrate>128000</audio-bitrate>
      				</config>
      				<config resolution="1080p" fps="60">
      					<bitrate>7000000</bitrate>
      					<audio-bitrate>128000</audio-bitrate>
      				</config>
      				<config resolution="1080p" fps="30">
      					<bitrate>4500000</bitrate>
      					<audio-bitrate>128000</audio-bitrate>
      				</config>
      			</profile>
      			<profile>
      				<name>Streaming Low</name>
      				<config resolution="720p" fps="60">
      					<bitrate>2250000</bitrate>
      					<audio-bitrate>128000</audio-bitrate>
      				</config>
      				<config resolution="720p" fps="30">
      					<bitrate>1500000</bitrate>
      					<audio-bitrate>128000</audio-bitrate>
      				</config>
      				<config resolution="1080p" fps="60">
      					<bitrate>4000000</bitrate>
      					<audio-bitrate>128000</audio-bitrate>
      				</config>
      				<config resolution="1080p" fps="30">
      					<bitrate>3000000</bitrate>
      					<audio-bitrate>128000</audio-bitrate>
      				</config>
      			</profile>
      		</profiles>
      <!-- RTMP session username and password, if required by service
      		<credentials>
      			<username>test</username>
      			<password>abc123xyz</password>
      		</credentials>
      -->
      	</service>
      	
      
      </streaming>
      
  5. Apply the settings.

Process the RTMP Stream in OBS

  1. Open OBS.
  2. Navigate to "Sources" and click on the "+" symbol to add a new source.
  3. Choose "Media Source" and give it an appropriate name.
  4. Uncheck "Local File" and enter your RTMP stream link in the "Input" box. It should look something like this: rtmp://localhost/live.
  5. Confirm the settings, and the stream should now appear in OBS.

ffmpeg

Convert Videos to smaller files:

#!/bin/bash

# Pfad zum Verzeichnis mit den Originalvideos
VIDEO_DIR="./"
# Zielverzeichnis für die komprimierten Videos
OUTPUT_DIR="./converted"

# Erstelle das Zielverzeichnis, falls es nicht existiert
mkdir -p "$OUTPUT_DIR"

# Durchlaufe alle .mp4 Dateien im Verzeichnis
for original in "$VIDEO_DIR"/*.MP4; do
    # Dateiname ohne Pfad
    filename=$(basename -- "$original")
    # Vollständiger Pfad zur Ausgabedatei
    output="$OUTPUT_DIR/$filename"

    echo "Komprimiere: $original -> $output"

    # Führe ffmpeg aus, um das Video zu komprimieren
    ffmpeg -i "$original" -c:v libx265 -crf 23 -preset medium -c:a copy "$output"
done

echo "Kompression aller Videos abgeschlossen."

Anleitung: Videos in Einzelbilder aufteilen mit ffmpeg

Ziel

Mit dieser Anleitung können Sie Videos in Einzelbilder aufteilen. Dies kann nützlich sein, wenn Sie beispielsweise eine Struktur-aus-Bewegung-Rekonstruktion mit Tools wie COLMAP durchführen möchten.

Voraussetzungen

Schritte

  1. Bash-Skript erstellen und an die richtige Stelle verschieben

    Führen Sie den folgenden Befehl aus, um das Skript zu erstellen und es direkt nach /usr/local/bin/split-videos zu schreiben:

    echo '#!/bin/bash
    
    # Überprüfen Sie, ob ffmpeg installiert ist
    if ! command -v ffmpeg &> /dev/null; then
        echo "ffmpeg ist nicht installiert. Bitte installieren Sie es zuerst."
        exit 1
    fi
    
    # Standardwerte für Eingabe- und Ausgabepfade
    INPUT_PATH="."
    OUTPUT_PATH="."
    
    # Optionen mit getopts verarbeiten
    while getopts "i:o:" opt; do
        case "$opt" in
        i) INPUT_PATH="$OPTARG" ;;
        o) OUTPUT_PATH="$OPTARG" ;;
        *) echo "Ungültige Option: -$OPTARG" >&2; exit 1 ;;
        esac
    done
    
    # Gängige Videoformate
    VIDEO_FORMATS=("*.mp4" "*.avi" "*.mkv" "*.mov" "*.flv" "*.wmv")
    
    # Durchlaufen Sie alle gängigen Videoformate im angegebenen Eingabeverzeichnis
    shopt -s nullglob
    for format in "${VIDEO_FORMATS[@]}"; do
        videos=($INPUT_PATH/$format)
        for video in "${videos[@]}"; do
            # Entfernen Sie die Dateierweiterung, um den Ordnernamen zu erhalten
            dir_name="${video##*/}"
            dir_name="${dir_name%.*}"
    
            echo "Verarbeite Video: $video"
    
            # Erstellen Sie ein Verzeichnis im angegebenen Ausgabepfad mit dem Namen des Videos
            mkdir -p "$OUTPUT_PATH/$dir_name"
    
            # Teilen Sie das Video in Einzelbilder auf und speichern Sie sie im entsprechenden Verzeichnis
            ffmpeg -i "$video" -q:v 2 "$OUTPUT_PATH/$dir_name/frame_%04d.jpg"
            echo "Bilder gespeichert in: $OUTPUT_PATH/$dir_name/"
        done
    done
    
    
    echo "Alle Videos wurden erfolgreich in Einzelbilder aufgeteilt!"' | sudo tee /usr/local/bin/split-videos > /dev/null
    
  2. Skript ausführbar machen

    Machen Sie das Skript mit dem folgenden Befehl ausführbar:

    sudo chmod +x /usr/local/bin/split-videos
    
  3. Skript ausführen

    Sie können das Skript jetzt von überall auf Ihrem System ausführen:

    split-videos
    

    Oder mit spezifischen Eingabe- und Ausgabepfaden:

    split-videos -i /path/to/videos -o /path/to/output
    

Hinweis

 



Normalize-Audio:

 

Just normalize

create file normalize_wav.sh

#!/bin/bash

# Verzeichnis mit den WAV-Dateien
input_dir="$1"

# Zielverzeichnis für die normalisierten Dateien
output_dir="${input_dir}/loudness-normalized"

# Erstelle das Zielverzeichnis, falls es nicht existiert
mkdir -p "$output_dir"

# Durchlaufe alle WAV-Dateien im Eingabeverzeichnis
for wav_file in "$input_dir"/*.WAV; do
    # Dateiname ohne Verzeichnis
    filename=$(basename "$wav_file")
    
    # Normalisierte Datei im Zielverzeichnis
    normalized_file="${output_dir}/${filename}"
    
    # Normalisieren der Lautstärke
    ffmpeg -i "$wav_file" -af "loudnorm=I=-23:LRA=7:TP=-2" "$normalized_file"
    
    echo "Normalisiert: $filename -> $normalized_file"
done

echo "Alle Dateien wurden normalisiert und nach $output_dir verschoben."

run zsh normalize_wav.sh ./

or

bash normalize_wav.sh ./

 

with to pass noize remover:

#!/bin/bash

# Verzeichnis mit den WAV-Dateien
input_dir="$1"

# Zielverzeichnis für die normalisierten Dateien
output_dir="${input_dir}/loudness-normalized"

# Temporäres Verzeichnis für die rauschgefilterten Dateien
temp_dir="${input_dir}/temp-noise-removed"

# Erstelle die Verzeichnisse, falls sie nicht existieren
mkdir -p "$output_dir"
mkdir -p "$temp_dir"

# Durchlaufe alle WAV-Dateien im Eingabeverzeichnis
for wav_file in "$input_dir"/*.WAV; do
    # Dateiname ohne Verzeichnis
    filename=$(basename "$wav_file")
    
    # Temporäre Datei für rauschgefilterte Datei
    temp_file="${temp_dir}/${filename}"
    
    # Normalisierte Datei im Zielverzeichnis
    normalized_file="${output_dir}/${filename}"
    
    # Erstelle eine temporäre Rauschprofildatei
    noise_profile="${temp_dir}/${filename}.prof"
    
    # Extrahiere eine kurze Rauschprobe und erstelle das Rauschprofil
    sox "$wav_file" -n trim 0 1 noiseprof "$noise_profile"
    
    # Rauschentfernung mit sox
    sox "$wav_file" "$temp_file" noisered "$noise_profile" 0.21
    
    # Überprüfen, ob die Datei erfolgreich erstellt wurde
    if [ -s "$temp_file" ]; then
        # Lautstärke normalisieren mit ffmpeg
        ffmpeg -i "$temp_file" -af "loudnorm=I=-23:LRA=7:TP=-2" "$normalized_file"
        echo "Rauschentfernung und Normalisierung: $filename -> $normalized_file"
    else
        echo "Fehler bei der Rauschentfernung: $filename"
    fi
    
    # Entferne die temporäre Rauschprofildatei
    rm "$noise_profile"
done

# Entferne das temporäre Verzeichnis und die darin enthaltenen Dateien
rm -r "$temp_dir"

echo "Alle Dateien wurden rauschgefiltert, normalisiert und nach $output_dir verschoben."

 

you need sox:

apt install -y sox

 

 

Backup on LineageOS

Anleitung: Backup mit Seedvault auf DAVx5 in LineageOS

Voraussetzungen:

Schritte:

  1. DAVx5 einrichten:

    • Öffnen Sie die DAVx5-App auf Ihrem Gerät.
    • Fügen Sie Ihr DAV-Serverkonto hinzu und stellen Sie sicher, dass es korrekt synchronisiert wird.
  2. Seedvault Backup aktivieren:

    • Gehen Sie zu "Einstellungen" > "System" > "Backup".
    • Wählen Sie "Seedvault" als Ihren Backup-Dienst aus.
  3. Backup-Speicherort auswählen:

    • In den Seedvault-Einstellungen tippen Sie auf "Backup-Speicherort ändern".
    • Wählen Sie "DAVx5" aus der Liste der verfügbaren Speicherorte.
  4. Backup starten:

    • Tippen Sie auf "Jetzt sichern", um den Backup-Prozess zu starten.
    • Seedvault wird nun ein Backup Ihrer Daten erstellen und es auf Ihrem DAVx5-Mount speichern.
  5. Backup überprüfen:

    • Nach Abschluss des Backup-Prozesses können Sie auf "Backup-Verlauf anzeigen" tippen, um sicherzustellen, dass das Backup erfolgreich durchgeführt wurde.
    • Optional können Sie sich auch in Ihrem DAV-Server einloggen und überprüfen, ob die Backup-Dateien korrekt hochgeladen wurden.
  6. Backup wiederherstellen (falls benötigt):

    • Falls Sie Ihr Gerät zurücksetzen oder auf ein neues Gerät wechseln, können Sie Seedvault verwenden, um Ihr Backup von DAVx5 wiederherzustellen.
    • Gehen Sie dazu während des Einrichtungsprozesses zu "Backup wiederherstellen" und wählen Sie "DAVx5" als Quelle.

Anleitung: Wiederherstellung eines Seedvault-Backups auf einem neuen Gerät

Voraussetzungen:

Schritte:

  1. Einrichtung des neuen Geräts:

    • Starten Sie Ihr neues Gerät und folgen Sie den Anweisungen auf dem Bildschirm.
    • Wenn Sie zum Wiederherstellen eines Backups aufgefordert werden, überspringen Sie diesen Schritt.
  2. DAVx5 installieren:

    • Sobald Sie den Startbildschirm erreicht haben, öffnen Sie den Play Store oder eine andere vertrauenswürdige Quelle und installieren Sie die DAVx5-App.
    • Starten Sie DAVx5 und fügen Sie Ihr DAV-Serverkonto hinzu. Stellen Sie sicher, dass es korrekt synchronisiert wird und Zugriff auf Ihren Backup-Speicherort hat.
  3. Backup-Wiederherstellung initiieren:

    • Öffnen Sie die Telefon-App auf Ihrem Gerät.
    • Geben Sie den Code *#*#7378673#*#* ein. Dies wird die Seedvault-Wiederherstellungsoberfläche öffnen.
    • Sie werden aufgefordert, einen Backup-Speicherort auszuwählen. Wählen Sie "DAVx5" aus der Liste.
  4. Backup auswählen und wiederherstellen:

    • Seedvault zeigt Ihnen eine Liste der verfügbaren Backups auf Ihrem DAVx5-Mount. Wählen Sie das gewünschte Backup aus.
    • Folgen Sie den Anweisungen auf dem Bildschirm, um das Backup wiederherzustellen. Dies kann einige Minuten dauern, abhängig von der Größe des Backups und der Geschwindigkeit Ihrer Internetverbindung.
  5. Wiederherstellung überprüfen:

    • Nachdem die Wiederherstellung abgeschlossen ist, starten Sie Ihr Gerät neu.
    • Überprüfen Sie, ob alle Ihre Daten, Apps und Einstellungen korrekt wiederhergestellt wurden.

 

XiaomiToolV2

Try this one: https://github.com/topminipie/XiaoMiToolV2

Or This: https://androidmtk.com/xiaomitool-v2

Solution

https://github.com/topminipie/awesome-xiaomi-bootloader-unlock#miunlocktool--mibypasstool--mitool

Download this: https://github.com/offici5l/MiUnlockTool

One device per Mi account per Month

Stress-Test

Stresstest unter Linux

Vorbereitung:

  1. Systemaktualisierung: Aktualisieren Sie Ihr System, um sicherzustellen, dass Sie die neuesten Pakete und Treiber haben:

    sudo apt update
    
  2. Werkzeuge installieren: Installieren Sie die benötigten Tools für den Stresstest:

    sudo apt install -y stress-ng htop lm-sensors glmark2
    

CPU-Stresstest:

  1. Test starten: Belasten Sie alle CPU-Kerne für 10 Minuten:

    stress-ng --cpu 0 --timeout 10m
    
  2. Überwachung: Verwenden Sie htop in einem anderen Terminalfenster, um die CPU-Auslastung zu überwachen.

GPU-Stresstest:

  1. Test starten: Führen Sie glmark2 aus:

    glmark2
    

RAM-Stresstest:

  1. Test starten: Belasten Sie den Speicher mit 4 Gigabyte für 10 Minuten:

    stress-ng --vm 1 --vm-bytes 4G --timeout 10m
    
  2. Überwachung: Verwenden Sie htop in einem anderen Terminalfenster, um den RAM-Verbrauch zu überwachen.

Speicher-Stresstest (I/O):

  1. Test starten: Führen Sie einen I/O-Stresstest für 10 Minuten durch:

    stress-ng --io 4 --timeout 10m
    
  2. Überwachung: Verwenden Sie htop in einem anderen Terminalfenster, um die I/O-Aktivität zu überwachen.

Temperaturüberwachung:

  1. Sensoren konfigurieren: Führen Sie sensors-detect aus und folgen Sie den Anweisungen:

    sudo sensors-detect
    
  2. Temperatur anzeigen: Verwenden Sie sensors, um die Systemtemperaturen anzuzeigen:

    sensors
    

Wichtiger Hinweis: Stresstests können Ihr System stark belasten. Überwachen Sie die Temperaturen und andere Systemressourcen während des Tests. Wenn Sie Anzeichen von Problemen bemerken, beenden Sie den Test sofort. Es ist auch ratsam, regelmäßige Backups Ihrer Daten zu haben, bevor Sie solche Tests durchführen.




OBS-remove-Background

Installation des obs-virtual-cam-filter Plugins für OBS Studio auf Linux

Schritte:

  1. ZIP-Datei herunterladen:

  2. ZIP-Datei entpacken:

    • Navigieren Sie zum Download-Ordner und entpacken Sie die ZIP-Datei. Dies sollte einen Ordner mit den Plugin-Dateien enthalten.
  3. Plugin in OBS Studio installieren:

    • Kopieren Sie den entpackten Ordner in das Plugin-Verzeichnis von OBS Studio. Der genaue Pfad kann je nach Installation variieren, liegt aber normalerweise unter ~/.var/app/com.obsproject.Studio/config/obs-studio/plugins/
    • Wenn das Verzeichnis nicht existiert, erstellen Sie es.
  4. OBS Studio neu starten:

    • Schließen Sie OBS Studio, falls es bereits geöffnet ist, und starten Sie es neu. Das Plugin sollte nun in der Liste der verfügbaren Plugins erscheinen.
  5. Plugin verwenden:

    • Fügen Sie Ihre Webcam oder eine andere Quelle in OBS hinzu.
    • Klicken Sie mit der rechten Maustaste auf die Quelle und wählen Sie "Filter".
    • Klicken Sie auf das "+"-Symbol und wählen Sie "Virtual Camera Filter". Dies ermöglicht es Ihnen, diese spezifische Quelle als virtuelle Kamera auszugeben.

Virtuellen Hintergrund in OBS Studio auf Linux Mint einrichten

Voraussetzungen:

Schritte:

  1. Virtuelle Kamera mit v4l2loopback einrichten:

    • Installieren Sie das v4l2loopback-Modul:
      sudo apt-get install v4l2loopback-dkms
      
    • Erstellen Sie eine virtuelle Kamera:
      sudo modprobe v4l2loopback exclusive_caps=1
      
  2. OBS Studio über Flatpak installieren (falls noch nicht geschehen):

    • Fügen Sie das Flathub-Repository zu Flatpak hinzu:
      flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
      
    • Installieren Sie OBS Studio:
      flatpak install flathub com.obsproject.Studio
      
  3. Background Removal Plugin für OBS Studio installieren:

    • Installieren Sie das obs-backgroundremoval Plugin über Flatpak:
      flatpak install com.obsproject.Studio.Plugin.BackgroundRemoval
      
  4. OBS Studio starten und Quellen hinzufügen:

    • Starten Sie OBS Studio.
    • Fügen Sie Ihre Webcam als Videoquelle hinzu.
    • Optional: Fügen Sie Bilder oder Videos als Medienquelle hinzu, die als virtueller Hintergrund dienen sollen.
  5. Virtuellen Hintergrund einrichten:

    • Klicken Sie mit der rechten Maustaste auf Ihre Webcam-Quelle und wählen Sie "Filter".
    • Klicken Sie auf das "+"-Symbol und wählen Sie "Background Removal". Dies wird den Hintergrund Ihrer Webcam entfernen.
    • Platzieren Sie Ihre Webcam-Quelle über Ihrer Medienquelle in der Quellenliste, um den virtuellen Hintergrund anzuzeigen.
  6. OBS Output an die virtuelle Kamera senden:

    • Gehen Sie in OBS zu "Datei" > "Einstellungen" > "Video".
    • Wählen Sie "Virtuelle Kamera starten". Ihr OBS-Output wird nun an die virtuelle Kamera gesendet.
  7. Virtuelle Kamera in anderen Anwendungen verwenden:

    • Öffnen Sie eine Anwendung wie Zoom, Skype oder Teams.
    • Wählen Sie in den Kameraeinstellungen die Option "OBS Virtual Camera". Ihr Video-Feed sollte nun den virtuellen Hintergrund anzeigen.

Hinweis: Die Qualität der Hintergrundentfernung kann je nach Lichtverhältnissen, Webcam-Qualität und Raumhintergrund variieren. Es wird empfohlen, die Einstellungen vor einem Live-Stream oder Meeting zu testen.


Thin Client to Proxmox

Use this:

https://www.apalrd.net/posts/2022/raspi_spice/

script:

#!/bin/bash
set -e

# Set auth options
PASSWORD='remote1234'
USERNAME='remote@pve'

# Set VM ID
VMID="601"

# Set Node
# This must either be a DNS address or name of the node in the cluster
NODE="liz"

# Proxy equals node if node is a DNS address
# Otherwise, you need to set the IP address of the node here
PROXY="10.11.12.10"

#The rest of the script from Proxmox
NODE="${NODE%%\.*}"

DATA="$(curl -f -s -S -k --data-urlencode "username=$USERNAME" --data-urlencode "password=$PASSWORD" "https://$PROXY:8006/api2/json/access/ticket")"

echo "AUTH OK"

TICKET="${DATA//\"/}"
TICKET="${TICKET##*ticket:}"
TICKET="${TICKET%%,*}"
TICKET="${TICKET%%\}*}"

CSRF="${DATA//\"/}"
CSRF="${CSRF##*CSRFPreventionToken:}"
CSRF="${CSRF%%,*}"
CSRF="${CSRF%%\}*}"

curl -f -s -S -k -b "PVEAuthCookie=$TICKET" -H "CSRFPreventionToken: $CSRF" "https://$PROXY:8006/api2/spiceconfig/nodes/$NODE/qemu/$VMID/spiceproxy" -d "proxy=$PROXY" > spiceproxy

#Launch remote-viewer with spiceproxy file, in kiosk mode, quit on disconnect
#The run loop will get a new ticket and launch us again if we disconnect
exec remote-viewer -k --kiosk-quit on-disconnect spiceproxy

Touchpad configs:

Add /etc/X11/xorg.conf.d/40-libinput.conf

 

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "Tapping" "on"
        Option "NaturalScrolling" "true"
EndSection

Kindersicherung

Time-keeper

sudo apt install -y timekpr

Then configure...

 

DNS-resolve

Use PI hole

Print with AB-88H

Driver

Download from here:

https://ddigital.pt/en/ab-88h

 

Install with

sudo bash setup_v1.0.0.sh
sudo apt install -y libcups2-dev

or try this:

sudo apt-get install libcupsimage2:i386

 

yt-dlp

Command zum schnellen download von music.youtube.com

 

yt-dlp --embed-metadata --embed-thumbnail -x --audio-format mp3 -f 251 -o '%(album)s/%(title)s.%(ext)s' <link>

 

 

 

Add something to BTCmap.org

Edit location in openstreetmap.org

 

Add those Tags:

check_date=2024-04-04
check_date:currency:XBT=2024-04-05
currency:XBT=yes
payment:coins=yes
payment:lightning=yes
payment:onchain=yes
survey:date=2024-04-04

For more visit: https://wiki.btcmap.org/general/tagging-instructions.html#tagging-guidance

Make your own ISO

Install the tools:

sudo apt-add-repository universe
sudo apt-add-repository ppa:cubic-wizard/release
sudo apt update
sudo apt install --no-install-recommends cubic

 

 

Start app and select your start ISO.
In the chroot version make your channges

 

 

 

Davinci Resolve on Linux MINT

Download Davinci: https://www.blackmagicdesign.com/products/davinciresolve

 

Extrackt and install by dobble cklick.

Install dependensies:

sudo apt install -y libapr1 libaprutil1 libxcb-cursor0 libxcb-damage0

 

On amd GPU install 

sudo apt install mesa-opencl-icd

and check:

clinfo

 

Nice scripts

Nice scripts

Converte Markdown File to PDF

Save file convert_md_to_pdf.zsh

 

 

#!/bin/zsh

# Überprüfe, ob das Argument für die Markdown-Datei übergeben wurde
if [ $# -eq 0 ]; then
    echo "Usage: $0 /path/to/markdown.md"
    exit 1
fi

# Pfad zur Markdown-Datei
input_file=$1
output_file="${input_file:r}.pdf"

# Überprüfen, ob Pandoc installiert ist
if ! command -v pandoc &> /dev/null; then
    echo "Pandoc could not be found. Please install Pandoc first."
    exit 1
fi

# Überprüfen, ob das Eisvogel-Template existiert
template_path="$HOME/templates/eisvogel.tex"
if [ ! -f "$template_path" ]; then
    echo "Eisvogel template not found. Downloading..."
    mkdir -p ~/templates
    wget -P ~/templates https://raw.githubusercontent.com/Wandmalfarbe/pandoc-latex-template/master/eisvogel.tex
fi

# Pandoc-Befehl zur Umwandlung der Markdown-Datei in eine PDF-Datei
pandoc $input_file -o $output_file --from markdown --template $template_path --listings --toc

# Optionen erklärt:
# --from markdown: Gibt das Eingabeformat an
# --template eisvogel: Verwendet das Eisvogel-Template für eine schöne PDF-Ausgabe
# --listings: Aktiviert die Unterstützung für Code-Listings
# --toc: Fügt ein Inhaltsverzeichnis hinzu

echo "PDF erfolgreich erstellt: $output_file"

 

install needed tools:

sudo apt install -y pandoc texlive-full

 

Run Script:

 

zsh convert_md_to_pdf.zsh pwd/to/markdown.md

or:

bash convert_md_to_pdf.zsh pwd/to/markdown.md