如何在登录屏幕上显示消息?


10

在某些情况下,对我来说很有价值的是在登录之前向其显示简短的文本通知,以便我可以选择在看到消息后决定不登录。

有没有办法在图形登录屏幕上显示通知消息?


您是否希望在登录之前显示该消息?输入您的用户名和密码后,还是立即输入?
伊利亚·卡根

1
什么样的通知?我的意思是,在您登录之前,尚未运行IM客户端之类的应用程序。我只能想到电池状态(移动PC)和系统级Network Manager配置文件之间的连接。在什么情况下?纯用户还是开发应用程序?
gertvdijk

我对一般答案感兴趣;我对消息计时或用于生成消息的工具没有特定要求。
ændrük

您的意思是类似,登录屏幕,然后是您的消息。无需登录?
rɑːdʒɑ

@snow“登录之前” <
gertvdijk

Answers:


3

我意识到这是一个较晚的响应(例如,晚了几年),但是我想我会继续为其他遇到相同问题的人准备一些东西。我一直都在看这个问题。这只是一种易于编写和部署的方法。请记住,这是一种与以下类似的优雅解决方案:在使用Lightdm登录之前,如何创建弹出式横幅广告?

  1. 创建一个文件并将其命名为任意名称,例如:anythingYouWant
  2. 将以下内容放入该文件中(当然替换标题文本):

    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. 根据需要调整宽度和高度。

    3a。这里的想法是,当登录消息显示用户在同意条款之前无法继续操作,因此它会一直循环直到选择“是”为止。

注意(因为我之前不知道):zenity --list可以返回true是false否(布尔值),zenity --question返回exit 0,1

  1. 使文件可执行:

    sudo chmod +x anythingYouWant
    
  2. 放在某个地方-我只是将其粘贴在/ usr / bin中

    sudo mv anythingYouWant /usr/bin
    

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

  1. 如果您使用lightdm,则需要修改lightdm.conf文件。当我第一次这样做时,lightdm.conf不在T_T中。所以,如果不是,那没关系,请按照以下步骤为您准备一份副本:

    sudo cp /usr/share/doc/lightdm/lightdm.conf /etc/lightdm/
    
  2. 如果这不起作用,则可能是/ usr / share / doc / lightdm /中的文件已压缩,因此请执行以下操作:

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

    7a。然后将文件移到/ etc / lightdm /

  3. 打开lightdm.conf(现在应该在/ etc / lightdm /中),然后在显示[SeatDefaults]的部分下面添加以下内容:

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

    8a。/ path / to / your / loginMessage所在的位置是您先前创建的可执行文件所在的位置。我把我的放在/ usr / bin中,所以我的看起来像:

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

    8b。保存文件

  4. 那应该为lightdm做。您也可以只创建自己的lightdm.conf文件并将其放入其中。

    9a。重启。

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

  1. 我也在带有GDM的CenOS 7和Ubuntu 14.04上测试了此弹出式窗口“循环”。事实是,lightdm.conf对于GDM来说真的没有帮助吗?

  2. 好吧,目前有一项工作对我有效。

  3. 打开文件/ etc / gdm / Init / Default

    sudo vim /etc/gdm/Init/Default
    
  4. 转到文件底部。

  5. 在出口0的正上方:

    exec /path/to/your/message
    

    14a。/ path / to / your / message是您漂亮的登录消息的路径。完成后,它应如下所示:

    fi
    exec /usr/bin/loginmessage
    exit 0
    

    14b。“ fi”和“ exit 0”已经存在,您只需将其“ exec / path / to / your / message”部分放入其中。

    14c。保存并重新启动。

  6. 可能不需要全部重新启动。我在vm中测试了这些东西,因此更容易反弹机器。

  7. 如果有更好的方法可以做到这一点,那么我将不胜枚举。我知道gconf在CentOS 6.x中可以正常工作。我知道dconf可以在CentOS 7中工作,但是我没有得到想要的东西。即使在安装GDM并重新配置<-之后,所有的gconf内容都无法在Ubuntu中为我工作。


2

可能无法直接在登录屏幕上显示该消息。但是您可以在登录之前发送消息。添加到您的/etc/lightdm/lightdm.conf

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

请谨慎操作,因为此文件中的错误选项可能会破坏启动过程。
在此阶段,鼠标将不可用,但是您可以使用关闭消息Enterxmessage可以从文件中读取消息文本,也可以具有自定义超时。检查其联机帮助页以了解其他选项。
您可以检查https://wiki.ubuntu.com/LightDM,以获取有关lightdm.conf自定义和问候的更多信息。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.