Télécharger (ouvrir) le source à partir du lien donné en bas de page et l'extraire sur le Bureau.
Dans un terminal (gardez-le ouvert jusqu'à la fin):
Copy to clipboard
cd ~/Bureau/Jamulus3.3.7 # ou le numéro de version téléchargé
Pour une installation conjointe serveur + client sur la même machine (non recommandé, mais en réalité c'est l'exécution simultanée qui est déconseillée: l'installation du client génère aussi la possibilité de lancer jamulus en serveur), la procédure est détaillée dans le § Pour le client.
1) Il faut avoir build-essential et un Qt minimal pour une
installation en pur serveur sans le client :
Copy to clipboard
sudo apt-get install build-essential libqt4-dev
ensuite on compile :
Copy to clipboard
qmake "CONFIG+=nosound" "CONFIG+=noupcasename" "CONFIG+=nocelt" Jamulus.pro
Là vous aurez peut-être une erreur non bloquante concernant Qt-Widget car le développeur utilis
ait Qt5. Les deux dernières options de CONFIG sont apparues depuis la version 3.3.5. À ce jour (Avril 2020, l'option nocelt ne sert plus à rien.
2) puis
Copy to clipboard
make clean
pour nettoyer le dossier source des fichiers inutiles par rapport à votre version de Qt.
3) puis la compilation proprement dite :
4) et pour finir, l'"installation", si on peut donner ce nom ronflant à cette manip qui consiste à déplacer le binaire exécutable généré par la compilation vers un dossier qui est déjà dans le PATH du système :
Copy to clipboard
sudo mv jamulus /usr/local/bin/
Pour info :
- Le paquet libqt4-dev doit rester installé sur la machine après la compilation même si vous prévoyez de ne jamais lancer le serveur avec son interface graphique.
- Les préférences sont conservées dans ~/.config/Jamulus/Jamulusserver.ini quand on quitte le serveur.
Pour lancer le serveur je me suis créé un script "jam" dans mon home (* voir note en section Liens pour les codes pays)
Copy to clipboard
!/bin/bash
# chrt 99 ionice -c1 nice -n -20 jamulus -s -n -g -l /var/log/llconserver1 -e "localhost" -o "jamulus.dyndns.org;Aachen;82" &
#
# chrt 99: run a new process with the given real-time scheduling properties
# ionice -c1: sets the io scheduling class to 1 for real time
# nice -n -20: run with modified scheduling priority -20 (highest priority)
# -s: Jamulus server mode
# -n: the server shall be run in deamon mode and no GUI is started
# -g: send ping messages to the servers in the server list to keep NAT ports open
# -l /var/log/llconserver1: store the server statistic in the file llconserver1
# -e: central server address (since this is a central server, set to "localhost")
# -o: set the name, city and country information
# chrt 99 ionice -c1 nice -n -20 jamulus -s -g -l /var/log/jamulus1 -e "localhost" -o "NomServeur;MonBled;74" # Pour inscrire le serveur sur le central jamulus.dyndns.org
# chrt 99 ionice -c1 nice -n -20 jamulus -s -n -e "localhost" -o "NomServeur;MonBled;74" & # Sans fichier log
service minidlna stop # bonus :) (par exemple)
if [[ $(echo $0|grep jamgpub) ]]; then
chrt 99 ionice -c1 nice -n -20 /bin/jamulus -s -g -l /var/log/jamulus.log -e "jamulus.dyndns.org" -o "NomServeur;MonBled;74" & #Serveur public avec Log et GUI
elif [[ $(echo $0|grep pub) ]]; then
chrt 99 ionice -c1 nice -n -20 /bin/jamulus -s -g -n -l /var/log/jamulus.log -e "jamulus.dyndns.org" -o "NomServeur;MonBled;74" & #Serveur public avec Log sans GUI
elif [[ $(echo $0|grep jamg) ]]; then
chrt 99 ionice -c1 nice -n -20 /bin/jamulus -s -e "localhost" -o "NomServeur;MonBled;74" & #Serveur privé avec GUI sans Log
else
chrt 99 ionice -c1 nice -n -20 /bin/jamulus -s -n -e "localhost" -o "NomServeur;MonBled;74" & #Serveur privé sans GUI ni Log
fi
exit
que je pourrai lancer en terminal après avoir fini de préparer le terrain :
Copy to clipboard
chmod +x ~/jam
ln -s ~/jam ~/jamg
ln -s ~/jam ~/jampub
ln -s ~/jam ~/jamgpub
ainsi :
Copy to clipboard
sudo ~/jam
ou avec l'interface graphique
gksudo ~/jamg
suffixer avec pub pour lancer un serveur public visible sur jamulus.dyndns.org
Pour fignoler en cas d'utilisation graphique :
Copy to clipboard
sudo mv src/res/jamulus.desktop /usr/share/applications/
sudo mv src/res/mainicon.png /usr/share/icons/hicolor/16x16/apps/jamulus.png
sudo mv src/res/fronticon.png /usr/share/icons/hicolor/32x32/apps/jamulus.png
gksudo gedit /usr/share/applications/jamulus.desktop
remplacer la ligne
Copy to clipboard
Icon=jamulus
par
Copy to clipboard
Icon=/usr/share/icons/hicolor/32x32/apps/jamulus.png
fermer gedit en enregistrant.
Puis supprimer tout le bourier qui n'est plus nécessaire :
Copy to clipboard
cd ..
rm -rf Jamulus3.3.7 # ou le numéro de version téléchargé
Rebonus :
Copy to clipboard
gedit ~/jam-stop
#!/bin/bash
killall jamulus
service minidlna start # (par exemple)
Alt+F4
Enregistrer
chmod +x ~/jam-stop
Pour faciliter les mises à jour, le gars Gilgongo nous a pondu
un script qui automatise 
tout ça. Il est très facilement modifiable pour utiliser l'option "CONFIG+=noupcasename" et aussi pour mettre le client à jour (enlever l'option nosound).
Après avoir installé Jack, la procédure est la même, sauf qu'en remplaçant les deux commandes au § 1) du chapitre "Pour le serveur" par
Copy to clipboard
sudo apt-get install build-essential libqt4-dev libjack-dev # pour Jack v1
sudo apt-get install build-essential libqt4-dev libjack-jackd2-dev # pour Jack v2
qmake "CONFIG+=noupcasename" "CONFIG+=nocelt" Jamulus.pro
la compilation (make clean puis make) génère à la fois le client et le serveur.
Pour fignoler l'utilisation graphique (sans le -n dans le script de lancement) :
Copy to clipboard
sudo mv src/res/jamulus.desktop /usr/share/applications/
sudo mv src/res/mainicon.png /usr/share/icons/hicolor/16x16/apps/jamulus.png
sudo mv src/res/fronticon.png /usr/share/icons/hicolor/32x32/apps/jamulus.png
gksudo gedit /usr/share/applications/jamulus.desktop
remplacer la ligne
Copy to clipboard
Icon=jamulus
par
Copy to clipboard
Icon=/usr/share/icons/hicolor/32x32/apps/jamulus.png
fermer gedit en enregistrant.
Puis supprimer tout le bourrier qui n'est plus nécessaire:
Copy to clipboard
cd ..
rm -rf Jamulus3.3.7 # ou le numéro de version téléchargé
Créer 2 scripts pour le lancement et l'assassinat automatiques de jamulus par QjackCtl :
Copy to clipboard
echo -e '#!/bin/bash\njamulus &'>~/jam-start
echo -e "#!/bin/bash\npkill jamulus &">~/jamkill
chmod +x ~/jam-start ~/jamkill
Lancer QjackCtl...
Aller dans Réglages/Options, cocher les cases "Exécuter un script après le démarrage" et "Exécuter un script à l'extinction" et indiquez respectivement en face le nom de chaque script créé ci-dessus.
Pour info, les préférences sont conservées dans ~/.config/Jamulus/Jamulus.ini quand on quitte le client. Mais mon script de sauvage jamkill empêche jamulus d'enregistrer sa conf quand il meurt violemment : donc à chaque modif de conf, pensez à arrêter jamulus normalement, puis arrêter QjackCtl et le relancer... jusqu'à ce qu'un linuxien plus malin ne propose ici une modif intelligente de jamkill ou des sources du programme :) voir
ce fil 
.
Démarre jack à partir de QjackCtl. Si tout va bien jamulus se lance et tu peux aller faire tes branchements dans la baie de brassage :