前言
这段时间给公司接了一个需要使用到linux环境进行交叉编译的工程,就采用了简单易操作的图形化ubuntu系统。
镜像采用的是:ubuntu14.04.5-desktop-amd64.iso(官网下载的)
配置环境的过程下载了众多依赖包,总之就是缺啥下载啥。然后一切搞定,没有快照我就关机了。结果第二天一打开傻眼了,直接进不去图形化界面。很丝滑的就进了命令行界面。。
可能是我配新系统有些环境没有配好。这里记录一下解决这个问题重新进入图形化的过程。
解决过程:
使用ubuntu后我发现,该14.04.5版本下无法使用systemctl,才知道这个版本太低了,旧版本的ubuntu不是采用systemd的,然后查了一下发现自己这个版本用的是SysVinit。
如何查看自己的系统采用的是哪种初始化系统,可以通过/sbin/init的指向来判断。
输入ls -l /sbin/init,若返回同目录,就是SysVinit。如果返回/lib/init或者/lib/systemd/systemd就是UpStart或者systemd。
而本人又想使用systemctl的控制命令,于是就听信网上的歪门邪道安装了systemd,虽然后面我知道这样其实可以做到,但是当时就是因为这个谜之操作让我陷入了错误的方向。我以为是systemd的安装导致无法正常启动。
那么大伙儿大可以不用管这个。接下来跳过各种测试环节,直接来开始真正解决问题的地方。
通过网上的资料查阅,发现图形化系统都有一个X服务器用来提供图形用户界面(GUI)的基础软件。可以通过startx来启动x服务器。
startx后报错,提示xinit不能连接到x服务器,连接被拒绝,找不到/usr/bin/X等
这个xinit是启动x会话的程序,没有它就无法启动x服务器。
而第一个报错/usr/bin/X这个文件不存在也代表着是启动程序出了问题。/usr/bin/X是一个二进制可执行文件,它是启动X服务器的主要程序之一,是由xinit或者startx间接执行的。
它不存在?
我们查看一下这个文件cat /usr/bin/X
报错不存在
这个文件不在肯定就是有问题,于是我想重装xorg
继续报错,说我没有libcheese-gtk23等依赖包
好嘛,那我就装一个嘛。
好好好,最新版本,你却跟我说没有这个依赖包。
那么我就破罐破摔,把这个依赖包删掉再装
sudo apt-get remove libcheese-gtk23 -y
sudo apt-get install libcheese-gtk23 -y
好了,能装了。
再次安装xorg。
sudo apt-get install xorg -y
果然可以安装了。
查看一下X文件
cat /usr/bin/X
果然有了
再次启动x服务器
startx
成功~(启动会卡主,reboot一下就OK了)