Edit : voici les dernières versions des scripts pour installer Captvty V2 ou V3 (au choix) (lien que j'essayerai de mettre à jour régulièrement) : ici

Bonjour,

Je suis sous kUbuntu 18.04.
Aujourd'hui, j'ai écrit un petit script pour faciliter l'installation de captvty sous Ubuntu. Vous pourriez me donner votre avis ?

captvty.sh
#!/bin/bash

sudo apt install wine-stable winetricks zenity
export WINEARCH=win32
winetricks dotnet40 fontsmooth-rgb
wget http://captvty.fr/getgdiplus -O kb975337.exe
wine kb975337.exe /x:kb975337 /q
cp kb975337/asms/10/msft/windows/gdiplus/gdiplus.dll .wine/drive_c/windows/system32
wine reg add HKCU\\Software\\Wine\\DllOverrides /v gdiplus /d native,builtin /f
winetricks ie8
wget http://captvty.fr/getflash -O fplayer.exe
wine fplayer.exe -install -au 2

zenity --info --text="Veuillez télécharger la dernier version de Captvty (prendre archive ZIP) sur le site web qui va s ouvrir"

xdg-open http://captvty.fr/

fichierzip=$(zenity --file-selection --title="Veuillez sélectionner le fichier zip" --text="Choisissez le fichier zip de captvty")

test -d /home/$USER/.captvty && rm -rf "/home/$USER/.captvty"

mkdir '/home/'$USER'/.captvty'
unzip $fichierzip -d '/home/'$USER'/.captvty/'

rm -Rf kb975337.exe fplayer.exe kb975337/ $fichierzip
wget "http://www.kevinsubileau.fr/wp-content/uploads/2016/10/captvty-logo-150x150.png" -O '/home/'$USER'/.icons/captvty-logo.png'



echo '[Desktop Entry]' > ~/.local/share/applications/Captvty.desktop
echo 'Comment[fr_FR]=' >> ~/.local/share/applications/Captvty.desktop
echo 'Comment=' >> ~/.local/share/applications/Captvty.desktop
echo 'Exec=wine /home/'$USER'/.captvty/Captvty.exe' >> ~/.local/share/applications/Captvty.desktop
echo 'GenericName[fr_FR]=Regarder et enregistrer la tv' >> ~/.local/share/applications/Captvty.desktop
echo 'GenericName=Regarder et enregistrer la tv' >> ~/.local/share/applications/Captvty.desktop
echo 'Icon=/home/'$USER'/.icons/captvty-logo.png' >> ~/.local/share/applications/Captvty.desktop
echo 'MimeType=' >> ~/.local/share/applications/Captvty.desktop
echo 'Name[fr_FR]=Captvty' >> ~/.local/share/applications/Captvty.desktop
echo 'Name=Captvty' >> ~/.local/share/applications/Captvty.desktop
echo 'Path=/home/'$USER >> ~/.local/share/applications/Captvty.desktop
echo 'StartupNotify=true' >> ~/.local/share/applications/Captvty.desktop
echo 'Terminal=false' >> ~/.local/share/applications/Captvty.desktop
echo 'TerminalOptions=' >> ~/.local/share/applications/Captvty.desktop
echo 'Type=Application' >> ~/.local/share/applications/Captvty.desktop
echo 'X-DBUS-ServiceName=' >> ~/.local/share/applications/Captvty.desktop
echo 'X-DBUS-StartupType=' >> ~/.local/share/applications/Captvty.desktop
echo 'X-KDE-SubstituteUID=false' >> ~/.local/share/applications/Captvty.desktop
echo 'X-KDE-Username=' >> ~/.local/share/applications/Captvty.desktop
¡ Holà !

Je suggère de remplacer la ligne
firefox http://captvty.fr/
par
xdg-open http://captvty.fr/
pour ouvrir le lien avec le navigateur par défaut car tout le monde n'utilise pas Firefox.

Pour le reste je n'ai pas testé ton script car je n'utilise pas Captvty.

À plus.
Ok je viens d'ajouter xdg-open, merci,maintenant ça m'ouvre chrome.

Mais comment retourner au script une fois le téléchargement terminer, avec firefox je n'avais qu'à fermer la page une fois le téléchargement terminé.
J'ai parlé trop vite, en fait le navigateur se lance et juste après la fenêtre demandant le fichier s'ouvre.

Alors qu'avec firefox le script se mettait en "pause" jusqu'à la fermeture de firefox.

Sinon j'ai ajouté deux lignes pour effacer le dossier où je mets le programme dézippé, pour qu'en cas de mise à jour, il n'y ait pas de conflit avec l'ancienne version.
salut,

les variables doivent TOUJOURS être entre guillemets.
et une ligne qui contient une variable doit être entre guillemets; pas besoin de découper avec des apostrophes :
:dothings "bla bla $var bla bla"
si la variable est accolée à des caractères non spéciaux, on lui ajoute des accolades :
:dothings "bla bla ${var}bla bla"
si un condition n'induit qu'une commande, alors une structure if est inutile (et on préfère test) :
test -d /chemin/ && :faire
Merci, voici le script mis à jour :
#!/bin/bash

sudo apt install wine-stable winetricks zenity

export WINEARCH=win32
winetricks dotnet40 fontsmooth-rgb
wget http://captvty.fr/getgdiplus -O kb975337.exe
wine kb975337.exe /x:kb975337 /q
cp kb975337/asms/10/msft/windows/gdiplus/gdiplus.dll .wine/drive_c/windows/system32
wine reg add HKCU\\Software\\Wine\\DllOverrides /v gdiplus /d native,builtin /f
winetricks ie8
wget http://captvty.fr/getflash -O fplayer.exe
wine fplayer.exe -install -au 2

zenity --info --text="Veuillez télécharger la dernier version de Captvty (prendre archive ZIP) sur le site web qui va s ouvrir"

xdg-open http://captvty.fr/

fichierzip=$(zenity --file-selection --title="Veuillez sélectionner le fichier zip" --text="Choisissez le fichier zip de captvty")

test -d /home/$USER/.captvty && rm -rf "/home/$USER/.captvty"

mkdir "/home/$USER/.captvty"
unzip $fichierzip -d "/home/$USER/.captvty/"

rm -Rf kb975337.exe fplayer.exe kb975337/ $fichierzip
wget "http://www.kevinsubileau.fr/wp-content/uploads/2016/10/captvty-logo-150x150.png" -O "/home/$USER/.icons/captvty-logo.png"



echo "[Desktop Entry]" > ~/.local/share/applications/Captvty.desktop
echo "Comment[fr_FR]=" >> ~/.local/share/applications/Captvty.desktop
echo "Comment=" >> ~/.local/share/applications/Captvty.desktop
echo "Exec=wine /home/$USER/.captvty/Captvty.exe" >> ~/.local/share/applications/Captvty.desktop
echo "GenericName[fr_FR]=Regarder et enregistrer la tv" >> ~/.local/share/applications/Captvty.desktop
echo "GenericName=Regarder et enregistrer la tv" >> ~/.local/share/applications/Captvty.desktop
echo "Icon=/home/$USER/.icons/captvty-logo.png" >> ~/.local/share/applications/Captvty.desktop
echo "MimeType=" >> ~/.local/share/applications/Captvty.desktop
echo "Name[fr_FR]=Captvty" >> ~/.local/share/applications/Captvty.desktop
echo "Name=Captvty" >> ~/.local/share/applications/Captvty.desktop
echo "Path=/home/$USER" >> ~/.local/share/applications/Captvty.desktop
echo "StartupNotify=true" >> ~/.local/share/applications/Captvty.desktop
echo "Terminal=false" >> ~/.local/share/applications/Captvty.desktop
echo "TerminalOptions=" >> ~/.local/share/applications/Captvty.desktop
echo "Type=Application" >> ~/.local/share/applications/Captvty.desktop
echo "X-DBUS-ServiceName=" >> ~/.local/share/applications/Captvty.desktop
echo "X-DBUS-StartupType=" >> ~/.local/share/applications/Captvty.desktop
echo "X-KDE-SubstituteUID=false" >> ~/.local/share/applications/Captvty.desktop
echo "X-KDE-Username=" >> ~/.local/share/applications/Captvty.desktop
Pour simplifier la lecture du script il est préférable de mettre le nom des variables en majuscule : on les repère tout de suite et on ne peut pas les confondre avec une commande (utile si on recherche une erreur)
fichierzip=$(zenity --file-selection --title="Veuillez sélectionner le fichier zip" --text="Choisissez le fichier zip de captvty")
devient
FICHIERZIP=$(zenity --file-selection --title="Veuillez sélectionner le fichier zip" --text="Choisissez le fichier zip de captvty")
et ainsi de suite avec les guillemets que te conseille de mettre Watael :
rm -Rf kb975337.exe fplayer.exe kb975337/ $fichierzip
devient
rm -Rf kb975337.exe fplayer.exe kb975337/ "$FICHIERZIP"
etc...

Et pour vérifier ton script tu copies et colles le contenu sur shellcheck. Le site te donne le numéro de ligne qui contient une erreur et te propose une correction ('faut un petit peu comprendre l'anglais).

À plus.
Voici le script à nouveau modifié :
Je viens de mettre à jour en repassant la variable en minuscule.
#!/bin/bash

sudo apt install wine-stable winetricks zenity

export WINEARCH=win32
winetricks dotnet40 fontsmooth-rgb
wget http://captvty.fr/getgdiplus -O kb975337.exe
wine kb975337.exe /x:kb975337 /q
cp kb975337/asms/10/msft/windows/gdiplus/gdiplus.dll .wine/drive_c/windows/system32
wine reg add HKCU\\Software\\Wine\\DllOverrides /v gdiplus /d native,builtin /f
winetricks ie8
wget http://captvty.fr/getflash -O fplayer.exe
wine fplayer.exe -install -au 2

zenity --info --text="Veuillez télécharger la dernier version de Captvty (prendre archive ZIP) sur le site web qui va s ouvrir"

xdg-open http://captvty.fr/

fichierzip=$(zenity --file-selection --title="Veuillez sélectionner le fichier zip" --text="Choisissez le fichier zip de captvty")

test -d "/home/$USER/.captvty" && rm -rf "/home/$USER/.captvty"

mkdir "/home/$USER/.captvty"
unzip "$fichierzip" -d "/home/$USER/.captvty/"

rm -Rf kb975337.exe fplayer.exe kb975337/ "$fichierzip"
wget "http://www.kevinsubileau.fr/wp-content/uploads/2016/10/captvty-logo-150x150.png" -O "/home/$USER/.icons/captvty-logo.png"



echo "[Desktop Entry]" > ~/.local/share/applications/Captvty.desktop
echo "Comment[fr_FR]=" >> ~/.local/share/applications/Captvty.desktop
echo "Comment=" >> ~/.local/share/applications/Captvty.desktop
echo "Exec=wine /home/$USER/.captvty/Captvty.exe" >> ~/.local/share/applications/Captvty.desktop
echo "GenericName[fr_FR]=Regarder et enregistrer la tv" >> ~/.local/share/applications/Captvty.desktop
echo "GenericName=Regarder et enregistrer la tv" >> ~/.local/share/applications/Captvty.desktop
echo "Icon=/home/$USER/.icons/captvty-logo.png" >> ~/.local/share/applications/Captvty.desktop
echo "MimeType=" >> ~/.local/share/applications/Captvty.desktop
echo "Name[fr_FR]=Captvty" >> ~/.local/share/applications/Captvty.desktop
echo "Name=Captvty" >> ~/.local/share/applications/Captvty.desktop
echo "Path=/home/$USER" >> ~/.local/share/applications/Captvty.desktop
echo "StartupNotify=true" >> ~/.local/share/applications/Captvty.desktop
echo "Terminal=false" >> ~/.local/share/applications/Captvty.desktop
echo "TerminalOptions=" >> ~/.local/share/applications/Captvty.desktop
echo "Type=Application" >> ~/.local/share/applications/Captvty.desktop
echo "X-DBUS-ServiceName=" >> ~/.local/share/applications/Captvty.desktop
echo "X-DBUS-StartupType=" >> ~/.local/share/applications/Captvty.desktop
echo "X-KDE-SubstituteUID=false" >> ~/.local/share/applications/Captvty.desktop
echo "X-KDE-Username=" >> ~/.local/share/applications/Captvty.desktop
Pour simplifier la lecture du script il est préférable de mettre le nom des variables en majuscule
NON.
les noms de variables tout en majuscules sont, par convention, réservés aux variables d'environnement (HOME, USER, et d'autres moins connues que vous risquez d'écraser).
salut,
pour le fichier desktop, tu vas moins t'emmerder avec ça :
(cat << FIN
[Desktop Entry]
Comment[fr_FR]=
Comment=
Exec=wine /home/$USER/.captvty/Captvty.exe
GenericName[fr_FR]=Regarder et enregistrer la tv
GenericName=Regarder et enregistrer la tv
Icon=/home/$USER/.icons/captvty-logo.png
MimeType=
Name[fr_FR]=Captvty
Name=Captvty
Path=/home/$USER
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=
FIN
) > ~/.local/share/applications/Captvty.desktop
Du coup le script final devient :
#!/bin/bash

sudo apt install wine-stable winetricks zenity

export WINEARCH=win32
winetricks dotnet40 fontsmooth-rgb
wget http://captvty.fr/getgdiplus -O kb975337.exe
wine kb975337.exe /x:kb975337 /q
cp kb975337/asms/10/msft/windows/gdiplus/gdiplus.dll .wine/drive_c/windows/system32
wine reg add HKCU\\Software\\Wine\\DllOverrides /v gdiplus /d native,builtin /f
winetricks ie8
wget http://captvty.fr/getflash -O fplayer.exe
wine fplayer.exe -install -au 2

zenity --info --text="Veuillez télécharger la dernier version de Captvty (prendre archive ZIP) sur le site web qui va s ouvrir"

xdg-open http://captvty.fr/

fichierzip=$(zenity --file-selection --title="Veuillez sélectionner le fichier zip" --text="Choisissez le fichier zip de captvty")

test -d "/home/$USER/.captvty" && rm -rf "/home/$USER/.captvty"

mkdir "/home/$USER/.captvty"
unzip "$fichierzip" -d "/home/$USER/.captvty/"

rm -Rf kb975337.exe fplayer.exe kb975337/ "$fichierzip"
wget "http://www.kevinsubileau.fr/wp-content/uploads/2016/10/captvty-logo-150x150.png" -O "/home/$USER/.icons/captvty-logo.png"


(cat << FIN
[Desktop Entry]
Comment[fr_FR]=
Comment=
Exec=wine /home/$USER/.captvty/Captvty.exe
GenericName[fr_FR]=Regarder et enregistrer la tv
GenericName=Regarder et enregistrer la tv
Icon=/home/$USER/.icons/captvty-logo.png
MimeType=
Name[fr_FR]=Captvty
Name=Captvty
Path=/home/$USER
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=
FIN
) > "/home/$USER/.local/share/applications/Captvty.desktop"
Watael a écrit
Pour simplifier la lecture du script il est préférable de mettre le nom des variables en majuscule
NON.
les noms de variables tout en majuscules sont, par convention, réservés aux variables d'environnement (HOME, USER, et d'autres moins connues que vous risquez d'écraser).

Oups !

J'ai toujours fait mes scripts avec mes variables en majuscule... bon c'est vrai que je ne fais pas de scripts trop compliqués ni trop longs...

Dont acte !

À plus
En regardant ce que tu as fait je me suis inspiré de toi pour le préfix de Wine, voici ce que ça donne, (j'espère que tu ne m'en voudras pas trop) :
#!/bin/bash

sudo apt install wine-stable winetricks zenity

export WINEPREFIX="/home/$USER/.wine_captvty"
export WINEARCH=win32
winetricks dotnet40 fontsmooth-rgb
wget http://captvty.fr/getgdiplus -O kb975337.exe
wine kb975337.exe /x:kb975337 /q
cp "kb975337/asms/10/msft/windows/gdiplus/gdiplus.dll" "/home/$USER/.wine_captvty/drive_c/windows/system32"
wine reg add HKCU\\Software\\Wine\\DllOverrides /v gdiplus /d native,builtin /f
winetricks ie8
wget http://captvty.fr/getflash -O fplayer.exe
wine fplayer.exe -install -au 2

zenity --info --text="Veuillez télécharger la dernier version de Captvty (prendre archive ZIP) sur le site web qui va s ouvrir"

xdg-open http://captvty.fr/

fichierzip=$(zenity --file-selection --title="Veuillez sélectionner le fichier zip" --text="Choisissez le fichier zip de captvty")

test -d "/home/$USER/.captvty" && rm -rf "/home/$USER/.captvty"

mkdir "/home/$USER/.captvty"
unzip "$fichierzip" -d "/home/$USER/.captvty/"

rm -Rf kb975337.exe fplayer.exe kb975337/ "$fichierzip"
wget "http://www.kevinsubileau.fr/wp-content/uploads/2016/10/captvty-logo-150x150.png" -O "/home/$USER/.icons/captvty-logo.png"

(cat << FIN
[Desktop Entry]
Comment[fr_FR]=
Comment=
Exec=env WINEPREFIX="/home/$USER/.wine_captvty" wine /home/$USER/.captvty/Captvty.exe
GenericName[fr_FR]=Regarder et enregistrer la tv
GenericName=Regarder et enregistrer la tv
Icon=/home/$USER/.icons/captvty-logo.png
MimeType=
Name[fr_FR]=Captvty
Name=Captvty
Path=/home/$USER
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=
FIN
) > "/home/$USER/.local/share/applications/Captvty.desktop"
salut,

kb975337.exe n'est pas nécessaire il me semble.
5 mois plus tard
au lieu d'installer xdg et demander à la personne de télécharger, on peut automatiser
wget -q -O- http://captvty.fr/ | egrep -o '\/\/.+?\.zip' | sed 's/\/\//http:\/\//' | xargs wget -O /tmp/Captvty.zip && \
ls -alrt /tmp/Cap*zip && unzip -d  ~/Captvty /tmp/Captvty.zip && rm /tmp/Captvty.zip
Merci pour l'aide, du coup voici ce que donne le nouveau script :
#!/bin/bash

sudo apt install wine32 wine-stable winetricks zenity

export WINEPREFIX="/home/$USER/.wine_captvty"
export WINEARCH=win32
winetricks dotnet40 fontsmooth-rgb
wget http://captvty.fr/getgdiplus -O kb975337.exe
wine kb975337.exe /x:kb975337 /q
cp "kb975337/asms/10/msft/windows/gdiplus/gdiplus.dll" "/home/$USER/.wine_captvty/drive_c/windows/system32"
wine reg add HKCU\\Software\\Wine\\DllOverrides /v gdiplus /d native,builtin /f
winetricks ie8
wget http://captvty.fr/getflash -O fplayer.exe
wine fplayer.exe -install -au 2

test -d "/home/$USER/.captvty" && rm -rf "/home/$USER/.captvty"
mkdir "/home/$USER/.captvty"

wget -q -O- http://captvty.fr/ | egrep -o '\/\/.+?\.zip' | sed 's/\/\//http:\/\//' | xargs wget -O /tmp/Captvty.zip && \
ls -alrt /tmp/Cap*zip && unzip -d  "/home/$USER/.captvty/" /tmp/Captvty.zip && rm /tmp/Captvty.zip

rm -Rf kb975337.exe fplayer.exe kb975337/ "$fichierzip"
wget "http://www.kevinsubileau.fr/wp-content/uploads/2016/10/captvty-logo-150x150.png" -O "/home/$USER/.icons/captvty-logo.png"

(cat << FIN
[Desktop Entry]
Comment[fr_FR]=
Comment=
Exec=env WINEPREFIX="/home/$USER/.wine_captvty" wine /home/$USER/.captvty/Captvty.exe
GenericName[fr_FR]=Regarder et enregistrer la tv
GenericName=Regarder et enregistrer la tv
Icon=/home/$USER/.icons/captvty-logo.png
MimeType=
Name[fr_FR]=Captvty
Name=Captvty
Path=/home/$USER
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=
FIN
) > "/home/$USER/.local/share/applications/Captvty.desktop"
on peut grouper tous les winetricks, et ne pas demander de cliquer OK pour la licence et tout ça, donc
winetricks -q --unattended dotnet40 fontsmooth-rgb ie8
Du coup le script devient :
#!/bin/bash

sudo apt install wine32 wine-stable winetricks zenity

export WINEPREFIX="/home/$USER/.wine_captvty"
export WINEARCH=win32
winetricks -q --unattended dotnet40 fontsmooth-rgb ie8
wget http://captvty.fr/getgdiplus -O kb975337.exe
wine kb975337.exe /x:kb975337 /q
cp "kb975337/asms/10/msft/windows/gdiplus/gdiplus.dll" "/home/$USER/.wine_captvty/drive_c/windows/system32"
wine reg add HKCU\\Software\\Wine\\DllOverrides /v gdiplus /d native,builtin /f
wget http://captvty.fr/getflash -O fplayer.exe
wine fplayer.exe -install -au 2

test -d "/home/$USER/.captvty" && rm -rf "/home/$USER/.captvty"
mkdir "/home/$USER/.captvty"

wget -q -O- http://captvty.fr/ | egrep -o '\/\/.+?\.zip' | sed 's/\/\//http:\/\//' | xargs wget -O /tmp/Captvty.zip && \
ls -alrt /tmp/Cap*zip && unzip -d  "/home/$USER/.captvty/" /tmp/Captvty.zip && rm /tmp/Captvty.zip

rm -Rf kb975337.exe fplayer.exe kb975337/ "$fichierzip"
wget "http://www.kevinsubileau.fr/wp-content/uploads/2016/10/captvty-logo-150x150.png" -O "/home/$USER/.icons/captvty-logo.png"

(cat << FIN
[Desktop Entry]
Comment[fr_FR]=
Comment=
Exec=env WINEPREFIX="/home/$USER/.wine_captvty" wine /home/$USER/.captvty/Captvty.exe
GenericName[fr_FR]=Regarder et enregistrer la tv
GenericName=Regarder et enregistrer la tv
Icon=/home/$USER/.icons/captvty-logo.png
MimeType=
Name[fr_FR]=Captvty
Name=Captvty
Path=/home/$USER
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=
FIN
) > "/home/$USER/.local/share/applications/Captvty.desktop"
6 jours plus tard
@paulwoisard
Juste pour un retour : j'ai utilisé la dernière version de ton script pour installer Captvty et tout s'est très bien passé, je n'ai eu qu'à regarder le terminal dérouler et ronronner, sans répondre à la moindre question. Bravo !
(pour info : je suis sous Xubuntu-Voyager 18.04 LTS 64 bits)
Si je peux me permettre, la seule chose qui m'a manqué, c'est à la fin, d'avoir eu à installer VLC manuellement après l'installation du script. Mais bon, peut-être n'est-ce pas incorporable au script ?
En tout cas, je te renouvelle mes remerciements pour ton travail, c'est vraiment super 😃

PS: remerciements à partager avec tous tes contributeurs bien sûr (k3c, melixgaro, grandtoutab, le-peyo, kholo, Watael, etc ...)