Como impedir que certos aplicativos sejam abertos em determinadas contas (por exemplo: Interrompa a conta John de abrir o Firefox ou Gimp). Supõe-se que seja para a GUI e não para o terminal e se aplicaria apenas a usuários específicos; portanto, por exemplo, o usuário X pode abrir o Gimp, mas não o Firefox, o usuário Z pode abrir o Software Center, mas não o VirtualBox.
Que maneira boa e fácil de fazer isso para um novo usuário do Ubuntu?
Respostas:
A. Opções configuracionais
Se o bloqueio tiver como objetivo impedir que usuários não tão experientes usem certos aplicativos, editar (uma cópia local) do arquivo da área de trabalho do aplicativo (conforme descrito em
[1]
) é provavelmente a maneira mais rápida e fácil.Algumas coisas adicionais podem ser feitas para criar uma barreira extra e / ou impedir o fato de o usuário descobrir com muita facilidade o que fizemos para bloquear o aplicativo (
[2]
e[3]
).A configuração não é adequada para situações autônomas com usuários experientes. Em situações "domésticas" com usuários médios, será suficiente em muitos casos.
1.Exemplo para bloquear o gedit editando (uma versão local) do arquivo .desktop
Copiar o arquivo do desktop do aplicativo em
/usr/share/applications
que~/.local/share/applications
:Edite o arquivo: abra-o com o gedit (enquanto você ainda pode :) :) arrastando-o sobre uma janela aberta do gedit.
substituir a linha
por:
remova os atalhos (possíveis) para impedir iniciar o aplicativo a partir de um dos atalhos:
remova a linha (para o exemplo do gedit):
e as seções como:
A partir de então (após o logout / logon), o usuário verá esta mensagem se tentar abrir o gedit a partir do Dash ou tentar abrir um arquivo vinculado ao aplicativo:
Ocultando o aplicativo do Dash (medida opcional)
Depois de fazer as alterações acima, com o
gedit.desktop
arquivo ainda aberto, podemos adicionar uma linha adicional:Ao adicionar esta linha,
gedit
nem aparecerá no Dash.Desfazer
Para desfazer, basta remover o
.desktop
arquivo local de~/.local/share/applications
2.Fazer um pouco mais difícil de descobrir
Embora, depois de editar o
.desktop
arquivo, o aplicativo não apareça mais no Dash, a pesquisa do Dash ainda mostrará nossogedit.desktop
arquivo recém-criado , que pode, sem querer, dar uma dica de como escapar do bloco do aplicativo.Para evitar isso, devemos excluir o diretório
~/.local/share/applications
da pesquisa Dash e limpar o histórico de pesquisas.Abra Configurações do sistema> "Segurança e privacidade"> "Arquivos e aplicativos" (guia). Adicione o diretório
~/.local/share/applications
à lista para excluir da pesquisa.3. (Não) usando o terminal / linha de comando
Redirecionando o
gedit
comando(1)
A edição do
.desktop
arquivo impede o uso do aplicativo pelo Dash, mas se o usuário conhecer a AltF2combinação e o comando para executá-lo, ele ainda poderá iniciar o aplicativo, assim como no terminal. Uma medida extra agradável e fácil de configurar é criar (se ainda não existir) o diretório~/bin
e criar um pequeno script no diretório:Torne-o executável e nomeie-o após o aplicativo;
gedit
nesse caso.Como
~/bin
estáPATH
, a execução do comando chamará o script em vez dogedit
aplicativo "real" . Como resultado, a mesmaYou are not allowed to use this application
mensagem apareceráRedirecionando o
gedit
comando(2)
Outra maneira (com efeito mais limitado, consulte a nota) de redirecionar o comando do aplicativo é adicionar um alias ao
.bashrc
arquivo:adicione a linha (exemplo do gedit):
Nota : isso deve ser usado apenas como uma medida extra, pois impede apenas que o aplicativo seja chamado diretamente do terminal. Clicar duas vezes em um
.txt
arquivo (por exemplo) ainda abrirá o aplicativo.Tornar difícil ou impossível a utilização do terminal
Para impedir o uso do terminal, você também pode executar o mesmo truque no
gnome-terminal.desktop
arquivo - como em[1]
, e / ou alterar a combinação de teclas de atalho padrão para executar o terminal (Configurações do sistema> "Teclado"> "Atalhos"> "Iniciantes" )4. Uma pequena ferramenta para criar (ou desfazer) automaticamente uma versão editada do
.desktop
arquivo (como em 1.)Se você executar o script abaixo com o argumento
block
ouunblock
(você deve executá-lo com qualquer um), será apresentada uma lista com os arquivos da área de trabalho (global), representando seus aplicativos instalados:Escolha uma e seu aplicativo é bloqueado ou desbloqueado, dependendo do argumento com o qual você o executa.
Nota
Você pode precisar sair / fazer login para fazê-lo funcionar.
O script
Copie o script em um arquivo vazio, salve-o como
block_apps.py
e execute-o:ou
B. Opção (s) com script
O bloqueio de certos aplicativos também pode ser feito executando um script em segundo plano. O script precisaria executar determinadas ações se um dos aplicativos "proibidos" fosse executado.
1. Script para manipular a tela quando aplicativos proibidos são usados.
O script abaixo oferece uma maneira flexível de bloquear aplicativos definidos pelo usuário. Ele roda com um comando simples, com os aplicativos proibidos como argumento, por exemplo (supondo que você tenha feito o script executável):
A vantagem de bloquear aplicativos como esse é que ele é flexível; mesmo em uma conta, configurações diferentes podem ser usadas, simplesmente usando outros aplicativos como argumento.
O que faz
Ao não comentar uma das linhas:
ou
O script:
escurece a tela (
action = "xrandr --output "+screen+" --brightness 0"
):ou vira de cabeça para baixo (
action = "xrandr --output "+screen+" --rotate inverted"
):( quem disse que o Unity não permite colocar o iniciador à direita? )
O script
Como usar
block_apps.py
, torne-o executávelexecute-o pelo comando:
Importante
Para matar o
block_apps.py
script e restaurar as configurações "normais", use o script abaixo (disponibilize-o em uma combinação de teclas de atalho):Como sempre com scripts, copie-o para um arquivo vazio, salve-o como
kill_blockapps.py
, torne-o executável e execute-o da seguinte maneira:Você provavelmente desejará colocá-lo sob uma tecla de atalho: Escolha: Configurações do sistema> "Teclado"> "Atalhos"> "Atalhos personalizados". Clique no "+" e adicione o comando como acima.
fonte