Thunfischsalat
Lieutenant
- Registriert
- März 2012
- Beiträge
- 791
Die Lösung für mich, um die selbe Funktion wie XonarSwitch für WIndows unter Linux zu haben:
Nachdem man in den
Dieses Skript können wir nun mithilfe von KDE auf eine Taste legen und anwenden.
Moin,
ich habe hier im Forum dieses Skript gefunden, welches den Ausgang meiner DGX von Frontpanel zum Backpanel umschalten soll: https://www.computerbase.de/forum/t...ch-frontpanel-backpanel.1724207/post-20625104
Aktuell muss ich unter OpenSuse Tumbleweed immer in den Alsamixer, meine Xonar DGX auswählen und dann dort bei der Wiedergabe den 'Analog Output' umstellen.
Bei mir wird anstatt 'Multichannel' der normale Stereo Ausgang benötigt, daher habe ich das auf 'Stereo Headphones' geändert.
Leider funktioniert das Skript bei mir nicht wie erhofft.
Zu eurer Information: Ich habe zum aller ersten Mal in Linux anhand dieser Anleitung ein Skript erstellt.
Wirklich verstehen tue ich die ’cat >’ und ’chmod u+x'-Befehle aber nicht und auch die Funktionen im Skript sind mir nicht geläufig.
Zumindest If, then, else sind mir aus der Excel-Welt geläufig.
Nur wird mit dem Skript in der Konsole folgendes ausgegeben:
Ich kann nur vermuten es liegt daran, dass im alsamixer die DGX an vierter Stelle mit der Nummer 3 versehen ist?
Mit dem einfachen u.g. Skript kann ich den Ausgang entsprechend umstellen.
Eine Änderung auf amixer sget 'Analog Output',3 wirft den selber Fehler nur mit einer 3 raus.
Daher bin ich jetzt überfragt und bräuchte eure Hilfe!
Edit: Ok mit dem kleinen Zusatz '-c 3' funktioniert das Skript.
Nun bleibt wahrscheinlich die ID der Soundkarte nicht immer gleich. Wie bekomme ich das hin, dass das Skript die Soundkarte automatisch identifiziert?
Bash:
#!/bin/bash
STATE=$(amixer sget -D hw:DGX 'Analog Output' | grep Item0 | cut -d "'" -f2)
if [ "$STATE" = "Stereo Headphones" ]
then
amixer sset -D hw:DGX 'Analog Output' 'Stereo Headphones FP' > /dev/null
amixer sset Master 40%
else
amixer sset -D hw:DGX 'Analog Output' 'Stereo Headphones' > /dev/null
amixer sset Master 45%
fi
hw:DGX
muss an den Namen der Soundkarte angepasst werden.aplay -L
gibt den Namen der Geräte aus und würde bei mir CARD=DGX
auswerfen, was wir im amixer als hw:DGX
nutzen.'Analog Output'
und 'Stereo Headphones'
können wir mithilfe des alsamixers herausfinden.Nachdem man in den
alsamsixer
geht, kann man mit F6 die entsprechende Soundkarte auswählen und dort den Namen des Outputs und des Ports sehenDieses Skript können wir nun mithilfe von KDE auf eine Taste legen und anwenden.
Moin,
ich habe hier im Forum dieses Skript gefunden, welches den Ausgang meiner DGX von Frontpanel zum Backpanel umschalten soll: https://www.computerbase.de/forum/t...ch-frontpanel-backpanel.1724207/post-20625104
Aktuell muss ich unter OpenSuse Tumbleweed immer in den Alsamixer, meine Xonar DGX auswählen und dann dort bei der Wiedergabe den 'Analog Output' umstellen.
Bei mir wird anstatt 'Multichannel' der normale Stereo Ausgang benötigt, daher habe ich das auf 'Stereo Headphones' geändert.
Leider funktioniert das Skript bei mir nicht wie erhofft.
Zu eurer Information: Ich habe zum aller ersten Mal in Linux anhand dieser Anleitung ein Skript erstellt.
Wirklich verstehen tue ich die ’cat >’ und ’chmod u+x'-Befehle aber nicht und auch die Funktionen im Skript sind mir nicht geläufig.
Zumindest If, then, else sind mir aus der Excel-Welt geläufig.
Bash:
#!/bin/bash
STATE=$(amixer sget 'Analog Output',0 | grep Item0 | cut -d "'" -f2)
if [ "$STATE" = "Stereo Headphones" ]
then
amixer sset 'Analog Output',0 'Stereo Headphones FP' > /dev/null
else
amixer sset 'Analog Output',0 'Stereo Headphones' > /dev/null
fi
Nur wird mit dem Skript in der Konsole folgendes ausgegeben:
Code:
User@OpenSuse:~/Scripts> bash DGX.sh
amixer: Unable to find simple control 'Analog Output',0
amixer: Unable to find simple control 'Analog Output',0
Mit dem einfachen u.g. Skript kann ich den Ausgang entsprechend umstellen.
Bash:
#!/bin/bash
amixer -c 3 set 'Analog Output' 'Stereo Headphones FP'
Daher bin ich jetzt überfragt und bräuchte eure Hilfe!
Edit: Ok mit dem kleinen Zusatz '-c 3' funktioniert das Skript.
Bash:
#!/bin/bash
STATE=$(amixer sget -c 3 'Analog Output',0 | grep Item0 | cut -d "'" -f2)
if [ "$STATE" = "Stereo Headphones" ]
then
amixer sset -c 3 'Analog Output',0 'Stereo Headphones FP' > /dev/null
else
amixer sset -c 3 'Analog Output',0 'Stereo Headphones' > /dev/null
fi
Nun bleibt wahrscheinlich die ID der Soundkarte nicht immer gleich. Wie bekomme ich das hin, dass das Skript die Soundkarte automatisch identifiziert?
Zuletzt bearbeitet: