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
Bashskript Problem?

Ich habe hier ein Bashskript, welches Dateien überwacht (noch nicht vollständig und absolut unoptimiert). Ich weiß, dass es Tools gibt, aber es ist ein Projekt für die Uni und deshalb ist Optimierung und Effizienz nicht wirklich wichtig. Ich möchte damit die Grundlagen des Shellscriptings einfach etwas lernen.

Das ist bisher das Script:

#!/bin/bash


echo "Das Skript wurde gestartet. Der Typ Ihres Betriebssystem ist "\"$OSTYPE\""."


# If-Abfrage, die das Betriebssystem erkennt und den Pfad zum überwachten Ordner oder Datei festlegt # HIER BITTE DIE PFADE ZUM ZU ÜBERWACHENDEN ORDNER EINTRAGEN   
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
    BASE_DIRECTORY=" " # Übergibt dem überwachten Ordner eine Variable, wenn Betriebssystem = Linux
elif [[ "$OSTYPE" == "darwin"* ]]; then
    BASE_DIRECTORY="/Users/name/Library/CloudStorage/GoogleDrive-email@gmail.com/Meine Ablage/Uni/TestOrdner" # Übergibt dem überwachten Ordner eine Variable, wenn Betriebssystem = MacOs
elif [[ "$OSTYPE" == "win32" || "$OSTYPE" == "msys" || "$OSTYPE" == "cygwin" ]]; then
    BASE_DIRECTORY="/g/Meine Ablage/Uni/TestOrdner" # Übergibt dem überwachten Ordner eine Variable, wenn Betriebssystem = Windows
else    
    echo "Das Betriebssystem ist unbekannt." # Wenn das Betriebssystem unbekannt ist, wird eine Fehlermeldung ausgegeben
    exit 1
fi


DIRECTORY="$BASE_DIRECTORY" # Pfad zum Ordner
FILE="$BASE_DIRECTORY/Datei.txt" # Pfad zur Datei   
FILE2="$BASE_DIRECTORY/Datei2.txt" # Pfad zur Datei2 


cd "$BASE_DIRECTORY" || {
    echo "Wechsel zu $BASE_DIRECTORY fehlgeschlagen!" # Wechselt in den TestOrdner oder gibt eine Fehlermeldung aus
    exit 1;
}



# Funktion, um zu überprüfen, ob Dateien gelöscht wurden
checkIfDeleted() {
    if [ ! -f "$FILE" ]; then 
        echo "Die Datei \"$(basename "$FILE")\" wurde gelöscht, umbenannt oder verschoben."
    elif [ ! -f "$FILE2" ]; then
        echo "Die Datei \"$(basename "$FILE2")\" wurde gelöscht, umbenannt oder verschoben."
    elif [ ! -d "$DIRECTORY" ]; then
        echo "Der Ordner \"$(basename "$DIRECTORY")\" wurde gelöscht, umbenannt oder verschoben."
    fi
}


# Speichert den "ursprünglichen" Hash-Wert der Dateien
ORIGINAL_HASH=$(md5 -q "$FILE")
ORIGINAL_HASH2=$(md5 -q "$FILE2")


checkIfEdited() {
    if [ ! -f "$FILE" ]; then # Wenn $FILE nicht existiert, dann wird das Skript hier beendet
    return
    fi


    if [ ! -f "$FILE2" ]; then # Wenn $FILE2 nicht existiert, dann wird das Skript hier beendet
    return
    fi


    if [ ! -d "$DIRECTORY" ]; then # Wenn $DIRECTORY nicht existiert, dann wird das Skript hier beendet
    return
    fi


    # Berechnet den aktuellen Hash-Wert der Dateien
    CURRENT_HASH=$(md5 -q "$FILE")
    CURRENT_HASH2=$(md5 -q "$FILE2")


    # Hash-Werte werden verglichen
    if [ "$CURRENT_HASH" != "$ORIGINAL_HASH" ]; then
        echo "Die Datei \"$(basename "$FILE")\" wurde bearbeitet."
        # Ursprünglicher Hash-Wert wird für zukünftige Überprüfungen aktualisiert
        ORIGINAL_HASH="$CURRENT_HASH"
    elif [ "$CURRENT_HASH2" != "$ORIGINAL_HASH2" ]; then
        echo "Die Datei \"$(basename "$FILE2")\" wurde bearbeitet."
        # Ursprünglicher Hash-Wert wird für zukünftige Überprüfungen aktualisiert
        ORIGINAL_HASH2="$CURRENT_HASH2"
    fi
}


while true; do # Endlosschleife, die die Funktionen "checkIfDeleted" und "checkIfEdited" alle 10 Sekunden ausführt
    checkIfDeleted
    checkIfEdited
    sleep 10
done

Ja, ich weiß, welche Probleme das Skript mit sich bringt, aber ich habe ein anderes Problem:

Wenn jemand das Skript nutzen möchte, muss er die Pfade seiner Dateien einfügen und sogar neue Variablen definieren.

Man könnte das doch so machen, dass das Skript die Liste des Ordners einliest und dann auf alle Dateien direkt zugreifen muss, ohne dass man sie in das Skript einfügen muss.

