¿Cómo puedo mostrar un mensaje en la pantalla de inicio de sesión?

10

En algunas circunstancias, sería valioso para mí recibir una breve notificación de texto antes de iniciar sesión, de modo que tenga la opción de decidir no iniciar sesión después de ver el mensaje.

¿Hay alguna manera de mostrar un mensaje de notificación en la pantalla gráfica de inicio de sesión?

ændrük
fuente
¿Desea que aparezca el mensaje antes de iniciar sesión? ¿O inmediatamente una vez que haya ingresado su nombre de usuario y contraseña?
Eliah Kagan
1
¿Qué tipo de notificaciones? Quiero decir, antes de que inicies sesión, todavía no se están ejecutando aplicaciones como el cliente de mensajería instantánea. Solo puedo pensar en el estado de la batería (PC móvil) y los perfiles de Network Manager a nivel de sistema que se conectan. ¿Y en qué contexto es esto? ¿Usuario puro o desarrollando una aplicación?
gertvdijk
Estoy interesado en una respuesta general; No tengo requisitos específicos para la sincronización del mensaje o las herramientas utilizadas para generar el mensaje.
ændrük
quieres decir algo como, pantalla de inicio de sesión y luego tu mensaje. ¿No necesitas iniciar sesión?
rɑːdʒɑ
@snow "antes de iniciar sesión" <-
gertvdijk

Respuestas:

3

Me doy cuenta de que esta es una respuesta tardía (como, años de retraso), pero pensé en seguir adelante y poner algo aquí para cualquier persona que tenga los mismos problemas. Veo este problema todo el tiempo. Esta es solo una forma de hacerlo que es fácil de ejecutar e implementar. Tenga en cuenta que esta es una solución poco elegante que es similar a esta: ¿Cómo creo un banner emergente antes de iniciar sesión con Lightdm?

  1. Cree un archivo y asígnele el nombre que desee, como: anythingYouWant
  2. Ponga lo siguiente en ese archivo (reemplazando el texto del banner, por supuesto):

    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 el ancho y la altura a lo que necesite.

    3a. La idea aquí es cuando el mensaje de inicio de sesión muestra que el usuario no puede continuar hasta que acepte los términos, por lo tanto, se repite hasta que se selecciona "sí".

NOTA (porque no sabía esto antes): zenity --list puede devolver verdadero sí falso no (valores booleanos), zenity --question devuelve la salida 0,1

  1. Haz que tu archivo sea ejecutable:

    sudo chmod +x anythingYouWant
    
  2. Póngalo en algún lugar: simplemente lo pegué en / usr / bin

    sudo mv anythingYouWant /usr/bin
    

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

  1. Si está utilizando lightdm, deberá modificar su archivo lightdm.conf. Cuando fui a hacer esto la primera vez lightdm.conf no estaba allí T_T. Entonces, si no es así, está bien, ve a buscar una copia haciendo esto:

    sudo cp /usr/share/doc/lightdm/lightdm.conf /etc/lightdm/
    
  2. Si eso no funcionó, podría ser que el archivo en / usr / share / doc / lightdm / esté comprimido también:

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

    7a. Luego mueva el archivo a / etc / lightdm /

  3. Abra lightdm.conf (que ahora debería estar en / etc / lightdm /) y agregue lo siguiente debajo de la sección que dice [SeatDefaults], así:

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

    8a. Donde / path / to / your / loginMessage es donde pones el ejecutable que creaste anteriormente. Puse el mío en / usr / bin para que el mío se vea así:

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

    8b. Guarda el archivo

  4. Eso debería hacerlo por lightdm. También puede crear su propio archivo lightdm.conf y poner lo anterior en él.

    9a. Reiniciar.

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

  1. Probé este "bucle" emergente en CenOS 7 y Ubuntu 14.04 con GDM también. La cuestión es que lightdm.conf realmente no ayuda en el caso de GDM, ¿verdad?

  2. Bueno, hay una solución que funciona para mí (por ahora).

  3. Abra el archivo / etc / gdm / Init / Default

    sudo vim /etc/gdm/Init/Default
    
  4. Ve al final del archivo.

  5. Justo encima de la salida 0 poner:

    exec /path/to/your/message
    

    14a. Donde / ruta / a / su / mensaje es la ruta a su ingenioso mensaje de inicio de sesión. Cuando todo esté hecho, debería verse así:

    fi
    exec /usr/bin/loginmessage
    exit 0
    

    14b. El "fi" y la "salida 0" ya están ahí, solo debe poner en la parte "exec / path / to / your / message".

    14c. Guardar y reiniciar.

  6. Probablemente no sea necesario reiniciar todo. Pruebo estas cosas en VM para que sea más fácil simplemente hacer rebotar la máquina.

  7. Si hay mejores maneras de hacer esto, soy todo oídos / ojos. Sé que gconf funciona bien en CentOS 6.x. Sé que dconf funciona en CentOS 7, pero no estaba obteniendo lo que quería. Ninguna de las cosas de gconf me ha funcionado en Ubuntu, incluso después de instalar GDM y reconfigurar <, podría ser yo.

Nathan Peek
fuente
2

Es posible que no sea posible mostrar el mensaje en la pantalla de inicio de sesión directamente. Pero puede enviar un mensaje antes de iniciar sesión. Agregue a su /etc/lightdm/lightdm.conf:

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

Tenga cuidado ya que una opción incorrecta en este archivo puede romper su procedimiento de arranque.
El mouse no estará disponible en esta etapa, pero podrá cerrar el mensaje con Enter. xmessagepuede leer el texto del mensaje del archivo o puede tener un tiempo de espera personalizado. Consulte su página de manual para ver opciones adicionales.
Puede consultar https://wiki.ubuntu.com/LightDM para obtener información adicional lightdm.confy una personalización más agradable.

whtyger
fuente