Programmaticaly更改lightdm自动登录会话类型
我有lightdm设置自动登录会话类型的问题(使用我的配置工具)。 Lightdm登录到之前选择的会话。 我看到自动登录会话在版本1.2.1中是UNIMPLEMENTED。 也许我可以以某种方式欺骗lightdm? 但似乎程序在停止时写入实际状态并将我的更改覆盖到/home/user/.dmrc和/var/cache/lightdm/user.dmrc。
目前我有两个会话:默认和自助服务亭。 在/etc/lightdm/lightdm.conf我有一行:user-session = desktop
但在我登录kiosk会话后,它始终启动。 更改.dmrc和/var/cache/lightdm/dmrc/user.dmrc不起作用。
我想我会尝试nodm显示管理器,因为我真正想要实现的是在gui配置工具中由管理员选择运行GUI会话。 另一个较低级别的工具是rungetty – 但我不知道这个程序(我发现了一些教程)。
解决!
Finnaly,经过2天尝试nodm,lxdm,rungetty等等。我发现(不是那样) lightdm
简单解决方案:
dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.Accounts /org/freedesktop/Accounts/User1000 org.freedesktop.Accounts.User.SetXSession string:kiosk
这会将id为1000
用户的默认xsession设置为kiosk
。
将来可能会在配置文件中执行相同的autologin-session
选项(现在标记为UNIMPLEMENTED
)。
在lightDM中,试试这个。
打开(gksu gedit)文件/etc/lightdm/lightdm.conf更改值(在#Seat配置中):
#default-user=bob #default-user-timeout=5 #pam-service=lightdm
至:
default-user=username default-user-timeout=0 pam-service=lightdm-autologin
你可以这样做:编辑/etc/gdm/custom.conf文件。
[daemon] TimedLoginEnable=false AutomaticLoginEnable=true TimedLogin=(your username) AutomaticLogin=(your username) TimedLoginDelay=0 DefaultSession=gnome
最后重新启动它,这将自动登录您的用户名。
如果您不想编辑文件,可以使用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