Deixar apenas o Chorme em tela cheia: bloquear qualquer interação fora dele: [ Debian 10 ]

1. Deixar apenas o Chorme em tela cheia: bloquear qualquer interação fora dele: [ Debian 10 ]

Rodolfo Rocha
rodolfonr

(usa Debian)

Enviado em 15/09/2020 - 16:13h

Fala galera!

Seguinte, tenho uma aplicação que roda no Debian através do Chrome. Gostaria que ao ligar a máquina, se possível um " auto logon " fosse aplicado, e na seqência abrisse o chrome em tela cehai carregando minha url da aplicação, impedindo qualquer tentativa do usuário interagir fora do chrome. Existe algum programa esquema para fazer isso?

Muito obrigado


  


2. Re: Deixar apenas o Chorme em tela cheia: bloquear qualquer interação fora dele: [ Debian 10 ]

Ruan
ruankl

(usa Nenhuma)

Enviado em 15/09/2020 - 16:38h

Na prática, vc precisa criar um script de autostart para ser executado após o login.

O chrome precisa ser executado no modo kiosk. É relativamente simples.

Crie o script abaixo; por exemplo: start-app.sh
#!/usr/bin/env bash

exec google-chrome --kiosk https://app.com.br

Onde:

https://app.com.br => url do seu app

Depois copie o script para a pasta /usr/local/bin:
sudo install -m0755 start-app.sh /usr/local/bin 


Para colocar em autostart, crie o arquivo abaixo; por exemplo: start-app.desktop
[Desktop Entry]
Type=Application
Name=App Start
Comment=Start app
Exec=/usr/local/bin/start-app.sh


Depois copie o arquivo .desktop para a pasta ~/.config/autostart:
sudo install -m0755 start-app.desktop ~/.config/autostart 


Finalizado, após o login irá abrir uma instância do chrome com a url definida no script criado.


3. Re: Deixar apenas o Chorme em tela cheia: bloquear qualquer interação fora dele: [ Debian 10 ]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 15/09/2020 - 18:16h


ruankl escreveu:

O chrome precisa ser executado no modo kiosk. É relativamente simples.



fique com uma dúvida .. o user deseja que não seja possivel fazer nada além de executar o chrome em tela cheia, esse modo kiosk faz isso ou se mandar um F11 volta ao normal ???



------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




4. Re: Deixar apenas o Chorme em tela cheia: bloquear qualquer interação fora dele: [ Debian 10 ]

Ruan
ruankl

(usa Nenhuma)

Enviado em 15/09/2020 - 20:21h

Mauriciodez escreveu:

fique com uma dúvida .. o user deseja que não seja possivel fazer nada além de executar o chrome em tela cheia, esse modo kiosk faz isso ou se mandar um F11 volta ao normal ???


O kiosk mode do chrome deixa o ambiente desktop inutilizável. F11 não funciona nesse modo.

No Linux, o único modo que eu sei que funciona para sair do kiosk mode é utilizar o atalho ALT+F2 para abrir o "executar comando" do DE (se estiver configurado), e chamar o terminal (gnome-terminal/xterm/konsole/etc) para matar o processo do chrome...

Mas pode ser evitado também, configurando um ambiente mínimo e sem atalhos globais de desktop.


5. Re: Deixar apenas o Chorme em tela cheia: bloquear qualquer interação fora dele: [ Debian 10 ]

Carlos A. P. Cunha
Carlos_Cunha

(usa Deepin)

Enviado em 15/09/2020 - 23:18h

ruankl escreveu:

Mauriciodez escreveu:

fique com uma dúvida .. o user deseja que não seja possivel fazer nada além de executar o chrome em tela cheia, esse modo kiosk faz isso ou se mandar um F11 volta ao normal ???


O kiosk mode do chrome deixa o ambiente desktop inutilizável. F11 não funciona nesse modo.

No Linux, o único modo que eu sei que funciona para sair do kiosk mode é utilizar o atalho ALT+F2 para abrir o "executar comando" do DE (se estiver configurado), e chamar o terminal (gnome-terminal/xterm/konsole/etc) para matar o processo do chrome...

Mas pode ser evitado também, configurando um ambiente mínimo e sem atalhos globais de desktop.


