Como posso exibir uma mensagem na tela de login?


10

Em algumas circunstâncias, seria valioso receber uma breve notificação de texto antes de fazer login, para que eu tenha a opção de decidir não fazer login depois de ver a mensagem.

Existe uma maneira de exibir uma mensagem de notificação na tela de login gráfica?


Deseja que a mensagem apareça antes de fazer login? Ou imediatamente depois de inserir seu nome de usuário e senha?
Elias Kagan

1
Que tipo de notificações? Quero dizer, antes de você fazer login, nenhum aplicativo como o cliente de IM ainda está em execução. Só consigo pensar nos status da bateria (PC móvel) e nos perfis do Network Manager no nível do sistema. E em que contexto é esse? Usuário puro ou desenvolvendo um aplicativo?
gertvdijk

Estou interessado em uma resposta geral; Não tenho requisitos específicos para sincronização de mensagens ou ferramentas usadas para gerar a mensagem.
ændrük

você quer dizer algo como tela de login e sua mensagem. Não é necessário fazer login?
6133

@snow "antes de fazer login" <-
gertvdijk

Respostas:


3

Sei que essa é uma resposta tardia (tipo, anos atrasada), mas pensei em ir em frente e colocar algo aqui para qualquer pessoa que tenha os mesmos problemas. Eu vejo esse problema o tempo todo. Essa é apenas uma maneira de fazer isso, fácil de criar e implantar. Lembre-se de que esta é uma solução deselegante semelhante a esta: Como criar um banner pop-up antes de efetuar o login no Lightdm?

  1. Crie um arquivo e atribua a ele o nome que desejar, como: nothingYouWant
  2. Coloque o seguinte nesse arquivo (substituindo o texto do banner, é claro):

    bannerText="This is my banner and you will love it.  Worship it!"
    
    zenity --question --title="Pirate Ninja Banner" \
    --text=$bannerText" --no-wrap --width=800 --height=200
    
    until [[ $? = '0' ]]: do
       zenity --question --title="Pirate Ninja Banner" \
       --text=$bannerText" --no-wrap --width=800 --height=200
    done
    
  3. Ajuste a largura e a altura para o que você precisar.

    3a. A idéia aqui é quando a mensagem de logon exibe que o usuário não pode prosseguir até que eles concordem com os termos e, assim, faz um loop até que "yes" seja selecionado.

NOTA (porque eu não sabia disso antes): zenity --list pode retornar true sim false false não (valores booleanos), zenity --question retorna a saída 0,1

  1. Torne seu arquivo executável:

    sudo chmod +x anythingYouWant
    
  2. Coloque em algum lugar - apenas coloquei em / usr / bin

    sudo mv anythingYouWant /usr/bin
    

----------- LIGHTDM -----------------------

  1. Se você estiver usando o lightdm, precisará modificar o arquivo lightdm.conf. Quando fui fazer isso pela primeira vez, o lightdm.conf não estava lá T_T. Portanto, se não estiver, tudo bem, pegue uma cópia fazendo o seguinte:

    sudo cp /usr/share/doc/lightdm/lightdm.conf /etc/lightdm/
    
  2. Se isso não funcionou, pode ser que o arquivo em / usr / share / doc / lightdm / esteja compactado, assim como:

    sudo gzip -d /usr/share/doc/lightdm/lightdm.conf.gz
    

    7a Em seguida, mova o arquivo para / etc / lightdm /

  3. Abra o lightdm.conf (que deve estar agora em / etc / lightdm /) e adicione o seguinte abaixo da seção que diz [SeatDefaults], assim:

    [SeatDefaults]
    greeter-setup-script=/path/to/your/loginMessage
    

    8a Onde / path / to / your / loginMessage está onde quer que você coloque o executável criado anteriormente. Coloquei o meu em / usr / bin para que o meu se pareça com:

    [SeatDefaults]
    greeter-setup-script=/usr/bin/loginmessage
    

    8b. Salve o arquivo

  4. Isso deve ser feito pelo lightdm. Você também pode criar seu próprio arquivo lightdm.conf e colocar o que foi mencionado acima.

    9a Reinicie.

----------- GDM -------------------

  1. Eu testei esse "loop" pop-up no CenOS 7 e no Ubuntu 14.04 com GDM também. O problema é que o lightdm.conf realmente não ajuda no caso do GDM, agora?

  2. Bem, há uma solução alternativa que funciona para mim (por enquanto).

  3. Abra o arquivo / etc / gdm / Init / Default

    sudo vim /etc/gdm/Init/Default
    
  4. Vá para a parte inferior do arquivo.

  5. Logo acima da saída 0, coloque:

    exec /path/to/your/message
    

    14a Onde / path / to / your / message é o caminho para sua mensagem de login bacana. Quando tudo estiver pronto, deve ser algo como isto:

    fi
    exec /usr/bin/loginmessage
    exit 0
    

    14b. O "fi" e a "saída 0" já estão lá, basta você colocar na parte "exec / path / to / your / message".

    14c. Salve e reinicie.

  6. Toda a reinicialização provavelmente não é necessária. Eu testei essas coisas em vm's, para que seja mais fácil devolver a máquina.

  7. Se existem maneiras melhores de fazer isso, sou todo ouvidos / olhos. Eu sei que o gconf funciona bem no CentOS 6.x. Eu sei que o dconf funciona no CentOS 7, mas não estava conseguindo o que queria. Nenhuma das coisas do gconf funcionou para mim no Ubuntu, mesmo depois de instalar o GDM e reconfigurar o <- poderia ser apenas eu.


2

Pode não ser possível exibir a mensagem diretamente na tela de login. Mas você pode enviar uma mensagem antes de fazer login. Adicione ao seu /etc/lightdm/lightdm.conf:

greeter-setup-script=xmessage -button ok -default ok -center "Hello world"

Seja cauteloso, pois a opção errada neste arquivo pode interromper o procedimento de inicialização.
O mouse não estará disponível nesse estágio, mas você poderá fechar a mensagem Enter. xmessagepode ler o texto da mensagem do arquivo ou pode ter um tempo limite personalizado. Verifique sua página de manual para opções adicionais.
Você pode verificar https://wiki.ubuntu.com/LightDM para obter informações adicionais lightdm.confe personalização de greeter.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.