¿Todos los programas tienen que pasar por el shell para completar el proceso que desean realizar?

¿Todos los programas tienen que pasar por el shell para completar el proceso que desean realizar?

He visto en alguna parte que "bash se usa para comunicarse con el kernel de Linux".

¿Es aplicable sólo al terminal? ¿O todos los programas (incluidos los programas que tienen GUI) tienen que pasar por el shell para completar el proceso que desean realizar?

(Considere que estamos coloreando una foto. ¿Cómo sabe bash lo que estamos haciendo? ¿Existe un tercero entre gimp y bash para convertirlos a bash?)

Sería muy útil si pudieras tomar un ejemplo para explicarlo :)

Respuesta1

No. Sólo los usuarios tienen que pasar por un shell para comunicarse con el Kernel. Uso de aplicacionesAPI.

Por ejemplo, si quiero eliminar un archivo, tengo que usar un shell u otro y luego una aplicación para eliminar el archivo:

  1. Con un shell de interfaz de línea de comandos (CLI), como bash, puedo usar el rmcomando para eliminar el archivo.
  2. Con un shell GUI (como Unity o GNOME Shell), puedo usar otra cosa, como el Administrador de archivos, para eliminar el archivo. El shell GUI, a su vez, no necesita utilizar un shell CLI.

Tanto el Administrador de Archivos como rma su vez podrán utilizar la función unlink(3)(o la de nivel superior remove(3)) (ollamada al sistema) para hacer el trabajo real.

información relacionada