Legal...
E ir para as TTY(CTRL+ALT+F1/F2) ele deixa ?

#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#



6. Re: Deixar apenas o Chorme em tela cheia: bloquear qualquer interação fora dele: [ Debian 10 ]

Rodolfo Rocha
rodolfonr

(usa Debian)

Enviado em 16/09/2020 - 07:46h

ruankl escreveu:

Mauriciodez escreveu:

fique com uma dúvida .. o user deseja que não seja possivel fazer nada além de executar o chrome em tela cheia, esse modo kiosk faz isso ou se mandar um F11 volta ao normal ???


O kiosk mode do chrome deixa o ambiente desktop inutilizável. F11 não funciona nesse modo.

No Linux, o único modo que eu sei que funciona para sair do kiosk mode é utilizar o atalho ALT+F2 para abrir o "executar comando" do DE (se estiver configurado), e chamar o terminal (gnome-terminal/xterm/konsole/etc) para matar o processo do chrome...

Mas pode ser evitado também, configurando um ambiente mínimo e sem atalhos globais de desktop.


Brother bom dia!

Era exatamente isso que eu queria: que a página do APP abrisse diretamente no chrome, e não desse a oportunidade de sair dela: fugir para nenhum lugar.
Porém caso eu precisar, como que faço para " desbloquear " ? Vi que é chamando o gnome pelo terminal e matando a tarefa. Existe uma forma de pedir a senha root para essa tarefa? Para que um usuário padrão não consiga matar o processo para burlar?

Muito obrigado, você já me ajudou muito com essa dica sua!!!




7. Re: Deixar apenas o Chorme em tela cheia: bloquear qualquer interação fora dele: [ Debian 10 ]

Ruan
ruankl

(usa Nenhuma)

Enviado em 16/09/2020 - 09:35h

Carlos_Cunha escreveu:

Legal...
E ir para as TTY(CTRL+ALT+F1/F2) ele deixa ?


Sim, isso ainda funciona. Sei que da para desativar via xorg.conf ou pelo próprio systemd o switch de tty, mas nunca tentei...

Brother bom dia!

Era exatamente isso que eu queria: que a página do APP abrisse diretamente no chrome, e não desse a oportunidade de sair dela: fugir para nenhum lugar.
Porém caso eu precisar, como que faço para " desbloquear " ? Vi que é chamando o gnome pelo terminal e matando a tarefa. Existe uma forma de pedir a senha root para essa tarefa? Para que um usuário padrão não consiga matar o processo para burlar?

Muito obrigado, você já me ajudou muito com essa dica sua!!!


Vc pode criar um outro .desktop para chamar o terminal via pkexec e associar um atalho global a ele...

Pra criar a regra para o pkexec, crie um novo arquivo com o nome: org.freedesktop.policykit.terminal.policy
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>
<action id="org.freedesktop.policykit.pkexec.gedit">
<description>Open Terminal</description>
<message>Authentication is required to run the terminal</message>
<defaults>
<allow_any>auth_admin</allow_any>
<allow_inactive>auth_admin</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/gnome-terminal</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
</policyconfig>


Onde:
/usr/bin/gnome-terminal => é o path completo do emulador de terminal

Depois mova esse arquivo para a pasta /usr/share/polkit-1/actions:
sudo mv org.freedesktop.policykit.terminal.policy /usr/share/polkit-1/actions  


Crie um novo .desktop: start-terminal-with-root.desktop:
[Desktop Entry]
Type=Application
Name=Open Terminal
Comment=Open terminal with root
Exec=pkexec /usr/bin/gnome-terminal


Onde novamente:
/usr/bin/gnome-terminal => path do emulador de terminal

Esse .desktop vc pode mover para /usr/share/applications:
sudo mv start-terminal-with-root.desktop /usr/share/applications 


Ai agora vc precisa associar um atalho global do desktop para esse start-terminal-with-root.desktop recém criado (no menu vai aparecer como Open Terminal)... ai vai depender do ambiente desktop escolhido...

Emfim, dessa forma, se vc configurar o CTRL+ALT+T (por exemplo) para chamar o terminal, vai abrir uma janela de autenticação antes de abrir o emulador de terminal como root.





