Dia línea de comando no funciona

4

Tengo un problema con el uso de Dia desde la línea de comandos en OSX 10.7.4. Descargué e instalé el dmg OS X desde enlace Lo he estado usando para crear gráficos para un papel y absolutamente me encanta.

Estoy usando un makefile para llamar a pdflatex, bibtex y R, de modo que pueda construir todo desde cero si es necesario, pero no puede hacer que la línea de comandos de Dia funcione.

Quiero usar la línea de comandos con -e y -t para exportar los gráficos a un directorio específico para que pdflatex pueda ponerlos en el pdf. (http://dia-installer.de/doc/en/re01.html)

El problema con el que me estoy topando es que cada vez que lo llamo desde la terminal, aparece la GUI. Incluso si doy paso a /Applications/Dia.app/Content/Resources/bin/ y uso el comando "./dia -v". Me da un montón de errores sobre "Método de entrada" y luego muestra la GUI.

Busqué en las preguntas frecuentes de Dia y tengo mucha información para la línea de comandos de Windows, pero nada para OS X.

Espero que alguien aquí se haya topado con esto antes y sepa cómo hacerlo funcionar.

    
pregunta Bit Monkey 18.07.2012 - 17:45

4 respuestas

2

En la Mac, dia (específicamente /Applications/Dia.app/Content/Resources/bin/dia ) es solo un contenedor de shell para el binario dia-bin compilado. Establece una serie de variables de entorno y, a continuación, finaliza ejecutando Dia como GUI:

exec "$CWD/dia-bin" --integrated

Puedes hacer una copia (por ejemplo, cp -p dia dia-cmd ) y editar la última línea en dia-cmd para convertirla en:

"$CWD/dia-bin" $@

y luego puedes usarlo como dia-cmd dentro del terminal.

Nota: encontré que para mi configuración regional (en_US.UTF-8), al menos, ejecutar dia-cmd en el terminal era demasiado hablador acerca de tratar de determinar la ubicación correcta, arrojando ignora advertencias:

Warning: AppleCollationOrder setting not found, using AppleLocale.
Setting Language: en.UTF8

(process:33043): Gdk-WARNING **: locale not supported by C library

(process:33043): Gtk-WARNING **: Locale not supported by C library.
    Using the fallback 'C' locale.

Puedes eliminar eso también comentando esas líneas en dia-cmd y forzando manualmente la ubicación correcta:

## LANGSTR='defaults read .GlobalPreferences AppleCollationOrder 2>/dev/null'
## if [ "x$LANGSTR" == "x" ]
## then
##    echo "Warning: AppleCollationOrder setting not found, using AppleLocale." 1>&2
##    LANGSTR='defaults read .GlobalPreferences AppleLocale 2>/dev/null | \
##            sed 's/_.*//''
## fi

# NOTE: Have to add ".UTF-8" to the LANG since omitting causes Dia
#       to crash on startup in locale_from_utf8().
## export LANG="$LANGSTR.UTF8"
 export LANG="en_US.UTF-8"
## echo "Setting Language: $LANG" 1>&2

Voila:

MYMACHINE:~ lars$ /Applications/Dia.app/Contents/Resources/bin/dia-cmd -v
Dia version 0.97.2, compiled 18:51:13 Mar 17 2012
    
respondido por el Lars Rohrbach 19.07.2012 - 08:06
2

Según la respuesta aceptada , creé dia-cli y un acceso directo, dia :

cd /Applications/Dia.app/Contents/Resources/bin
cp -p dia dia-cli

cd /usr/local/bin
touch dia
sudo chmod +x dia

Contenido de /Applications/Dia.app/Contents/Resources/bin/dia-cli :

...
"$CWD/dia-bin" $@

Contenido de / usr / local / bin / dia :

PATH=$PATH:/Applications/Dia.app/Contents/Resources/bin
/Applications/Dia.app/Contents/Resources/bin/dia-cli "$@"
    
respondido por el Jace Browning 13.07.2013 - 22:30
0

Si puede operar la línea de comandos, es posible que también le interese compilar Dia en Mac OS X utilizando MacPorts. Dicha instalación no incluirá el script contenedor que causó los problemas mencionados anteriormente. Simplemente instale MacPorts desde enlace y ejecute sudo port install dia

    
respondido por el Steffen Macke 31.08.2012 - 17:19
-1

y si todavía tiene problemas, consulte este enlace del blog Dia Diagram Mac OSX Yosemite Fix

    
respondido por el Aye Kay 10.07.2016 - 03:07

Lea otras preguntas en las etiquetas