如何在使用 Lightdm 登录之前创建弹出横幅?

如何在使用 Lightdm 登录之前创建弹出横幅?

当 Ubuntu 使用 gnome 时,我能够在登录屏幕之前使用 zenity 创建像下面的横幅一样的弹出横幅/etc/gdm/Init/默认。代码行如下:

if [ -f "/usr/bin/zenity" ]; then /usr/bin/zenity --info --text="`cat /etc/issue`" --no-wrap; else xmessage -file /etc/issue -button ok -geometry 540X480; fi

我如何使用 Unity 实现这一目标?

用户须知

这是一个计算机系统和/或直接连接到本地网络系统。它仅供授权使用。用户(授权或未授权)没有明确或隐含的隐私期望。

本系统的任何或所有使用以及本系统上的所有文件都可能被拦截、监控、记录、复制、审计、检查和披露给授权站点、能源部和执法人员以及国内外其他机构的授权官员。通过使用本系统,用户同意授权站点或人员酌情进行此类拦截、监控、记录、复制、审计、检查和披露。

未经授权或不当使用本系统可能会导致行政纪律处分以及民事和刑事处罚。继续使用本系统即表示您已了解并同意这些使用条款和条件。

如果您不同意此警告中所述的条件,请立即注销。

答案1

配置文件 /etc/lightdm/lightdm.conf 定义可用的会话。会话本身在 /usr/share/xsessions 中定义。修改默认的 /usr/share/xsessions/ubuntu.desktop 以将 gnome-session 命令包装在脚本中应该没有问题,该脚本首先显示 zenity 对话框,然后以非零状态退出或启动 gnome-session 命令。

具体来说:

  1. 创建一个名为 /usr/bin/mysess.sh 的文件,其中包含以下内容:

    #!/bin/bash
    
    if  /usr/bin/zenity --question --text="`cat /etc/issue`" --no-wrap ; then gnome-session --session=ubuntu ; else exit 1 ; fi
    

    要编辑此文件,请使用

    gksu gedit /usr/bin/mysess.sh
    

    另外使其可执行

    sudo chmod a+x /usr/bin/mysess.sh
    
  2. 修改文件/usr/share/xsessions/ubuntu.desktop,如下所示:

    [Desktop Entry]
    Name=Ubuntu
    Comment=This session logs you into Ubuntu
    Exec=/usr/bin/mysess.sh
    TryExec=unity
    Icon=
    Type=Application
    X-Ubuntu-Gettext-Domain=gnome-session-3.0
    

现在,如果有人尝试登录,则该人必须单击“是”才能登录;否则,它将返回到登录屏幕。

相关内容