¿Las GUI del sistema operativo tienen un shell diferente al del intérprete de línea de comandos?

0

Esta es una pregunta muy general, pero estoy teniendo dificultades para encontrar aclaraciones. Mi pregunta es: ¿las GUI del sistema operativo tienen un shell diferente al del intérprete de línea de comandos? Cuando estaba leyendo acerca de los shells en la página de Wikipedia, dice debajo de la sección de Microsoft Windows que "la mayoría de los shells del sistema operativo en Microsoft Windows no son intérpretes de línea de comandos". Entiendo que en la actualidad, la mayoría de las personas usan una GUI para interactuar con su sistema operativo y que si un sistema operativo tiene una GUI, la GUI sirve como el shell principal del sistema operativo.

Así que aquí es donde entra mi confusión. En Windows 10, por ejemplo, puede acceder a la interfaz de línea de comandos e ingresar comandos al sistema operativo si así lo desea. ¿La interfaz de línea de comandos en un sistema operativo con una GUI tiene el mismo shell que su GUI respectiva?

Darien Springer
fuente
Windows (y cualquier otro sistema operativo moderno) tienen una serie de shells que se invocan para cualquier tipo de entrada que se necesite procesar. No hay un "THE shell". Un shell es una instancia de un programa que toma datos para su procesamiento. si ejecuta un vbscript en cmd.exe utilizando cscript myscript.vbsestá invocando un shell cscript y ejecutando su script. La barra de ejecución es su propio shell, al igual que cada ventana de comando. Cada shell mantiene su propio entorno, como lo demuestra el comportamiento de los verbos SET y SETX que modifican el entorno para uno o muchos otros shells.
Frank Thomas

Respuestas:

1

Algunas personas de la tradición de Windows usan el término "shell" en un sentido muy amplio para referirse a la interfaz de usuario del sistema operativo, ya sea gráfica o de línea de comandos.

Entonces, en Windows, la GUI es el "shell".

Algo de esto se remonta a una antigua aplicación de administrador de archivos semi-gráfica de MS-DOS (gráficos en modo texto) llamada "DOS Shell", que intentó proteger al usuario de tener que usar el símbolo del sistema de DOS real. Entonces, si esta aplicación de administrador de archivos era un "shell" en DOS, entonces los administradores de archivos de Windows y los administradores de programas y los administradores de procesos y los entornos de escritorio y los sistemas GUI también eran "shells" en el sistema operativo, presentando una interfaz de usuario más agradable.

En el mundo Unix, los intérpretes de línea de comandos son shells, y los entornos GUI / windowing / desktop nunca se consideran shells de ningún tipo. La terminología de macOS sigue este modelo. El Finder no es un shell: bash es un shell.

¿La interfaz de línea de comandos en un sistema operativo con una GUI tiene el mismo shell que su GUI respectiva?

Supongo que en términos de MS Windows, el intérprete de línea de comandos es parte del shell, al igual que el Explorador de Windows y el menú Inicio son partes del shell. Simplemente reemplace "shell" con "interfaz de usuario" y comprenderá la forma en que se utiliza el término entre algunos académicos de Windows. ¿Es la interfaz de usuario de la línea de comandos parte de la interfaz de usuario del sistema operativo? Sí. Entonces es parte del caparazón.

Spiff
fuente
Tal vez esto sea solo más semántica, pero cuando dice que la línea de comando es parte de la interfaz, ¿está diciendo que la línea de comando en un sistema operativo guiado por shell GUI como Windows es parte del shell pero no EL shell?
Darien Springer
puedes ejecutar un shell en otro. por ejemplo, en linux en un shell Bash, puede invocar un shell python o sh o ksh o ash o dash cualquier otra cosa. Los únicos shells "especiales" son los que el sistema operativo carga automáticamente en el arranque, y eso es una propiedad de la configuración del sistema operativo, no el shell en sí. puede hacer que Windows arranque en un símbolo del sistema si lo desea (o al menos solía poder hacerlo; no lo he intentado en algún momento). así que no es inusual que un shell cmd.exe invoque un shell powershell.exe, todo dentro de un shell explorer.exe.
Frank Thomas