2 votos

¿Utilizar Automator para abrir la aplicación como tal?

Estoy tratando de averiguar cómo lanzar una aplicación (en este caso Discord) por defecto con comandos añadidos, y como tal me imaginé que iba a utilizar Automator para crear una aplicación que ejecuta un comando de shell. El comando en cuestión es el siguiente:

MKL_DEBUG_CPU_TYPE=5 /Applications/Discord.app/Contents/MacOS/Discord

Pongo eso en Automator, en la acción "Ejecutar shell script", lo guardo como aplicación, y cuando pongo la app en el Dock, al lanzarla, muestra dos iconos. Bien, la causa de esto es obvia, no está lanzando la app en sí con ese comando, lo que hay en el dock es sólo una ventana de terminal glorificada que siempre lanza la app de discordia con ese comando.

Mi pregunta es: ¿hay alguna forma de hacerlo para que el comando no muestre dos iconos de discordia, y la ventana de discordia se abra sola?

Además, como las barreras idiomáticas y la mala comunicación son una cosa, aquí hay algunas capturas de pantalla que ilustran mi pregunta mejor que las palabras

The Automator app, on the Dock La aplicación Automator, en el Dock After launching the Automator shortcut, this is what happens Después de lanzar el acceso directo de Automator, esto es lo que sucede This is what I'd prefer to happen Esto es lo que preferiría que ocurriera

Edit: No sé si os ha quedado claro, yo ni siquiera era consciente de ello, pero parece que MKL_DEBUG_CPU_TYPE=5 actúa como un comando propio, que luego ejecuta la mencionada app con sus propias propiedades, no es un parámetro de comando que Discord.app reconozca

Edición 2: Sólo para aclarar las cosas un poco más, cuando ejecuto la aplicación de Automator, no muestra el punto blanco que indica que la aplicación se está ejecutando, ni muestra el número de notificaciones que hace Discord, y eso es lo que me gustaría que ocurriera en la aplicación de Automator, mientras se oculta el icono real de Discord del dock

0 votos

¿Utilizar un icono diferente para distinguir las dos cosas?

0 votos

@benwiggy Es una posibilidad, y como último recurso podría hacerlo, pero prefiero tener una sola aplicación de Discord que herede el logo y solo parchear ese comando, Automator parece ser lo más cercano a esto

0 votos

¿Cuál es el objetivo de la orden?

0voto

Tetsujin Puntos 23061

¿Tiene que ser Automator?

Tengo una aplicación que tomará parámetros adicionales en el lanzamiento, lo que hago guardando un Applescript como una App autocontenida.

La configuración básica es

do shell script "\"/Applications/NameOfApp.app/Contents/MacOS/NameOfApp\" -param1 -param2 -param3"
quit

Editar - Ah, leyendo más detenidamente, no, eso no oculta el icono de mi applescript mientras se está ejecutando, y no se cerrará hasta que la propia aplicación lanzada se cierre primero pero no se confundiría con la propia aplicación.
Son procesos padre/hijo por lo que se mostrarán individualmente en el Dock.

Es posible que puedas ocultarlo como esta pregunta - ¿Ocultar una aplicación en ejecución del Dock?
lo que hace que esta respuesta sea un poco inútil ;-)

0voto

Wowfunhappy Puntos 33

En lugar de lanzar el ejecutable de la aplicación directamente, utilice la función open en el paquete de aplicaciones. Por ejemplo:

open "/Applications/Discord.app"

0 votos

Intenté tu consejo, pero no funcionó, porque resulta que el MKL_DEBUG_CPU_TYPE=5 actúa como un comando codificado en el terminal, como si hicieras chmod, nano, y todas esas cosas, así que no es un parámetro que Discord reconozca, y al hacer "open MKL[...]" sólo da error diciendo "the file /users/[username]/MKL[...] does not exist".

0 votos

Creo que no entiendo lo que estás haciendo. open es un programa BSD de línea de comandos como cualquier otro, incluyendo chmod , nano etc., vive en /usr/bin/open . Debería poder pasar argumentos a la aplicación que se abre añadiéndolos al final, véase man open .

0 votos

