Escribiste en un comentario a la respuesta de Foon que
Lo que quiero decir con "como computadoras viejas" es que está ahí
Otros han proporcionado varias sugerencias diferentes para los intérpretes BASIC que podría instalar en un sistema Linux, por lo que no iré allí. Las PC modernas generalmente no vienen con intérpretes BASIC incorporados, por lo que está bloqueado arrancando algo que puede ejecutar un intérprete BASIC instalado.
Más bien, tomaré lo anterior para significar que quiere algo que inicie un intérprete BASIC automáticamente, similar pero no del todo parecido a las primeras microcomputadoras (como Apple II, Commodore C-64, Zinclair ZX-81 y sus semejantes) ) arrancado en un intérprete BASIC nativo.
Básicamente, puedo pensar en tres formas de hacer esto:
Crea un lanzador de escritorio que abra una terminal
Este es el menos invasivo, porque funciona completamente dentro del sistema y el entorno al que está acostumbrado.
Básicamente, a través de cualquier medio que proporcione su entorno de escritorio, usted crea un iniciador de programas y lo configura para iniciar el intérprete BÁSICO de su elección en un terminal. Para un efecto adicional, puede configurar fuentes, colores, etc. específicos, para simular un entorno de días pasados. La forma exacta en que haría esto depende del entorno de escritorio que esté utilizando, que no ha especificado, pero hacer un clic derecho en el lugar donde está haciendo clic para iniciar aplicaciones y buscar una opción para crear un nuevo iniciador será un buen comienzo .
Cree una cuenta de usuario separada con un intérprete BÁSICO como shell
Esto es un poco más complicado que un simple iniciador de escritorio, pero los proveedores tienen un mejor aislamiento para que no te arriesgues a arruinar tus propios archivos. Primero, instale un intérprete BÁSICO; Lo usaré bwbasic
para el ejemplo, pero todo vale, siempre y cuando se ejecute de forma nativa en un terminal. Luego agregue un usuario y configure su shell para que sea el intérprete bwbasic. Esto se puede hacer a través de la GUI, pero eso depende del entorno de escritorio que esté utilizando; el enfoque portátil es hacerlo en una terminal usando useradd
. Esto será algo similar a
$ sudo -i
# grep -q "$(type -pP bwbasic)" /etc/shells || echo "$(type -pP bwbasic)" >>/etc/shells
# useradd --home /home/basic --create-home --shell "$(type -pP bwbasic)" basic
Luego, debería poder ingresar a un entorno BASIC limpio a través de sudo:
$ sudo -i -u basic
Puede crear un lanzador (como se indicó anteriormente) que ejecute este comando en una terminal, si así lo desea.
Proporcione su contraseña normal cuando se lo solicite sudo. Puede editar la configuración de sudoers para evitar la solicitud de contraseña si lo desea, pero tenga en cuenta que editar sudoers es algo complicado y aún más riesgoso; puede bloquear la cuenta raíz, lo que dificulta la reparación de la configuración.
Use un intérprete BÁSICO como init
Este es el enfoque más invasivo, pero también lo acerca más a cómo funcionaban las primeras microcomputadoras, al arrancar directamente en un intérprete BASIC. No recomiendo esto, y consideraría que es poco probable que funcione sin un trabajo significativo, pero lo estoy incluyendo por completo.
El kernel de Linux acepta un parámetro de línea de comando (sí, el kernel de Linux tiene parámetros de línea de comando; puede ver la línea de comando actualmente arrancada leyendo / / proc / cmdline) llamada init
, que especifica qué programa ejecutar una vez que se completa la inicialización del kernel. Puede configurar el cargador de arranque (probablemente GRUB) para permitirle arrancar una entrada del núcleo que dice que init
debería ser /usr/bin/bwbasic
(o cualquier otro intérprete BÁSICO que haya instalado).
Para que esto funcione, el intérprete BASIC, así como todos los archivos que necesita, deben ubicarse en el /
sistema de archivos root ( ). Esto se debe a que una de las tareas de init es montar todos los sistemas de archivos, y porque está proporcionando un programa no init como init, los sistemas de archivos no root no se habrán montado. (Creo que otra de las tareas de init es volver a montar el sistema de archivos raíz en modo de lectura y escritura, por lo que por el enfoque trivial no podrá guardar nada. Sin embargo, es posible que, dependiendo de los detalles de implementación exactos, pueda hacer que el sistema ejecute algo comomount -o remount,rw /
para volver a montar el sistema de archivos raíz de lectura-escritura.) El intérprete BASIC elegido tampoco debe depender de nada más de lo que init sea responsable, y no tendrá acceso a ninguna instalación manejada por init o por ningún proceso generado por init (por ejemplo , redes o soporte multiusuario).
Una línea de comando del kernel de algo así ro quiet init=/usr/bin/bwbasic
probablemente lo acercará bastante a cómo se veía en los viejos tiempos.