Linux sin SO gráfico pero con recursos gráficos


23

Mi primera experiencia informática fue con un comodoro. Me gustaría que la computadora con Linux funcione de manera similar. Me preguntaba si era posible tener algo similar usando Linux.

Lo que me gustaría ver es cuando inicio mi máquina en la línea de comandos, y no en una GUI, pero tengo recursos gráficos disponibles. Entonces, cuando escribo say: Firefox, el programa y su interfaz gráfica estarán disponibles. Cuando salgo de Firefox, vuelve a la línea de comandos. Si necesito explorar el sistema de archivos, digamos que escribí: XFE o cualquier administrador que se esté utilizando y aparece y me permite explorar la carpeta, y cuando salgo, vuelve a la línea de comandos. Entonces, la capacidad de ejecutar, administrar y usar programas sin tener que usar una GUI pero tiene gráficos disponibles.

Sería bueno tener todo esto orientado a la programación. Entonces, en la línea de comandos de BASH, tenga la capacidad de llamar a un entorno de compilación IDE y simplemente comience a escribir programas sin distraerse con un entorno de escritorio.

Y si se está ejecutando más de un programa gráfico, supongo que tendrá un administrador de ventanas con pestañas. ¿Es esto factible o estoy soñando?


22
¿Estás buscando un konsole / gnome-terminal / xterm maximizado?
user253751

pero esto no tiene nada que ver con Ubuntu ;-) Mejor pregunte esto en U&L unix.stackexchange.com
Rinzwind

11
Me gustaría invitarlo a presionar Ctrl + Alt + F1 a través de Ctrl + Alt + F7 respectivamente.
Michael Hampton

1
Otra opción es usar xterm como administrador de ventanas. No puedo probar esto en este momento, pero debería editar ~ / .Xsession y establecer la última línea en / usr / bin / xterm sin un &, por lo que este proceso es el que no termina y mantiene a X con vida. Cuando este xterm salga, la sesión habrá terminado y X se cerrará. Puede necesitar algunos parámetros de geometría.
Criggie

1
Xterm solo no resuelve el problema. He creado una instalación muy mínima. Luego instalé Firefox. Dice error: GDK_BACKEND no coincide con las pantallas disponibles. ¿Qué me estoy perdiendo?
Linuxuser00

Respuestas:


43

Creo que puede obtener lo que desea con un Administrador de ventanas de mosaico, como i3 o xmonad . Hay otros gestores de ventanas minimalistas con una funcionalidad similar. i3 y xmonad están en repositorios de Ubuntu, por lo que son fáciles de instalar y luego puede seleccionarlos en su pantalla de inicio de sesión.


Esto es ordenado e interesante, pero no es exactamente lo que estoy buscando. Me gustaría ver que cada programa se ejecute en su propio espacio de trabajo utilizando toda la pantalla para sí mismo.
Linuxuser00

12
@ Linuxuser00: creo que es solo una cuestión de configuración. A la mayoría de los usuarios de gestores de ventanas de mosaico les gusta usar sus pantallas grandes para mostrar información lado a lado, pero todos admiten el intercambio entre varias aplicaciones de pantalla completa.
ojdo

Después de leer esta respuesta, he estado probando i3. Se siente un poco más receptivo que compiz. Pero lleva un tiempo acostumbrarse. Todavía no he descubierto cómo hacer que las ventanas en i3 tengan los tamaños exactos, quiero que tengan.
kasperd

@kasperd quieres decir mod + R y luego jugar con flechas? entonces después de que hayas escapado?
vimdude

24

Me temo que te pierdes la principal diferencia entre los entornos informáticos modernos y los de la era C-64. Las computadoras domésticas de la era C-64 eran sistemas de un solo usuario, de un solo proceso, y no compartían los recursos de la computadora con otros procesos. Esto simplemente significa que cuando ejecuta un programa en su C-64 que era un programa gráfico, reconfiguraría el hardware de su computadora para que esté en modo 'gráficos' y luego su programa en ejecución manejaría toda la salida gráfica, y el usuario entrada desde el mouse y el teclado en sí.

Las computadoras modernas y su software, por el contrario, son multiusuario, procesos múltiples, pero no solo esto, el software moderno depende de bibliotecas compartidas, por ejemplo, Firefox se basa en la biblioteca de ventanas GTK, y que a su vez se basa en otras bibliotecas de nivel inferior. Entonces, para que Firefox se ejecute, depende de una pila completa de software y configuración.

Debido a que hay mucho software subyacente, esto hace que sea más eficiente permanecer dentro de un entorno gráfico una vez que se inicia, en lugar de cargar el entorno gráfico para Firefox, luego apagarlo y luego iniciar el entorno gráfico para otro programa, Y así sucesivamente.