8. Re: Deixar apenas o Chorme em tela cheia: bloquear qualquer interação fora dele: [ Debian 10 ]

Rodolfo Rocha
rodolfonr

(usa Debian)

Enviado em 16/09/2020 - 09:42h

ruankl escreveu:

Carlos_Cunha escreveu:

Legal...
E ir para as TTY(CTRL+ALT+F1/F2) ele deixa ?


Sim, isso ainda funciona. Sei que da para desativar via xorg.conf ou pelo próprio systemd o switch de tty, mas nunca tentei...

Brother bom dia!

Era exatamente isso que eu queria: que a página do APP abrisse diretamente no chrome, e não desse a oportunidade de sair dela: fugir para nenhum lugar.
Porém caso eu precisar, como que faço para " desbloquear " ? Vi que é chamando o gnome pelo terminal e matando a tarefa. Existe uma forma de pedir a senha root para essa tarefa? Para que um usuário padrão não consiga matar o processo para burlar?

Muito obrigado, você já me ajudou muito com essa dica sua!!!


Vc pode criar um outro .desktop para chamar o terminal via pkexec e associar um atalho global a ele...

Pra criar a regra para o pkexec, crie um novo arquivo com o nome: org.freedesktop.policykit.terminal.policy
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>
<action id="org.freedesktop.policykit.pkexec.gedit">
<description>Open Terminal</description>
<message>Authentication is required to run the terminal</message>
<defaults>
<allow_any>auth_admin</allow_any>
<allow_inactive>auth_admin</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/gnome-terminal</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
</policyconfig>


Onde:
/usr/bin/gnome-terminal => é o path completo do emulador de terminal

Depois mova esse arquivo para a pasta /usr/share/polkit-1/actions:
sudo mv org.freedesktop.policykit.terminal.policy /usr/share/polkit-1/actions  


Crie um novo .desktop: start-terminal-with-root.desktop:
[Desktop Entry]
Type=Application
Name=Open Terminal
Comment=Open terminal with root
Exec=pkexec /usr/bin/gnome-terminal


Onde novamente:
/usr/bin/gnome-terminal => path do emulador de terminal

Esse .desktop vc pode mover para /usr/share/applications:
sudo mv start-terminal-with-root.desktop /usr/share/applications 


Ai agora vc precisa associar um atalho global do desktop para esse start-terminal-with-root.desktop recém criado (no menu vai aparecer como Open Terminal)... ai vai depender do ambiente desktop escolhido...

Emfim, dessa forma, se vc configurar o CTRL+ALT+T (por exemplo) para chamar o terminal, vai abrir uma janela de autenticação antes de abrir o emulador de terminal como root.




Chamando o terminal pelo Alt-F2 gnome-terminal facilita todo esse job acima logando como root e dando kill na task, ou esse recurso estará bloqueado?


9. Re: Deixar apenas o Chorme em tela cheia: bloquear qualquer interação fora dele: [ Debian 10 ]

Ruan
ruankl

(usa Nenhuma)

Enviado em 16/09/2020 - 09:55h

rodolfonr escreveu:

Chamando o terminal pelo Alt-F2 gnome-terminal facilita todo esse job acima logando como root e dando kill na task, ou esse recurso estará bloqueado?


Sim, facilitaria.
Nessa ultima configuração que postei, vc precisaria "desativar" o atalho ALT+F2... pois a ideia seria ter apenas um atalho global para chamar o terminal.

Entretanto, já configurei muito raspberry com kiosk mode deixando o ALT+F2 para chamar o terminal... e esses raspberry ficavam na entrada de um museu para cadastro de visitantes.

Pra fazer algum estrago, a pessoa precisa da senha root. Pelo ALT+F2, ao chamar o terminal só tem o usuário comum.

Outra forma que eu acho mais elegante, seria desativar todos os atalhos e deixar um serviço sshd rodando, configurado para autenticação via chave pública. Assim, vc só consegue alterar alguma coisa na máquina se logar com uma sessão ssh através do seu equipamento.


10. Re: Deixar apenas o Chorme em tela cheia: bloquear qualquer interação fora dele: [ Debian 10 ]

