OS X sistema de arquivos caso insensibilidade corrompe comando vlc

1

vlc -I rc do prompt bash do OS X Terminal retorna erro:

VLC media player 2.2.3 Weatherwax (revision 2.2.3-3-g0777f11) [0000000100233778] core libvlc error: No plugins found! Check your VLC installation.

VLC -I rc abre uma sessão VLC remota com sucesso , como esperado. Por que a insensibilidade a maiúsculas e minúsculas do sistema de arquivos faz comandos equivalentes a vlc e VLC? O que poderia estar causando o sistema para retornar saídas diferentes para esses dois (teoricamente idênticos) comandos?

which vlc retorna: /Applications/VLC.app/Contents/MacOS/vlc

which VLC retorna /Aplicativos/VLC.app/Contents/MacOS/VLC

ls -la /Applications/VLC.app/Contents/MacOS/ retorna drwxr-xr-x@ 8 jay admin 272 May 4 06:52 . drwxr-xr-x@ 8 jay admin 272 May 4 06:52 .. -rwxr-xr-x@ 1 jay admin 28656 May 4 06:52 VLC drwxr-xr-x@ 2 jay admin 68 May 4 06:52 bin drwxr-xr-x@ 3 jay admin 102 May 4 06:52 include drwxr-xr-x@ 6 jay admin 204 May 4 06:52 lib drwxr-xr-x@ 303 jay admin 10302 May 4 06:52 plugins drwxr-xr-x@ 5 jay admin 170 May 4 06:52 share

echo $PATH retorna esta entrada relevante:

/Applications/VLC.app/Contents/MacOS

Deselegantemente, eu corrija temporariamente o comportamento executando: alias vlc='VLC' mas gostaria de entender o que realmente está acontecendo. Idéias?

ATUALIZADO:

type VLC retorna: VLC is /Applications/VLC.app/Contents/MacOS/VLC

type vlc retorna: vlc is hashed (/Applications/VLC.app/Contents/MacOS/vlc)

Limpando os hashes com hash -r e, em seguida, executando novamente vlc repete a execução incorreta.

    
por webappzero 25.05.2016 / 18:17

2 respostas

3

Isso é apenas suposição, mas suspeito que o problema tenha mais a ver com a invocação de aplicativos no Mac OS X e a maneira como o which funciona. Como outros comentaram, o sistema de arquivos é o que torna as coisas insensíveis a maiúsculas e minúsculas. which é um pouco burro; ele mostrará apenas onde estão os binários executáveis no caminho de execução do seu shell. Por alguma razão, você tem /Applications lá, mas isso não está certo - muitos aplicativos no OS X podem invocar o binário subjacente no "pacote" .app do aplicativo, mas o evento é claramente disparado pelo reconhecimento do sistema de os arquivos .plist associados e tudo o mais que compõe o aplicativo inteiro.

Portanto, quando você usa which , ele mostra o arquivo binário que seu terminal tentará executar, mas, ao fazer isso, deixa de fora todas as bibliotecas de aplicativos e arquivos de configuração necessários para fazê-lo funcionar em seu ambiente. Observe que isso não se aplica aos comandos em /usr/bin ou a qualquer coisa construída com MacPorts. Então, como uma alternativa, você também pode tentar o vlc (ou o Mplayer!) Através de um sistema de pacotes externo, mas você provavelmente irá abri-lo no X ao invés de usar o aplicativo.

Se você quiser usar qualquer pacote .app na linha de comando do Mac OS X, aconselho-o a seguir as instruções listadas aqui , e use o comando open do Mac bastante versátil.

    
por 25.05.2016 / 19:32
0

De acordo com a página wiki do VLC chamada " Linha de comando ":

In the terminal window type

../VLC.app/Contents/MacOS/VLC options

O motivo pelo qual fiquei confuso é que muitos exemplos de execução do VLC mostrados na documentação do VLC se parecem com isso:

vlc -I rc

Por isso, assumi que deveria digitar vlc no meu terminal. Agora eu aprendi, graças aos comentadores nesta página, que, embora o sistema de arquivos dentro do OS X seja insensível a maiúsculas e minúsculas, o código interno dentro de aplicativos específicos, neste caso o VLC, pode realmente diferenciar maiúsculas de minúsculas. A documentação do VLC indica claramente seu requisito no OS X.

A maneira correta de chamar a interface remota do VLC a partir da linha de comando do OS X é:

/Applications/VLC.app/Contents/MacOS/VLC -I rc

    
por 25.05.2016 / 22:29