如何恢复ubuntu

上次安装CUDA8.0失败。因此磁盘不足,安装到一半失败了,结果磁盘满了,又去/var里找了一些文件删除,之后重启,就只剩壁纸了。。

1 故障描述

开机后只剩壁纸和鼠标可以看到,但是鼠标右键没有反应,什么任务栏,菜单栏之类的都没有。

2 故障推断

判断可能是安装CUDA 的时候,因为安装到一半磁盘空间不足停止安装了,导致unity哪里出错了,具体原因我也无法确定。

3 修复步骤

先按ctrl+alt+f1,进入tty。删除所有和CUDA有关的包,修复unity,安装nvidia驱动,重启unity,之后就好了。下面是详细步骤。

3.1 删除所有和cuda有关的包

想用apt-get修复一下unity,但是总是有如下提示:

You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:

之后就是CUDA Depends: …..(>=375) but it is not going to be installed
………………………..
………………………..
…………………..
E: Unmet dependencies. Try ‘apt-get -f install’ with no packages (or specify a solution).

提示好几个和CUDA有关的包都没有正确安装,因为没有办法截图,所以具体错误提示信息也无法给出。。。

如果按照提示的,输入

sudo apt-get -f install

那么,又会让你重新安装CUDA。。陷入了死循环。

所以,使用

sudo dpkg --purge ".deb包名"

apt-get提示你哪个包没有安装正确,你就用上面的命令把这个包给删除掉。

3.2 修复 unity

在山除了所有提示安装不正确的包后,开始修复unity:

输入命令:

sudo apt-get install unity --fix-missing

会自动修复unity。

3.3 安装nvidia驱动

在修复unity以后。我重启了系统,仍然是老样子,还是只有桌面壁纸,没有任何改变。所以我又重装了nvidia的驱动。
仍然是在tty里输入命令:

sudo ubuntu-drivers devices

显示如下结果:

== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
vendor   : NVIDIA Corporation
modalias : pci:v000010DEd00001380sv00007377sd00000000bc03sc00i00
driver   : nvidia-367 - distro non-free
driver   : nvidia-361 - third-party non-free
driver   : xserver-xorg-video-nouveau - distro free builtin
driver   : nvidia-340 - distro non-free
driver   : nvidia-375 - third-party non-free recommended

xserver-xorg-video-nouveau 是ubuntu自带的驱动,如果你不是专家的话,尽量不要去管它,当然,它是可以被完全卸载的。

sudo apt-get --purge remove xserver-xorg-video-nouveau

以上是卸载命令,再重复一遍,如果不是大牛,不要卸载这个驱动,我没有管它。根据结果,选择系统推荐的驱动(有recommended的): nvidia-375 ,之后开始安装英伟达驱动:

sudo apt-get install nvidia-375

3.4 重置并重启unity

安装完了驱动,我再次重启登入系统,这次桌面的文件和文件加可以显示出来了,鼠标右键也能使用了,但是任务栏和菜单栏还是没有,打开文件夹,文件管理器窗口无法拖动。于是我又重置了unity:

dconf  reset -f /org/compiz
setsid unity

之后,桌面就完全恢复正常了。

4 总结

我也无法确定是不是只是靠最后一步重置unity成功恢复桌面的,还是说前面的几步也很重要。在tty中,还有2个命令我用到的次数比较多:
查看磁盘使用率

df -h

返回结果:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        13G   11G  1.6G  87% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            7.9G  4.0K  7.9G   1% /dev
tmpfs           1.6G  1.5M  1.6G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            7.9G   79M  7.8G   1% /run/shm
none            100M   40K  100M   1% /run/user
/dev/sda4       129G  5.9G  116G   5% /home
/dev/sda6       194M   72M  108M  40% /boot
/dev/sda1       151G  104G   47G  69% /media/ws/4C3A70A73A709026
/dev/sda5       158G  142G   17G  90% /media/ws/000F9A5700006688

这个是我的桌面终端显示的结果,tty里,你的磁盘需要重新挂载一下才能被识别。

另一个是查看系统设备信息

lsblk

返回结果如下:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk 
├─sda1   8:1    0   150G  0 part /media/ws/4C3A70A73A709026
├─sda2   8:2    0     1K  0 part 
├─sda3   8:3    0    13G  0 part /
├─sda4   8:4    0 130.4G  0 part /home
├─sda5   8:5    0   158G  0 part /media/ws/000F9A5700006688
├─sda6   8:6    0   204M  0 part /boot
└─sda7   8:7    0   4.4G  0 part [SWAP] sr0 11:0 1 1024M 0 rom 

