(M)  s i s t e m a   o p e r a c i o n a l   m a g n u x   l i n u x ~/ · documentação · suporte · sobre

  Página seguinte Página anterior Índice

344. Múltiplos usuários e sessões não interativas

344.1 É possível usar o DOSEMU em um sistema multiusuário?

Corey Sweeney (corey@amiganet.xnet.com) relata que:

Ao se executar o DOSEMU em um sistema no qual mais de uma pessoa pode querer executá-lo, então pode-se mudar o diretório de imagem em disco rígido. Atualmente no arquivo /etc/DOSEMU.conf existe a linha que indica a imagem em disco rígido, é denominada "hdimage". Ao se mudar o /var/lib/DOSEMU/hdimage as pessoas então não precisam preocupar-se em qual diretório elas estão ao executarem o DOSEMU e a hdimage não tem que ser movida cada vez que seja atualizado para uma versão mais recente.

Ao se fazer isso com o DOSEMU que esteja sendo utilizado por múltiplos usuários então deve-se tornar a hdimage /var/lib/DOSEMU com permissões somente de leitura para todos os usuários, menos para o administrador do DOSEMU.

Note que se pode usar o emufs.sys para montar um diretório "público" e/ou um diretório "particular" (um subdiretório sob o diretório pessoal de cada usuário).

[Nota: Usuários também podem criar um arquivo de configuração pessoal chamado  /.dosrc (com o mesmo formato de /etc/DOSEMU.conf) a fim de executarem suas próprias cópias do dos).

344.2 Como é possível executar comandos DOS de forma não interativa?

Tenho tentado escrever um artigo sobre isto há bastante tempo. Seguem algumas dicas de outras pessoas:

Dan Newcombe (newcombe@aa.csc.peachnet.edu) comenta que:

Aqui está uma idéia (não testada) que é capaz de executar um comando DOS em linha de comando (ou escolha do menu, etc...) sem modificar o emulador real. Presume-se que a sua partição DOS já está montada sob Linux.

Suponha que se queira executar wp60.exe com o parâmetro "wp60 d:\doc\paper.txt". Pode-se executar o comando "dosrun wp60 d:\doc\teste.txt". O "dosrun" é um programa de ambiente de trabalho que poderia: a) editar/modificar/recriar o arquivo DOS autoexec.bat da partição DOS; b) simplesmente executar o DOSEMU (P.exemplo "dos -C >/dev/null".

A etapa a) iria de certo modo guardar tudo que normalmente se gostaria de se ter em autoexec.bat (por exemplo mouse.com) e a última linha seria "wp60 d:\doc\teste.txt".

No DOSEMU, de antemão, deve-se modificar o arquivo config.sys (localizado na hdimage) por isso deve-se: 1) usar o emufs para acessar a partição DOS como D:, 2) configurar "COMPSEC=D:\, e 3) configurar "shell=c:\command.com /p".

A idéia é ao se carregar o emulador DOS, recriar um autoexec.bat que é específico para aquela sessão. O que o torna específico é que a última linha executará o programa que se quer. As modificações na hdimage indicam ao emulador/DOS que se quer usar D:, a qual será a partição DOS.

Caso não se use o hdimage nem o acesso direto ao sistema de arquivos DOS na inicialização do DOSEMU, então esta orientação funcionará, e não se deverá acessar a hdimage.

Daniel T. Schwager (danny@dragon.s.bawue.de) relata que:

Podem ser usados diferentes arquivos de configuração DOSEMU (e imagens diferentes hd-boot com autoexec.bat diferentes), acionando o DOSEMU da seguinte forma:

$ dos -F programa_exe_DOSEMU.conf

---------------------

Dietmar Braun (braun@math20.mathematik.uni-bielefeld.de) relata o seguinte:

Isto não é problema ao se usar o redirecionador do DOSEMU. É possível redirecionar um dispositivo para um caminho Linux fornecido por uma variável de ambiente.

Para tanto pode-se usar um programa chamado "DOS" com um conteúdo similar a:

 mkdir /tmp/dos.$$
 DOSTMP=/tmp/dos.$$; export DOSTMP

e depois com um pequeno truque obter: "echo $* > $DOSTMP/startup.bat" o que realmente funciona, criando arquivos de inicialização e as ligações e assim por diante neste diretório, e então inicializa o DOSEMU. Dentro do dispositivo C:, o arquivo "autoexec.bat" é redirecionado da hdimage para este diretório temporário, que tem ligações para $HOME e $PWD.

Assim é possível ver nomes de arquivos reduzidos para o formato 8.3, através do comando "DOS dir" e assim ter uma lista do diretório atual. Tem-se assim um ambiente multiusuário DOS completo (sem usar nenhuma partição DOS e redirecionando o Linux faz com que as permissões dos usuários sejam resguardadas) e multitarefas, sendo que as sessões DOSEMU são completamente independentes. Fiz isso para poder usar um controlador de dispositivos DOS para uma impressora local. O programa printcap df é na verdade um programa DOS. Assim é possível transformar executáveis DOS em filtros Ipr.


Página seguinte Página anterior Índice