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

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

在某些情况下,在登录之前向我显示一条简短的文本通知会很有帮助,这样我就可以在看到消息后决定不登录。

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

答案1

我意识到这是一个迟来的回应(比如,迟了好几年),但我想我会继续在这里为遇到同样问题的人提供一些东西。我经常看到这个问题。这只是一种易于编写脚本和部署的方法。请记住,这是一个不太优雅的解决方案,类似于这个:如何在使用 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 yes false no(布尔值),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. 可能不需要重新启动。我在虚拟机中测试了这些东西,因此只需重新启动机器就更容易了。

  7. 如果有更好的方法可以做到这一点,我会洗耳恭听。我知道 gconf 在 CentOS 6.x 中运行良好。我知道 dconf 在 CentOS 7 中可以正常工作,但我没有得到我想要的。在 Ubuntu 中,gconf 对我来说不起作用,即使在安装了 GDM 并重新配置之后也是如此 <- 不过可能只是我的问题。

答案2

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

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

要小心因为此文件中的错误选项可能会破坏您的启动过程。
鼠标在此阶段将不可用,但您可以使用关闭消息Enterxmessage您可以从文件中读取消息文本或可以自定义超时。查看其手册页以了解其他选项。
您可以检查https://wiki.ubuntu.com/LightDM了解有关lightdm.conf迎宾定制的更多信息。

答案3

您可以修改登录横幅以显示您想要显示的警告。有关更多详细信息,您可以查看下面提到的链接:-

http://www.howtogeek.com/howto/ubuntu/change-ssh-welcome-banner-on-ubuntu/

相关内容