Exactamente, el punto es que desde mi experiencia jugando con este problema, parece que MKL no es un argumento que Discord luego reconoce, es una especie de comando maestro que ejecuta Discord por sí mismo, honestamente no tengo idea de lo que es en la práctica, pero el efecto es que open no está jugando bien con esta situación

0voto

awy Puntos 500

Esta respuesta sólo funciona si estás usando bash.

Ya que tienes el Terminal abierto, como vemos en la captura de pantalla, la mejor manera es usar un alias. Es la forma menos friccionada de hacerlo. Yo mismo tengo estos alias:

enter image description here

  • Ejecutar

    open ~/.bash_profile

    O utilice esta respuesta para usar la GUI: https://apple.stackexchange.com/a/371665/313842

  • Añade una línea entre otros alias:

    alias discordapp="MKL_DEBUG_CPU_TYPE=5 /Applications/Discord.app/Contents/MacOS/Discord"
  • Entonces ejecuta cualquiera de:

    source ~/.bash_profile
    . ~/.bash_profile

Lo mejor es que también tienes autocompletado. Escribe algunas letras iniciales del alias, y pulsa el tabulador.

También puedes añadir más argumentos al comando. Por ejemplo, yo ejecuto esto:

octaveg --force-gui

octaveg como se ha definido anteriormente.

0 votos

Hola, probé tu sugerencia, y parece tener sentido, sin embargo cuando la apliqué, ejecuté "open ~/.bash_profile" y dio error, diciendo que no existía, así que añadí la línea con nano, y todo estaba bien. Fui a hacer ~/.bash_profile, y como era de esperar no funcionó porque no era ejecutable, le puse chmod, lo ejecuté con sudo, y no pasó nada Intenté encontrar discordapp en spotlight, y también intenté simplemente hacer discordapp en la terminal, y ambos no funcionaron, spotlight no lo encontró y la terminal dijo que el comando no se encontró

0 votos

@FranckTheMiner 1 Hay varios problemas con lo que has hecho. Si estás en Catalina, simplemente no funcionará ya que es para bash y catalina utiliza zsh . ¿Puedes comprobar de nuevo la fecha de creación de .bash_profile en /Users/<you>/ utilizando apple.stackexchange.com/a/371665/313842 ¿esta respuesta? 2 se supone que no debes usar sudo en nada que no conozcas. 3 " no funcionó porque no era ejecutable" ¿has visto el . . ? "punto" fue el comando & ~/.bash_profile fue el argumento. 4 Vea la respuesta actualizada.

0 votos

Siento la demora en la respuesta, me olvidé de esto, pero estoy muy confundido, ya que no sólo .bash_profile no existía en ese directorio antes de que lo agregara, sino que también creo que sus comandos podrían ser obsoletos, ya que al hacer open ~/.bash_profile no devuelve nada, y luego está todo el asunto de que zsh está predeterminado en lugar de bash, y ni siquiera puedo conseguir que bash funcione cuando lo intento. También sudo'ed lo que hice porque soy consciente de que en teoría sólo refrescó la lista de Alias de bash, así que no hay mucho que hacer mal allí ...

0voto

FranckTheMiner Puntos 18

Vale, he encontrado una solución y seguro que hace lo que quería. Básicamente, usted va a la aplicación de /Content/MacOS directorio, encuentra el ejecutable principal (en mi caso es Discord), renómbralo a otra cosa, como Disicord o lo que quieras. Entonces sudo nano en el mismo directorio, y escribir "MKL_DEBUG_CPU_TYPE=5 [PathToExecutable]/[CurrentRenamedExecutableName]", y voilà , consigues que la aplicación se inicie con ese modo activado, y heredas tanto el icono como las notificaciones

¡¡¡¡SIN EMBARGO, ATENCIÓN!!!! Esto parece suponer una amenaza de seguridad algo relevante, ya que cualquier permiso enviado por la aplicación se asigna a sh Y eso no parece ser algo inteligente, así que ten cuidado si haces esto

0 votos

"Esto parece suponer una amenaza de seguridad algo relevante, ya que cualquier permiso presentado por la aplicación se asigna a sh " Oh Vamos Apple, ¡eso no tiene ningún sentido! La modificación descrita en esta respuesta es algo perfectamente normal para un paquete de aplicaciones. Esta filosofía de injertar nuevos sistemas de permisos no UNIX sobre el UNIX estándar está rota.

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