Você escreveu em um comentário à resposta de Foon que
O que quero dizer com "como computadores antigos" é que está lá
Outros forneceram várias sugestões diferentes para intérpretes do BASIC que você pode instalar em um sistema Linux, por isso não vou lá. Os PCs modernos geralmente não vêm com intérpretes BASIC embutidos, portanto, você está travando a inicialização de algo que pode executar um intérprete BASIC instalado.
Em vez disso, entendo o que foi dito acima, para que você queira algo que inicie um intérprete BASIC automaticamente, semelhante, mas não muito parecido com o quanto os microcomputadores iniciais (como Apple II, Commodore C-64, Zinclair ZX-81 e outros). ) inicializado em um intérprete BASIC nativo.
Existem basicamente três maneiras de fazer isso em que consigo pensar:
Crie um iniciador de área de trabalho que abra um terminal
Isso é o menos invasivo, porque funciona totalmente no sistema e no ambiente em que você está acostumado.
Basicamente, por qualquer meio que o ambiente da área de trabalho fornecer, você cria um iniciador de programas e o configura para iniciar o intérprete BASIC de sua escolha em um terminal. Para um efeito extra, você pode definir fontes, cores etc. específicas para simular um ambiente de dias passados. Exatamente como você faria isso depende do ambiente de área de trabalho que você está usando, que você não especificou, mas clicar com o botão direito do mouse no local em que você está atualmente clicando para iniciar aplicativos e procurar uma opção para criar um novo iniciador será um bom começo .
Crie uma conta de usuário separada com um intérprete BASIC como o shell
Isso é um pouco mais envolvente do que um simples iniciador de área de trabalho, mas fornece melhor isolamento para que você não corra o risco de estragar seus próprios arquivos. Primeiro, instale um intérprete BASIC; Vou usar bwbasic
como exemplo, mas vale tudo, na verdade, desde que seja executado nativamente em um terminal. Em seguida, adicione um usuário e defina seu shell como o intérprete bwbasic. Isso pode ser feito através da GUI, mas isso depende de qual ambiente de área de trabalho você estiver usando; a abordagem portátil é fazê-lo em um terminal usando useradd
. Isso será algo semelhante 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
Em seguida, você poderá entrar em um ambiente BASIC limpo através do sudo:
$ sudo -i -u basic
Você pode criar um iniciador (como acima) que execute esse comando em um terminal, se desejar.
Dê sua senha normal quando solicitado pelo sudo. Você pode editar a configuração dos sudoers para evitar o prompt da senha, se desejar, mas lembre-se de que a edição de sudoers é um pouco complicada e, mais ainda, arriscada; você pode bloquear-se da conta root, dificultando o reparo da configuração.
Use um intérprete BASIC como init
Essa é a abordagem mais invasiva, mas também o aproxima da forma como os primeiros microcomputadores funcionavam, inicializando diretamente em um intérprete BASIC. Eu não recomendo isso e consideraria improvável que funcione sem um trabalho significativo, mas estou incluindo-o por completo.
O kernel do Linux aceita um parâmetro de linha de comando (sim, o kernel do Linux possui parâmetros de linha de comando; você pode ver a linha de comando atualmente inicializada lendo / proc / cmdline) nomeada init
, que especifica qual programa executar quando a inicialização do kernel estiver concluída. Você pode configurar o carregador de inicialização (provavelmente o GRUB) para permitir a inicialização de uma entrada do kernel que diz que init
deve ser /usr/bin/bwbasic
(ou qualquer outro interpretador BASIC que você instalou).
Para que isso funcione, o intérprete BASIC, bem como todos os arquivos que ele requer, deve estar localizado no /
sistema de arquivos raiz ( ). Isso ocorre porque uma das tarefas do init é montar todos os sistemas de arquivos e como você está fornecendo um programa não-init como init, os sistemas de arquivos não-raiz não foram montados. (Acredito que outra tarefa do init é remontar o sistema de arquivos raiz no modo de leitura e gravação, portanto, pela abordagem trivial, você não poderá salvar nada. No entanto, dependendo dos detalhes exatos da implementação, você poderá tem o sistema executar algo comomount -o remount,rw /
remontar a leitura / gravação do sistema de arquivos raiz.) O intérprete BASIC escolhido também não deve depender de mais nada pelo qual o init seja responsável, e você não terá acesso a nenhum recurso tratado pelo init ou a qualquer processo gerado pelo init (por exemplo, , rede ou suporte multiusuário).
Uma linha de comando do kernel de algo como ro quiet init=/usr/bin/bwbasic
provavelmente o levará muito perto de como era antigamente.