De hecho, quiero hacer dos preguntas:
¿Dónde puedo encontrar más información sobre los accesos directos de argumentos / parámetros disponibles para la entrada Exec en archivos de escritorio (como% U,% u,% f ...)
Pregunta principal, ¿cómo pasar el archivo como argumento en .desktop launcher para la aplicación de vino?
Encontré buscando aquí esta sugerencia: z:%f
que no me sirve, como si simplemente ejecutara el archivo .desktop sin pasar el archivo, asume que el argumento es z:
y comienza a escanear z:
"drive"
Ejemplo:
[Desktop Entry]
Name=Some Windows program
Exec=wine "program.exe" z:%f
Type=Application
Terminal=false
MimeType=application/docbook+xml
Quiero colocar un archivo XML en mi lanzador .desktop personalizado para esta aplicación de vino y puedo hacerlo de esta manera. El problema es que si hago clic en el icono del iniciador para evocar este programa, z:
siempre se pasa un argumento y eso no es aceptable
z:%f
solución anterior no es buena ya que cada vez que lanzo este argumento de la aplicación de vinoz:
se pasa y quiero evitar esoapplication.exe
que desea pasarle el archivo seleccionado actual en nautilus, es decirfile.txt
?exec
línea que verifica%f
si, si existe, inicie la aplicación en el archivo, si no solo inicie la aplicación. ¿Cuidarlo o no es una opción?Respuestas:
Esto es lo mejor que puedo hasta ahora (ejemplo de Bloc de notas)
Espero mejores respuestas considerando que soy principiante
fuente
Para la primera pregunta, puede echar un vistazo a la Especificación de entrada de escritorio: la
Exec
clavefuente
Una mejora en la respuesta de zetah. Esto funciona para pasar múltiples archivos al programa. El% f se cambia a% F (mayúscula) para pasar todos los archivos descartados, reemplazando ^ (para el comienzo de la línea) con suficiente nombre de ruta para que sea más probable que sea único, la 'g' al final del comando sed para hacer que el reemplazo se repita para todos los archivos pasados y finalmente $ en lugar de / para que los caracteres \ escape no sean necesarios.
También moví el programa para que se ejecute a una ruta donde el nombre de la ruta no tiene espacios, así que moví mi editor de boxeador de:
a:
fuente
Hubo muchas soluciones hackeadas publicadas en este hilo. Aquí hay una solución mucho mejor que trata con múltiples archivos y con espacios en los nombres de archivo.
Cree el archivo .desktop como lo hace normalmente, y simplemente use esta línea Exec:
Editar : si su aplicación puede manejar múltiples archivos en una sola instancia (por ejemplo, un visor de PDF con múltiples pestañas) y desea que la instancia actual se enfoque automáticamente cada vez que inicie un nuevo archivo, entonces debe hacer lo siguiente:
Agregue esta línea al archivo .desktop:
StartupWMClass=app.exe
Use este comando Exec:
fuente
Una línea Exec con un canal de winepath a xargs , utilizada con una cita adecuada y sus opciones -0, funciona perfectamente en Ubuntu 14.04 para abrir archivos únicos y múltiples.
fuente
Esta es la forma en que funcionó para mí en un cuadro RHEL 6.3 después de una prueba y error y leyendo la Especificación de entrada de escritorio. No es específico para el vino con argumentos, pero debería funcionar con algo así
Exec=wine \"filename.exe\"
.Espero que ayude a alguien, ya que me tomó un poco de búsqueda para que funcione.
Creo que debe usar comillas dobles y escapar de ellas, así como cualquier carácter especial que utilice una barra diagonal inversa.
fuente
Acabo de escribir un pequeño script de Python que convierte las rutas de estilo Unix al formato de ruta Wine.
Descargue el zip , extraiga wine-launcher.py en su carpeta de inicio y edite su archivo .desktop de esta manera:
fuente