startx 时出现“/etc/X11/X 不可执行”错误

Bha*_*aju 6 xorg desktop-environments x11 lightdm

发生了什么

我想与 Unity 一起安装 KDE 和 Gnome。我不知道我什么时候在我的 Ubuntu 12.10 上安装了 gnome-shell,但是我刚刚安装了 KDE 最小桌面使用

sudo apt-get install kde-plasma-desktop
Run Code Online (Sandbox Code Playgroud)

并选择 lightdm 作为我的默认 DM。然后我输入这个来安装gnome

sudo apt-get install gnome-shell
Run Code Online (Sandbox Code Playgroud)

它说我已经安装了它。

所以,然后我以正常模式重新启动,而 Ubuntu 没有启动。

问题

我进入了恢复模式并从我使用的 root shell

startx
Run Code Online (Sandbox Code Playgroud)

它引发了这些错误:

/etc/X11/X is not executable
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
Run Code Online (Sandbox Code Playgroud)

当我尝试

chmod +x /etc/X11/X
Run Code Online (Sandbox Code Playgroud)

它说

chmod: cannot operate on dangling symlink `/etc/X11/X'
Run Code Online (Sandbox Code Playgroud)

我无法使用 apt-get 重新安装软件包,因为我们的 ISP 使用门户登录 - 我不知道如何从终端登录(因此无法连接到网络)。可能我可以使用 live disk,但我不知道如何从 livedisk 在我的 HD 上配置包。

我现在在 Windows 8 上。感谢有关如何恢复桌面的任何帮助!

rɑː*_*dʒɑ 10

你必须试试这个

 sudo dpkg-reconfigure -phigh xserver-xorg
Run Code Online (Sandbox Code Playgroud)


Bha*_*aju 6

我正在为我的问题写一个答案,但实际上我还没有弄清楚导致这些错误的确切原因。

我假设整个 xorg 本身都坏了,我通过使用实时磁盘和 chrooting 恢复了我的桌面(是的 - 必须这样做,因为它很难从终端连接到互联网,而且从实时磁盘连接到互联网要容易得多并将resolv.conf从这里复制到那里)。

因此,在创建实时磁盘并在 Try Ubuntu 模式下,我 chroot 到旧分区(我遵循了此处的指南)并执行了

apt-get update && apt-get upgrade
apt-get install --reinstall xserver-xorg
apt-get install --reinstall gdm gnome-desktop-environment xorg
Run Code Online (Sandbox Code Playgroud)

然后我通过更改此行将 /etc/X11/default-display-manager 中的默认显示管理器更改为 gdm(我认为如果重新启动后您的桌面工作正常,则不需要此步骤,但我基本上做了更多的事情除了上面说打破了lightdm太多,所以我不得不改变对GDM!)

/usr/sbin/lightdm
Run Code Online (Sandbox Code Playgroud)

/usr/sbin/gdm
Run Code Online (Sandbox Code Playgroud)

并重新启动。好吧,Unity 正在发挥作用,我的桌面恢复了工作。