Ich verwende eine in mein Motherboard integrierte Realtek HD-Audiokarte. Der Windows-Treiber wird mit einem Bedienfeld geliefert, mit dem ich auswählen kann, welche Buchsen auf der Rückseite für was verwendet werden. So kann ich zum Beispiel sowohl die blaue als auch die grüne Buchse für die Ausgabe und nur die rote für den Mic-In verwenden. (Während standardmäßig die blaue Buchse für Line-In ist, was ich nie brauche.)
Wie kann ich das auch unter Linux machen? Wenn möglich, schlagen Sie bitte nichts vor, das PulseAudio oder JACK betrifft. Ich würde es gerne auf einfache Weise tun, z. B. wenn möglich, indem ich ALSA-Konfigurationsdateien bearbeite. So wie ich es verstehe, sollte mein Problem nichts damit zu tun haben, dass Software-Server Streams umleiten, sondern nur den Treiber anweisen, diese Buchse so und so zu behandeln, da sie von der Hardware unterstützt wird.
Vielen Dank!
quelle
Antworten:
Ich habe es geschafft, aber Änderungen werden nach dem Neustart zurückgesetzt. ( Update: Dies kann umgangen werden; siehe unten in diesem Beitrag.)
Ich habe es über eine GUI in Python namens HDA Analyzer gemacht , die wie folgt von der ALSA-Website abgerufen und verwendet werden kann:
wget -O run.py http://www.alsa-project.org/hda-analyzer.py
sudo python run.py
(Auf ihrer Seite heißt es nichtsudo
, aber wenn Sie es nicht tunsudo
, werden die Skripte heruntergeladen, aber nicht ausgeführt und es werden keine Berechtigungen beanstandet.)Dadurch wird die GUI gestartet, ihre Verwendung wird jedoch nicht erklärt und ist nicht gerade für Neulinge geeignet. Um das Leben leichter zu machen, erkläre ich, wie ich es gemacht habe. In meinem Fall handelte es sich um zwei Klicks; Der schwierige Teil bestand darin, genau zu finden, was angeklickt werden muss.
(Hinweis: Sie können alle Knoten einzeln untersuchen, aber nichts ändern, was Sie nicht verstehen. Änderungen (z. B. Aktivieren eines Kontrollkästchens) werden sofort wirksam. Es gibt keine Schaltfläche zum Anwenden.)
Die Liste enthält viele Knoten genannt
Node[0x##]
von einem gefolgtAUD_OUT
,AUD_IN
,AUD_MIX
,PIN
undVENDOR
. Die einzigen, in die Sie schauen müssen, sind diePIN
.Es gibt mehrere Arten von PIN-Knoten. Der gewünschte Typ füllt das gesamte Fenster mit Bedienfeldern / Kontrollgruppen (es hilft, das Fenster zu dehnen oder zu maximieren), wie in diesem Screenshot dargestellt . (Die Seite hat mich daran gehindert, das Bild inline einzufügen, sorry.)
Innerhalb des Felds Config Default befinden sich einige Knoten in der ersten Zeile
Jack Connection: N/A
. Wir brauchen diejenigen, dieJack Connection: Jack
wie im Screenshot sagen .Um einen Line-In in eine Ausgangsbuchse zu ändern, suchen Sie, bis Sie den Knoten finden, auf dem steht
Jack Type: Line In
. (Und beachte dasJack Location2: Rear
undJack Color: Blue
.)Deaktivieren Sie dann in den drei Kontrollkästchen in der Widget-Steuerungsgruppe unten IN und deaktivieren Sie OUT .
Auf die gleiche Weise können Sie eine der vorderen oder hinteren Buchsen entweder dem Eingang oder dem Ausgang zuweisen.
Wenn Sie nun das Fenster schließen, werden Sie gefragt, ob Sie Änderungen rückgängig machen möchten. Wenn Sie Ja sagen, werden sie sofort zurückgesetzt. Nein zu sagen hält sie aber nur für diese Sitzung.
Wenn Sie Ihre Änderungen dauerhaft beibehalten möchten, schließen Sie HDA Analyzer noch nicht. Klicken Sie stattdessen unten links auf "Exp" (Exportieren) und verwenden Sie Speichern unter, um das Python-Skript in eine Datei zu schreiben. Kopieren Sie nun diese Datei in etwas wie
/etc/hda-mods.py
und bearbeiten Sie sie/etc/rc.local
als root (z. B. mitgksudo gedit /etc/rc.local
) und fügen Sie die Zeilepython /etc/hda-mods.py
direkt vor derexit 0
Zeile hinzu. Speichern Sie sie dann und starten Sie sie neu. Ihre Änderungen sollten überleben.quelle
Ein anderes GUI-Tool könnte
hdajackretask
aus demalsa-tools-gui
Paket stammen. Sehr einfache Benutzeroberfläche, unterstützt Boot-Override und erweiterte Optionen.Ich hoffe, ich habe die Frage nicht völlig falsch verstanden. OP hat nach Nicht-JACK-Optionen gefragt, aber ich bin mir ziemlich sicher, dass dies jemand anderem helfen könnte. In meinem Fall musste ich Advance Override überprüfen und Nicht verbundene Pins anzeigen und einen nicht verbundenen Mikrofoneingang auf einen Kopfhörerausgang einstellen. Sehr seltsam, funktioniert aber. Würde gerne eine cmd line Lösung sehen
quelle