Il mio sistema operativo principale è OS X, tuttavia ho un sistema Linux Mint che uso e mi imbatto in situazioni simili in cui voglio fare la stessa cosa su entrambi i sistemi, e quando non è supportato direttamente devo trovare un altro modo . In un caso come questo, se non ci fosse un'estensione del browser per i file .desktop
, come nel tuo altra domanda sui file .url
, ecco cosa farei.
Converto i file .desktop
in .webloc
file eo .url
file e utilizzo il pannello preferenze predefinite per le app, RCDefaultApp di Rubicode , per cambiare quale applicazione apre una determinata estensione di file.
Ecco uno script bash , che ho modificato da un simile script che ho scritto anni fa, che creerà .webloc
file eo .url
file da .desktop
di file contenenti URL .
- In un terminale
cd
alla directory contenente i file .desktop
.
-
Emette i seguenti comandi:
touch d2wu
open d2wu
-
Copia e incolla il codice sotto nel file d2wu
aperto.
#!/bin/bash
clear
echo
echo " Create .webloc/.url files from .desktop files."
echo " ----------------------------------------------"
echo " Choose File Type(s):"
echo
echo " [1] Create .webloc & .url files."
echo " [2] Create only .webloc files."
echo " [3] Create only .url files."
echo " [Q] Quit."
echo
echo " Press 1 to 3 or Q then press Enter..."
Create_WEBLOC () {
for f in *.desktop; do
if [[ ! -f ${f%.*}.webloc ]]; then
url="$(awk -F '=' '/^URL=/{print $2}' "$f")"
if [[ ! -z $url ]]; then
cat <<EOF >"${f%.*}.webloc"
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>URL</key>
<string>$url</string>
</dict>
</plist>
EOF
else
echo " No URL found in $f file."
fi
fi
done
}
Create_URL () {
for f in *.desktop; do
if [[ ! -f ${f%.*}.url ]]; then
url="$(grep -e '^URL=' "$f")"
if [[ ! -z $url ]]; then
printf "[InternetShortcut]\n${url}\n" > "${f%.*}.url"
else
echo " No URL found in $f file."
fi
fi
done
}
read keypress
echo
case "$keypress" in
"1")
echo " Creating .webloc & .url files."
Create_WEBLOC
Create_URL
;;
"2")
echo " Creating .webloc files."
Create_WEBLOC
;;
"3")
echo " Creating .url files."
Create_URL
;;
"q" | "Q")
echo " No files were created."
;;
*)
echo " Pressing \"$keypress\" is not a valid choice... Try again!"
echo
read -p " Press Enter to continue..."
"$0" # Run the Script again.
;;
esac
echo
-
Salva e chiudi il file d2wu
.
-
Crea d2wu
eseguibile:
chmod u+x d2wu
-
Esegui d2wu
:
./d2wu
Esempio di script :
Create .webloc/.url files from .desktop files.
----------------------------------------------
Choose File Type(s):
[1] Create .webloc & .url files.
[2] Create only .webloc files.
[3] Create only .url files.
[Q] Quit.
Press 1 to 3 or Q then press Enter...
[]
Nota: puoi usare il pannello delle preferenze delle app predefinite, RCDefaultApp by Rubicode , per cambiare quale applicazione apre una determinata estensione del file.
Inoltre, se hai bisogno di modificare altri metodi predefiniti di tipi di file, app, URL, UTI, ecc. il pannello delle preferenze delle app predefinite è una grande utilità per questo.
Nota:comecodificato,nonsovrascriveràifile.webloc
esistentieifile.url
nemmenosesiselezionano1,2o3,riporta"Creazione ... file". Ciò è stato fatto per non eseguire alcun passaggio sui file esistenti e ridurre al minimo l'output sullo schermo, mentre solo l'output dei file .desktop
non contiene una riga URL=...
, come può essere il caso in base al tipo di file .desktop
.