4 maneiras eficazes de lançar aplicativos do terminal

4 maneiras eficazes de lançar aplicativos do terminal


Você provavelmente iniciou um aplicativo do terminal em algum momento, mas notou que ele mantém seu terminal ocupado até fechar o aplicativo? Isso pode ser muito irritante. Às vezes, porém, é útil lançar aplicativos dessa maneira – explico como faço de maneira eficaz.

Algumas pessoas usam menus, outros usam lançadores – eu pessoalmente lanço todos os aplicativos, como o Firefox, do terminal. Esse hábito remonta aos meus primeiros dias usando o Linux (cerca de 15 anos atrás), quando eu não sabia como criar atalhos. Com o tempo, acostumei -me a lançar aplicativos dessa maneira e, como sempre tenho uma janela de terminal aberta, isso faz sentido. Além disso, estou com preguiça de configurar e manter uma configuração do lançador. Com o terminal, posso pesquisar meus aplicativos como um lançador, mas com o benefício adicional de editar comandos antes de lançá -los.

Primeiro, entenda nohup e o operador de fundo

Quando você abre um aplicativo do terminal e fecha o terminal, o aplicativo geralmente fecha – o que provavelmente não é o que você deseja. No Linux, quando um aplicativo inicia o outro, ele garante o processo, para que o aplicativo original se torne o pai.

Quando você mata o processo pai, todos os seus processos infantis também são normalmente encerrados. Você pode experimentar: digite o seguinte comando em um terminal, aguarde o início e feche a janela do terminal.

        firefox
    

Para manter os processos filhos em execução após o fechamento do terminal, usaremos uma ferramenta testada pelo tempo chamada Nohup.

Nohup

O comando Nohup faz com que um processo ignore o sinal de suspensão (suspiro), permitindo que ele continue sendo executado mesmo depois que o usuário é registrado ou a sessão do terminal termina.

Agora que temos uma maneira de manter nosso processo em execução após o fechamento do terminal, vale a pena notar que o NOHUP gravará automaticamente a saída em um arquivo nohup.out no diretório atual. A menos que você queira esses arquivos espalhados por todo o sistema de arquivos, você precisará abordar esse comportamento. Você pode descartar toda a saída ou redirecioná -lo para um arquivo específico para o log.

Para ignorar toda a saída, basta redirecionar tudo para /dev /null, que atua como um buraco negro para dados indesejados:

        nohup firefox &>/dev/null
    

Agora, se você fechar o terminal, o Firefox continuará funcionando. No entanto, essa configuração envia todos os logs para o vazio. Como alternativa, você pode redirecionar a saída para um arquivo de log:

        nohup firefox &>/tmp/firefox.log
    

Agora, se houver um problema com o Firefox, você poderá ler o arquivo de log.

Operador de fundo

Quando você corre nohup com o Firefox, ele assume sua linha de comando, o que significa que você não pode executar outros comandos. Isso não é ideal se você deseja usar o mesmo terminal para outras coisas. É aí que entra o operador de fundo.

O operador de segundo plano é simplesmente um ampers e colocado no final do comando, permitindo que você continue usando o terminal enquanto o aplicativo é executado. Experimente:

        firefox &
    

Se você fechar seu terminal agora, notará que ele também fecha o aplicativo. Isso ocorre porque, embora o operador de fundo coloque seu aplicativo em segundo plano, ele ainda obedece ao sinal de suspiro – o fechamento do terminal interrompe o processo. É por isso que usamos Nohup também.

Um recurso útil do operador de fundo é que você pode trazer um processo de volta ao primeiro plano. Depois de enviar o Firefox para o fundo, digite FG para trazê -lo para o primeiro plano novamente.

Usando Nohup com o operador de fundo

Ao usar o NOHUP com o operador de segundo plano, seu aplicativo é executado inteiramente em segundo plano, permitindo que você continue trabalhando no seu terminal ou até fechá -lo – seu processo continuará sendo executado ininterrupto.

nohup firefox &>/tmp/firefox.log &

Use aliases mnemônicos

Um alias de shell funciona como um apelido para um comando. Por exemplo, você pode definir a letra F para iniciar o Firefox, portanto, você só precisa digitar F no terminal para abri -la. Se isso for novo para você, você deve ler nosso post sobre como criar aliases do shell.

