如何在使用自动登录时更改默认会话?

当自动登录处于活动状态时, 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 ClassicGNOME Classic(无效果)设置为所有用户的默认会话类型 – 或者您不希望,但上述特定于用户的方法不起作用 – 那么您可以编辑/etc/lightdm/lightdm.conf/etc/lightdm/lightdm.conf改为user-session=ubuntu行改为user-session=gnome-classicuser-session=gnome-fallback (或user-session=ubuntu-2d )。 在考虑这样做时,请记住以下几点:

  1. 最好编辑用户主文件夹中的每用户配置文件,除非您有理由更改全局配置(如不工作)。

  2. 由于这是一个全局配置文件,它包含的内容远远多于您要编辑的简单配置选项,因此建议在编辑之前对其进行备份,以防出现错误。 您可以通过运行命令sudo cp /etc/lightdm/lightdm.conf /etc/lightdm/lightdm.conf.old在终端中执行此sudo cp /etc/lightdm/lightdm.conf /etc/lightdm/lightdm.conf.old

  3. 该文件由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 ClassicGNOME 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

希望这可以帮助。