Simplemente puede iniciar y ejecutar cualquier programa GUI de Linux desde una ventana de terminal (consola), por lo que le aconsejo que elija un entorno de escritorio gráfico simple, tal vez Enlightenment u Openbox , y simplemente ejecute todo desde una ventana de terminal / xterm.


11

Estoy de acuerdo con Eduar, probablemente quieras un Administrador de ventanas dinámicas / mosaico (WM). Pero nadie se dirigió directamente:

Lo que me gustaría ver es cuando inicio mi máquina en la línea de comandos

Actualmente, debe iniciar en un Administrador de pantalla (DM) donde inicia sesión. Entonces tiene dos opciones, iniciar en un shell o una consola DM.

Si no tiene DM configurados, iniciará sesión en un shell de forma predeterminada, esto le dará un mensaje de inicio de sesión con nombre de usuario y contraseña, si ingresa las credenciales correctas, iniciará sesión en su shell predeterminado. Utilizo esto y lo siguiente es aproximadamente mi "proceso" de inicio promedio:

Arch Linux 4.1.5-1-ARCH (tty1)

localhost login: Joe
Password: 
$ startx

Si desea tener un DM, pero uno de consola, deberá instalarlo y configurarlo. La wiki de Arch actualmente dice que hay tres DM de consola: CDM, Console TDM y nodm .

Ubuntu usa LightDM de forma predeterminada , por lo que es posible que deba eliminarlo.
Pero como alguien que actualmente no tiene un DM, recomendaría mantener su DM actual y simplemente cambiar su WM. Es tedioso tener que escribir startxy, desde la memoria, hacer que se ejecute automáticamente correctamente fue molesto de configurar.


Ubuntu usa lightdm por defecto, al menos en la variante Unity.
Léo Lam

En términos de ejecución startxautomática, creo que cada cuenta tiene un script bash que se ejecuta al iniciar sesión (o equivalente para otros shells)
Nick Mertin

Perdóname si esto es completamente incorrecto, pero dado que .bash_profilees un script bash ordinario, ¿no podrías simplemente ponerlo startx?
Nick Mertin

@ MagikM18 ¿Qué sucede si desea ejecutar un shell bash interactivo después de que X haya comenzado? Sin ningún control, .bash_profileintentaría volver a correr startx.
joeytwiddle

@joeytwiddle cierto, no pensé en eso
Nick Mertin

10

startx y xinit pueden recibir un cliente inicial para comenzar. El siguiente comando:

startx /usr/bin/firefox

activará un servidor x en el TTY en el que está trabajando actualmente, e iniciará una única instancia de firefox en algo como pantalla completa. Puede cambiar a otros tty para evitar tener que cerrar la sesión de Firefox solo para volver a la consola o para atraer a otros clientes allí. Es posible que tenga que especificar muchas opciones para que esto se vea bien para su monitor, ya que no tendrá el entorno de escritorio haciendo parte de esa configuración por usted.

Debe tener en cuenta que algunos clientes x no funcionan bien fuera de los administradores de ventanas o entornos de escritorio. No hay DE que proporcione decoraciones de ventanas ni WM que escuche combinaciones de teclas MOD, por lo que si no proporcionan una forma gráfica de salir, tendrá que eliminar el proceso (o X) de otro TTY.

Normalmente, el cliente inicial que las personas usan con X es un entorno de escritorio o un administrador de ventanas que es solo un tipo especial de cliente que inicia e integra a otros clientes además de mostrar su propia ventana.


10

Alternativas

Modo Framebuffer

Hay algunos programas que pueden ejecutarse en modo framebuffer. El modo Framebuffer permite que una aplicación tenga la pantalla completamente sola, permitiendo que la aplicación dibuje lo que quiera en la pantalla píxel por píxel. No todos los programas lo admiten, pero hay algunos que lo hacen.

El modo Framebuffer no requiere un Servidor X (como X.orgen el caso de las versiones actuales de Ubuntu, o en un futuro cercano tal vez Miro Waylanddependiendo de cuál se vuelva más popular), o cualquier administrador de ventanas / entorno de escritorio para iniciarse. Esto debería darle un cambio de texto a modo gráfico más rápido (y viceversa), especialmente como en (¿la mayoría?) Las distribuciones modernas de Linux y los controladores gráficos, las Alt-F[1-6]consolas se representan usando el modo framebuffer de todos modos.

"Interfaz de usuario de texto" (TUI)

Algunos programas que normalmente son de línea de comandos solo admiten el uso de un mouse vía gpm. En Ubuntu, todo lo que necesita hacer es instalar el paquete gpmy debería funcionar de inmediato sin ninguna configuración o incluso reiniciar (IIRC). Una vez gpminstalado, el puntero del mouse se mostrará como un cursor de texto de estilo de bloque y puede usar el mouse normalmente para hacer clic en los elementos de la interfaz de usuario. También puede resaltar texto y usar copiar y pegar.

