LightDM 没有加载任何窗口管理器

LightDM 没有加载任何窗口管理器

简短版本:LightDM 无法正确加载我的 i3 会话,也无法加载我的原始 Unity 桌面会话。我怀疑这是 LightDM 的配置或各种启动文件(例如 .xinitrc、.profile 等)的问题。

现在,当我登录时,当我点击登录管理器并选择 i3 会话时,它会显示空白背景。我必须通过按Ctrl+ Alt+F1并运行 startx 来加载 i3。当我这样做时,nm-applet 不再像以前那样出现在我的 i3 状态栏的右下角。我的 bash shell 也有不同的字体(但它仍然突出显示文件名)。(编辑:htop 也突然没有安装,这真的很令人困惑。)

当我尝试运行 Unity 会话时,我得到一个空白的白色文本框,占据了屏幕的一小部分,看起来像是某种终端。我无法按++Ctrl并返回终端,因此我不得不重新启动。修复此问题并不重要,但希望它有助于诊断问题。AltF(1-6)

长版本:

不久前我安装了 i3。

sudo apt install i3

第一次重启时,我最初非常满意。我调整了一些 nautilus 设置,使其不显示桌面图标,这样我就可以使用 nautilus 了。

gsettings set org.gnome.desktop.background show-desktop-icons false

第二次重启后,我使用熟悉的 Unity 登录管理器登录并选择“i3”作为会话,却看到一个空白的桌面背景。

我按照说明这里:无济于事,所以我尝试重新安装 ubuntu-desktop,重置,并最终删除我现有的 compiz 配置。

sudo apt-get install --reinstall ubuntu-desktop
dconf reset -f /org/compiz/
rm -rf ~/.compiz-1 ~/.config/compiz-1

这是我的 .xinitrc 文件,是我在这个漫长的过程中某个时刻制作的。

#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)

if [ -d /etc/X11/xinit/xinitrc.d ]; then
  for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
  done
  unset f
fi

setxkbmap -option ctrl:nocaps

# set PATH so it includes user's private bin directories
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
VIMRUNTIME=/usr/bin
EDITOR=/usr/bin/vim

# alias to allow quick vga connection
alias connect-vga='xrandr --output LVDS2 --auto --output VGA2 --preferred --right-of LVDS2'
alias disconnect-vga='xrandr --output LVDS2 --auto --output VGA2 --off'

# set primary display so that nm-applet icon shows up? untested
#xrandr --output LVDS1 --primary

# exec enlightenment_start
exec i3

附言:就在这一切发生的时候,我也买了一台 4K 显示器。事实上,这个问题始于我在设置分辨率时遇到了一些问题,无法适应我那台 8 年前的 Thinkpad T420。不过现在它似乎工作正常了。

答案1

我只是猜测,但你可以尝试:

  • 确保你检查了 LightDM 启动屏幕默认 Xsession
  • 有两个重要的配置文件:(1).xinitrc和(2).xsession
  • 为了确保一切都按预期执行,我有.xinitrc这样的.xsession文件(仅包含我的):

    #!/bin/bash
    # in some cases (?) the .xsession file was not processed
    # and so those commands needed to be manually executed here
    xrdb -merge ${HOME}/.Xresources
    . ${HOME}/.xsession
    
  • 所有重要的东西都在里面.xsession,这些年来有更多的代码,但是关于i3,相关部分包含:

    nm-applet &
    blueman-applet &
    pasystray &
    udiskie --smart-tray --file-manager="my-x-file-browser.sh" &
    clipit &
    shutter &
    dropbox start -i &
    exec i3 2>> ~/.xsession-errors
    

正如你所看到的,我启动了一些小程序,并确保标准错误i3被重定向到一个文件,只是为了确保我不会错过任何错误。

我的建议:

  1. LightDM 具有默认 Xsession選擇。
  2. 确保您的.xinitrc被执行(您可以尝试与我的相同的设置,.xsession即同时使用.xinitrc
  3. 将输出重定向到某个日志文件(2>> ~/.xsession-errors随着时间的推移可能会变得很大,因此请确保对其进行日志轮转,否则丢弃它)

相关内容