以编程方式更改 lightdm 自动登录会话类型

mar*_*npz 7 configuration python lightdm auto-login

我对 lightdm 设置自动登录会话类型有问题(使用我的配置工具)。Lightdm 登录到先前选择的会话。我看到自动登录会话在 1.2.1 版中未实现。也许我可以以某种方式欺骗 lightdm?但似乎程序在停止并覆盖我对 /home/user/.dmrc 和 /var/cache/lightdm/user.dmrc 的更改时写入实际状态。

目前我有两个会话:default 和 kiosk。在 /etc/lightdm/lightdm.conf 我有一行:user-session=desktop

但是在我登录 kiosk 会话后,它一直启动。更改 .dmrc 和 /var/cache/lightdm/dmrc/user.dmrc 不起作用。

我想我会尝试 nodm 显示管理器,因为我真正想要实现的是运行 gui 配置工具中管理员选择的 GUI 会话。另一个较低级别的工具是 rungetty - 但我不知道这个程序(我找到了一些教程)。

解决!

最后,在尝试了 nodm、lxdm、rungetty 等 2 天后,我找到了(并非如此)简单的解决方案lightdm

dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.Accounts /org/freedesktop/Accounts/User1000 org.freedesktop.Accounts.User.SetXSession string:kiosk
Run Code Online (Sandbox Code Playgroud)

kiosk将为具有 id 的用户设置默认 xsession 1000

将来可能会有autologin-session配置文件中的选项做同样的事情(标记为UNIMPLEMENTED现在)。

Oct*_*ves 1

在 lightDM 中,试试这个。

打开 (gksu gedit) 文件 /etc/lightdm/lightdm.conf 将值(在 # Seat 配置中)更改为:

#default-user=bob
#default-user-timeout=5
#pam-service=lightdm
Run Code Online (Sandbox Code Playgroud)

到:

default-user=username
default-user-timeout=0
pam-service=lightdm-autologin
Run Code Online (Sandbox Code Playgroud)

您可以执行以下操作: 编辑 /etc/gdm/custom.conf 文件。

[daemon]
TimedLoginEnable=false
AutomaticLoginEnable=true
TimedLogin=(your username)
AutomaticLogin=(your username)
TimedLoginDelay=0
DefaultSession=gnome
Run Code Online (Sandbox Code Playgroud)

最后重新启动它,这将自动登录您的用户名。


mfi*_*sch 0

如果您不想编辑文件,可以使用 lightdm-set-defaults 通过脚本或命令行更改会话。使用 -s 选项。

/usr/lib/lightdm/lightdm-set-defaults

Usage:
  lightdm-set-defaults [OPTION...] - set lightdm default values

Help Options:
  -h, --help                  Show help options

Application Options:
  -d, --debug                 Enable debugging
  -k, --keep-old              Only update if no default already set
  -r, --remove                Remove default value if it's the current one
  -s, --session               Set default session
  -g, --greeter               Set default greeter
  -a, --autologin             Set autologin user
  -i, --hide-users            Set greeter-hide-users to true or false
  -m, --show-manual-login     Set show-manual-login to true or false
  -l, --allow-guest           Set allow-guest to true or false
Run Code Online (Sandbox Code Playgroud)