On peut conserver des favoris à la volée en glissant le cadena de l'adresse d'une page web vers un dossier (attention ça ne marche pas toujours, mais je ne sais pas pourquoi)
j'ai eut 2 problèmes de compatibilité entre Linux et Windows :
- Les fichiers de favoris *.desktop ne pouvaient pas ouvrir automatiquement une page web sur Internet (seulement le contenu texte du fichier)
- Certains fichiers n'étaient pas lisibles avec MS Windows sur disque Ntfs à cause de caractères non autorisés (caractères réservés : " * / : < > ? \ | )
J'ai trouvé les solutions
Attention, le nom de fichier *.desktop sur Linux ne sera pas forcement le même que celui affiché dans Windows: celà dépend du contenu texte dans le fichier
> La première chose à faire est de déplacer les fichiers *.desktop vers un dossier vide .
Vous y placer le script de conversion de fichier convert_desktop2url.bash :
Code: Select all
#!/bin/bash
#case-insensitive
# source - https://www.linuxquestions.org/questions/programming-9/bash-script-convert-ms-url-files-to-linux-desktop-links-4175483877/
shopt -s nocaseglob
#give folder as argument or execute in current directory
[ -n "${1}" -a -d "${1}" ] && cd "${1}"
for file in *.desktop
do
URLLINE=$(grep -Ei url= "$file")
FILENAME=`echo $(basename "$file") | cut -d'.' -f1`
echo -ne "[InternetShortcut]\n$URLLINE" > "$FILENAME.url"
done
https://www.linuxquestions.org/question ... 175483877/
Pour convertir les fichiers *.desktop" vers "*.url"
Code: Select all
$ bash convert_desktop2url.bash
> la deuxième phase est de rendre compatible certains fichiers non reconnus à cause de caractères interdits
Donc cette ligne de commande va substituer les caractères qui ne sont pas des lettres de l'alphabet, majuscules [A-Z], minuscules [a-z], chiffres [0-9], caractères accentués [àáâäôèéêëçîïùúû] , le point ou le trait d'union [.-], par un espace '/ /'
Code: Select all
for f in *.url; do nf=$(echo "$f" |sed -e 's/[^A-Za-z0-9àáâäôèéêëçîïùúû.-]/ /g'); test "$f" != "$nf" && mv "$f" "$nf" && echo "$nf"; done
Source : https://qastack.fr/server/348482/how-to ... -filenames
Cette fois cela devrais fonctionner !