Mi sistema operativo principal es OS X, sin embargo, tengo un sistema Linux Mint que uso y corro en situaciones similares en las que quiero hacer lo mismo en ambos sistemas, y cuando no es compatible directamente, tengo que encontrar otra forma . En un caso como este, si no hubiera una extensión del navegador para los archivos .desktop
, como en su other question sobre .url
files, esto es lo que haría.
Convierto los archivos .desktop
en archivos .webloc
y / o archivos% co_de y uso el Panel de preferencias de aplicaciones predeterminadas, RCDefaultApp by Rubicode , para cambiar la aplicación que abre cualquier extensión de archivo dada.
Aquí hay un bash script , que modifiqué de un script que escribí hace años, que creará .url
files y / o .webloc
files from .url
de archivos que tienen URLs en ellos.
- En un Terminal
.desktop
al directorio que contiene los archivos cd
.
-
Emite los siguientes comandos:
.desktop
touch d2wu
-
Copie y pegue el código a continuación en el archivo open d2wu
abierto.
#!/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
-
Guarde y cierre el archivo d2wu
.
-
Haz d2wu
ejecutable:
d2wu
-
Ejecutar chmod u+x d2wu
:
d2wu
Ejemplo de script salida:
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: puede usar el panel de preferencias de aplicaciones predeterminadas, RCDefaultApp de Rubicode , para cambiar la aplicación que abre extensión de archivo.
Además, si necesita modificar otros métodos predeterminados de tipos de archivos, aplicaciones, URL, UTI, etc., el Panel de preferencias de aplicaciones predeterminadas es una gran utilidad para ello.
Nota:Comoestácodificado,nosobrescribirálosarchivosexistentes./d2wu
nilosarchivos.webloc
,inclusocuandoseseleccionó1,2o3,informa"Creando ... archivos.". Esto se hizo tanto para no pisar los archivos existentes como para minimizar la salida a la pantalla, mientras que solo se muestra qué archivos .url
no contienen una línea .desktop
, como puede ser el caso, dependiendo del tipo de archivo URL=...
que sea.