Linha de comando dia não funciona -- acos campo com command-line camp apple Relacionado O problema

Dia command line not working


4
vote

problema

português

Eu tenho um problema com o uso do dia da linha de comando no OSX 10.7.4. Eu baixei e instalei o OS X DMG de http://dia-installer.de/download/macosx. html Eu tenho usado para criar gráficos para um papel e absolutamente amo isso.

Estou usando um makefile para ligar para pdflatex, bibtex e r de modo que isso construirá tudo a partir do zero, se necessário, mas não pode obter a linha de comando do dia funcionar.

Eu quero usar a linha de comando com -e e -t para exportar os gráficos para um diretório específico para que o PDFLATEX possa colocá-los no PDF. (http://dia-installer.de/doc/en/re01.html)

O problema que estou correndo é sempre que eu o chamo do terminal, ele traz a GUI. Mesmo se eu der movimento para /applations/dia.app/content/resources/bin/ e usar o comando "./DIA -V". Dá-me um monte de erros sobre "método de entrada" e, em seguida, mostra a GUI.

Eu olhei no DIA FAQ e tem muitas informações para a linha de comando do Windows, mas nada para o OS X.

Eu estou esperando que alguém aqui tenha corrido para isso antes e saiba como fazer isso funcionar.

english

I've got a problem with using Dia from the command line on OSX 10.7.4. I downloaded and installed the OS X dmg from http://dia-installer.de/download/macosx.html I've been using it to create graphics for a paper and absolutely love it.

I'm using a makefile to call pdflatex, bibtex, and R so that that it will build everything from scratch if need be, but can't get Dia's command line to work.

I want to use the command line with -e and -t to export the graphics to a specific directory so that pdflatex can put them in the pdf. (http://dia-installer.de/doc/en/re01.html)

The problem that I'm running into is that anytime I call it from the terminal, it brings up the GUI. Even if I give move to /Applications/Dia.app/Content/Resources/bin/ and use the command "./dia -v". It gives me a bunch of errors about "Input method" and then shows the GUI.

I looked on the Dia FAQ and it has a lot of information for the Windows command line, but nothing for OS X.

I'm hoping that someone here has run into this before and knows how to get it to work.

     
 
 

Lista de respostas

2
 
vote
vote
Melhor resposta
 

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

Você pode fazer uma cópia (por exemplo, cp -p dia dia-cmd ) e edite essa última linha em dia-cmd para se tornar:

  "$CWD/dia-bin" $@    

e, em seguida, você pode usá-lo como on run {input, parameters} tell application "Terminal" do script " " activate end tell return input end run 0 dentro do terminal.

Nota: Eu descobri que para o meu local (en_us.utf-8), pelo menos, em execução on run {input, parameters} tell application "Terminal" do script " " activate end tell return input end run 1 no terminal foi muito torrencial sobre a tentativa de determinar o Corrigir localidade, vomitando avisos ignoráveis:

  on run {input, parameters}      tell application "Terminal"         do script " "         activate     end tell      return input end run 2   

Você pode eliminar que também comentando essas linhas em on run {input, parameters} tell application "Terminal" do script " " activate end tell return input end run 3 e forçando manualmente a localidade correta:

  on run {input, parameters}      tell application "Terminal"         do script " "         activate     end tell      return input end run 4   

voila:

  on run {input, parameters}      tell application "Terminal"         do script " "         activate     end tell      return input end run 5   
 

On the Mac, dia (specifically /Applications/Dia.app/Content/Resources/bin/dia) is just a shell script wrapper to the compiled dia-bin binary. It sets a number of environmental variables, and then finishes by executing Dia as a GUI:

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

You can make a copy (e.g. cp -p dia dia-cmd) and edit that last line in dia-cmd to become:

"$CWD/dia-bin" $@ 

and then you can use it as dia-cmd within the terminal.

Note: I found that for my locale (en_US.UTF-8), at least, running dia-cmd in the terminal was way too chatty about trying to determine the correct locale, spewing ignorable warnings:

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. 

You can eliminate that by also commenting-out those lines in dia-cmd, and manually forcing the correct locale:

## 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 
 
 
 
 
2
 
vote

com base no Aceita resposta , criei on run {input, parameters} tell application "Terminal" do script " " activate end tell return input end run 6 e um atalho, on run {input, parameters} tell application "Terminal" do script " " activate end tell return input end run 7 :

  on run {input, parameters}      tell application "Terminal"         do script " "         activate     end tell      return input end run 8   

Conteúdo de /applicações/dia.app/contents/resources/bin/dia-cli :

  on run {input, parameters}      tell application "Terminal"         do script " "         activate     end tell      return input end run 9   

Conteúdo de / usr / local / bin / dia

  # don't switch spaces defaults write com.apple.Dock workspaces-auto-swoosh -bool NO killall Dock 0   
 

Based on the accepted answer, I created dia-cli and a shortcut, dia:

cd /Applications/Dia.app/Contents/Resources/bin cp -p dia dia-cli  cd /usr/local/bin touch dia sudo chmod +x dia 

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

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

Contents of /usr/local/bin/dia:

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

Se você é capaz de operar o comando, você também pode estar interessado em compilar o dia mesmo no Mac OS X usando Macports. Tal instalação não incluirá o script de wrapper que causou os problemas acima mencionados. Basta instalar Macports de http://www.macports.org/ e execute sudo port install dia

 

If you're able to operate the commandline, you might also be interested in compiling Dia yourself on Mac OS X using MacPorts. Such an installation will not include the wrapper script that caused the above mentioned problems. Just install MacPorts from http://www.macports.org/ and run sudo port install dia

 
 
-1
 
vote

e se você ainda estiver em questão, verifique este link do blog diagrama Mac OSX YOSEMITE corrigir < / a>

 

and if you still are running into issues, check this blog link Dia Diagram Mac OSX Yosemite Fix

 
 
 
 

Perguntas relacionadas

18  Como atualizar o aplicativo App Store a partir da linha de comando?  ( How to update app store application from command line ) 
Eu gostaria de forçar uma atualização de aplicativos de aplicativos da linha de comando. Como posso fazer isso? ...

0  Como esse script AWK funciona?  ( How does this awk script work ) 
Eu tenho 2 arquivos de dados contendo uma coluna. Eu quero fazer outro arquivo de dados mesclando as duas colunas. Eu tenho a linha de comando na concha, mas ...

1  Como executar o script do shell no lançamento do aplicativo?  ( How to run shell script upon application launch ) 
Não tenho certeza se isso pertence aqui ou no superusuário, mas é o Mac específico, então eu vou com aqui. Eu escrevi um script Ruby que edita o arquivo de ...

4  Obtenha o tempo de CPU do usuário e do sistema de processo no OSX via linha de comando?  ( Get per process user and system cpu time on osx via command line ) 
Estou familiarizado com ABCDEFGHIJKLMNABCDEFGHIJKLMN0 Comando que fornece Usuário e System CPU separados por processo no Linux: $ sudo pidstat -p 3162 Li...

1  Problema com sintaxe de exclusão de conta script  ( Problem with scripted account deletion syntax ) 
Estou trabalhando em um módulo de script de limpeza de contas que pode lidar com as contas ocultos e unilindas que estamos criando em massa em novos sistemas ...

6  Os comandos de linha de comando podem ser insensíveis à ordem de nomes e opções de arquivos?  ( Can command line commands be made insensitive to order of filenames and options ) 
Eu sou novo para o uso do MAC. Parece que a maioria dos comandos tropega as opções dadas após os nomes dos arquivos. No Linux, que eu usei há anos, não import...

26  Como posso inspecionar as variáveis ​​de ambiente de um processo de execução?  ( How can i inspect the environment variables of a running process ) 
Existe algum equivalente (CLI ou GUI) para o recurso ABCDefGHIJKLMNABCDefGHIJKLMN0 ...

1  Como corrigir localize.updatedb não respeitando o diretório excluído de /etc/locate.rc?  ( How to fix locate updatedb not respecting directory excluded from etc locate rc ) 
Eu queria excluir alguns diretórios a partir dos resultados de ABCDEFGHIJKLMNABCDEFGHIJKLMN0 Ao editar ABCDEFGHIJKLMNABCDEFGHIJKLMN1 . Infelizmente se eu e...

4  Fazer Localizador.Updatedb Run Diariamente no Snow Leopard sem Hacking / System / Library?  ( Make locator updatedb run daily on snow leopard w o hacking system library ) 
No banco de dados ABCDEFGHIJKLMNABCDEFGHIJKLMBCDefGHIJKLMN1 é atualizado uma vez por semana por um trabalho de lançamento, /System/Library/LaunchDaemons/co...

1  Sintaxe de comando do terminal enrolado do AppleScript  ( Curl terminal command syntax from applescript ) 
Eu quero executar um comando curl no AppleScript que faz o seguinte ( por esta pergunta / resposta ): https://superuser.com/a/1054803/471181. . ... faze...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.