安装CUDA失败后,ubuntu桌面只有壁纸如何恢复的更多相关文章

  1. ios – ld:找不到框架(自制框架)

    我正在尝试在Ipad上部署一个项目,其中包含一个名为“HelloUnity.framework”的自制框架.当我尝试部署我的项目时,我收到以下错误:更加具体:而且我不知道为什么,因为我的框架存在且框架的文件夹不为空.怎么了?谢谢,解决方法由于iOS不支持共享库,因此您需要确保您的框架正在编译为静态库.我不确定这部分,但你可能不得不链接静态库而不是框架(即,即使你的框架是静态的,’-framewor

  2. ios – 错误:您不能从游戏中删除Unity启动画面

    我正试图在Xcode中运行我的Unity游戏.在UnityiOS播放器设置中配置“DeviceSDK”时,一切都很好.但是当我切换到’模拟器SDK'时,在我的游戏启动时Xcode中出现以下错误:您正在使用UnityiPhoneBasic.您不能从游戏中删除Unity启动画面.由于此错误,游戏在启动时崩溃.我在Unity播放器设置中没有更改任何关于启动画面的信息.那么这个问题可能是什么原因呢?我在Google上发现了一些关于此错误的结果,但似乎没有任何帮助……

  3. iOS推送通知适用于Dev而不是Enterprise Distribution

    本网站上没有其他问题,我已经能够找到实际上提出了Dev将工作的原因,但企业分布不会.为什么归档总是使aps环境生产?

  4. ios – Unity 3.5到Unity 4.5.4

    我正在尝试将我的旧UnityxCode(Unity3.5)项目更新为Unity(4.5.4).应用程序将使用此方法崩溃:UnitySendMessage([classNameUTF8String],[methodNameNameUTF8String],nil);请帮帮我.解决方法在Unity(4.5.4)中,他们使用这样的char参数:所以我们想改变这样的调用:

  5. ios – testflight库和Xcode 5没有变化现在说“ld:找不到-lTestFlight的库”

    我已经创建了几个月的应用程序,突然Xcode5不想构建它.它只是抱怨以下错误.如果我理解它可以,它会抱怨testflight,但我几周没有改变它.它完美地编译了它.我不得不说我已经尝试将AdobeADMS跟踪库添加到项目中.然后,出现链接器错误.任何提示?

  6. 由于未编译着色器,Unity应用程序在iOS上崩溃

    我正在尝试为iOS构建我的Unity5.4.2f2应用程序.它没有编译错误.但是当我尝试使用Xcode8.0运行应用程序时,它立即崩溃,调试器报告以下错误.Failedcompiling:fragmentevaluationshaderWARNING:0:4:extension‘GL_EXT_frag_depth’isnotsupportedERROR:0:38:Useofundeclaredid

  7. 如何在ios swift项目中为dev n prod使用两个不同的GoogleService-info.plist文件?

    我需要使用两个不同的GoogleService-info.plist来处理dev和prod构建,目前我只是通过在编辑方案中更改“构建配置”来分离dev和prod,但现在我需要有两个不同的.plist文件dev和prod用于处理谷歌分析,pushwoosh等,解决方法对于这种情况,您需要在Dev和Prod的项目中使用带有diffbundleid的不同Targets.之后,您可以链接GoogleSer

  8. openstack安装liberty--安装对象存储服务swift

    通常使用CACHE技術提高性能Accountservers賬戶服務,管理對象存儲中的賬戶定義。Containerservers容器服務,在對象存儲中管理容器或文件夾映……Objectservers對象服務,在存儲節點管理實際的對象,比如文件。Wsgimiddleware處理認證,通常使用OPENSTACKIdentityswiftclient為用戶提供命令行接口使用RESTAPIswift-init初始化和構建RING文件腳本swift-recon一個命令行工具,用於檢索群集的各種度量和測試信息。

  9. (Cross-)编译Swift for Raspberry PI

    Swift现在是开源的.有没有人试过编译Swift的RaspBerryPI?我开始做,但我的8GBSD卡似乎太小了;)是否可以从Ubuntu交叉编译?写Swift打开你最喜欢的文本编辑器,编写一个程序并保存它:编译它并运行它:而已!

  10. Swift 3 dev快照中的POST请求给出了“对成员’dataTask的模糊引用(with:completionHandler :)’

    编辑:我注意到有人在我之后写了这个问题的副本.这里的答案是更好的答案.使用URLRequest结构.在Xcode8中工作正常:另外,出现此错误的原因是URLSessionAPI具有相同的名称方法,但每个都采用不同的参数.因此,如果没有明确的演员,API将会混淆.我认为这是API的命名错误.发生此问题,代码如下:

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部