首先说明为什么外接屏幕需要装显卡驱动,显卡由GPU和显存构成,又称为显示适配器,与数据的输出有密切关系。
在ubuntu系统中,外接显示器是用的独立显卡驱动,而内置屏幕用的是集显驱动,也正是因为调用显卡的不同,产生了黑屏幕的现象。也就是说你的电脑不管哪个屏幕会不亮,都是因为独显与集显驱动之间的冲突或不适配。
网上各种各样的方法和讨论十分混杂,这里我将我所遇到的坑记录一下。
为了避免后面不必要的麻烦,将会采取如下操作
1、打开源文件
sudo chmod 666 /etc/apt/sources.list
sudo gedit /etc/apt/sources.list
2、把以下内容复制
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
3、更新
sudo apt update
sudo apt upgrade
sudo apt-get update #更新软件列表
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install make
sudo apt-get install build-essential
sudo apt-get install libc6-dev
#打开文件,
sudo gedit /etc/modprobe.d/blacklist.conf
#在最后添加如下两行:
blacklist nouveau
options nouveau modeset=0
#然后更新设置
sudo update-initramfs -u
随后输入以下命令,若无输出则成功
lsmod | grep nouveau
更换图像化界面是因为lightdm比gdm3的兼容性大
sudo apt-get install lightdm
sudo dpkg-reconfigure lightdm
目前网上常见的驱动安装方法有三类,我称之为全自动、半手动和全手动,这一步先将显卡驱动安装上,先不考虑黑屏问题。
全自动安装是使用ubuntu自带的"软件和更新",安装完成之后重启。
ubuntu-drivers devices #查看适合本显卡的驱动
sudo apt-get install nvidia-430
https://www.nvidia.com/Download/index.aspx?lang=en-us
首先用上面的网站自己选驱动
1.停图形化显示,进入文字命令行
sudo service lightdm stop
2. 删除已安装的显卡驱动
sudo apt-get remove --purge nvidia*
切勿使用这句sudo apt-get autoremove
3. 修改显卡驱动文件的权限
sudo chmod a+x NVIDIA-Linux-x86_64-396.18.run
4. 安装显卡驱动
sudo ./NVIDIA-Linux-x86_64-470.57.02.run -no-x-check -no-nouveau-check -no-opengl-files
一直按yes,最后一个-X也按yes.如果选择no,内置屏幕正常,但外接屏不能使用。
上面不管那种方法安装完,都需要重启。
不管使用上面哪种方法,都可能会出现黑屏的现象,左上方有一个小短白线一直在闪,进不到图形化界面。可以输入nvidia-smi测试显卡驱动是否安装成功。
如果身边有外接显示器可以插上试一下,会发现外接显示器是能够正常使用的。这是因为安装显卡驱动后,独立显卡的显示配置把之前的显示配置替换了。这时其实只需要覆盖 /etc/X11/xorg.conf
cd /etc/X11
sudo rm xorg.conf
sudo cp xorg.conf.nvidia-xconfig-original xorg.conf
reboot
这个配置文件重启后,电脑内置屏幕就可以进入图形化界面了,但外接显示屏是不能用的。如果没有外接显示器需求的小伙伴们就可以结束了。
如果检测不到需要检查接口驱动问题
xrandr
sudo apt-get install nvidia-settings
nvidia-settings
若显示中没有出现X server Display Configuration,可能需要考虑重新安装一个驱动。
在配置界面左侧选择“X Server Display Configuration”,然在屏幕右方的“layout”中能看到两个类似显示器的方框,点击方框中有“disable”的方框,再点击“configuration”,选择“TwinView”,点击“确定”,然后点击“Apply”,最后点击“Save to X Configuration file”,点击保存。
如果顺利的话,会显示出两个屏幕,但会出现亮度无法调节的情况。这是因为亮度的控制是由集成显卡控制的,出现了冲突情况。这时需要重启进入bios中将显卡模式调成独显模式。再进入系统,一切变为正常。
总之,整个过程与自己电脑显卡型号,驱动包型号和ubuntu版本都有关系。如果顺利选择一个好的驱动包,什么不需要调整就可以双屏幕显示。一个不适合的显卡驱动,需要花费很大力气才能实现双屏显示。
但是针对只需要电脑内置屏的朋友,只需要把xorg.conf文件覆盖即可。
根据我个人的情况推荐使用ubuntu自带的全自动显卡驱动安装,比较方便,如果一个包不合适,再多试几个其他版本的。博主本人也是是了第三个才成功。
我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
我试过重新启动apache,缓存的页面仍然出现,所以一定有一个文件夹在某个地方。我没有“公共(public)/缓存”,那么我还应该查看哪些其他地方?是否有一个URL标志也可以触发此效果? 最佳答案 您需要触摸一个文件才能清除phusion,例如:touch/webapps/mycook/tmp/restart.txt参见docs 关于ruby-如何在Ubuntu中清除RubyPhusionPassenger的缓存?,我们在StackOverflow上找到一个类似的问题:
我想这样组织C源代码:+/||___+ext||||___+native_extension||||___+lib||||||___(Sourcefilesarekeptinhere-maycontainsub-folders)||||___native_extension.c||___native_extension.h||___extconf.rb||___+lib||||___(Rubysourcecode)||___Rakefile我无法使此设置与mkmf一起正常工作。native_extension/lib中的文件(包含在native_extension.c中)将被完全忽略。
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。问题1)我想知道rubyonrails是否有功能类似于primefaces的gem。我问的原因是如果您使用primefaces(http://www.primefaces.org/showcase-labs/ui/home.jsf),开发人员无需担心javascript或jquery的东西。据我所知,JSF是一个规范,基于规范的各种可用实现,prim
相信很多人在录制视频的时候都会遇到各种各样的问题,比如录制的视频没有声音。屏幕录制为什么没声音?今天小编就和大家分享一下如何录制音画同步视频的具体操作方法。如果你有录制的视频没有声音,你可以试试这个方法。 一、检查是否打开电脑系统声音相信很多小伙伴在录制视频后会发现录制的视频没有声音,屏幕录制为什么没声音?如果当时没有打开音频录制,则录制好的视频是没有声音的。因此,建议在录制前进行检查。屏幕上没有声音,很可能是因为你的电脑系统的声音被禁止了。您只需打开电脑系统的声音,即可录制音频和图画同步视频。操作方法:步骤1:点击电脑屏幕右下侧的“小喇叭”图案,在上方的选项中,选择“声音”。 步骤2:在“声
本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01 客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02 数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m
在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
我有一个要在我的Rails3项目中使用的数组扩展方法。它应该住在哪里?我有一个应用程序/类,我最初把它放在(array_extensions.rb)中,在我的config/application.rb中我加载路径:config.autoload_paths+=%W(#{Rails.root}/应用程序/类)。但是,当我转到railsconsole时,未加载扩展。是否有一个预定义的位置可以放置我的Rails3扩展方法?或者,一种预先定义的方式来添加它们?我知道Rails有自己的数组扩展方法。我应该将我的添加到active_support/core_ext/array/conversion