Bash Script um DNS umzustellen?

Habe einmal ein Bash Script und eine .Desktop Verknüpfungen auf meinem Arch KDE und wollte bei Doppelklick auf die Verknüpfungen zb Updaten oder DNS auf 8.8.8.8 oderr Automatisch Umstellen.

(Ich kann auch via KDE Connect das ganze Starten und ohne EIngabe abschließen mit sudo pacman -Syu --noconfirm && yay -Syu --noconfirm)

Aber bei toggle_dns funktioniert das leider nicht mit dem gelieferten Code von ChatGPT (siehe Unten) und ich kann garkein Bash, nur "normale" programmiersprachen wie JavaScript oder PHP. Mit Python würde ich es vielleicht hinkriegen aber das ist doch viel aufwendiger jetzt die IDE erneut zu installieren als mit Bash.

Wenn es das gibt wollte ich eine KDE eigene Benachrichtigung in welchen Modus es jetzt gewechselt ist zb : DNS auf Automatisch umgestellt oder DNS auf 8.8.8.8 Umgestellt statt ein Terminal was ich dann noch per hand schließen muss.
Kann mir jemand weiterhelfen den Code zu reparieren ?

toggle_dns.sh :

#!/bin/bash

# Datei und Schnittstelle für die DNS-Konfiguration
RESOLV_CONF="/etc/resolv.conf"
INTERFACE="Netzwerkschnittstelle_von_euch"

# Funktion zum Setzen des DNS-Servers auf 8.8.8.8
set_dns() {
  echo -e "nameserver 8.8.8.8\noptions edns0" | sudo tee $RESOLV_CONF > /dev/null
  sudo systemctl restart NetworkManager
  notify "DNS wurde auf 8.8.8.8 gesetzt."
}

# Funktion zum Zurücksetzen des DNS-Servers auf automatisch
reset_dns() {
  sudo rm -f $RESOLV_CONF
  sudo systemctl restart NetworkManager
  notify "DNS wurde auf automatisch gesetzt."
}

# Funktion zum Senden einer KDE-Benachrichtigung
notify() {
  message=$1
  kdialog --passivepopup "$message" 5
}

# Überprüfen, ob der DNS-Server bereits auf 8.8.8.8 gesetzt ist
if grep -q "8.8.8.8" $RESOLV_CONF; then
  echo "DNS ist derzeit auf 8.8.8.8 gesetzt. Umschalten auf automatisch."
  reset_dns
else
  echo "DNS ist derzeit automatisch konfiguriert. Umschalten auf 8.8.8.8."
  set_dns
fi

Bild zum Beitrag
PC, Server, Computer, Internet, Windows, WLAN, Technik, Linux, IT, programmieren, Java, JavaScript, Ubuntu, Cplusplus, Bash, C Sharp, DNS, Gnome, Informatik, KDE, Programmiersprache, Python, Script, Shell, Arch Linux, Rust, Debian, PowerShell, KDE Plasma, node
Problem mit PHP-Composer: Was ist schief gelaufen?

Versuche hier grade auf meinem Server 2 verschiedene Librarys mithilfe von Composer zu installieren.

Leider ist wohl irgendwas bei der Installation von Composer gehörig schief gelaufen: Ich konnte zwar zunächst eine Library erfolgreich installieren aber es fing damit an, dass ich alle Composerdateien im /root Verzeichnis hatte. Diese wollte ich dann via Terminal nach /var/www/html verschieben (dabei muss aus irgendwelchen Gründen eine dazugehörige autoload.php verloren gegangen sein) also den kompletten Composerordner gelöscht und alles versucht neu zu installieren und aus der noch vorhandenen composer.phar versucht die Dateien neu zu extrahieren und dabei laut Terminal sogar auf die neueste Composer Version upgegradet: Dies hat zum Teil geklappt, nur eine extrem wichtige "composer.json" wurde dabei nicht erstellt. Also zunächst mal mit mehreren verschiedenen Anleitungen versucht diese manuell zu erstellen (was ja anscheinend in 5 Minuten problemlos möglich ist).

Naja das Problem ist nun, dass ich irgendwo festsitze. Ich habe die Anleitungen im Netz befolgt, aber bisher hab ich weder genau kapiert wieso diese extrem wichtige Datei nach erneuter Installation fehlt, noch was genau in diese Datei reingeschrieben werden muss oder per Script reingeschrieben wird (Name des Projekts? die Pfade (Namespaces?) der Packages, die ich installieren möchte?), noch wie ich folgenden Fehler beheben kann:

In ArrayLoader.php line 44:

Unknown package has no name defined ([]).

Diesen Fehler bekomme ich nun seit Stunden, egal was ich mit Composer versuche, auch wenn ich einfach versuche zu debuggen oder eine erneute Installation probiere...

Irgendwelche Ideen oder Ahnungen was hier falsch gelaufen ist?

Internet, Linux, IT, Webseite, programmieren, PHP, Putty, Script, ssh, Terminal, Composer, Kommandozeile, Debian 10
Kann man einzelne Textabschnitte/Absätze in einem Textverarbeitungsprogramm, oder Webbrowser demarkieren?

Ich habe ein richtiges Nischenproblem und hab nach stundenlangem Googeln leider keine Lösung finden können.

Ich hoffe sehr, dass mir hier eventuell jemand weiter helfen kann.

Ich habe einen teilweise sehbehinderten Freund, der einen Screenreader verwendet.

Der Screenreader hat die Option, nur den ausgewählten Text vorzulesen, anstatt das ganze Dokument oder die ganze Webseite.

Mein Freund ist Student und nimmt an Webentwicklungskursen teil und versucht, logischerweise, den Stoff mithilfe seines Screenreaders zu erlernen.

Das Problem dabei ist folgendes: In Programmierkursen gibt es oft Codeschnipsel direkt mitten im Text, um das Arbeitsmaterial zu visualisieren.

Wie ihr euch sicherlich vorstellen könnt, ist das ein Problem, da der Screenreader solche Codeschnipsel als völliges Kauderwelsch vorliest und diese sind auch häufiger sehr lang.

Der Kumpel hat mich deshalb gefragt, ob es möglich ist den gesamten Text der Aufgabe/Vorlesung auszuwählen (zum Beispiel klassisch mit der Maus markieren oder mit dem Keyboardshortcut Strg+A/cmd+A), aber dabei einen oder mehrere einzelne Absätze/Codeschnipsel unmarkiert zu lassen, oder diese proaktiv wieder zu demarkieren.

Wie ihr euch wahrscheinlich schon denken könnt, hatte ich als ein nicht sehbehinderter Mensch nie dieses Problem.

Wenn ich beispielsweise einen Text ohne einen bestimmten Absatz oder Satz kopieren wollte, habe ich einfach den gesamten benötigten Text vor diesem Satz ausgewählt, ihn in mein Textverarbeitungsprogramm kopiert, dann den gesamten benötigten Text danach ausgewählt, diesen rüber kopiert und so weiter.

Dies ist für meinen sehbehinderten Freund keine Option, da er viele Stunden am Tag lernt und das ständige Auswählen von Textteilen fürs Vorlesen nicht nur mühsam für ihn ist, sondern ihn auch völlig aus seinem „Lernfluss“ wirft, wie er es beschreibt. Er muss deshalb sogar häufig Absätze, die er bereits gehört hat, erneut auswählen, weil er sich nicht richtig darauf konzentrieren konnte.

Um meine Frage also noch einmal besser zu veranschaulichen:

Wenn ich einen Text, oder ein Skript mit einer Überschrift und beispielsweise drei Absätzen habe – Absatz A, Absatz B und Absatz C – gibt es eine Möglichkeit oder eine Tastenkombination, um nur die Überschrift, Absatz A und Absatz C auszuwählen und Absatz B unmarkiert zu lassen?

Microsoft Word, Software, Windows, Microsoft, Browser, Linux, Microsoft Office, Text, Mac OS X, Google Chrome, macOS, notepad, Softwareentwicklung, Textverarbeitung, Webbrowser, WordPad, notepad-plus-plus, Textaufgabe, Textverarbeitungsprogramm, VSCode

Meistgelesene Beiträge zum Thema Linux