Rodolfo Rocha
rodolfonr

(usa Debian)

Enviado em 16/09/2020 - 11:32h

ruankl escreveu:

rodolfonr escreveu:

Chamando o terminal pelo Alt-F2 gnome-terminal facilita todo esse job acima logando como root e dando kill na task, ou esse recurso estará bloqueado?


Sim, facilitaria.
Nessa ultima configuração que postei, vc precisaria "desativar" o atalho ALT+F2... pois a ideia seria ter apenas um atalho global para chamar o terminal.

Entretanto, já configurei muito raspberry com kiosk mode deixando o ALT+F2 para chamar o terminal... e esses raspberry ficavam na entrada de um museu para cadastro de visitantes.

Pra fazer algum estrago, a pessoa precisa da senha root. Pelo ALT+F2, ao chamar o terminal só tem o usuário comum.

Outra forma que eu acho mais elegante, seria desativar todos os atalhos e deixar um serviço sshd rodando, configurado para autenticação via chave pública. Assim, vc só consegue alterar alguma coisa na máquina se logar com uma sessão ssh através do seu equipamento.


Sabe o que me deparei? Eu não consegui executar o /bin/bash chome.sh como root, tive que chamar ele pelo usuário comum e para " matar " a task, também por usuário comum.
Consigo deixar apenas o root fazer isso?

obs: eu ainda não chegeui na parte do script na inicialização, estou entendendo primeiro o processo dessa primeira parte que você está me explicando inicialmente.

Obrigado!!



11. Re: Deixar apenas o Chorme em tela cheia: bloquear qualquer interação fora dele: [ Debian 10 ]

Ruan
ruankl

(usa Nenhuma)

Enviado em 16/09/2020 - 12:10h

rodolfonr escreveu:

Sabe o que me deparei? Eu não consegui executar o /bin/bash chome.sh como root, tive que chamar ele pelo usuário comum e para " matar " a task, também por usuário comum.
Consigo deixar apenas o root fazer isso?

obs: eu ainda não chegeui na parte do script na inicialização, estou entendendo primeiro o processo dessa primeira parte que você está me explicando inicialmente.

Obrigado!!


O chrome não permite executar como root mesmo. O que pensei aqui é vc criar um usuário somente para rodar o chrome e alterar isso na chamada do script... dai somente logando com esse usuário via sudo/su (ou root) no terminal vc conseguiria matar o processo do chrome...


12. Re: Deixar apenas o Chorme em tela cheia: bloquear qualquer interação fora dele: [ Debian 10 ]

Rodolfo Rocha
rodolfonr

(usa Debian)

Enviado em 16/09/2020 - 13:08h

ruankl escreveu:

rodolfonr escreveu:

Sabe o que me deparei? Eu não consegui executar o /bin/bash chome.sh como root, tive que chamar ele pelo usuário comum e para " matar " a task, também por usuário comum.
Consigo deixar apenas o root fazer isso?

obs: eu ainda não chegeui na parte do script na inicialização, estou entendendo primeiro o processo dessa primeira parte que você está me explicando inicialmente.

Obrigado!!


O chrome não permite executar como root mesmo. O que pensei aqui é vc criar um usuário somente para rodar o chrome e alterar isso na chamada do script... dai somente logando com esse usuário via sudo/su (ou root) no terminal vc conseguiria matar o processo do chrome...


o usuário logado chama-se " admin "
como que ão consigo matar a task como root que tem privilegios, mas um usuário comum consigo? Eu não entendi muito a parte de criar um usuário para rodar só o chrome......

eu tenho muitas app rodando como docker etc: eu precisaria realmente do jeito que tá, mas um usuer comum nao matar a task e sim somente o root. Teria alguma idéia se existe isso e que forma podemos fazer?


obs: danto " alt +F4 " fecha o chrome facilmente e cai no desktop gráfico do debian, tem como tirar qualquer tentativa e deixar apenas o terminal, chamar o root la dentro e matar a task?

obs2: se eu fizer esse procedimento, será que consigo centralizar no chrome?

Se o problema for o chrome, eu migro para o FF se for o caso... mas vi que no FF dá a mesma coisa.







01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts