O computador está sendo usado por três usuários (+1 administrador) e eles usam o logon de unidade. Os três usuários vêm, usam o computador e fazem logout. Eu tenho que dar algumas instruções, notícias e detalhes sempre que eles entrarem.
Quero ter um utilitário / ferramenta onde possa digitar uma mensagem personalizada para cada usuário. A mensagem mais recente será exibida na área de trabalho (para cada usuário) (com data da minha última edição) por 10 a 15 segundos. Uma cópia do texto também estará disponível (para o usuário) em algum lugar com todas as mensagens e datas como um log.
* Admin tem acesso SSH ao sistema.
Não tenho certeza se isso é possível (e talvez eu esteja procurando demais!).
unity
login
customization
notification
notification-area
ankit7540
fonte
fonte
Respostas:
Você pode fazer isso na configuração a seguir, que produzirá uma janela semitransparente, permanecendo por um tempo arbitrário:
Criar em um (qualquer) anuário, em que cada um dos usuários , pelo menos, tem ler permissões, para cada usuário um arquivo de mensagem, exatamente com o nome de usuário de cada usuário (log no nome), sem extensão, por exemplo,
Adicione texto ao arquivo como sua mensagem. Se você adicionar uma nova mensagem, comece com
###
, o script exibirá automaticamente a última mensagem. O texto pode conter qualquer coisa que você quiser, será exatamente como você o colocou no arquivo.A mensagem mais recente será copiada
latest_message.txt
para o diretório inicial do usuário para referência.Como é, a janela permanecerá por 15 segundos, mas você pode defini-la com qualquer valor, e até depender automaticamente do tamanho do texto.
Um arquivo de exemplo pode se parecer com:
A mensagem seria assim:
Copie o script abaixo em um arquivo vazio, edite na seção principal do script o caminho para a pasta na qual você armazena as mensagens dos usuários. Salve o script como
show_personalmessage
em (por exemplo)/usr/local/bin
(que deve estar dentro$PATH
e o torne executável (!) (Sem extensão)Crie um iniciador no
/etc/xdg/autostart
O sono 10 é para garantir que a área de trabalho esteja "pronta" para abrir a janela.
Explicação
/etc/xdg/autostart
comandos de execução para cada usuário no logon.show_personalmessage
), que procura a mensagem personalizada no diretório que você definiu. Além disso. A mensagem mais recente é copiada para o diretório inicial do usuário.getpass
-module, para que o script (janela) procure um arquivo nomeado específico do usuário em um diretório. Mencione se isso seria necessário.Além disso
A janela (Gtk)
etc etc...
EDITAR
Para economizar tempo escrevendo mensagens, conforme discutido no bate-papo , abaixo de uma versão do script na qual você pode incluir algumas seções "permanentes":
premsg
, que deve estar logo abaixo de "Bem-vindo usuário x", e o corpo da sua mensagem, epostmsg
, que é a parte inferior da sua mensagem.Ambas as seções podem ser definidas como nenhuma, apenas configurando
""
como um valor.O script
Nota
Obviamente, assim como o corpo da mensagem , você pode alterar o script para ler as mensagens anteriores e posteriores de um arquivo, o que torna ainda mais conveniente a manutenção. Fez assim, por razões de simplicidade na resposta.
fonte
getpass
para fazer com que cada usuário solicite automaticamente o arquivo nomeado. Que caminho você teria em mente? Deve ser um caminho ao qual cada usuário tenha acesso de leitura. Espere, editar vontade em um minuto .../home/message
,. Seria bom para copiar o texto da mensagem recente (concatenar etc ..) em um arquivo fixo (para referência)O script abaixo permite que o administrador armazene mensagens personalizadas no formulário
username_mm_dd_yyyy.txt
no diretório definido pelo administrador. Os nomes de usuários são determinados automaticamente e comparados com o nome do arquivo e a data do arquivo a ser exibido.O script também pode ter uma
.desktop
entrada que deve ser colocada no/etc/xdg/autostart
diretório Isso fará com que o script seja exibido para cada usuário. Como alternativa, você pode colocar o.desktop
arquivo no diretório de cada usuário~/.config/autostart
.Abaixo, você pode ver uma pequena demonstração do script em ação. Eu criei o arquivo no formato especificado na minha
/tmp
pastafonte
/home/message
. Seria bom copiar o arquivo de mensagens recentes e mantê-lo como referência.cp
comando, o primeiro argumento é a cópia do administrador e o segundo argumento,/home/$( _get_username )/messages/$FILE.txt
eu preciso dormir, mas posso adicioná-lo pela manhã. É apenas uma linha.cat $FILE >> /home/$( _get_username )/messages/Log_of_all_messages. txt