如何在使用自动登录时更改默认会话?
当自动登录处于活动状态时, lightdm
将启动Unity 3D会话,而不是2D(或我想要自动登录的任何其他shell)。
有没有办法自动启动shell(自动登录)?
无论如何,如果禁用自动登录,则会启动上次使用的会话,这很好。 我只想选择默认自动登录。
会话列表在/usr/share/xsessions
目录中描述。
一些更常见的会话名称如下:
- 对于unity-2d,会话文件称为ubuntu-2d.desktop
- 对于gnome-classic,会话文件名为gnome-classic.desktop
- 对于gnome-classic(无效果)又名gnome-fallback,会话文件称为gnome-fallback.desktop
- 对于unity-3d,会话文件称为ubuntu.desktop
- 对于Lubuntu,会话文件称为Lubuntu.desktop
- 对于LXDE,会话文件称为LXDE.desktop
因此,如果您将light-dm配置文件更改为“ubuntu-2d”,则会将会话默认为Unity-2D
即
sudo nano /etc/lightdm/lightdm.conf
换线
user-session=ubuntu
至
user-session=ubuntu-2d
注意 – 如果您没有lightdm.conf文件,那么对于自动登录,请使用此文件的以下值:
[SeatDefaults] greeter-session=unity-greeter user-session=ubuntu-2d autologin-user=myusername autologin-user-timeout=0
另一种可能性是运行:
sudo /usr/lib/lightdm/lightdm-set-defaults -s
例如:
sudo /usr/lib/lightdm/lightdm-set-defaults -s ubuntu-2d
这也将创建lightdm.conf
文件(如果它尚不存在)。
奇怪的是, LightDM (Ubuntu 11.10的显示管理器 , 提供图形登录屏幕 )不记得您在重新启动时的选择。
您可以手动编辑相关的配置文件,该文件名为.dmrc
,位于您的主文件夹中。 在Nautilus(文件浏览器)中,您必须按Ctrl + H (或查看 > 显示隐藏文件 )才能看到它和以a开头的其他文件.
字符。 如果你有这个文件 – 你可能会这样做 – 那么它的内容就像:
[Desktop] Session=ubuntu
对于GNOME Classic,您可以将其更改为:
[Desktop] Session=gnome-classic
或者对于GNOME Classic(没有效果),您可以将其更改为:
[Desktop] Session=gnome-fallback
如果您碰巧想使用Unity 2D(会话类型Ubuntu 2D ),您可以将其更改为:
[Desktop] Session=ubuntu-2d
如果您根本没有该文件,则可以使用适当的内容创建该文件。
如果要将GNOME Classic或GNOME Classic(无效果)设置为所有用户的默认会话类型 – 或者您不希望,但上述特定于用户的方法不起作用 – 那么您可以编辑/etc/lightdm/lightdm.conf
, /etc/lightdm/lightdm.conf
改为user-session=ubuntu
行改为user-session=gnome-classic
或user-session=gnome-fallback
(或user-session=ubuntu-2d
)。 在考虑这样做时,请记住以下几点:
-
最好编辑用户主文件夹中的每用户配置文件,除非您有理由更改全局配置(如不工作)。
-
由于这是一个全局配置文件,它包含的内容远远多于您要编辑的简单配置选项,因此建议在编辑之前对其进行备份,以防出现错误。 您可以通过运行命令
sudo cp /etc/lightdm/lightdm.conf /etc/lightdm/lightdm.conf.old
在终端中执行此sudo cp /etc/lightdm/lightdm.conf /etc/lightdm/lightdm.conf.old
。 -
该文件由root拥有,因此上面是sudo命令。 您还必须以root身份编辑它。 要在gedit中以root身份打开它,您可以运行
gksu gedit /etc/lightdm/lightdm.conf
(在终端窗口中,或在图形Run Application
文本框中,当您可以通过按Alt + F2获得 )或sudo -H gedit /etc/lightdm/lightdm.conf
终端窗口中的sudo -H gedit /etc/lightdm/lightdm.conf
。
您遇到的行为似乎可能是一个错误,因此在通过查看手动编辑~/.dmrc
是否有效收集其他信息后,您可能希望将其报告为一个。 首先仔细阅读 ,然后在搜索是否报告了类似的bug后,通过调用运行的lightdm
进程的PID调用ubuntu-bug
启动报告过程,或者,几乎同样运行ubuntu-bug lightdm
…在阅读该指南后,这一切都应该有意义。
顺便说一句,除了Unity(会话类型Ubuntu ),Unity 2D(会话类型Ubuntu 2D )和GNOME 3 Fallback( GNOME Classic和GNOME Classic(无效果) )之外,您还可以考虑,甚至更轻量级的选项,Xfce4 (安装包xubuntu-desktop
并选择会话类型Xubuntu )和LXDE(安装包lubuntu-desktop
并选择会话类型Lubuntu )。
- 在较新版本的Ubuntu中 ,当最初询问此问题时,不存在这种版本 , Unity 2D和GNOME 3 Fallback不可用。 (在最新版本中, Unity也不可用。)但是Xfce4 / Xubuntu和LXDE / Lubuntu仍然可用。
- 目前,使用GNOME 3 Fallback的用户可能更喜欢由
ubuntu-mate-desktop
软件包提供的MATE桌面环境(参见Ubuntu MATE )。 - Lubuntu仍然更轻量级 (即,它倾向于消耗最少的资源并且在更旧的硬件上可接受地工作)。 但它不像Xubuntu或Ubuntu MATE那样function齐全。
GNOME 3还有GNOME Shell而不是Unity(安装包gnome-shell
并选择GNOME
)和KDE 4 Plasma(安装包kubuntu-desktop
并选择Kubuntu
),但那些不太可能比上面的资源更少选项。
要更改每个用户的默认值,请检查
/var/lib/AccountsService/users
看起来这个集合是用户家中的.dmrc
。
干杯
更改Lightdm中的默认会话
sudo /usr/lib/lightdm/lightdm-set-defaults --session gnome-shell
我用这个内容编辑了/etc/lightdm/lightdm.conf
:
[SeatDefaults] greeter-session=unity-greeter user-session=gnome-shell autologin-user=paul
它会自动启动到gnome-shell。
我发现设置上述任何一项都被lightdm存储的用户最后一个会话覆盖。 您可能必须删除或编辑/var/cache/lightdm/dmrc
的用户文件以启用全局默认设置。 或者通过编辑具有以下内容的user.dmrc
文件来单独进行:
[Desktop] Session=ubuntu
这在Ubuntu中可能不起作用,但它在Fedora中对我有用。 需要花费数天时间才弄清楚,我想分享它:
转到/usr/share/wayland-sessions
和/usr/share/wayland-sessions
,并为每个以.desktop结尾的文件添加带有不同数字和短划线的前缀。
最低的数字将是默认值。 例如,我希望xfce成为我的默认值,以便该文件名为1-xfce.desktop
希望这可以帮助。