Linux – die neusten Beiträge

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

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