1 votos

Necesita ayuda con un pequeño AppleScript

Estoy en Yosemite 10.10.4, Mac Mini. Tengo un pequeño shell Bash script para iniciar Quake3 Arena en el Vino. Funciona bien.

#¡/bin/bash
cd Desktop/Quake3ISO
hdiutil mount "Quake 3 Arena.iso"
cd Quake3
wine quake3.exe

Línea 2: cd a la carpeta en mi escritorio que contiene la iso, y también extrae los archivos de la iso. Sé que es un lío, pero es la única manera en que puedo llegar a trabajar.

Línea 3: montar la iso

Línea 4: cd a una carpeta dentro de la primera, llamada Quake3

Línea 5: ejecutar "vino quake3.exe" el que vive en ese directorio. (Desktop/Quake3ISO/Quake3)

Así que, tratando de ./quake3.sh monta la iso, y se ejecuta el programa felizmente.

Pero... Estoy tratando de hacer lo mismo en AppleScript, pero al no encontrar el archivo de configuración para quake3. Se carga la imagen, y los cambios de directorios, corre el vino y comienza el terremoto, pero ahora no puede encontrar el directorio de configuración, y posiblemente algunos otros archivos. El directorio de configuración es también inferior (Escritorio/Quake3ISO/Quake3/baseq3) carpeta

Q3 1.11 win-x86 Nov 24 1999
----- FS_Startup -----
Current search path:
Z:\Users\robert/baseq3

----------------------

Running in restricted demo mode.

----- FS_Startup -----
Current search path:
Z:\Users\robert/demoq3

----------------------
----- CL_Shutdown -----
-----------------------
Couldn't load default.cfg

Me olvidé de agregar. Mi Applescript

tell application "Terminal"
    activate
    do script "cd ~/Desktop/Quake3ISO"
    do script "hdiutil mount ~/Desktop/Quake3ISO/Quake\\ 3\\ Arena.iso"
    delay 5
    do script "cd ~/Desktop/Quake3ISO/quake3"
    do script "wine ~/Desktop/Quake3ISO/quake3/quake3.exe"
end tell

Después de algo más de experimentación descubro la siguiente. Como de costumbre, con QuakeIII el CD en la unidad. Por lo que el montaje se parece a arreglar eso. A continuación, me había hecho instalar en el ~/Desktop/Quake3ISO directorio, pero un par de años atrás también había hecho un vino instalar - que no se ejecuta. Pero sólo ahora he copiado todos los archivos en el ~/Desktop/Quake3ISO/Quake3/baseq3 a la carpeta de vino de la carpeta de instalación en ~/.wine/drive_c/Programa\ Archivos/Quake\ III\ Arena/baseq3 carpeta, y ahora puedo correr Quake directamente desde que vino de la carpeta.

   ie
    cd "/Users/robert/.wine/drive_c/Program Files/Quake III Arena"
    wine quake3.exe

y funciona muy bien.

Yo también lo mismo en el ~/Desktop/Quake3ISO/Quake3 carpeta

ie
cd ~/Desktop/Quake3ISO/Quake3
wine quake3.exe

... y funciona muy bien.

Así que este me dice que tengo que tener AppleScript entender que el comando a ser ejecutado debe ser ejecutado en el directorio de lo que ha cambiado. De modo que cuando el programa se está buscando es que los ficheros de configuración, utiliza el directorio de la base, o el directorio root y no el vino base directorio? Yo creo?

1voto

Cada do shell script comando inicia un nuevo shell, por lo que el cd no tiene ningún impacto sobre el siguiente comando. Así que sería mejor que con la ejecución de

tell application "Terminal"
    activate
    do shell script "cd ~/Desktop/Quake3ISO && hdiutil mount ~/Desktop/Quake3ISO/Quake\\ 3\\ Arena.iso"
    delay 5
    do shell script "cd ~/Desktop/Quake3ISO/quake3 && wine ~/Desktop/Quake3ISO/quake3/quake3.exe"
end tell

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X