Open any kind of file from the terminal with an “open” command (Linux)

Mac OS X has a handy script called “open” that lets you open basically any kind of file from command line inside it’s default application. For example, if you are navigantig through the terminal and there is a file called “document.pdf” and you need to open it, you can simply do: “open document.pdf” and it will open the document inside the Preview app. Another example is: “open picture.png” and the open command will do the same thing. As simple as that.

But as a Linux user, I was wondering if there is such a command to use from the terminal emulator under my Linux box. If you try the “open” command, it will probably not work, unless the word “open” is an alias pointing to whathever program/script you have. But it happens that we do have the command “xdg-open” built-in the Linux shell that will get the job done. You can invoke, from the command line, the very same commands (but using the “xdg-open” command instead). For example: “xdg-open document.pdf” and it will open the document inside eg., Evince (it will depend on your desktop environment). You can do “xdg-open picture.png” and it will open the picture inside the Eye of Gnome or whaterever picture viewer you have as a default.

If you want to keep things common between the two systems, specially if you are a command line user in both, just make an alias called “open” pointing to “xdg-open”:

$ alias open="/usr/bin/xdg-open"

In fact, almost every desktop environment has its built-in “open” command, but “xdg-open” is more generic.

That’s it!

Reference:

http://https://budts.be/weblog/2011/07/xdf-open-vs-exo-open

Anúncios

Configurações básicas do Bash

Ter um interpretador de Shell devidamente configurado, além de ser importante para a organização do terminal, facilita a vida de muita gente que trabalha direto no terminal. Independente do gerenciador de janelas escolhidos, a maioria das distribuições atuais adota o Bash como o interpretador de Shell padrão do linux.

Dependendo o interpretador, o Shell pode ser configurado de muitas maneiras. Acho que a maneira mais adequada é aquela que permite sabermos em que pasta estamos e a partir disso digitarmos os comandos. O Shell mais estranho que utilizei é o do CYGWIN (o porte do “linux” para o Windows). Nessa configuração, o prompt fica na linha de baixo, logo depois da linha com as pastas onde se está. Esta configuração causa uma certa estranhesa no início, porque sempre se pensa que está pulando uma linha, mas também tem o lado prático por impedir que comandos muito longos tenham que ser completados na linha de baixo.

Para uma configuração básica e organizada do Bash, temos que levar em consideração três arquivos:

  • .bashrc
  • .bashr_aliases
  • .bashr_profile

No primeiro, .bashr, estão as configurações da variável PATH, o formato do prompt e outras variáveis que podem ser acrescentadas quando programas são instalados a partir do código-fonte. No .bashr_aliases, são acrescentadas as aliases definidas pelo usuário e no .bashr_profile, estão as configurações que fazem parte tanto do sistema em si (linux) quanto do próprio Bash.