Probablemente haya comenzado una solicitud desde el terminal en algún momento, pero ¿notó que mantiene su terminal ocupado hasta que vallado la solicitud? Eso puede ser suficiente incómodo. A veces, sin incautación, es útil difundir aplicaciones de esta modo. Explico cómo lo hago de modo efectiva.
Algunas personas usan menús, otros usan lanzadores: acontecimiento personalmente todas las aplicaciones, como Firefox, desde la terminal. Este túnica se remonta a mis primeros días usando Linux (hace unos 15 abriles), cuando no sabía cómo crear atajos. Con el tiempo, me acostumbré a difundir aplicaciones de esta modo, y regalado que siempre tengo una ventana de terminal abierta, tiene sentido. Encima, soy demasiado sutil para configurar y prolongar una configuración de arrojador. Con el terminal, puedo inquirir en mis aplicaciones difusas como un arrojador, pero con el beneficio adicional de editar comandos antiguamente de lanzarlas.
Primero, comprenda a Nohup y al cámara de fondo
Cuando abre una aplicación desde el terminal y luego vallado el terminal, la aplicación a menudo igualmente se cerrará, lo que probablemente no sea lo que desea. En Linux, cuando una aplicación inicia otra, se bifvece el proceso, por lo que la aplicación llamativo se convierte en el padre.
Cuando mata el proceso principal, todos sus procesos infantiles igualmente se terminan típicamente. Puede probarlo usted mismo: escriba el venidero comando en un terminal, espere a que comience y luego vallado la ventana del terminal.
firefox
Para prolongar los procesos infantiles en funcionamiento posteriormente de cerrar el terminal, usaremos una aparejo probada en tiempo llamamiento Nohup.
Nohup
El comando nohup hace que un proceso ignore la señal de colgación (suspiro), lo que le permite continuar ejecutándose incluso posteriormente de que el sucesor inicie sesión o finalice la sesión de terminal.
Ahora que tenemos una modo de prolongar nuestro proceso en funcionamiento posteriormente de que se vallado el terminal, vale la pena señalar que Nohup escribirá automáticamente la salida a un archivo nohup.out en el directorio coetáneo. A menos que desee estos archivos dispersos en todo su sistema de archivos, deberá afrontar este comportamiento. Puede descartar toda la salida o redirigirla a un archivo específico para el registro.
Para ignorar toda la salida, simplemente redirige todo a /dev /null, que actúa como un agujero desventurado para datos no deseados:
nohup firefox &>/dev/null
Ahora, si cierra la terminal, Firefox seguirá funcionando. Sin incautación, esta configuración envía todos los registros al infructifero. Alternativamente, puede redirigir la salida a un archivo de registro en su puesto:
nohup firefox &>/tmp/firefox.log
Ahora, si hay un problema con Firefox, puede estudiar el archivo de registro.
Cámara de fondo
Cuando ejecuta Nohup con Firefox, se hace cargo de su término de comando, lo que significa que no puede ejecutar otros comandos. Esto no es ideal si desea usar el mismo terminal para otras cosas. Ahí es donde entra el cámara de fondo.
El cámara de fondo es simplemente un amplificador y colocado al final del comando, lo que le permite seguir usando el terminal mientras se ejecuta la aplicación. Probar:
firefox &
Si cierra su terminal ahora, notará que igualmente cierra la aplicación. Esto se debe a que, si adecuadamente el cámara de fondo pone su aplicación en segundo plano, todavía obedece la señal de suspiro, por lo que cerrar el terminal detiene el proceso. Por eso igualmente usamos Nohup.
Una característica útil del cámara de fondo es que puede devolver un proceso a primer plano. Posteriormente de despachar Firefox al fondo, escriba FG para llevarlo al primer plano nuevamente.
Uso de nohup con el cámara de fondo
Al usar Nohup con el cámara de fondo, su aplicación se ejecuta completamente en segundo plano, lo que le permite seguir trabajando en su terminal o incluso cerrarla; su proceso continuará ejecutándose ininterrumpido.
nohup firefox &>/tmp/firefox.log &
Usar seudónimo mnemónicos
Un seudónimo de shell funciona como un apodo para un comando. Por ejemplo, puede establecer la pago F para difundir Firefox, por lo que solo debe escribir F en el terminal para abrirla. Si esto es nuevo para usted, debe estudiar nuestra publicación sobre cómo crear seudónimo de shell.
En el mundo de la personalización de Shell, es popular usar seudónimo mnemónicos: combinaciones memorables de literatura que representan comandos más largos. Por ejemplo, puede crear atajos de Firefox que inician el navegador con argumentos específicos:
seudónimo ffaa="firefox about:about"
seudónimo ffac="firefox about:config"
seudónimo ffnt="firefox --new-tab"
seudónimo ffp="firefox --profile"
seudónimo ffsm="firefox --safe-mode"
Al ordenar los seudónimo alfabéticamente, es más practicable ver qué seudónimo ya se han utilizado.
Es posible que desee usar Nohup y el cámara de fondo para difundir Firefox.
Use el historial de caparazón de Fuzzy
La utilidad de shell más útil que nunca instalará es una aparejo de historia difusa. Atuin es una aplicación que hace exactamente eso, y funciona en cualquier puesto. Yo personalmente uso ZSH-FZF-History-Search, que es un complemento ZSH, pero uno y otro son casi idénticos.
Si pasa tiempo escribiendo trabajosamente un comando extenso, tiene sentido tener una forma rápida de ejecutarlo nuevamente. A menudo paso uno o dos minutos construyendo un comando engorroso, luego uso el historial de shell difuso para ejecutarlo cientos de veces durante meses o incluso abriles.
Si elimina una sola cosa: use un complemento o aplicación de historial de shell difuso. Recomiendo Atuin. Si está interesado, tenemos una entrada a Atuin.
Un archivo plano de comandos
La idea detrás del historial de shell Fuzzy es simple: recopila su historial de shell, elimina algunos detalles innecesarios y envía el resultado a un software llamado FZF. Haremos poco similar, excepto que usaremos FZF para designar nuestros comandos de un archivo de texto antiguo para que podamos ejecutarlos.
FZF está diseñado para ayudarlo a escoger rápidamente instrumentos de listas largas. Es una aparejo esencial que forma parte de cualquier kit de herramientas de shell liberal, y si desea mejorar sus habilidades terminales, recomiendo estudiar a usarlo. FZF es practicable de recolectar e incluye muchas características avanzadas para usuarios más experimentados.
El venidero es el ejemplo más simple que demuestra cómo se puede usar FZF para inquirir a través de múltiples líneas de texto:
echo "foonbar" | fzf
Cuando comienza a escribir, FZF reduce la nómina dinámicamente, actualizando las opciones en tiempo vivo. Una vez que realiza una selección, FZF imprime su entrada elegida. La mayoría de los usuarios envían esa opción a otro comando para su posterior procesamiento. Por ejemplo, con echo “foo nbar” | FZF | tr ‘(: inferior :)’ ‘(: superior :)’su palabra seleccionada se convierte en mayúsculas.
Ahora queremos construir y inquirir en nuestra propia nómina de comandos. Primero, cree un archivo con comandos en él:
echo "ls -alndir" > ~/.commands
Luego agregue la venidero función a su archivo .bashrc. Si no sabe qué es, tenemos un artículo que explica cuál es el archivo .bashrc:
fe() {
eval "$(fzf "
}
Recargar su caparazón con fuente ~/.bashrcy corre ceñudo (Ejecutar difuso). Cuando selecciona un comando, se ejecuta automáticamente. Usted es escapado de sumar cualquier comando al archivo de texto “~/.commands”.
Si está en ZSH, tiene el riqueza de poder editar los comandos antiguamente de ejecutarlos. En su archivo .zshrc, pon:
fe() {
print -z "$(fzf "
}
Ahora, cuando ejecute esto, primero llenará su término de comando, y puede editarla o simplemente presionar regresar para ejecutarlo.
Ahora que sabe cómo despachar comandos completamente a fondo, puede iniciar aplicaciones de forma segura desde el terminal sin atiborrar su espacio de trabajo con múltiples ventanas de terminal. Puede sumar estos comandos, yuxtapuesto con Nohup y el cámara de fondo, a su archivo de comando o su historial de shell para iniciar rápidamente aplicaciones. Para los comandos con parámetros complejos, los seudónimo son efectos.
Utilizo todos estos principios para difundir rápidamente aplicaciones desde el terminal. Si adecuadamente los lanzadores dedicados son una decisión mucho mejor, a veces solo desea ejecutar poco directamente en la terminal por conveniencia. Ahora es más practicable que nunca.





