Eu achei o comando "aberto" no Mac OS X muito útil na linha de comando. De "homem aberto":
O
open
comando abre um arquivo (ou um diretório ou URL), como se você tivesse clicado duas vezes no ícone do arquivo. Se nenhum nome de aplicativo for especificado, o aplicativo padrão, conforme determinado via LaunchServices, será usado para abrir os arquivos especificados.
Ou seja, se eu quiser abrir um arquivo PDF com o visualizador de PDF padrão (por acaso é Visualização), só preciso fazer:
open my.pdf
No Linux, no entanto, para abrir um arquivo PDF a partir da linha de comando, tive que procurar um localizador de PDF padrão, por exemplo, "evince" (quem teria adivinhado?) E, em seguida,
evince my.pdf
Então, existe um equivalente simples do comando 'open' na linha de comando do Linux?
Obrigado!
fonte
Respostas:
Você poderia tentar
xdg-open
, a maioria das distribuições Linux possui. Ele abrirá o aplicativo associado padrão para o seu arquivo.FYI https://portland.freedesktop.org/doc/xdg-open.html
fonte
open
, no entanto, é que isso não abre o arquivo / aplicativo em segundo plano. Os aplicativos Linux parecem muito faladores e geralmente emitem várias linhas de diagnóstico e avisos diretamente no seu terminal (mesmo que nada tenha dado errado). Eu geralmente tenho que fazer algo parecidoxdg-open <file> &> /dev/null &
. Existe algo melhor que o xdg-open a esse respeito?&
não é necessária. Quanto às "múltiplas linhas de diagnóstico", essas são do próprio aplicativo, não doxdg-open
. Se você não deseja nenhuma saída, você precisaria&> /dev/null
usarevince
diretamente (exemplo do OP), para que sua reclamação seja anulada.xdg-open
é realmente o caminho a percorrer.xdg-open
culpa se eles estão conversando. E suprimir essas mensagens deve ser uma escolha do usuário , não do xdg. Portanto, é uma reclamação vazia pedir algo "melhor" quexdg-open
. Além disso, se o Macopen
não tiver opção para enviar essas mensagens, eu diria que issoopen
é muito pior do quexdg-open
, já que quando você usa a linha de comando para iniciar arquivos, geralmente está interessado nessa saída (caso contrário, por que não clicar duas vezes no arquivo em um navegador como o Nautilus?)alias open='xdg-open &>/dev/null'
produz aproximadamente o comportamento desejado (embora os erros do xdg-open em si (em oposição ao programa iniciado) também sejam silenciados, o que é indesejável).O equivalente que você está procurando é
xdg-open
, que pode ser usado da mesma maneira que oopen
comando do OS X. Por exemplo:No entanto, é realmente difícil digitar com rapidez e precisão. Em vez disso, você deve criar um alias para o xdg-open, o que torna o processo muito mais rápido.
Obviamente, você pode
open
usar o alias para torná-lo compatível com o OS X (você pode escolher o que quiser), mas pessoalmente, eu uso o colchete direito (]
) no meu atalho por motivos de velocidade. Para usar isso, adicione o seguinte ao seu.bashrc
arquivo:Em seguida, para abrir qualquer recurso, use-o como qualquer um destes exemplos:
Além disso, isso permite abrir um navegador de arquivos (por exemplo, Nautilus) no diretório atual:
Por experiência, descobri que os aliases de uma letra funcionam melhor para o atalho acima. Afinal, o objetivo é eficiência. E você pode voltar e criar o mesmo apelido no OS X - deixo isso como um exercício para o leitor. :-)
fonte
xdg-open
abre o aplicativo padrão do seu sistema para o arquivo. No seu caso, os.url
arquivos estão definidos para serem abertos no gedit. Se você quiser alterar isso, clique com o botão direito do mouse no arquivo no Nautilus e vá em Propriedades> Abrir com para alterar o aplicativo padrão exdg-open
funcionará de acordo.Eu mesmo resolvi isso sozinho e pensei em escrever como o fiz, o que é especificamente relevante para o que Suan pediu. Essas etapas permitem que você digite "open" e não o seu terminal coberto por mensagens desnecessárias:
Criar um script chamado
open
no~/bin
, o conteúdo é apenas:Salve e feche o script e digite "source .profile" (ou .bash_profile, se relevante). É assim que digitar "abrir música" abrirá sua pasta de músicas na GUI do nautilus e não deve inserir nada no seu terminal.
fonte
open
e colocá-lo em seu PATH (geralmente em$HOME/bin/open
)PATH
Windows/bin
. Por convenção, se você o tiver,$HOME/bin
ele será adicionado ao início do PATH, antes de qualquer diretório do sistema. Geralmente, isso é feito por você.profile
ou similar. Por exemplo, o padrão.profile
no Ubuntu faz exatamente isso./dev/null
é um pouco caprichoso; talvez você possa redirecionar a saída para$HOME/.xsession-errors
algo assim, para que o diagnóstico não seja completamente perdido, caso você precise solucionar algum problema.xdg-open
, é um problema de shell.Tradicionalmente, você pode usar o comando "ver". Que apenas usa run-mailcap. Isso funcionará sem o Gnome e o X etc.
fonte
run-mailcap
(e seus muitos aliases) usa um banco de dados de associação de aplicativo separado (e terrivelmente desatualizado). Por exemplo, no meu sistema, enquanto as.mp3
músicas abrem corretamente no VLC, os.txt
arquivos abrem em menos (em vez do gedit) e os.pdf
arquivos simplesmente não conseguem abrir! (Erro: nenhuma regra "view" do mailcap foi encontrada para o tipo "application / pdf")run-mailcap
reconhece.xdg-open
usa internamentegvfs-open
(em sistemas Gnome como o Ubuntu), que por sua vez usa as especificações mime-database do xdg, usadas por muito mais aplicativos.gimp
para mim. Eu vou ficar comxdg-open
.less
x''Dgnome-open
fonte
xdg-open
se o usuário estava no Gnome (agora ele usagvfs-open
)Se você definiu corretamente os mimos, pode usar
mimeopen
. Confira sua página de manual, pois possui algumas opções úteis.fonte
No ambiente do Gnome Desktop, eu uso o seguinte comando:
Isso é semelhante a "aberto". comando no Mac
fonte
.
em vez de "pwd
" C), se você mudarpwd
para um arquivo, o usuário ainda precisa acertar ENTER após Nautilus abre D) Nautilus Abertura primeiro apenas para ele para abrir o arquivo é uma solução muito indireta.