Terminal Vs. Shell [duplicado]

14

Posible duplicado:
¿Cuáles son las diferencias entre shell, consola y terminal?

Esto probablemente suena como una pregunta estúpida, pero estoy teniendo muchos problemas para diferenciar claramente entre un shell (como Bourne o bash) y la aplicación Terminal en GNOME. Me doy cuenta de que ambos son completamente diferentes, pero parece que no puedo encontrar una respuesta clara escrita en el texto. ¿Alguien podría distinguir claramente entre ambos?

Nicklas Olsen
fuente

Respuestas:

15

El programa terminal es solo una interfaz gráfica para el shell. El shell es lo que realmente maneja los comandos, etc. el programa terminal simplemente le brinda una forma de interactuar con el entorno gráfico.

usuario55325
fuente
8

El shell es un programa típico de Unix. Lee los comandos de la entrada estándar e imprime algo en la salida estándar. Esto es simple y bueno.

El punto es: en un entorno gráfico (como GNOME o KDE) un programa no puede simplemente escribir texto directamente en el escritorio. Si los programas pudieran, esto se convertiría rápidamente en un desastre y un caos. Por lo tanto, necesita un programa que proporcione un espacio donde otros programas puedan escribir su texto. Ese programa también acepta pulsaciones de teclas del usuario y las convierte en secuencias de bytes, ya que esto es lo que esperan muchos programas (línea de comandos, basados ​​en texto, no GUI). Todo esto es el trabajo de la aplicación Terminal GNOME.

Entonces tienes el shell (probablemente bash), y envuelto alrededor de él es el terminal GNOME. Para ver qué hace exactamente el terminal GNOME, puede ejecutar (Alt + F2) gnome-terminal, xtermy rxvten el medio, ver dónde son diferentes y qué tienen en común.

Roland Illig
fuente
1

Creo que lo que realmente pregunta es cuál es la diferencia entre la consola y una aplicación de terminalxterm .

Si es así, la consola es local para la máquina, solo puede haber una consola. La salida de la consola se dirige a lo /dev/consoleque generalmente significa su monitor. Una terminal, por otro lado, es realmente un emulador de terminal que se remonta a los días en que los mainframes eran tan grandes como habitaciones enteras y los usuarios interactuaban con terminales tontos que eran remotos al mainframe. Los terminales podrían enviar comandos de terminal a través de una línea serie a la computadora central para interactuar con él. Hoy en día, todavía usamos terminales, pero están emulados para que podamos usar más de uno (cada uno vinculado a un pseudo tty like /dev/pts#) e incluso podemos usarlos de forma remota y reenviar su conexión a través de un canal SSH encriptado a través de Internet.

Tanto la consola como una aplicación de terminal invocan sus shell (s) al iniciar sesión.

SiegeX
fuente
-2

El terminal es esencialmente un shell emulado en una ventana.

Si desea ver un shell real sin Terminal, presione Ctrl+ Alt+ F1y Ctrl+ Alt+ F8para volver a la interfaz gráfica.

digitxp
fuente
Un terminal no es ningún tipo de shell.
Ignacio Vazquez-Abrams
@Dennis ¿Quieres elaborar?
digitxp
Ver el comentario de Ignacio. Un terminal, si se trata de una consola de sistema o gnome-terminal, xtermo masilla es más parecido a un terminal físico (y es por tanto un emulador ). Un shell es un software que, entre otras cosas, acepta entradas, procesa y produce salidas en un terminal.
Pausado hasta nuevo aviso.
@Dennis Entonces debería decirlo "El terminal esencialmente contiene un shell emulado dentro de una ventana gráfica".
digitxp
Un terminal no es necesariamente una ventana gráfica y un shell no se ejecuta necesariamente en él. Y el shell no está emulado (podría ser algún otro programa). Lo que estás preguntando es esencialmente lo mismo que tu original. Vea la respuesta aquí que está muy cerca de ser completa y es bastante precisa.
Pausado hasta nuevo aviso.