Ubuntu 10.04 „Lucid Lynx“
Nicht alle Programme haben eine Jack-Schnittstelle. Dieser Artikel erklärt, wie sie trotzdem in Jack eingebunden werden können. Damit können dann zum Beispiel Internettelefonieprogramme mit Audiobearbeitungsprogrammen wie Audacity und mhWaveEdit oder Streamingprogrammen wie IDJC verbunden werden.
Mit einem Modul für PulseAudio können Programme ohne eigene Jack-Schnittstelle mit Jack verbunden werden. Ab Ubuntu 10.04 Lucid Lynx kann folgendes Paket installiert werden[1]:
pulseaudio-module-jack
mit apturl
Paketliste zum Kopieren:
sudo apt-get install pulseaudio-module-jack
sudo aptitude install pulseaudio-module-jack
Mit dem Befehl[2]
pactl load-module module-jack-sink
kann die Audioausgabe (z.B. Lautsprecher) eingebunden werden und mit dem Befehl
pactl load-module module-jack-source
kann der Audioeingang (Mikrofon) in Jack eingebunden werden.
Mit Jackplug können Programme ohne Jack-Schnittstelle durch Änderung der Datei /home/BENUTZER/.asoundrc (oder der Datei /etc/asound.conf) in Jack eingebunden werden.
Jackplug benötigt das Modul libasound_module_pcm_jack.so. Folgendes Paket muss installiert [1] werden:
libasound2-plugins (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install libasound2-plugins
sudo aptitude install libasound2-plugins
Mit der Änderung der Dateien /home/BENUTZER/.asoundrc oder /etc/asound.conf können einige Audioanwendungen nicht mehr richtig funktionieren.
Um Jackplug zu benutzen, wird die Datei /home/BENUTZER/.asoundrc (oder die Datei /etc/asound.conf) folgendermaßen gefüllt[4]:
## Jackplug pcm.!default { type plug slave { pcm "jack" } } pcm.jack { type jack playback_ports { 0 alsa_pcm:playback_1 1 alsa_pcm:playback_2 } capture_ports { 0 alsa_pcm:capture_1 1 alsa_pcm:capture_2 } } ctl.mixer0 { type hw }
Für die Benutzung von Internettelefonie mit der IDJC kann man statt Jackplug auch folgendes in die Datei /home/BENUTZER/.asoundrc (oder die Datei /etc/asound.conf) schreiben:
pcm.idjcvoip { type plug slave { pcm "idjcjack" } } pcm.idjcjack { type jack playback_ports { 0 idjc-mx:voip_recv_lt 1 idjc-mx:voip_recv_rt } capture_ports { 0 idjc-mx:voip_send_lt 1 idjc-mx:voip_send_rt } }
Nun muss Alsa mit dem Befehl restart alsa-mixer-save
neu gestartet werden. Dann wird Jack gestartet und dann die entsprechenden Audioprogramme, die nur Alsa -Schnittstellen haben. Die Einbindung erfolgt dann in QJackCtl unter Connect. Leider kann der im Internetbrowser integrierte Adobe Flash Player so nicht mit Jack verbunden werden.
Da durch die Änderung der Dateien /home/BENUTZER/.asoundrc oder /etc/asound.conf einige Audioanwendungen nicht mehr richtig funktionieren können, benötigt man für unterschiedliche Anwendungen eventuell unterschiedliche Einstellungen. Daher empfiehlt es sich, nur die ~/.asoundrc lokal zu verändern. Das kann man sich durch das Skript asoundconfsetter.sh vereinfachen.
Fremdsoftware kann das System gefährden.
Dieses kopiert man sich mit Root-Rechten[5] in den Ordner /usr/local/bin, passt auf, dass das Skript ausführbar und für alle lesbar ist[6]. Dann schreibt man die Datei /usr/share/applications/asoundconfsetter.desktop mit folgendem Inhalt:
[Desktop Entry] Version=0.1 Encoding=UTF-8 Name=Asoundconfsetter Type=Application Terminal=false Exec=asoundconfsetter.sh GenericName=Asoundconfsetter Comment=Change ~/.asoundrc between idjcvoip, jackplug and pulseplug. Icon=/usr/share/pixmaps/asoundconfsetter.xpm Categories=GTK;Settings;HardwareSettings; StartupNotify=true
...und kopiert noch dieses Icon mit Root-Rechten[5] in den Ordner /usr/share/pixmaps/. Nun kann man das Skript in GNOME unter "System -> Einstellungen -> Asoundconfsetter" öffnen und damit verschiedene Einstellungen der ~/.asoundrc wählen. Für das Skript asoundconfsetter.sh muss das Paket zenity installiert sein.[1]
In der Praxis wird man die ~/.asoundrc nur verändern wollen, wenn man mit dem grafischen Programm JACK Audio Connection Kit (qjackctl) Jack starten möchte. Dazu kopiert man sich das Skript qjackctl-start.sh in den Ordner /usr/local/bin, passt auf, dass das Skript ausführbar und für alle lesbar ist[6] und ändert in der Datei /usr/share/applications/qjackctl.desktop die Zeile 'Exec' mit Root-Rechten in
Exec=/usr/local/bin/qjackctl-start.sh
Wird JACK Audio Connection Kit nun gestartet, ändert das Skript qjackctl-start.sh die ~/.asoundrc nach Jackplug und startet Alsa neu. Beim Schließen von JACK Audio Connection Kit wird die ~/.asoundrc wieder zurückgestellt wie sie war und Alsa wird neu gestartet.
Manche Programme haben nur eine OSS -Schnittstelle. Um diese in Jack einzubinden, leitet man sozusagen erst OSS auf Alsa weiter, um das dann mit Jackplug in Jack einzubinden. Dazu muss folgendes Paket installiert sein: [1]
alsa-oss (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install alsa-oss
sudo aptitude install alsa-oss
Jack muss in QJackCtl unter Setup... > Driver auf alsa gestellt sein. Ist Jack gestartet gibt man im Terminal [3] vor dem Startbefehl des einzubindenden Programmes 'aoss' ein. Z.B.:
aoss khdrecord