No mundo da personalização da concha, é comum o uso de aliases mnemônicos – combinações memoráveis ​​de letras que representam comandos mais longos. Por exemplo, você pode criar atalhos do Firefox que lançam o navegador com argumentos específicos:

        alias ffaa="firefox about:about"
alias ffac="firefox about:config"
alias ffnt="firefox --new-tab"
alias ffp="firefox --profile"
alias ffsm="firefox --safe-mode"

Ao ordenar os aliases em ordem alfabética, é mais fácil ver quais aliases já foram usados.

Você pode usar o NOHUP e o operador de segundo plano para lançar o Firefox.

Use História da concha difusa

O utilitário de shell mais útil que você já instalará é uma ferramenta de história difusa. Atuin é um aplicativo que faz exatamente isso e funciona em qualquer lugar. Eu pessoalmente uso o ZSH-FZF-History-Search, que é um plug-in do ZSH, mas ambos são quase idênticos.

Se você gastar um tempo laboriosamente digitando um longo comando, faz sentido ter uma maneira rápida de executá -lo novamente. Costumo passar um minuto ou dois construindo um comando complexo e depois uso a história da concha difusa para executá -lo centenas de vezes ao longo de meses ou até anos.

Se você tirar apenas uma coisa: use um plug -in ou aplicativo de histórico de shell difuso. Eu recomendo Atuin. Se você estiver interessado, temos uma introdução a Atuin.

Um arquivo de comandos plano

A idéia por trás da história da concha difusa é simples – coleta o histórico da sua concha, remove alguns detalhes desnecessários e envia o resultado para um programa chamado FZF. Faremos algo semelhante, exceto que usaremos o FZF para escolher nossos comandos de um arquivo de texto antigo simples para que possamos executá -los.

O FZF foi projetado para ajudá -lo a selecionar rapidamente itens em listas longas. É uma ferramenta essencial que faz parte de qualquer kit avançado de ferramentas de shell e, se você deseja melhorar suas habilidades de terminal, recomendo aprender a usá -lo. O FZF é fácil de pegar e inclui muitos recursos avançados para usuários mais experientes.

A seguir, é o exemplo mais simples que demonstra como o FZF pode ser usado para pesquisar várias linhas de texto:

        echo "foonbar" | fzf
    

Quando você começa a digitar, o FZF reduz a lista dinamicamente, atualizando as opções em tempo real. Depois de fazer uma seleção, o FZF imprime a entrada escolhida. A maioria dos usuários envia essa opção para outro comando para um processamento adicional. Por exemplo, com eco “foo nbar” | fzf | tr ‘[:lower:]”[:upper:]’sua palavra selecionada é convertida em maiúsculas.

Agora queremos construir e pesquisar nossa própria lista de comando. Primeiro, crie um arquivo com comandos nele:

        echo "ls -alndir" > ~/.commands
    

Em seguida, adicione a seguinte função ao seu arquivo .bashrc. Se você não sabe o que é isso, temos um artigo que explica qual é o arquivo .bashrc:

        fe() {
  eval "$(fzf <"${HOME}/.commands" || return)"
}

Recarregue sua concha com fonte ~/.bashrce correr Fe (execução difusa). Quando você seleciona um comando, ele é executado automaticamente. Você está livre para adicionar comandos ao arquivo de texto “~/.Commands”.

Se você estiver no ZSH, tem o luxo de poder editar os comandos antes de executá -los. No seu arquivo .zshrc:

        fe() {
  print -z "$(fzf <"${HOME}/.commands" || return)"
}

Agora, quando você executar isso, ele preencherá sua linha de comando primeiro e você pode editá -lo ou simplesmente pressionar o retorno para executá -lo.


Agora que você sabe como enviar comandos totalmente para o plano de fundo, você pode iniciar com segurança os aplicativos do terminal sem confundir seu espaço de trabalho com várias janelas de terminal. Você pode adicionar esses comandos – junto com o NOHUP e o operador de segundo plano – ao seu arquivo de comando ou seu histórico de shell para iniciar rapidamente aplicativos. Para comandos com parâmetros complexos, os aliases são úteis.

Eu uso todos esses princípios para iniciar rapidamente os aplicativos do terminal. Embora os lançadores dedicados sejam uma solução muito melhor, às vezes você só deseja executar algo diretamente no terminal por conveniência. Agora é mais fácil do que nunca.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Sair da versão mobile