Also irgendwie mit dem Befehl "ls". Ich weiß aber nicht, wie ich das implementieren soll.

Kann mir wer helfen bitte?

Visual Basic, Linux, HTML, Webseite, VBA, Bash, Batch, cmd, Code, lua, MySQL, PHP, Programmiersprache, Python, Script, Python 3
Linux from Scratch - bashrc File anschauen?

Moin Leute,

ich arbeite gerade das LFS 12.1-Buch durch und bin bei Kapitel 4.4 und habe gerade die .bashrc File erstellt. Jetzt musste ich aber aufgrund einer Fehlermeldung und eines Versuches, diese zu beheben, das Terminal schließen und mich in einem neuen Terminalfenster neu anmelden.

Jetzt habe ich ein bisschen Sorge, dass meine Änderungen für die Erstellung der .bashrc nicht gespeichert wurden. Habe aber auch keine Möglichkeit, die Datei anzusehen, weil ich die nicht finden kann. Sie soll im Verzeichnis /home/lfs auf meiner LFS-Partition sein, aber dieses Verzeichnis sehe ich in meinem Dateimanager dort nicht. Auch über die Suche finde ich diese Datei nicht.

Weiß jemand, ob man, wenn man folgenden Befehl ausführt:
"cat > ~/.bashrc << "EOF"

set +h

umask 022

LFS=/mnt/lfs

LC_ALL=POSIX

LFS_TGT=$(uname -m)-lfs-linux-gnu

PATH=/usr/bin

if [ ! -L /bin ]; then PATH=/bin:$PATH; fi

PATH=$LFS/tools/bin:$PATH

CONFIG_SITE=$LFS/usr/share/config.site

export LFS LC_ALL LFS_TGT PATH CONFIG_SITE

EOF"

und dann mit "EOF" das beendet, ob die erstellte Datei dann automatisch schon gespeichert wird? Weil wenn man "EOF" eingibt, dann kommt man ja aus dem "Editor" wieder raus und kann weitere Befehle eingeben.

Beim Befehl "source ~/.bash_profile" war ich noch nicht angelangt.

Vielleicht stelle ich mich gerade auch doof an und vielleicht wirkt meine Frage auch komisch aber bin immer noch mit der Lösung des ersten Problems beschäftigt und bin mir jetzt halt einfach nicht sicher, ob das mit der Datei schon funktioniert hat oder ob ich jetzt irgendwas nochmal neu machen muss. Geht leider irgendwie aus der Anleitung auch nicht hervor, inwiefern das jetzt wann gespeichert ist.

Linux, Bash, Shell, Terminal
Linux from Scratch 12.1 - Verschieben der "undocumented instantiation" von etc/bash.bashrc als root funktioniert nicht?

Moin Leute,

hoffe, das Thema passt in dieses Subforum hier. Falls nicht, bitte verschieben.

Ich bin gerade dabei, mir mit Linux From Scratch eine eigene Distro zu bauen und bin jetzt auf ein Problem gestoßen. Hoffe, jemand kennt sich hier damit aus und kann mir weiterhelfen.

Im aktuellen Stable LFS Book 12.1 wird in Kapitel 4.4 steht folgende wichtige Info:

"Several commercial distributions add an undocumented instantiation of /etc/bash.bashrc to the initialization of bash. This file has the potential to modify the lfs user's environment in ways that can affect the building of critical LFS packages. To make sure the lfs user's environment is clean, check for the presence of /etc/bash.bashrc and, if present, move it out of the way."

deutsch:

"Einige kommerzielle Distributionen fügen eine undokumentierte Instanzierung von /etc/bash.bashrc zur Initialisierung der Bash hinzu. Diese Datei kann die Umgebung des Lfs-Benutzers in einer Weise verändern, die die Erstellung wichtiger LFS-Pakete beeinträchtigen kann. Um sicherzustellen, dass die Umgebung des Lfs-Benutzers sauber ist, überprüfen Sie, ob /etc/bash.bashrc vorhanden ist, und entfernen Sie sie, falls sie vorhanden ist, aus dem Weg."

Man soll dort also als root den folgenden Befehl ausführen:

"[ ! -e /etc/bash.bashrc ] || mv -v /etc/bash.bashrc /etc/bash.bashrc.NOUSE"

Jetzt zu meinem Problem. Wenn ich den Befehl mit sudo eingebe, bekomme ich folgende Fehlermeldung ausgegeben:

"lfs is not in the sudoers file. This incident will be reported.

mv: cannot move '/etc/bash.bashrc' to '/etc/bash.bashrc.NOUSE': Permission denied"

Wenn ich den Befehl ohne sudo eingebe, bekomme ich die gleiche Fehlermeldung wie oben, nur ohne den "lfs is not in the sudoers[...]" Fehler.

Jetzt habe ich halt das Problem, dass ich so nicht weiterkomme. Habe schonmal ein bisschen gegoogelt, aber da stand nur, ich solle mal die Besitzer meiner Verzeichnisse prüfen. Die sind aber alle auf den erstellten LFS-Benutzer gesetzt.

