Vous avez écrit dans un commentaire à la réponse de Foon que
Ce que je veux dire par "comme les vieux ordinateurs" c'est que c'est juste là
D'autres ont fourni plusieurs suggestions différentes d'interprètes BASIC que vous pourriez installer sur un système Linux, donc je ne vais pas y aller. Les PC modernes ne sont généralement pas livrés avec des interprètes BASIC intégrés, vous êtes donc bloqué en train de démarrer quelque chose qui peut exécuter un interpréteur BASIC installé.
Au lieu de cela, je prendrai ce qui précède pour signifier que vous voulez quelque chose qui démarre automatiquement un interpréteur BASIC, similaire mais pas tout à fait comme les premiers micro-ordinateurs (tels que l'Apple II, le Commodore C-64, le Zinclair ZX-81 et leurs semblables) ) démarré dans un interpréteur BASIC natif.
Il y a essentiellement trois façons de le faire auxquelles je peux penser:
Créer un lanceur de bureau qui ouvre un terminal
C'est le moins invasif, car il fonctionne pleinement dans le système et l'environnement auxquels vous êtes habitué.
Fondamentalement, par tous les moyens fournis par votre environnement de bureau, vous créez un lanceur de programme et le configurez pour lancer l'interpréteur BASIC de votre choix dans un terminal. Pour un effet supplémentaire, vous pouvez définir des polices, des couleurs, etc. spécifiques pour simuler un environnement d'antan. La façon exacte de procéder dépend de l'environnement de bureau que vous utilisez, que vous n'avez pas spécifié, mais un clic droit sur l'endroit où vous cliquez actuellement pour lancer des applications et la recherche d'un choix pour créer un nouveau lanceur sera un bon début. .
Créez un compte utilisateur séparé avec un interpréteur BASIC comme shell
C'est un peu plus compliqué qu'un simple lanceur de bureau, mais les fournisseurs offrent une meilleure isolation afin de ne pas risquer de gâcher vos propres fichiers. Tout d'abord, installez un interpréteur BASIC; Je vais utiliser bwbasic
l'exemple, mais tout va vraiment, tant qu'il s'exécute en mode natif dans un terminal. Ajoutez ensuite un utilisateur et définissez son shell comme étant l'interpréteur bwbasic. Cela peut être fait via l'interface graphique, mais cela dépend de l'environnement de bureau que vous utilisez; l'approche portable est de le faire dans un terminal utilisant useradd
. Ce sera quelque chose de similaire à
$ 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
Ensuite, vous devriez pouvoir entrer dans un environnement BASIC propre via sudo:
$ sudo -i -u basic
Vous pouvez créer un lanceur (comme ci-dessus) qui exécute cette commande dans un terminal, si vous le souhaitez.
Donnez votre mot de passe normal lorsque vous êtes invité par sudo. Vous pouvez modifier la configuration des sudoers pour éviter l'invite de mot de passe si vous le souhaitez, mais sachez que la modification des sudoers est quelque peu compliquée et encore plus risquée; vous pouvez vous verrouiller hors du compte root, ce qui rend la réparation de la configuration assez difficile.
Utilisez un interpréteur BASIC comme init
C'est l'approche la plus invasive, mais elle vous rapproche également le plus du fonctionnement des premiers micro-ordinateurs, en démarrant directement dans un interpréteur BASIC. Je ne le recommande pas et je considérerais qu'il est peu probable qu'il fonctionne sans travail important, mais je l'inclus pour être complet.
Le noyau Linux accepte un paramètre de ligne de commande (oui, le noyau Linux a des paramètres de ligne de commande; vous pouvez voir la ligne de commande actuellement démarrée en lisant dans / proc / cmdline) nommé init
, qui spécifie le programme à exécuter une fois l'initialisation du noyau terminée. Vous pouvez configurer le chargeur de démarrage (probablement GRUB) pour vous permettre de démarrer une entrée de noyau qui indique que cela init
devrait être /usr/bin/bwbasic
(ou tout autre interpréteur BASIC que vous avez installé).
Pour que cela fonctionne, l'interpréteur BASIC, ainsi que tous les fichiers dont il a besoin, doivent être situés sur le /
système de fichiers root ( ). En effet, l'une des tâches d'init consiste à monter tous les systèmes de fichiers et parce que vous fournissez un programme non init en tant qu'init, les systèmes de fichiers non root n'auront pas été montés. (Je crois qu'une autre tâche d'init est de remonter le système de fichiers racine en mode lecture-écriture, donc par l'approche triviale vous ne pourrez rien enregistrer. Vous pourriez cependant, en fonction des détails d'implémentation, pouvoir demander au système d'exécuter quelque chose commemount -o remount,rw /
pour remonter le système de fichiers racine en lecture-écriture.) L'interpréteur BASIC que vous avez choisi ne doit pas non plus dépendre de quoi que ce soit dont init est responsable, et vous n'aurez accès à aucune installation gérée par init ou à aucun processus engendré par init (par exemple , prise en charge réseau ou multi-utilisateurs).
Une ligne de commande du noyau de quelque chose comme ça ro quiet init=/usr/bin/bwbasic
vous rapprochera probablement de ce à quoi il ressemblait autrefois.