marant...
Anmeldungsdatum: 2. Februar 2021
Beiträge: 645
|
! Nicht ausführen. Will das im Forum nutzen, soll komplett in das jew. Terminal kopiert und selbstständig in Reihenfolge bis Ende ausgeführt werden. Komplett kopiert gibt's Probleme. sudo [sudo] Passwort für abc:
Das hat nicht funktioniert, bitte nochmal probieren.
[sudo] Passwort für abc: soll autom. ausgef. werden, macht es wenn komplett kopiert wird nicht: ffmpeg -f alsa -channels 2 -sample_rate 44100 -i hw:$hwvar -t 20 ~/test_$(date +'%d%m%H%M').wav && sudo rm /etc/modprobe.d/alsa.conf ges. mvar=x
hwvar=0
reset; sudo dmesg --clear; sudo rm /etc/modprobe.d/alsa.conf; rm ~/t*.wav
echo -e "options snd_hda_intel model=$mvar" | sudo tee -a /etc/modprobe.d/alsa.conf
systemctl --user stop pulseaudio.socket; systemctl --user stop pulseaudio.service
sudo apt install -y alsa-tools alsa-tools-gui ffmpeg;
sudo alsa force-reload; sleep 2s; sudo hdajacksensetest -as && sudo dmesg | grep -i "Mic=";
ffmpeg -f alsa -channels 2 -sample_rate 44100 -i hw:$hwvar -t 20 ~/test_$(date +'%d%m%H%M').wav && sudo rm /etc/modprobe.d/alsa.conf Es soll so wenig wie möglich mit && gearbeitet werden. ";" am Zeilenende, interpretiert oder ignoriert der das?
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12822
|
Völlig kryptisch für mich. Bitte formuliere klar, was Du erreichen willst und was nicht funktioniert.
|
marant...
(Themenstarter)
Anmeldungsdatum: 2. Februar 2021
Beiträge: 645
|
Also(bez. auf ges.), die ersten 3 Zeilen in's Terminal kopiert, ergeben korrekte PW Abfrage. Bei mehr Zeilen ergibt die PW Abfrage: falsch. Erst die 2. PW Eingabe wird akzeptiert. - ffmpeg -f alsa -channels 2 -sample_rate 44100 -i hw:$hwvar -t 20 ~/test_$(date +'%d%m%H%M').wav && sudo rm /etc/modprobe.d/alsa.conf Diese Zeile einzeln ausgeführt, funktioniert so wie sie soll. Eingebaut wartet diese, wenn an der Reihe, auf Eingabebestätigung, was sie natürlich nicht soll. (wobei && oder ; keine Rolle spielt) - Ziel ist, das das Ganze(1-3 mal, hier gekürzt) in jedem Terminal durchläuft, die Ausgaben sollen die Leute dann posten.(Über's Terminal und nicht als Script erscheint mir für die Leute einfacher)
|
bugblatterbeast
Anmeldungsdatum: 30. Januar 2008
Beiträge: 455
|
Warum sollte ein sudo Befehl nicht auf eine Passworteingabe warten?
Du musst zugeben, dass das dubios klingt. Geht es hierbei um eine Art Fernanalyse von Maschinen die Du selbst deployed hast und von denen Du das Root-Passwort kennst?
Andernfalls frage ich mich, warum jemand so ein script (das einem wie es aussieht die Audiokonfiguration zerhaut und Testaufnahmen mit dem Mikrofon macht) auf seiner eigenen Workstation ausführen wollen würde. Gruß edit: formatierung
|
marant...
(Themenstarter)
Anmeldungsdatum: 2. Februar 2021
Beiträge: 645
|
Du musst zugeben, dass das dubios klingt.
Quarck! Ich habe bereits beschrieben um was es geht. Wenn Dir was dubios vorkommt, dann lies einfach nochmal das ganze "Dubiose". Es geht darum in der Audiokonfig von Usern die sich hier im Forum mit Fehlern melden zu testen.
|
bugblatterbeast
Anmeldungsdatum: 30. Januar 2008
Beiträge: 455
|
Vielleicht ist es ja ein Missverständnis, aber Deine etwas schwer zu lesende Beschreibung macht den Eindruck, dass die in der Folge enthaltenen sudo Befehle nicht auf die Eingabe eines Passwortes warten sollen. Falls das wirklich das ist, was Du willst dann sehe ich keinen Weg das zu realisieren. Wäre meiner Meinung nach auch nicht wünschenswert, dass ein Betriebssystem so etwas ermöglicht. Als Benutzer will ich ja schließlich immer mitkriegen, wenn ein Skript erhöhte Rechte anfordert. Zwar bietet sudo leider die Möglichkeit Passwörter über stdin zu lesen aber das würde Dir für so ein Vorhaben auch nicht helfen.
|
marant...
(Themenstarter)
Anmeldungsdatum: 2. Februar 2021
Beiträge: 645
|
macht den Eindruck, dass die in der Folge enthaltenen sudo Befehle nicht auf die Eingabe eines Passwortes warten sollen.
Wie kommst Du denn Darauf? Er tut es aber.. 😬 - Der wartet auf die die PW Eingabe, allerdings akzeptiert er erst die 2. Eingabe als korrekt. Ich gehe davon aus das der bei der ersten (immer fehlerhaften) Eingabe Zeichen automatisch zusätzlich übergeben bekommt. Somit wird das erste PW dann als fehlerhaft ausgewertet. Meine Vermutung.
|
bugblatterbeast
Anmeldungsdatum: 30. Januar 2008
Beiträge: 455
|
Schwer nachzuvollziehen, was den Fehler auslösen könnte.
Hat es einen konkreten Grund, mehrere Befehle in einer Kommandozeile auszuführen?
Hast Du mal probiert, ob es einen Unterschied macht, wenn Du einen Befehl pro Kommandozeile übergibst? 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 | mvar=x
hwvar=0
reset; sudo dmesg --clear
sudo rm /etc/modprobe.d/alsa.conf
rm ~/t*.wav
echo -e "options snd_hda_intel model=$mvar" | sudo tee -a /etc/modprobe.d/alsa.conf
systemctl --user stop pulseaudio.socket
systemctl --user stop pulseaudio.service
sudo apt install -y alsa-tools alsa-tools-gui ffmpeg
sudo alsa force-reload
sleep 2s
sudo hdajacksensetest -as
sudo dmesg | grep -i "Mic="
ffmpeg -f alsa -channels 2 -sample_rate 44100 -i hw:$hwvar -t 20 ~/test_$(date +'%d%m%H%M').wav
sudo rm /etc/modprobe.d/alsa.conf
|
|
bugblatterbeast
Anmeldungsdatum: 30. Januar 2008
Beiträge: 455
|
Ich habe gerade noch mal etwas ausprobiert. Der sleep Befehl müsste die Ursache des Problems sein. Probier mal ob es ohne den funktioniert.
|
marant...
(Themenstarter)
Anmeldungsdatum: 2. Februar 2021
Beiträge: 645
|
Der Grund ist relativ einfach. Es den Leuten so einfach wie möglich zu machen. Das Ganze soll mehrmals (mit versch. Var.) durchlaufen. Also Dein "auseinandergezogener Kaugummi" 2-3 Mal. Nicht zuzumuten. Die Leute sind natürlich auf verschied. Stand. Einer macht das per Hand in 1h, ein Anderer braucht 2 Tage.
|
bugblatterbeast
Anmeldungsdatum: 30. Januar 2008
Beiträge: 455
|
Die Leute können es doch kopieren und einfügen, oder nicht? Probier sonst mal in Deiner Variante diesen Teil:
| sudo alsa force-reload; sleep 2s;
|
durch das hier zu ersetzen:
| if [ $(sudo alsa force-reload;) ]; then sleep 2s; fi;
|
Damit müsstest Du verhindern können, dass der Sleep Befehl die Passworteingabe stört.
|
marant...
(Themenstarter)
Anmeldungsdatum: 2. Februar 2021
Beiträge: 645
|
Wir reden schon etwas aneinander vorbei. Wenn Du selbst die PW Sache mal probieren willst, hier eine entschärfte Version. Komplett kopieren. mvar=x
hwvar=0
reset; sudo dmesg --clear; sudo rm /etc/modprobe.d/alsa.x; rm ~/tes22*.wa
echo -e "options snd_hda_intel model=$mvar" | sudo tee -a /etc/modprobe.d/alsa.x Bei den 4 Zeilen tritt das PW Problem auf, bei den ersten 3 Zeilen kopiert u. ausgeführt nicht. - ist harmlos, am Ende v. Probieren wieder sudo rm /etc/modprobe.d/alsa.x
|
marant...
(Themenstarter)
Anmeldungsdatum: 2. Februar 2021
Beiträge: 645
|
Habe jetzt doch "&&" an die Zeilen gehängt, damit geht's.
|
ChickenLipsRfun2eat
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 12067
|
marant... schrieb: Will das im Forum nutzen, soll komplett in das jew. Terminal kopiert und selbstständig in Reihenfolge bis Ende ausgeführt werden. Komplett kopiert gibt's Probleme.
Mal vorab:
Ich finde es sehr unschön, dass du meinen tekken6.wav-Sound einfach ungefragt löschen würdest. Also bitte überlege dir etwas sinnvolleres. Du könntest bspw. einfach einen Ordner in /tmp anlegen, in dem du dann mit wildcards rumlöschen kannst. Aber bitte nicht im Homeverzeichnis! Ebenso unschön ist es, einfach den Inhalt von dmesg zu löschen. Da stehen manchmal wichtige Dinge drin 😉 Seit systemd nutzt man auch journalctl -k , anstatt dmesg . Wenn du nur die letzten X Zeilen auswerten willst, nutze tail . Die systemweite Konfiguration löschen ist auch nicht gerade sinnvoll. Wenn du sie zum Test deaktivieren willst, verschiebe sie/benenne sie um und mach deine Änderungen hinterher rückgängig.
Was sudo angeht: Bei den meisten deiner Befehle nutzt du root-Rechte. Da wäre es sinnvoller das ganze Script mit sudo zu starten und nur die zwei nötigen Zeilen mit Nutzerrechten auszuführen. Bei Verwendung von sudo gibt es dafür 2 Variablen, die du Abfragen kannst: SUDO_UID und SUDO_USER. Bei anderen Distributionen gibt es teils kein sudo , da kannst du su oder pkexec verwenden. Warum installierst du alsa-tools-gui ?
Warum das nicht per copy&paste funktioniert: Du fügst die Zeile sudo dmesg --clear\n ein. Diese wird von der Shell ausgewertet und erwartet eine Eingabe. Als Eingabe kommt die nächste Zeile aus dem eingefügten, und falls du nicht zufällig sudo rm /etc/modprobe.d/alsa.conf als Passwort hast, kann das nicht funktionieren.
Abschliessend noch Fragen dazu: Was versuchst du damit zu erreichen? Diagnoseabfragen gibt es doch vorgefertigt unter Sound Problembehebung. Wie willst du damit umgehen, dass/wenn mehrere Soundkarten im System sind? (meistens Soundchip und GraKa, manchmal noch externe Interfaces, etc.). Was wenn Jack vorkonfiguriert ist (Ubuntu Studio, KXStudio, …)? Etc. Oder soll das eine Vorlage angepasst für dein persönliches System werden? Falls du dein Ziel klar formulierst, kann dir auch eher geholfen werden.
|
marant...
(Themenstarter)
Anmeldungsdatum: 2. Februar 2021
Beiträge: 645
|
tekken6.wav
Die Fassung ist doch nur zum Testen, was Unverwechselbares hätten die *.wav schon bekommen. 🤣 Wird dmesg nicht bei jedem Start neu geschrieben? Also Wurst u. ohne clear wird es zu unübersichtlich nachdem das Script durchlief.
Die systemweite Konfiguration löschen ist auch nicht gerade sinnvoll.
Wo bitte Das, eine "alsa.conf" gibt es nicht.
Da wäre es sinnvoller das ganze Script mit sudo zu starten
Genau Das eben nicht. Manchmal wissen die leute nicht, was sie da gerade im Terminal tun.
alsa-tools-gui?
Um ggf. weiterzumachen. Warum der ganze "Quatsch"? https://www.kernel.org/doc/html/latest/sound/hd-audio/models.html#alc22x-23x-25x-269-27x-28x-29x-and-vendor-specific-alc3xxx-models Das mit den Leuten manuell zu testen kann sich über mehrere Tage hinziehen. OK, es läuft ja mit "&&", also werde das in der Praxis bei Gelegenheit testen.
|