Als root kann ich mich in dem erstellten LFS-System nicht anmelden, da er dann ein Passwort verlangt, obwohl ich für root eigentlich kein spezielles Passwort festgelegt habe. Das Passwort vom LFS-Benutzer funktioniert hier auch nicht, da ich dann den Fehler "Authentication failure" bekomme.

Weiß jemand, was ich da tun kann und wie ich den LFS-Benutzer in die "sudoer file" integrieren kann, falls das notwendig ist? Oder wie kann ich da weitermachen? Übersehe ich vielleicht auch etwas oder stelle ich mich doof an?

Habe nebenbei auch noch die Videoreihe, die der YouTuber "marcus-s" mal darüber gemacht hat, laufen, um mir das nebenbei ein bisschen anzuschauen und es besser zu verstehen, was ich dort tue. Lese aber trotzdem weiterhin immer meine Buchversion, die ich von der LFS-Webseite habe durch und führe die Befehle von dort aus, da er eine ältere Version nutzt. Und da ist zum Beispiel diese Info von oben noch gar nicht enthalten, die Videos helfen mir da also nicht weiter.

Hoffentlich kann mir jemand von euch helfen.

Linux, Bash, Error, Root, Shell, Terminal, Fehlermeldung, sudo, Linux-Distribution
Probleme mit Fail2Ban?

Fail2Ban auf dem raspberry pi macht probleme. Wenn ich den status überprüfe erhalte ich diese fehlermeldung:

x fail2ban.service - Fail2Ban Service
   Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; preset: enabled)
   Active: failed (Result: exit-code) since Tue 2024-06-11 19:56:05 CEST; 3s ago
  Duration: 314ms
    Docs: man:fail2ban(1)
  Process: 3578 ExecStart=/usr/bin/fail2ban-server -xf start (code=exited, status=255/EXCEPTION)
  Main PID: 3578 (code=exited, status=255/EXCEPTION)
    CPU: 311ms

Jun 11 19:56:05 tbt systemd[1]: Started fail2ban.service - Fail2Ban Service.
Jun 11 19:56:05 tbt fail2ban-server[3578]: 2024-06-11 19:56:05,576 fail2ban.configreader  [3578]: WARNING 'allowipv6' not defined in 'Definition'. Using default one: 'auto'
Jun 11 19:56:05 tbt fail2ban-server[3578]: 2024-06-11 19:56:05,608 fail2ban        [3578]: ERROR  Failed during configuration: Have not found any log file for sshd jail
Jun 11 19:56:05 tbt fail2ban-server[3578]: 2024-06-11 19:56:05,610 fail2ban        [3578]: ERROR  Async configuration of server failed
Jun 11 19:56:05 tbt systemd[1]: fail2ban.service: Main process exited, code=exited, status=255/EXCEPTION
Jun 11 19:56:05 tbt systemd[1]: fail2ban.service: Failed with result 'exit-code'.

Es steht ja ERROR failed during configuration: Have not found any log file in sshd jail

und ERROR Async configuration of server failed.

Ich habe im jail.local den path zum ssh jail angepasst (zu logpath = /var/log/auth.log) aber es geht immer noch nicht...

Software, Linux, Networking, Programmiersprache, Softwareentwicklung, ssh, Raspberry Pi, Raspberry, sshd, Raspberry Pi 4
Über USB Stick booten ohne BIOS?

Ich bin vor 2 Tagen von Windows auf Linux Mint (Cinnamon) umgestiegen, weil ich das Design und die Funktionen ansprechender finde, ich komme auch bisher gut damit zurecht, allerdings ist mir ein Manko aufgefallen und zwar die Kompaktheit, dass ich keine Windows Programme benutzen kann, das wusste ich schon vorher, aber erst jetzt ist mir aufgefallen wie ärgerlich das eigentlich ist und wie sehr ich manche Programme brauche, die es nur für Windows gibt, ich habe schon gesucht und bin auf Wine gestoßen, was aber nicht funktioniert, z.B. bei FL Studio startet es nicht. Daher möchte ich wieder auf Windows umsteigen, da ich auch Windows über 10 Jahre gewohnt bin und ich doch wieder auf Windows zurück möchte. (Windows 10)

Daher meine Frage und mein Problem, ist es möglich wieder zu wechseln? Ja, aber folgendes Problem: mein Mainboard hat seit kurzem Probleme, das ich nicht mehr ins Bios komme, ich habe wirklich jede Taste ausprobiert, Entf, F2 und so weiter, was nicht geklappt hat, was eventuell mit meiner neuen Tastatur zusammenhängen könnte, denn diese wird im Grub Menu unter Linux auch nicht erkannt oder nur falsch z.B. war die Enter Taste = / und - zusammengedrückt, komisch.

Ich habe bereits einen USB-Stick mit Windows 10 installiert, aber ich kann die Bootreihenfolge nicht ändern, weil ich nicht ins Bios komme, gibt es eine andere Lösung?

Windows, Linux, IT, Ubuntu, USB-Stick, BIOS, booten, Linux Mint, Windows Installation, Windows 10, Windows 10 Pro

Meistgelesene Beiträge zum Thema Linux