Ric*_*ing 4 login-screen unity zenity
当 Ubuntu 使用 gnome 时,我能够在/etc/gdm/Init/Default 中使用 zenity 在登录屏幕之前创建一个弹出横幅,如下面的横幅。代码行将是这样的:
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
Run Code Online (Sandbox Code Playgroud)
我如何使用 Unity 完成此任务?
用户须知
这是一个计算机系统和/或它直接连接到本地网络系统。它仅供授权使用。用户(授权或未授权)对隐私没有明确或隐含的期望。
对本系统的任何或所有使用以及本系统上的所有文件都可能被拦截、监控、记录、复制、审计、检查并向授权站点、能源部和执法人员以及其他机构的授权官员披露,国内外。通过使用本系统,用户同意由授权站点或人员自行决定进行此类拦截、监视、记录、复制、审计、检查和披露。
未经授权或不当使用本系统可能会导致行政纪律处分以及民事和刑事处罚。继续使用本系统即表明您了解并同意这些使用条款和条件。
如果您不同意此警告中规定的条件,请立即注销。
配置文件 /etc/lightdm/lightdm.conf 定义了可用的会话。会话本身在 /usr/share/xsessions 中定义。修改默认的 /usr/share/xsessions/ubuntu.desktop 将 gnome-session 命令包装在一个脚本中应该不是问题,该脚本首先显示 zenity 对话框,然后以非零状态退出或启动 gnome -会话命令。
具体来说:
创建一个名为 /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
Run Code Online (Sandbox Code Playgroud)
要编辑此文件,请使用
gksu gedit /usr/bin/mysess.sh
Run Code Online (Sandbox Code Playgroud)
另外,使其可执行
sudo chmod a+x /usr/bin/mysess.sh
Run Code Online (Sandbox Code Playgroud)修改/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
Run Code Online (Sandbox Code Playgroud)现在,如果有人尝试登录,则该人必须单击“是”才能登录;否则,它将返回登录屏幕。
| 归档时间: |
|
| 查看次数: |
7156 次 |
| 最近记录: |