5 votos

Dia de la línea de comandos no funciona

Tengo un problema con el uso de Dia desde la línea de comandos en OS x 10.7.4. He descargado e instalado el OS X de dmg http://dia-installer.de/download/macosx.html he estado usando para crear los gráficos de una hoja de papel y les encanta.

Estoy usando un archivo makefile para llamar pdflatex, bibtex, y R de manera que el que se va a construir todo desde cero si es necesario, pero no puede conseguir el Dia de la línea de comandos para trabajar.

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

El problema que estoy corriendo en es que en cualquier momento me llaman de la terminal, se abre la interfaz gráfica de usuario. Incluso si le doy a mover a /Aplicaciones/Dia.app/Contenido/Recursos/bin/ y usar el comando "./dia-v". Me da un montón de errores sobre el "método de Entrada" y, a continuación, se muestra la interfaz gráfica de usuario.

Miré en el Dia de preguntas frecuentes, y tiene un montón de información para la línea de comandos de Windows, pero nada para OS X.

Estoy esperando que alguien de aquí se ha ejecutado en este antes y sabe cómo conseguir que funcione.

2voto

Matt Puntos 150

En el Mac, dia (específicamente /Applications/Dia.app/Content/Resources/bin/dia) es sólo una secuencia de comandos de shell contenedor para el compilado dia-bin binario. En ella se establece una serie de variables ambientales, y, a continuación, finaliza la ejecución de Dia como de la GUI:

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

Usted puede hacer una copia (por ejemplo cp -p dia dia-cmd) y modificar la última línea en dia-cmd para convertirse en:

"$CWD/dia-bin" $@

y, a continuación, se puede utilizar como dia-cmd dentro de la terminal.

Nota: he encontrado que para mi configuración regional (en_US.UTF-8), al menos, ejecución dia-cmd en el terminal era demasiado hablador acerca de tratar de determinar la localización correcta, arrojando ignorable 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.

Usted puede eliminar también comentar-fuera de esas líneas en dia-cmd, y forzar manualmente la configuración regional 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

2voto

brian Puntos 1354

Basado en la aceptó contestar, he creado 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 /Aplicaciones/Dia.app/Contents/Resources/bin/dia-cli:

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

El contenido de /usr/local/bin/dia:

PATH=$PATH:/Applications/Dia.app/Contents/Resources/bin
/Applications/Dia.app/Contents/Resources/bin/dia-cli "$@"

1voto

lgarzo Puntos 7949

Si eres capaz de operar la línea de comandos, usted también puede estar interesado en la compilación de Dia a sí mismo en Mac OS X utilizando MacPorts. Este tipo de instalación no incluye el contenedor de secuencia de comandos que causó los problemas antes mencionados. Sólo tiene que instalar MacPorts de http://www.macports.org/ y ejecutar sudo port install dia

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