diff --git a/bHELPER.sh b/bHELPER.sh index a89e4e9..51127f1 100644 --- a/bHELPER.sh +++ b/bHELPER.sh @@ -1,4 +1,749 @@ #!/usr/bin/env bash +SkriptVersion="2022-03-19 00:45" + +gl__nmcli_dev_status="${0}.nmcli_dev_status.tmp" && nmcli dev status > ${gl__nmcli_dev_status} + + gl_SkriptName=$(basename "${0}") +gl__SkriptPfadName=$(cd "$(dirname "${0}")"; pwd -P)/$(basename "${0}") + gl_SkriptOrdner=$(cd "$(dirname "${0}")"; pwd -P)/ + gl__config_folder="${HOME}/.config/bHELPER/" + gl__config_file="${HOME}/.config/bHELPER/bHELPER.conf" + gl__osname=$(grep "NAME=" /etc/os-release | sed "s/NAME=//" | sed "s/\"//") + gl__osprettyname=$(grep "^PRETTY_NAME" /etc/os-release | grep -o "\".*\"" | sed "s/^\"//" | sed "s/\"$//") + gl__ipv4_eth=$(ip addr list | sed -n '/^[0-9]: e/,/^[0-9]: [a-z]/p' | grep -o "inet [0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}" | grep -o "[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}") + gl__ipv4_wlan=$(ip addr list | grep -A2 ": wl[a-z0-9]\{3\}" | grep -o "inet [0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}" | grep -o "[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}") + gl__wlan_ssid=$(grep " wifi " ${gl__nmcli_dev_status} | awk '{print $NF}') + gl__wlandev=$(grep " wifi " ${gl__nmcli_dev_status} | awk '{print $1}') + gl__wlanactive=$(grep " wifi " ${gl__nmcli_dev_status} | grep -o "verbunden\|nicht verfügbar\|wird verbunden") + gl__bat_charge=$(inxi --battery | grep -o "charge: .*condition" | sed "s/^.*Wh//" | grep -o "[0-9]\{1,3\}\.[0-9]%\|[0-9]\{1,3\}%" | sed ':a;N;$!ba;s/\n/ /g') + +[[ -d ${HOME}/Desktop/ ]] && gl__desktop_vz=Desktop/ +[[ -d ${HOME}/Schreibtisch/ ]] && gl__desktop_vz=Schreibtisch/ + + + +################################################################################ +### Desktop Icon +################################################################################ + +if grep "^desktopiconautom=no" "${gl__config_file}" &>/dev/null ; then +echo "bla" &>/dev/null +else +cat <<_EOF_ > "${HOME}/${gl__desktop_vz}bHELPER.desktop" +#!/usr/bin/env xdg-open +[Desktop Entry] +Name=bHELPER +Icon=${HOME}/.bHELPER/bHELPER.png +Exec=bash '${HOME}/.bHELPER/bHELPER.sh' +Type=Application +Terminal=true +_EOF_ + +chmod 755 "${HOME}/${gl__desktop_vz}bHELPER.desktop" +fi + + + +################################################################################ +### Optik +################################################################################ + + gl__format_red=$(echo -e "\033[1;31m") + gl__format_green=$(echo -e "\033[1;32m") + gl__format_off=$(echo -e "\033[0m") + gl__datei_anfang=$(echo "${gl__format_red}-------- "${datei}" (ANFANG) -----------------------------------------------------------------${gl__format_off}") + gl__datei_ende=$(echo "${gl__format_red}-------- "${datei}" (ENDE) -------------------------------------------------------------------${gl__format_off}") +gl__ausgabe_anfang=$(echo "${gl__format_red}---- Terminalausgabe (Anfang) --------------------------------------------------------------------------${gl__format_off}") + gl__ausgabe_ende=$(echo "${gl__format_red}---- Terminalausgabe (Ende) ----------------------------------------------------------------------------${gl__format_off}") + gl__bittewaehlen=$(echo " ${gl__format_red}Bitte wählen und ENTER drücken!${gl__format_off}") + + + +################################################################################ +### Favoriten +################################################################################ + +[[ -f /usr/bin/nautilus ]] && gl__favdateimanager="/usr/bin/nautilus" +[[ -f /usr/bin/thunar ]] && gl__favdateimanager="/usr/bin/thunar" +[[ -f /usr/bin/caja ]] && gl__favdateimanager="/usr/bin/caja" +[[ -f /usr/bin/dolphin ]] && gl__favdateimanager="/usr/bin/dolphin --split" + +[[ -f /usr/bin/vim ]] && gl__fav_editor="/usr/bin/vim" +[[ -f /usr/bin/nano ]] && gl__fav_editor="/usr/bin/nano" +[[ -f /usr/bin/kwrite ]] && gl__fav_editor="/usr/bin/kwrite" +[[ -f /usr/bin/gedit ]] && gl__fav_editor="/usr/bin/gedit" +[[ -f /usr/bin/kate ]] && gl__fav_editor="/usr/bin/kate" +[[ -f /usr/bin/geany ]] && gl__fav_editor="/usr/bin/geany" + +[[ -f /usr/bin/evince ]] && gl__favpdfviewer="/usr/bin/evince" +[[ -f /usr/bin/okular ]] && gl__favpdfviewer="/usr/bin/okular" + +[[ -f /usr/bin/texmaker ]] && gl_favtexeditor="/usr/bin/texmaker" +[[ -f /usr/bin/gnome-latex ]] && gl_favtexeditor="/usr/bin/gnome-latex" + +[[ -f /usr/bin/qupzilla ]] && gl__favbrowser="/usr/bin/qupzilla" +[[ -f /usr/bin/konqueror ]] && gl__favbrowser="/usr/bin/konqueror" +[[ -f /usr/bin/firefox ]] && gl__favbrowser="/usr/bin/firefox" + +[[ -f /usr/bin/clementine ]] && gl__fav_audioplayer="/usr/bin/clementine" + +[[ -f /usr/bin/vlc ]] && gl__fav_videoplayer="/usr/bin/vlc" + + + +################################################################################ +### STARTSEITE +################################################################################ + +### LÜFTERDREHZAHL +fanspeed=$(inxi --sensors | grep "Fan Speeds" | grep -o ": [0-9]\{0,4\} " | sed "s/: //g") + +### CPU TEMPERATUR +if [ -f /usr/bin/sensors ]; then +sensorsvar="${0}.sensors.tmp" +sensors > "${sensorsvar}" +core0temp=$(grep "Core 0" "${sensorsvar}" | awk '{print $3}') +core1temp=$(grep "Core 1" "${sensorsvar}" | awk '{print $3}') +core2temp=$(grep "Core 2" "${sensorsvar}" | awk '{print $3}') +core3temp=$(grep "Core 3" "${sensorsvar}" | awk '{print $3}') +fi + +### LAUTSTÄRKE + gl__lautstaerke=$(amixer | grep -o "\[off\]\|\[on\]" | head -1 | sed "s/\[//g" | sed "s/\]//g") +gl__lautstaerkeprozent=$(amixer | grep "%" | head -1 | grep -o "\[[0-9]\{1,3\}%\]" | uniq | sed "s/\[//g" | sed "s/\]//g") + +if [ ${gl__lautstaerke} = "off" ] ; then + gl__lautstaerke="Ton: ${gl__format_red}AUS${gl__format_off} Lautstärke (Master): ${gl__format_red}${gl__lautstaerkeprozent}${gl__format_off}" + gl__ton_anaus="AUS" + else + gl__lautstaerke="Ton: ${gl__format_red}EIN${gl__format_off} Lautstärke (Master): ${gl__format_red}${gl__lautstaerkeprozent}${gl__format_off}" + gl__ton_anaus="EIN" + fi + +gl__lautstaerkeprozent=$(amixer | grep "%" | head -1 | grep -o "\[[0-9]\{1,3\}%\]" | sed "s/\[//g" | sed "s/\]//g") + +### MIKROFONE + +function pacmd_mic_mute { + pacmd list-sources | grep "alsa_input" | sed -e "s/name: //g" -e "s/^[ \t]*//;s/[ \t]*$//" | xargs -I{} pactl set-source-mute {} yes +} + +function pacmd_mic_unmute { + pacmd list-sources | grep "alsa_input" | sed -e "s/name: //g" -e "s/^[ \t]*//;s/[ \t]*$//" | xargs -I{} pactl set-source-mute {} no +} + +function pacmd_mic_status { + pacmd list-sources | grep "index:\|device.string\|name:\|muted" | grep -B1 -A1 "alsa_input" | grep -o "muted: .*$" | uniq | sed "s/muted: //g" | grep yes &> /dev/null && gl__pacmd_mic_mutestatus="aus" || gl__pacmd_mic_mutestatus="an" +} +pacmd_mic_status + +# Device Namen +pacmd_mic_list=$(pacmd list-sources | grep "alsa_input" | sed -e "s/name: //g" | sed "s/^[ \t]*//;s/[ \t]*$//") + + +function bannerstart { + echo -e "" + echo -e " ${gl__format_red}88 88 88 88888888 88 88888b. 88888888 888888b. ${gl__format_off}" + echo -e " ${gl__format_red}88 88 88 88 88 88 Y8b 88 88 Y8b ${gl__format_off}" + echo -e " ${gl__format_red}88 88 88 88 88 88 88 88 88 88 ${gl__format_off}" + echo -e " ${gl__format_red}88888b. 88888888 888888 88 88 d8P 888888 88 d8P ${gl__format_off}" + echo -e " ${gl__format_red}88 \"8b 88 88 88 88 88888P\" 88 88888P\" ${gl__format_off}" + echo -e " ${gl__format_red}88 88 88 88 88 88 88 88 88 T8b ${gl__format_off}" + echo -e " ${gl__format_red}88 d8P 88 88 88 88 88 88 88 T8b ${gl__format_off}" + echo -e " ${gl__format_red}8888P\" 88 88 88888888 8888888 88 88888888 88 T8b ${gl__format_off}" + echo -e "" + echo -e " ${gl__format_red}Version:${gl__format_off} ${SkriptVersion} ${gl__format_red}Ton:${gl__format_off} ${gl__ton_anaus} ${gl__format_red}Volume:${gl__format_off} ${gl__lautstaerkeprozent} ${gl__format_red}Mikros:${gl__format_off} ${gl__pacmd_mic_mutestatus}" + echo -e " ${gl__format_red}EN:${gl__format_off} ${gl__ipv4_eth} ${gl__format_red}OS:${gl__format_off} ${gl__osprettyname} ${gl__format_red}Hostname:${gl__format_off} ${HOSTNAME}" + echo -e " ${gl__format_red}WLAN:${gl__format_off} ${gl__wlanactive} ${gl__format_red}WLAN IP:${gl__format_off} ${gl__ipv4_wlan} ${gl__format_red}WLAN SSID:${gl__format_off} ${gl__wlan_ssid}" + echo -e " ${gl__format_red}Akku:${gl__format_off} ${gl__bat_charge} ${gl__format_red}Lüfterdrehzahl:${gl__format_off} ${fanspeed} ${gl__format_red}CPU:${gl__format_off} ${core0temp} ${core1temp} ${core2temp} ${core3temp} ${core4temp} ${core5temp} ${core6temp} ${core7temp}" + } + +function banner { + clear + echo -e "" + echo -e " ${gl__format_red}88 88 88 88888888 88 88888b. 88888888 888888b. ${gl__format_off}" + echo -e " ${gl__format_red}88 88 88 88 88 88 Y8b 88 88 Y8b ${gl__format_off}" + echo -e " ${gl__format_red}88 88 88 88 88 88 88 88 88 88 ${gl__format_off}" + echo -e " ${gl__format_red}888(8b. 88888888 888888 88 88 d8P 888888 88 d8P ${gl__format_off}" + echo -e " ${gl__format_red}88 \"8b 88 88 88 88 88888P\" 88 88888P\" ${gl__format_off}" + echo -e " ${gl__format_red}88 88 88 88 88 88 88 88 88 T8b ${gl__format_off}" + echo -e " ${gl__format_red}88 d8P 88 88 88 88 88 88 88 T8b ${gl__format_off}" + echo -e " ${gl__format_red}8888P\" 88 88 88888888 8888888 88 88888888 88 T8b ${gl__format_off}" + echo -e "" + echo -e "${gl__format_red} ${bannertitel} ${gl__format_off}" + echo ""; echo "" + } + +function pause { + echo -e "" + echo -e "" + read -p "${gl__format_red}Drücke ENTER um weiterzumachen${gl__format_off}" + } + +function ende { + echo -e "" + echo -e "" + read -p "${gl__format_red}Drücke ENTER um weiterzumachen${gl__format_off}" + } +function endedasi { + echo -e "" + echo -e "" + read -p "${gl__format_red}Das Verzeichnis existiert nicht. Tschüss!${gl__format_off}" + exit + } + +clear +bannerstart +echo "" +echo "" +echo " ${gl__format_red}| H |${gl__format_off} Hardware ${gl__format_red}| S |${gl__format_off} Software" +echo " ${gl__format_red}| F |${gl__format_off} Dateien & Verzeichn. ${gl__format_red}| W |${gl__format_off} Netzwerk" +echo "" +echo "" +echo " ${gl__format_red}| E |${gl__format_off} Einstellungen ${gl__format_red}| U |${gl__format_off} bHELPER aktualisieren" +echo "" +echo " ${gl__format_red}| V |${gl__format_off} leiser ${gl__format_red}| B |${gl__format_off} TON ein/aus ${gl__format_red}| N |${gl__format_off} lauter" +echo " ${gl__format_red}| M |${gl__format_off} Mikrofone ein/aus" +echo "" +echo "${gl__bittewaehlen}" + +read hauptmenue + +case ${hauptmenue} in + + + +################################################################################ +### Bildschirm sperren +################################################################################ + +1) +if [[ ${WINDOWMANAGER} =~ .*plasma.* ]] +then +dbus-send --type=method_call --dest=org.kde.screensaver /ScreenSaver org.freedesktop.ScreenSaver.Lock +fi + +if [[ ${WINDOWMANAGER} =~ .*xfce.* ]] +then +xscreensaver-command -lock +fi +;; + + + +################################################################################ +### Hardware +################################################################################ + +h|H) +bannertitel="Hauptmenü => Hardware" +banner +echo " ${gl__format_red}| 0 |${gl__format_off} Hardwareinformationen eures Rechners (dmidecode)" +echo " ${gl__format_red}| 1 |${gl__format_off} Hardwareinformationen eures Rechners (inxi)" +echo " ${gl__format_red}| B |${gl__format_off} Bluetooth" +echo " ${gl__format_red}| A |${gl__format_off} Laptopakkus (upower, inxi)" +echo " ${gl__format_red}| XK |${gl__format_off} xrandr - Bildschirmkonfiguration anzeigen lassen" +echo " ${gl__format_red}| X1 |${gl__format_off} xrandr - Externer Bildschirm (HDMI-1) EIN und Laptop Bildschirm (LVDS-1) AUS" +echo "" +echo "${gl__bittewaehlen}" + +read hardware + + case ${hardware} in + + 0) + bannertitel="Hauptmenü => Hardware => Hardwareinformationen eures Rechners (dmidecode)" + banner + sudo /usr/sbin/dmidecode -s system-manufacturer + bannertitel="Hauptmenü => Hardware => Hardwareinformationen eures Rechners (dmidecode)" + banner + echo " ${gl__format_red}Hersteller des Systems:${gl__format_off} $(sudo /usr/sbin/dmidecode -s system-manufacturer)" + echo " ${gl__format_red}Produktname des Systems:${gl__format_off} $(sudo /usr/sbin/dmidecode -s system-product-name)" + echo " ${gl__format_red}Modell Nr. des Systems:${gl__format_off} $(sudo /usr/sbin/dmidecode -s system-version)" + echo " ${gl__format_red}Verwendete BIOS-Version:${gl__format_off} $(sudo /usr/sbin/dmidecode -s bios-version)" + echo " ${gl__format_red}Hersteller des Mainboards:${gl__format_off} $(sudo /usr/sbin/dmidecode -s baseboard-manufacturer)" + echo " ${gl__format_red}Produktname des Mainboards:${gl__format_off} $(sudo /usr/sbin/dmidecode -s baseboard-product-name)" + echo " ${gl__format_red}Versionsnummer des Mainboards:${gl__format_off} $(sudo /usr/sbin/dmidecode -s baseboard-version)" + ende + ;; + + 1) + bannertitel="Hauptmenü => Hardware => Hardwareinformationen eures Rechners (inxi)" + banner + inxi -Fxz + ende + ;; + + b|B) + [[ -f /usr/sbin/rfkill ]] && rfkill_bin="/usr/sbin/rfkill" + [[ -f /usr/bin/rfkill ]] && rfkill_bin="/usr/bin/rfkill" + + bannertitel="Hauptmenü => Hardware => Bluetooth" + banner + echo "${gl__format_red}► Syntax:${gl__format_off} systemctl status bluetooth.service" + echo "${gl__ausgabe_anfang}" + systemctl status bluetooth.service + echo "${gl__ausgabe_ende}" + echo "" + echo "" + echo "${gl__format_red}► Syntax:${gl__format_off} journalctl -o short-iso --no-pager -u bluetooth.service" + echo "${gl__ausgabe_anfang}" + journalctl -o short-iso --no-pager -u bluetooth.service + echo "${gl__ausgabe_ende}" + echo "" + echo "" + echo "${gl__format_red}► Syntax:${gl__format_off} bluetooth --help" + echo "${gl__ausgabe_anfang}" + bluetooth --help + echo "${gl__ausgabe_ende}" + echo "" + echo "" + echo "${gl__format_red}► Syntax:${gl__format_off} rfkill list bluetooth" + echo "${gl__ausgabe_anfang}" + ${rfkill_bin} list bluetooth + echo "${gl__ausgabe_ende}" + echo "" + echo "" + echo "${gl__format_red}► Syntax:${gl__format_off} inxi --bluetooth" + echo "${gl__ausgabe_anfang}" + inxi --bluetooth + echo "${gl__ausgabe_ende}" + ende + ;; + + a|A) + bannertitel="Hauptmenü => Hardware => Akkuinformationen eures Laptops (upower, inxi)" + banner + echo "${gl__ausgabe_anfang}" + upower -i /org/freedesktop/UPower/devices/battery_BAT0 + echo "${gl__ausgabe_ende}" + echo "${gl__format_red}► Ausgeführte Syntax:${gl__format_off} upower -i /org/freedesktop/UPower/devices/battery_BAT0" + echo "" + echo "${gl__ausgabe_anfang}" + inxi --battery + echo "${gl__ausgabe_ende}" + echo "${gl__format_red}► Ausgeführte Syntax:${gl__format_off} inxi --battery" + ende + ;; + + xk|XK) + bannertitel="Hauptmenü => Hardware => Bildschirmkonfigurieren (xrandr)" + banner + echo "${gl__format_red}► Alle aktiven Monitoranschlüsse:${gl__format_off}" + echo "${gl__ausgabe_anfang}" + xrandr --listactivemonitors + echo "${gl__ausgabe_ende}" + echo "" + echo "${gl__format_red}► Alle vorhandene Monitoranschlüsse:${gl__format_off}" + echo "${gl__ausgabe_anfang}" + xrandr --listproviders + echo "${gl__ausgabe_ende}" + echo "" + echo "${gl__format_red}► Komplette Ausgabe:${gl__format_off}" + echo "${gl__ausgabe_anfang}" + xrandr + echo "${gl__ausgabe_ende}" + ende + ;; + + esac + +;; + + + +################################################################################ +### Software +################################################################################ + +s|S) +bannertitel="Hauptmenü => Software" +banner +echo " ${gl__format_red}Paketverwaltungen:${gl__format_off}" +grep "Tumbleweed\|Ubuntu\|Manjaro" /etc/os-release &> /dev/null && echo " ${gl__format_red}| L |${gl__format_off} Linux Distribution aktualisieren" +[[ -f /usr/bin/flatpak ]] && echo " ${gl__format_red}| F |${gl__format_off} Flatpak" +[[ -f /usr/bin/zypper ]] && echo " ${gl__format_red}| C |${gl__format_off} Alle nicht gepatchten CVEs auflisten" +echo "" +echo " ${gl__format_red}Programme:${gl__format_off}" +[[ -f /usr/bin/thunderbird ]] && echo " ${gl__format_red}| T |${gl__format_off} Thunderbird (Infos)" +echo "" +echo "${gl__bittewaehlen}" + +read software + + case ${software} in + + l|L) + bannertitel="Hauptmenü => Software => Paketverwaltung => Linux Distribution aktualisieren" + banner +if grep "openSUSE Tumbleweed" /etc/os-release &> /dev/null ; then + echo "${gl__ausgabe_anfang}" + sudo zypper refresh + zypper list-updates + sudo zypper dup + echo "${gl__ausgabe_ende}" + echo "" + echo "${gl__format_red}► Ausgeführte Syntax:${gl__format_off}" + echo "sudo zypper refresh" + echo "zypper list-updates" + echo "sudo zypper dup" +fi + +if grep -i "ubuntu" /etc/os-release &> /dev/null ; then + echo "${gl__ausgabe_anfang}" + sudo apt update + sudo apt upgrade -y + echo "${gl__ausgabe_ende}" + echo "" + echo "${gl__format_red}► Ausgeführte Syntax:${gl__format_off}" + echo "sudo apt update" + echo "sudo apt upgrade -y" +fi + +if grep -i "Manjaro" /etc/os-release &> /dev/null ; then + echo "${gl__ausgabe_anfang}" + sudo pacman -Suy + echo "${gl__ausgabe_ende}" + echo "" + echo "${gl__format_red}► Ausgeführte Syntax:${gl__format_off}" + echo "sudo pacman -Suy" +fi + ende + ;; + + + +f|F) +bannertitel="Hauptmenü => Software => Flatpak" +banner +echo " ${gl__format_red}| U |${gl__format_off} Installierte Pakete aktualisieren" +echo " ${gl__format_red}| L |${gl__format_off} Installierte Pakete auflisten" +echo " ${gl__format_red}| G |${gl__format_off} Ungenutzter Pakete deinstallieren auflisten" +echo "" +echo "${gl__bittewaehlen}" + +read flatpak + + case ${flatpak} in + + u|U) + bannertitel="Hauptmenü => Software => Flatpak => Installierte Pakete aktualisieren" + banner +echo "${gl__ausgabe_anfang}" +sudo /usr/bin/flatpak update +echo "${gl__ausgabe_ende}" +echo "" +echo "${gl__format_red}► Ausgeführte Syntax:${gl__format_off} sudo flatpak update" + ende + ;; + + l|L) + bannertitel="Hauptmenü => Software => Flatpak => Installierte Pakete auflisten" + banner +echo "${gl__ausgabe_anfang}" +/usr/bin/flatpak list --show-details +echo "${gl__ausgabe_ende}" +echo "" +echo "${gl__format_red}► Ausgeführte Syntax:${gl__format_off} flatpak list --show-details" +echo "" +echo "" +echo "${gl__ausgabe_anfang}" +/usr/bin/flatpak list +echo "${gl__ausgabe_ende}" +echo "" +echo "${gl__format_red}► Ausgeführte Syntax:${gl__format_off} flatpak list" + ende + ;; + + g|G) + bannertitel="Hauptmenü => Software => Flatpak => Ungenutzter Pakete deinstallieren auflisten" + banner +echo "${gl__ausgabe_anfang}" +sudo /usr/bin/flatpak uninstall --unused +echo "${gl__ausgabe_ende}" +echo "" +echo "${gl__format_red}► Ausgeführte Syntax:${gl__format_off} sudo flatpak uninstall --unused" + ende + ;; + + esac + +;; + + + + c|C) + bannertitel="Hauptmenü => Software => Paketverwaltung => Alle nicht gepatchten CVEs auflisten" + banner +if [ -f /usr/bin/zypper ] ; then + echo "${gl__ausgabe_anfang}" + sudo zypper refresh + zypper list-patches --cve + echo "${gl__ausgabe_ende}" + echo "" + echo "${gl__format_red}► Ausgeführte Syntax:${gl__format_off}" + echo "sudo zypper refresh" + echo "zypper list-patches --cve" +fi + ende + ;; + + + t|T) +bannertitel="Hauptmenü => Software => Programme => Thunderbird (Infos)" +banner +echo "${gl__format_red}► Syntax:${gl__format_off} thunderbird --version" +echo "${gl__ausgabe_anfang}" +[[ -f /usr/bin/thunderbird ]] && thunderbird --version +echo "${gl__ausgabe_ende}" + +if [ -f "/usr/bin/zypper" ]; then + echo "" + echo "${gl__format_red}► Syntax:${gl__format_off} zypper info MozillaThunderbird" + echo "${gl__ausgabe_anfang}" + [[ -f /usr/bin/zypper ]] && /usr/bin/zypper info MozillaThunderbird + echo "${gl__ausgabe_ende}" +fi + +if [ -f "/usr/bin/pacman" ]; then + echo "" + echo "${gl__format_red}► Syntax:${gl__format_off} pacman -Q | grep thunderbird" + echo "${gl__ausgabe_anfang}" + [[ -f /usr/bin/pacman ]] && /usr/bin/pacman -Q | grep thunderbird + echo "${gl__ausgabe_ende}" +fi + +ende + ;; + + esac + +;; + + + +################################################################################ +### Netzwerk +################################################################################ + +w|W) +bannertitel="Hauptmenü => Netzwerk" +banner +echo " ${gl__format_red}| W |${gl__format_off} WLAN Informationen" +echo "" +echo "${gl__bittewaehlen}" + +read netzwerk + + case ${netzwerk} in + + w|W) +[[ -f /usr/sbin/rfkill ]] && rfkill_bin="/usr/sbin/rfkill" +[[ -f /usr/bin/rfkill ]] && rfkill_bin="/usr/bin/rfkill" + + bannertitel="Hauptmenü => Netzwerk => WLAN Informationen" + banner + +echo "${gl__format_red}► Syntax:${gl__format_off} rfkill list wifi" +echo "${gl__ausgabe_anfang}" +${rfkill_bin} list wifi +echo "${gl__ausgabe_ende}" +echo "" +echo "${gl__format_red}► Syntax:${gl__format_off} inxi --network" +echo "${gl__ausgabe_anfang}" +inxi --network +echo "${gl__ausgabe_ende}" + + ende + ;; + + esac + +;; + + + +################################################################################ +### Dateien & Verzeichnisse +################################################################################ + +f|F) +bannertitel="Hauptmenü => Dateien & Verzeichnisse" +banner +echo " ${gl__format_red}| F |${gl__format_off} Nach Dateien und Verzeichnissen suchen" +echo " ${gl__format_red}| G |${gl__format_off} Die zehn größten Dateien in deinem ${HOME}" +echo "" +echo "${gl__bittewaehlen}" + +read software + + case ${software} in + + g|G) + bannertitel="Hauptmenü => Dateien & Verzeichnisse => Die 10 größten Dateien" + banner + find ${HOME} -type f -print0 | xargs -0 du -h | sort -hr | head -10 + ende + ;; + + f|F) + bannertitel="Hauptmenü => Dateien & Verzeichnisse => Nach Dateien und Verzeichnissen suchen" + banner + +read -p "${gl__format_red}Zeichenfolge: ${gl__format_off}" zeichenfolge +echo -e "" +echo "${gl__format_red}---- Verzeichnisse die${gl__format_off} "${zeichenfolge}" ${gl__format_red}enthalten -------${gl__format_off}" +find "${HOME}" -iname "*${zeichenfolge}*" -type d +echo -e "${gl__format_red}----------------------------------------------------------${gl__format_off}" +echo -e "" +echo "${gl__format_red}---- Dateien die${gl__format_off} "${zeichenfolge}" ${gl__format_red}enthalten -------${gl__format_off}" +find "${HOME}" -iname "*${zeichenfolge}*" -type f -exec ls -alt --color=auto --time-style=long-iso {} + | sort -k 8 +echo -e "${gl__format_red}----------------------------------------------------------${gl__format_off}" + + ende + ;; + + esac + +;; + + + +######################################################################## +### TON an/aus/leiser/lauter +######################################################################## + +b|B) +gl__lautstaerke=$(amixer | grep -o "\[off\]\|\[on\]" | head -1 | sed "s/\[//g" | sed "s/\]//g") +if [ ${gl__lautstaerke} = "off" ] ; then + amixer sset Master unmute +else + amixer sset Master mute +fi +export gl__lautstaerke +;; + +n|N) +amixer set Master 10%+ +;; + +v|V) +amixer set Master 10%- +;; + + + +################################################################################ +### Mikrofone ein-/ausschalten +################################################################################ + +m|M) +pacmd_mic_status + +if [ "${gl__pacmd_mic_mutestatus}" == "an" ]; then + pacmd_mic_mute +else + pacmd_mic_unmute +fi + +;; + + + +################################################################################ +### bHELPER aktualisieren +################################################################################ + +u|U) +bannertitel="Hauptmenü => bHELPER aktualisieren" +banner + +rm /tmp/bHELPER-*.zip +bHELPER_zip=$(mktemp /tmp/bHELPER-XXXXXXXXX.zip) +cd ~ +rm -rf ~/.bHELPER/ +wget -O ${bHELPER_zip} https://git.disroot.org/dingens/bHELPER/archive/master.zip +unzip -d ~/ ${bHELPER_zip} +mv ~/bhelper/ ~/.bHELPER/ + +ende +;; + + + +################################################################################ +### Einstellungen +################################################################################ + +e|E) +[[ -d "${gl__config_folder}" ]] || mkdir -p "${gl__config_folder}" +[[ -f "${gl__config_file}" ]] || touch "${gl__config_file}" + +bannertitel="Hauptmenü => Einstellungen" +banner + +unset desktopiconautom_status +grep "desktopiconautom=no" "${gl__config_file}" &> /dev/null && desktopiconautom_status="$(echo "${gl__format_red}[ausgeschaltet]${gl__format_off}")" +grep "desktopiconautom=no" "${gl__config_file}" &> /dev/null || desktopiconautom_status="$(echo "${gl__format_green}[eingeschaltet]${gl__format_off}")" +echo " ${gl__format_red}| 0 |${gl__format_off} Automatische Erstellung des Desktop Icons ${desktopiconautom_status}" + +echo " ${gl__format_red}| E |${gl__format_off} Dieses Skript editieren" +echo "" +echo "" +echo "${gl__bittewaehlen}" + +read einstellungen + + case ${einstellungen} in + + 0) + bannertitel="Hauptmenü => Einstellungen => Automatisches Erstellung des Desktop Icons" + banner + +if [[ "${desktopiconautom_status}" =~ .*eingeschaltet.* ]] ; then +grep "desktopiconautom=" "${gl__config_file}" &> /dev/null || echo "desktopiconautom=no" >> "${gl__config_file}" +sed -i "s/^desktopiconautom=.*$/desktopiconautom=no/" "${gl__config_file}" +fi + +if [[ "${desktopiconautom_status}" =~ .*ausgeschaltet.* ]] ; then +grep "desktopiconautom=" "${gl__config_file}" &> /dev/null || echo "desktopiconautom=yes" >> "${gl__config_file}" +sed -i "s/^desktopiconautom=.*$/desktopiconautom=yes/" "${gl__config_file}" +fi + + banner +grep "desktopiconautom=no" "${gl__config_file}" &> /dev/null && echo "Die Automatische Erstellung des Desktop Icons wurde ${gl__format_red}[ausgeschaltet]${gl__format_off}" +grep "desktopiconautom=yes" "${gl__config_file}" &> /dev/null && echo "Die Automatische Erstellung des Desktop Icons wurde ${gl__format_green}[eingeschaltet]${gl__format_off}" + ende + ;; + + e|E) +rm "${0}".dasi10 2> /dev/null +cp "${0}".dasi09 "${0}".dasi10 2> /dev/null +cp "${0}".dasi08 "${0}".dasi09 2> /dev/null +cp "${0}".dasi07 "${0}".dasi08 2> /dev/null +cp "${0}".dasi06 "${0}".dasi07 2> /dev/null +cp "${0}".dasi05 "${0}".dasi06 2> /dev/null +cp "${0}".dasi04 "${0}".dasi05 2> /dev/null +cp "${0}".dasi03 "${0}".dasi04 2> /dev/null +cp "${0}".dasi02 "${0}".dasi03 2> /dev/null +cp "${0}".dasi01 "${0}".dasi02 2> /dev/null +cp "${0}" "${0}".dasi01 2> /dev/null +nohup ${gl__fav_editor} "${0}" & + ;; + + esac + +;; + +esac + + + +rm /home/${USER}/nohup.out 2> /dev/null + +rm "${0}".*.tmp 2> /dev/null +. "${gl__SkriptPfadName}" && exit 0 +#!/usr/bin/env bash SkriptVersion="2022-03-18 23:45" gl__nmcli_dev_status="${0}.nmcli_dev_status.tmp" && nmcli dev status > ${gl__nmcli_dev_status}