nvidia 331 安装后,apt-get 出现错误

nvidia 331 安装后,apt-get 出现错误

我最近nvidia-331通过Software & Updates->Additional Drivers选项卡安装了驱动程序。

现在当我使用:

sudo apt-get install <package>

或者

sudo apt-get remove <package>

apt-get最终出现以下错误:

lyn@antares:~$ sudo apt-get install hexedit
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  linux-image-generic
Use 'apt-get autoremove' to remove it.
The following NEW packages will be installed:
  hexedit
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/24.6 kB of archives.
After this operation, 88.1 kB of additional disk space will be used.
Selecting previously unselected package hexedit.
(Reading database ... 226032 files and directories currently installed.)
Preparing to unpack .../hexedit_1.2.13-1_amd64.deb ...
Unpacking hexedit (1.2.13-1) ...
Processing triggers for man-db (2.6.7.1-1) ...
Setting up nvidia-331 (331.89-0ubuntu1~xedgers14.04.2) ...
INFO:Enable nvidia-331
DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/lenovo_thinkpad
DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/dell_latitude
Traceback (most recent call last):
  File "/usr/bin/quirks-handler", line 65, in <module>
    operation_status = main(options)
  File "/usr/bin/quirks-handler", line 44, in main
    quirks = Quirks.quirkapplier.QuirkChecker(options.package_enable, path=quirks_path)
  File "/usr/lib/python3/dist-packages/Quirks/quirkapplier.py", line 38, in __init__
self._system_info = self.get_system_info()
  File "/usr/lib/python3/dist-packages/Quirks/quirkapplier.py", line 64, in get_system_info
return quirk_info.get_dmi_info()
  File "/usr/lib/python3/dist-packages/Quirks/quirkinfo.py", line 46, in get_dmi_info
'class', 'dmi', 'id', item)).read().strip()
  File "/usr/lib/python3.4/codecs.py", line 313, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
dpkg: error processing package nvidia-331 (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up hexedit (1.2.13-1) ...
Errors were encountered while processing:
 nvidia-331
E: Sub-process /usr/bin/dpkg returned an error code (1)

我已经尝试使用以下方法删除 nvidia 驱动程序这个话题apt-get仍然显示几乎相同的错误。

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

答案1

这对我有用:)

进行备份并编辑文件:

sudo cp /usr/bin/quirks-handler /usr/bin/quirks-handler.bak
sudo gedit /usr/bin/quirks-handler

将内容替换为以下代码:

#! /usr/bin/python3
if __name__ == '__main__':
    pass

清除 nvidia-331:

sudo apt-get purge nvidia-331

它将成功完成,然后您可以恢复备份:

sudo mv /usr/bin/quirks-handler.bak /usr/bin/quirks-handler

答案2

解决这个问题的一个粗暴的方法如下

  1. 编辑文件 /var/lib/dpkg/info/package-name.postrm;在这种情况下它应该是 sudo gedit /var/lib/dpkg/info/nvidia-331.postrm
  2. 在该行后添加 exit 0#!bin/sh并保存。
  3. 运行“sudo apt-get remove --purge nvidia-331”。它应该会顺利结束。
  4. 确保从文件中删除先前添加的行(因此再次sudo gedit /var/lib/dpkg/info/package-name.postrm删除该行并保存)。
  5. 在尝试任何其他操作之前,请运行sudo apt-get updatesudo apt-get upgrade检查它是否返回而没有错误。

答案3

对我有用的方法是清除nvidia-currentautoremove重新启动、安装,cairo-dock然后转到软件更新并从其他驱动程序中选择 nvidia 331(这比从安装花费的时间多得多cli),重新启动。然后从终端安装CCSM并激活 unity 插件。

现在,我认为命令是解决问题的最低限度:

  1. 登录前(因为 lightdm 显示登录)输入ctrl++altF2
  2. CLI类型来看sudo apt-get install cairo-dock
  3. 现在输入sudo apt-get install compizconfig-settings-manager
  4. 返回登录输入ctrl++altF7
  5. 选择cairo作为你的 shell(单击 Ubuntu 图标)并正常登录
  6. 从 Cairo 的应用程序菜单转到系统工具->首选项->CompizConfig 设置管理器
  7. 在警告对话框中单击“确定”
  8. 单击左侧面板中的桌面按钮。
  9. 按下右侧面板中的 Ubuntu Unity 插件按钮
  10. 勾选左侧面板的复选框以激活 Ubuntu Unity 插件
  11. 激活一切需要的东西以恢复 Unity
  12. Voilá Unity 再次像以前一样运行

我希望这些步骤有意义。第一个解释是快速讲述我必须做的事情,所以如果详细的最低限度步骤对你不起作用,那么请按照我必须做的确切路径进行操作

  1. 不要登录输入++ ctrl,这样你就进入了altF2CLI
  2. 登录然后输入sudo apt-get install cairo-dock
  3. sudo apt-get purge nvidia-current 并确认
  4. 现在输入sudo apt-get autoremove 并确认
  5. sudo reboot
  6. lightDM现在像往常一样从图形界面登录,但从cairoUbuntu 图标中选择 shell
  7. 如果 GUI 看起来不错,跳至步骤 11;否则
  8. 返回 CLI输入ctrl++altF2
  9. 输入 cairo-dock (我希望它能在你的 GUI 中正确启动;否则,你必须在 -gurus,请帮忙- 之前指定 DISPLAY)
  10. 返回 GUI打字ctrl++altF7
  11. 从 Cairo 中的应用程序菜单转到系统工具->软件更新
  12. 更新完成后,按配置按钮并转到最后一个选项卡(附加驱动程序)
  13. 另一种方式是去系统工具->首选项->附加驱动程序
  14. 选择最佳(经过测试)的 Nvidia 驱动程序并应用更改
  15. 使用 Cairo 图标重新启动
  16. 然后再次登录并安装compizconfig-settings-manager 使用系统工具->管理->Ubuntu 软件中心
  17. 从最低限度步骤(上一个列表)的第 6 步继续

我希望这对你是有意义的并且能起到作用,就像对我有用一样。

相关内容