本文的对当前我们的业务应用开发最值得关注的是隐藏用户列表、设置手动登录、通过LightDM的机制让用户自动登录。

什么是LightDM

LightDM是运行在Debian系列操作系统上的桌面显示管理器,它的全名是Light Display Manager,表面含义是轻量级桌面显示管理器。它是FreeDesktop工程的一部分。FreeDesktop是一个致力于Linux和其他类Unix上的X窗口系统的桌面环境之间的互操作性和基础技术共享的项目,由Red Hat公司的Havoc Pennington于2000年3月创立。官方网站是:https://www.freedesktop.org。最初的名称叫XDesktopGroup(X桌面工作组),其缩写"XDG"在现在的桌面开发的工作中仍然经常被用到。Ubuntu 16.04 LTS版本使用LightDM作为默认的窗口管理器。

配置

配置文件

LightDM配置由下列位置的文件提供:

/usr/share/lightdm/lightdm.conf.d/*.conf
/etc/lightdm/lightdm.conf.d/*.conf
/etc/lightdm/lightdm.conf

最新版本的LightDM把过时的配置节SeatDefaults替换为Seat:*

系统提供的配置保存在/usr/share/lightdm/lightdm.conf.d/*.conf,普通用户不可编辑。系统管理员可以使用配置文件/etc/lightdm/lightdm.conf.d/*.conf/etc/lightdm/lightdm.conf覆盖系统配置。举例来说,如果你想覆盖系统配置的默认会话配置(/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf提供),那么你可以新建一个文件/etc/lightdm/lightdm.conf.d/50-myconfig.conf,写入如下代码:

[Seat:*]
user-session=mysession

有一个示例配置文件展示了LightDM可能识别的所有的配置,它压缩保存在:/usr/share/doc/lightdm/lightdm.conf.gz

这里还有一个额外的配置文件:/etc/lightdm/users.conf。但是如果AccountsService在你的系统上运行,那么这个配置文件将被忽略。如果你不确定配置文件是否已被忽略,可以运行:ps -aef | grep -i AccountsService

常见配置

隐藏用户列表

默认配置下,Ubuntu系统的Unity Greeter(或者一些其它系统的Greeter)展示所有可能的用户帐号列表。如果你想禁用这个功能(可能你有太多的用户或者基于安全考虑),使用以下配置。

[Seat:*]
greeter-hide-users=true

你也许需要显式启用手动登录以配合这个特性。

允许手动登录

默认配置下,Ubuntu系统的Unity Greeter(或者一些其它系统的Greeter)不允许用户手动输入用户名登录到系统。你可以用以下配置启用它:

[Seat:*]
greeter-show-manual-login=true

禁止临时帐户登录

临时帐户名是Guest。默认情况下LightDM允许你用Guest以临时用户的身份登录到会话中,从而进入系统,禁用方法是:

[Seat:*]
allow-guest=false

设置自动登录

要设置系统自动启动并登入的用户,设置autologin-user。如果设置了autologin-user-timeout,那么greeter将在自动登录发生之前显示这么多秒。在此期间如果存在用户操作超时将会取消。配置如下:

[Seat:*]
autologin-user=username
autologin-user-timeout=delay

如果你想设置自动登录到临时帐户会话可设置:

autologin-guest=true

改变默认的会话

默认的会话是由session packages(这是一个LightDM专有名词,没想到合适的翻译)提供的配置/usr/share/lightdm/lightdm.conf.d/设置的。如果你需要覆盖这些,你可以设置:

[Seat:*]
user-session=name

配置中的name指的是位于/usr/share/xsessions/*.desktop的以.dekstop扩展名结尾的文件的名称。

修改greeter

默认的greeter是由greeter packages(这是一个LightDM专有名词,没想到合适的翻译)提供的位于/usr/share/lightdm/lightdm.conf.d/的配置设置的。如果你需要覆盖这些,你可以设置:

[Seat:*]
greeter-session=name

配置中的name指的是位于/usr/share/xgreeters/*.desktop的以.dekstop扩展名结尾的文件的名称。

背景图片

LightDM不配置Greeter外观。合适的greeter做这个配置。Unity Greeter 默认展示当前选中的用户的背景图片。设置默认的背景图片,停止编辑/usr/share/glib-2.0/schemas/10_unity_greeter_background.gschema开关,使用配置:

[com.canonical.unity-greeter]
draw-user-backgrounds=false
background='/foo/wallpaper.png'

并且运行sudo glib-compile-schemas /usr/share/glib-2.0/schemas/以应用这些设置。

对于LightDM GTK+ greeter,编辑/etc/lightdm/lightdm-gtk-greeter.conf,修改background=/usr/share/lubuntu/wallpapers/lubuntu-default-wallpaper.pngbackground的值改为自己想要的图片。

添加系统钩子

Hook一般译作钩子。

如查你需要在X服务器和用户的会话在启动、停止时进行一些特殊的行为,你可以参考以下配置设置一些命令:

[Seat:*]
display-setup-script=command
display-stopped-script=command
greeter-setup-script=command
session-setup-script=command
session-cleanup-script=command
session-wrapper=command
greeter-wrapper=command

其中greeter-wrapperdisplay-stopped-script配置不被Ubuntu 12.04 LTS版本支持。

display-setup-script

display-setup-script在X服务器启动后、用户会话/greeter程序运行之前运行。如果需要在X服务器中配置任何特殊内容,请设置此选项。它作为root运行。如果该命令返回错误代码,则X服务器将停止。

display-stopped-script

display-stopped-script在X服务器退出后以root身份运行。

greeter-setup-script

greeter-setup-script是在greeter开始前运行的。它作为root运行。如果该命令返回一个错误代码,引导程序将无法启动(这将导致LightDM停止)。

session-setup-script

session-setup-script在用户会话开始之前运行。如果这个命令返回一个错误,会话将不会启动(用户返回到一个greeter界面)。

session-cleanup-script

session-cleanup-script在greeter或者用户会话停止时运行,以root身份运行。

session-wrapper

session-wrapper是为会话运行的命令。此命令作为用户运行,需要执行参数中传递的命令以完成会话的运行。如果需要为用户会话进行特殊设置,请使用此选项。注意,默认值是lightdm-session”`,因此如果需要覆盖该设置,应该链接到该设置。

greeter-wrapper

greeter-wrapper 是一个运行greeter的命令行。它相当于greeter的session-wrapper

求助!我看不到我的桌面

graphics stack(图形堆栈)中很多事情都可能出错。如果你看不到任何图形或者损坏的图片,下列尝试也许可以帮助你:

  1. 你可以按ctrl+alt+f1得到文本终端
  2. 检查LightDM的日志,位于/var/log/lightdm
  3. 停止LightDM,运行sudo systemctl stop lightdm
  4. 尝试再次启动LightDM:sudo systemctl start lightdm
  5. 如果你有另外一个显示管理器,你可以去启动它,比如运行:sudo systemctl start gdm
  6. 你可以设置默认的显示管理器,运行sudo dpkg-reconfigure lightdm
  7. 检查系统的最新更新日期,特别是视频驱动。
  8. 文件记录这个BUG。如果您不确定原因在哪里(lightdm/unity-greeter/unity/X/kernel),那么针对lightdm的文件和错误将被筛选和重新分配(译者注:意思是多试几次,缩小问题范围)。

报告问题

存档一个BUG可以从终端运行下面的命令行:
ubuntu-bug lightdm
所有合适、合法的信息、日志都会添加到错误报告中。

LightDM详细介绍相关推荐

  1. HTML页面加载和解析流程详细介绍

    浏览器加载和渲染html的顺序.如何加快HTML页面加载速度.HTML页面加载和解析流程等等,在本文将为大家详细介绍下,感兴趣的朋友不要错过 浏览器加载和渲染html的顺序 1. IE下载的顺序是从上 ...

  2. mysql为什么要压测_mysql集群压测的详细介绍

    本篇文章给大家带来的内容是关于mysql集群压测的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. mysql压测 mysql自带就有一个叫mysqlslap的压力测试工具,通 ...

  3. php比较运算符案列,PHP实例:PHP比较运算符的详细介绍

    <PHP实例:PHP比较运算符的详细介绍>要点: 本文介绍了PHP实例:PHP比较运算符的详细介绍,希望对您有用.如果有疑问,可以联系我们. 比拟运算符种类 PHP实战如同它们名称所暗示的 ...

  4. Tempdb数据库详细介绍

    Tempdb数据库详细介绍 一.Tempdb简介 tempdb是SQLServer的系统数据库一直都是SQLServer的重要组成部分,用来存储临时对象.可以简单理解tempdb是SQLServer的 ...

  5. linux路由介绍,Linux的路由表详细介绍

    Linux的路由表详细介绍 一 在Linux下执行route命令[root@localhost backup]# route -nKernel IP routing tableDestination ...

  6. pythonexcel介绍_Python 中pandas.read_excel详细介绍

    Python 中pandas.read_excel详细介绍 #coding:utf-8 import pandas as pd import numpy as np filefullpath = r& ...

  7. 渡神纪帧数测试软件,渡神纪芬尼斯崛起配置要求高吗 渡神纪配置要求详细介绍_游侠网...

    渡神纪芬尼斯崛起配置要求高吗?本作将在12月3日登陆主机和PC,很多玩家比较关心游戏的配置,这里给大家带来了渡神纪配置要求详细介绍,快来了解下吧. 渡神纪配置要求详细介绍 最低要求(720p/30 f ...

  8. C++11 unordered_map详细介绍

    整理的算法模板合集: ACM模板 目录: 1.介绍 1.1 特性 2. 模版 2.1 迭代器 3. 功能函数 3.1 构造函数 3.2 容量操作 3.2.1 size 3.2.2 empty 3.3 ...

  9. autosar中com模块_详细介绍AUTOSAR各个模块作用PART1(OS,SYS)

    这片文章中我们详细讲解下每个模块的功能,上图是vector的autosar方案,每个模块的详细介绍后续会有单独文章进行讲解,请关注.以下是各个模块的简介 1.VHSM hardware Securit ...

最新文章

  1. Keil调试局部变量显示not in scope的问题解决
  2. [YTU]_2637(编程题:类---矩形类)
  3. 【题目分析】1059 Prime Factors (25 分)
  4. 【bzoj1597- [Usaco2008 Mar]土地购买】斜率优化
  5. 深度学习鼻祖杰夫·辛顿及巨头们的人才抢夺战
  6. ArcGIS 10.6 Data Interoperability Tools的安装与使用(附安装包下载)
  7. 记使用talend从oracle抽取数据时,数字变为0的问题
  8. linux计算目录下wc,Linux wc命令详解
  9. pymongo操作方法
  10. [leetcode-83-Remove Duplicates from Sorted List]
  11. 程序设计实习MOOC / 程序设计与算法(二)第二周测验(2018春季)
  12. 数字电子技术基础阎石老师第五版课后习题解答-很抱歉,其实才写了两道题,大家不要误点进来耽误时间了。但是开始写了又不想删掉,希望日后能补起来吧。
  13. IPv4到IPv6的改造转换方案(上):IPv6和IPv4优势对比
  14. 1.3.1 计算机的主要性能指标 (机器字长、数据通路带宽、主存容量、运算速度、吞吐量、响应时间、主频和时钟周期、CPI、CPU执行时间、MIPS、MFLOPS、GFLOPS、TFLOPS)
  15. 服务器IP被封的原因
  16. Langlands纲领介绍
  17. 黑暗城堡 LibreOJ - 10064(SPFA)
  18. 蓝牙篇之蓝牙核心规范学习笔记(V5.3)汇总
  19. 学习笔记(01):C++编程FFMpeg(QT5+OpenCV)实战--实时美颜直播推流-直播服务器介绍crtmpserver编译运行(ubuntu)...
  20. Ordering类-greatestOf

热门文章

  1. 什么是代码,源文件、编辑和编译?
  2. 安卓预装软件卸载教程
  3. 视频直播的 推流是啥意思
  4. Linux下连接mongoDB出现no reachable servers以及mongoDB创建用户
  5. http请求gmt时间_HTTP日期/时间格式
  6. java jnlp 运行_JNLP文件如何能成功安装运行?
  7. 成品入库过账bapi
  8. java 泰文的编码_Unicode字符编码表(转)
  9. 品牌连锁店5G/4G无线组网方案
  10. 关于交换机包转发1.488Mpps是如何计算出来?