Inicializar linux com um aplicativo java

19 respostas
Rodrigo_Vieira_Pinto

Ola pessoal
Há quase 1 ano atrás postei aqui uma dúvida sobre o que fazer para que, ao ligar a máquina, o camarada não tivesse acesso nenhum ao SO. Na época, tinha que fazer isso no Win98. Na época tbm me falaram que seria melhor usar linux, pois seria mais simples de configurar.
Pois bem, hoje precisam que esse sistema rode em linux. Alguém poderia me dizer como fazer isso em linux?
O sistema é igual a caixa eletronico de banco. O usuario não terá acesso a nenhum recurso do SO.

Valeu!

19 Respostas

boaglio

Rodrigo,

Basicamente você precisa configurar duas coisas:

:arrow: definir um usuário padrão para se logar automaticamente.

:arrow: uma vez definido um usuário (exemplo: java) você altera o profile dele (que é um arquivo que tem função semelhante ao AUTOEXEC.BAT)
colocando a chamada ao programa em Java.

Rodrigo_Vieira_Pinto

cara, sem querer abusar muito, mas como faço para criar um novo usuario no linux?
Sou novato nesse SO :oops:

cv1

Logado como root:

adduser fulano
Rodrigo_Vieira_Pinto

blz, consegui criar um novo usuario.
mas…onde está o arquivo de configuração do profile?

cv1

A dica do boaglio, de editar o profile do usuario, tem uma falha de seguranca - se o usuario der Ctrl-C antes da aplicacao Java iniciar, ele fica com acesso ao SO. Claro, tem maneiras de reverter isso mesmo usando um profile, mas o melhor jeito eh colocar a shell de login do usuario como a sua aplicacao.

Use o man /etc/passwd e leia a documentacao relacionada pra entender melhor como fazer isso - nao eh nenhum bicho de sete cabecas, mas a documentacao vai te explicar isso bem melhor que eu :slight_smile:

boaglio

Rodrigo,

Qual linux vc está usando? Qual versão?

louds

Edita o runlevels (acho que é esse o arquivo) para dar spawn no teu programa java em vez de uma ghetty.

Rodrigo_Vieira_Pinto

estou usando o kurumin versão 3.2.3 (bem simples mesmo, já que a aplicação não deve permitir o acesso do usuário ao SO).

boaglio

O seu programa em Java é Gráfico ou em Console?

Se for gráfico seria interessante utilizar outro ambiente gráfico,
pois o KDE vai ter muitos recursos que vocÊ não vai usar.

Instale o WindowMaker no Kurumin, e depois de subir o ambiente
gráfico, edite esse aquivo:

~/GNUstep/Library/WindowMaker/autostart

Nele adicione uma linha do seu programa em Java:

java SuaAplicacao

Se precisar dá uma olhada na documentação do Kurumin:

http://www.guiadohardware.net/kurumin/faq/

velo

Isso é a resposta de uma pergunta que não tem nada a ver, mas acho q ajuda…

Uma solução que você poderia experimentar é ao invés de usar o KDE ou outro gerenciador de janelas, abrir o xinit com uma janela do konqueror (ou outro navegador de sua preferência). Assim os usuários terão acesso apenas à janela do navegador, sem ter como iniciar outros aplicativos nem fuçar no sistema, o que pode ser interessante num terminal de acesso.

Neste caso você precisa iniciar a interface gráfica usando o comando “xinit -e konqueror http://www.guiadohardware.net” naturalmente mudando a URL para a sua página inicial :-). Na maioria das distribuições você pode colocar esse comando no arquivo ~/.xinitrc (dentro da pasta do usuário) para que ele seja executado automaticamente durante a inicialização do sistema. Configure o konqueror para já abrir no modo de tela cheia e você terá uma tela como esta, apenas o navegador aberto, ocupando toda a tela:


Confira tudo em: http://www.guiadohardware.net/livros/linux/09/

Espero que ajude…
Com isso você pode abrir um programa com GUI no boot.

VELO

louds

Melhor não instalar e colocar o programa java no ~/.xinitrc do usuario.

Rodrigo_Vieira_Pinto

valeu galera!!!
Vou tentar essas soluções. Qualquer coisa volto aqui para jogar pedras ou mandar agradecimentos :mrgreen:

Rodrigo_Vieira_Pinto

puxa, finalmente descobri como faz…
pegando uma dica aqui, outra ali…
Seguinte: com o jar criado, entrei no centro de controle do kde, fiz com que todo arquivo jar abrisse com o comando java -jar e inseri na pasta .kde/autostart do usuario e reiniciei a máquina para testar.
Pronto, o aplicativo abre juntamente com o KDE. Agora, é só desabilitar a barra de tarefas e os ícones para o usuário.
Valeu galera!!!

cv1

Nao eh taaaao simples. Se o cara der Ctrl-Alt-F1, ele ainda cai no console do Linux. Se ele fechar a sua app e souber os atalhos de teclado do KDE, ele ainda consegue usar o resto das coisas, e por aih vai…

velo

Mas se o cara não tem a senha não loga em nada…

Pode fazer o q quiser…

VELO

cv1

Foi pensando assim que muito sysadmin perdeu o emprego. :wink:

louds

Simples, na configuração dos runlevels, configure para que o runlevel 5 (iniciar em modo gráfico) crie somente um VT o do X.

E coloca o .xinitrc do /etc mesmo para iniciar aplicação java e não o gerenciador de janelas (eg KDE, Gnome, WindowMaker).

PS: Isso funciona muito bem, já vi fazerem em ambiente 10x mais bizarros, com clientes linux usando windows via Terminal Services com SSO.

S

Beleza, cara?

Você sabe como faço pra desabilitar o ctrl+alt+f*?

farribeiro

tenho uma dúvida semelhante… mas não idêntica

Utilizando o Slackware que é uma beleza 8) , coloquei a ação para subir o tomcat na hora de inicializar(estilo serviço do sistema) , não tenho problemas de jvm pois está rodando uma boa todos os programas JAVA, então… percebo que o profile somente carrega na hora do login.

Agradeço.

Criado 11 de abril de 2005
Ultima resposta 8 de ago. de 2005
Respostas 19
Participantes 7