Si desea ir un paso más allá, incluso hay un "administrador de ventanas" que le permite ejecutar múltiples aplicaciones de terminal en el mismo "escritorio" de modo de texto.


Lista no exhaustiva de programas que admiten el modo framebuffer

  • mc (Midnight Commander) - administrador de archivos
  • Enlaces / Enlaces 2, Netsurf - navegadores web
  • fbi - visor de imágenes
  • fbgs (relacionado con fbi, parte de la misma suite), fbpdf - visor de PDF
  • mplayer, fbff (basado en ffmpeg) - reproducción de audio / video

Esto suena muy bien, si no fuera tan limitado, gracias.
Linuxuser00

Hola @ Linuxuser00. Hay algunos programas más, simplemente no tuve tiempo para enumerar más :)
Pabru

Hola @ Linuxuser00, he agregado un par más si todavía estás interesado
Pabru

5

Considere el uso de un administrador de ventanas como FVWM2, en lugar de un "escritorio". Puede configurarlo para abrir solo una (o más) xterms en el arranque, puede ejecutar cualquier aplicación gráfica como un navegador web desde la línea de comandos, no se molesta por cosas de escritorio como "bandeja del sistema" o iconos para todo, pero puede agregar cualquier parte de eso que pueda encontrar realmente útil. (En mi caso, es una ventana de buscapersonas para varias pantallas y un monitor de carga Conky).


Actualmente estoy jugando con este. Tal vez no lo tengo configurado en este momento, pero parece ser inestable y chocó conmigo.
Linuxuser00

Humm ... Lo he estado ejecutando desde, oh, en algún momento a fines del siglo XX, y no he tenido problemas. Pero uso OpenSuSE en lugar de Ubuntu porque (entre otras razones) parece más simple usar gestores de ventanas en lugar del 'escritorio' predeterminado. Si desea ir más allá, FVWM tiene un foro de soporte: fvwmforums.org/phpBB3. El truco para registrarse es que le hacen una pregunta sobre una "alineación". La respuesta son los miembros de los Beatles, un grupo pop de los años 60. (Tuve que buscar la respuesta en Google a pesar de estar en los años 60.)
jamesqf

4

Esto es muy posible

Primero necesitas deshabilitar el arranque gráfico. Luego, desea el "Modo de usuario único" (advierte que hay algunos riesgos de seguridad bastante extremos con esto), finalmente debe abordar qué hacer cuando desea ejecutar una GUI.

Ver ¿Cómo inicio en modo de usuario único desde GRUB?

Esencialmente agregas la opción single a su configuración de arranque GRUB. Puede hacer esto en su archivo / etc / default / grub para que los cambios sean permanentes.

Ver ¿Cómo deshabilito X en el momento del arranque para que el sistema arranque en modo texto?

Esencialmente agregas text a sus opciones en/etc/default/grub

Esto le dará un entorno de solo usuario, solo texto. Lo siguiente es usar la GUI. El programa que quieres ejecutar esstartx

Correrás

startx /path/to/executable

El problema es que probablemente quieras un administrador de ventanas de algún tipo. Te sugeriría twmtus necesidades.

sudo apt-get install twm

Luego, para ejecutar comandos, diría ejecutar y startxluego regresar a su consola (CTRL + ALT + F1) y hacer algo comoexport DISPLAY=:0 . Ahora, cuando sea que tengas una aplicación GUI desde la línea de comandos, se iniciará en el "lado de gráficos", al que puedes acceder con Ctrl + Alt + F7 (generalmente).

Si le gusta esa configuración, incluso puede automatizar la configuración con un script.

Eso es lo más cerca que vas a llegar, sin mucho trabajo.


¿Por qué necesitas el modo de usuario único?
MSalters

"Lo que me gustaría ver es cuando inicio mi máquina en la línea de comandos, ...". Las viejas computadoras "Commodore" no eran multiusuario. No eran "usuario" en absoluto. Los activó y obtuvo un cursor parpadeante para escribir comandos. Todos los comandos fueron intentos y no había seguridad de la que hablar. Lo más parecido a ese día es el "modo de usuario único", que básicamente inicia sesión como root, omite la mayoría, si no toda, la seguridad.
coteyr

Ajá, ya sospechaba que estabas confundido. No hay una buena razón por la que desee el Modo de usuario único aquí. En Linux, el modo de usuario único versus el modo multiusuario es independiente de la elección de GUI o CLI.
MSalters

No, no estoy confundido. El OP solicitó un entorno lo más parecido a un comodoro posible. Esto significa que no hay seguridad, no hay multiusuario e inicio de sesión. La mejor manera de acercarse a esto es el modo de usuario único. Los dos objetivos no están relacionados entre sí: puede tener acceso a la consola con múltiples usuarios, puede tener GUI con un solo usuario. Son dos partes del objetivo general más amplio.
coteyr

No, no quiero un entorno lo más cercano posible al comodoro. Quiero simplicidad similar al Commodore (sin sistema operativo gráfico). Bash solo es genial, pero me gustaría ingresar a un entorno de codificación si quiero codificar o ingresar a un entorno de navegador si quiero navegar por la red, etc. Y cuando termine con estos programas, ciérrelos y vuelva a BASH. o tal vez tener múltiples programas ejecutándose en su propio espacio de trabajo. He estado ocupado y no he podido implementar algunos de estos métodos discutidos hasta ahora.
Linuxuser00

3

Me gusta Ratpoison por lo que estás tratando de hacer. No publicaré una captura de pantalla porque no puede distinguir la diferencia de una captura de pantalla de xterm (o cualquier aplicación que esté ejecutando). En su configuración estándar, muestra una ventana a pantalla completa. Puede dividirlo para mostrar varias ventanas, pero para la mayoría de mi uso diario no lo hago. Si inicia un emulador de terminal desde su archivo .ratpoisionrc, recibirá un mensaje casi tan pronto como inicie sesión. Está inspirado en la pantalla gnu, y el único concepto que se perdieron fue sesiones desmontables y compartidas (pero vnc llena ese vacío muy bien) .


2

Creo que puedes obtener lo que quieres sin tirar el escritorio. Como se han cubierto otras respuestas, es probable que obtenga un mejor rendimiento con el escritorio ejecutándose de todos modos y hay razones técnicas que ejecutan Linux como un sistema operativo anterior realmente no funcionaría.

Voy a usar gnome como mi flujo de trabajo de ejemplo porque es lo que sé, pero supongo que otros entornos de escritorio también admitirían una funcionalidad similar. En gnome 3, puede tener un espacio de trabajo (o múltiple) con un terminal de pantalla completa que tenga el mismo aspecto que se ejecuta en modo de línea de comandos solamente. El hecho de que el escritorio gnome se ejecute en segundo plano es irrelevante.

Luego, utilizando un administrador de ventanas (como el que se analiza en esta pregunta SO ) para controlar en qué espacio de trabajo se crean nuevas ventanas, puede forzar que cada nueva ventana se coloque en su propio espacio de trabajo. Si está dispuesto a mover ventanas usted mismo cuando se crean, entonces no necesita ningún software más allá de gnome. Gnome 3 admite espacios de trabajo automáticos, por lo que al abrir / cerrar ventanas en el espacio de trabajo más inferior, se crearán / eliminarán automáticamente nuevos espacios de trabajo. Luego puede usar ctrl + alt + arrowpara moverse rápidamente entre ellos. Cuando cierra una ventana, el espacio de trabajo en el que estaba se elimina automáticamente, y los dos espacios de trabajo en cada lado se mueven juntos. Todo lo que ves son las ventanas que tienes abiertas y la terminal.


Esto suena bien. ¿Quizás Openbox y Gnome me darían lo que quiero?
Linuxuser00

No he usado openbox (o cualquier otro administrador de ventanas), por lo que tendrá que evaluarlos por su cuenta), pero ejecuto gnome 3 en mi computadora portátil y uso el flujo de trabajo descrito en esta respuesta (mover ventanas manualmente). Estoy bastante contento con eso, aunque reorganizar las ventanas en el orden que quiero después de crearlas es un poco más doloroso de lo que debería ser.
Godric Seer

2

Instalar Xvfb:

apt-get install xvfb

Correr:

/usr/bin/Xvfb :1 &
export DISPLAY=:1

luego ejecute cualquier software gráfico que le guste sin cabeza.


1

Puede cambiar rápidamente a una interfaz de línea de comando usando [ctrl] [alt] [F1] (funciona con [F1] - [F12] creo). Uno de estos también volverá a su GUI cuando lo necesite; Creo que es [ctrl] [alt] [F8] en Mint, así que quizás quieras probarlo. Sin embargo, me arrojaré al campamento "use un administrador de ventanas de mosaico"; i3 realmente es una gran herramienta.


Sí, pero el problema que tengo con esto es que hay una GUI ejecutándose en segundo plano usando mis recursos, por lo que debería usar la GUI en lugar de fingir que no está allí.
Linuxuser00

¡Muy cierto! Una forma de evitar esto sería configurar el sistema operativo para que intercambie toda esa sesión cuando no esté activa. No me sorprendería demasiado si lo hiciera automáticamente, pero probablemente es algo que necesitaría pasar por problemas considerables para configurar.
Johnathan Andersen
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.