我正在嘗試學習opengl。由於硬體故障,我的主要機器現在是一台舊筆記型電腦,opengl 已經過時了。我運行 ubuntu 11.10 伺服器版的機器確實有合適的顯示卡。我想在我的伺服器上開發控制台以全螢幕顯示 opengl 程式。目前我的理解是我需要安裝 X 伺服器和視窗管理器才能讓 opengl 程式運作。
我使用了以下命令:
sudo apt-get install xserver-xorg xserver-xorg-core
sudo apt-get install openbox
sudo apt-get install nvidia-173
為了測試 X 伺服器,我運行了 xinit,它給出了以下輸出:
X.Org X Server 1.10.4
Release Date: 2011-08-19
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.24-29-server x86_64 Ubuntu
Current Operating System: Linux maximos-ubuntu 3.0.0-12-server #20-Ubuntu SMP Fri Oct 7 16:36:30 UTC 2011 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.0.0-12-server root=UUID=ffdf63ee-6980-46dc-bc6d-b1e72e0abcce ro
Build Date: 19 October 2011 05:21:26AM
xorg-server 2:1.10.4-1ubuntu4.2 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.22.2
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Tue Dec 27 17:18:18 2011
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE) Failed to load module "nv" (module does not exist, 0)
xinit: Unable to run program "xterm": No such file or directory
Specify a program on the command line or make sure that /usr/bin
is in your path.
xinit: connection to X server lost
waiting for X server to shut down ddxSigGiveUp: Closing log
我的 Xorg.0.log:
[ 465.316]
X.Org X Server 1.10.4
Release Date: 2011-08-19
[ 465.316] X Protocol Version 11, Revision 0
[ 465.316] Build Operating System: Linux 2.6.24-29-server x86_64 Ubuntu
[ 465.316] Current Operating System: Linux maximos-ubuntu 3.0.0-12-server #20-Ubuntu SMP Fri Oct 7 16:36:30 UTC 2011 x86_64
[ 465.316] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.0.0-12-server root=UUID=ffdf63ee-6980-46dc-bc6d-b1e72e0abcce ro
[ 465.316] Build Date: 19 October 2011 05:21:26AM
[ 465.316] xorg-server 2:1.10.4-1ubuntu4.2 (For technical support please see http://www.ubuntu.com/support)
[ 465.316] Current version of pixman: 0.22.2
[ 465.316] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 465.316] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 465.316] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Dec 27 16:53:59 2011
[ 465.316] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 465.317] (==) No Layout section. Using the first Screen section.
[ 465.317] (==) No screen section available. Using defaults.
[ 465.317] (**) |-->Screen "Default Screen Section" (0)
[ 465.317] (**) | |-->Monitor "<default monitor>"
[ 465.317] (==) No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
[ 465.317] (==) Automatically adding devices
[ 465.317] (==) Automatically enabling devices
[ 465.317] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[ 465.317] Entry deleted from font path.
[ 465.317] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[ 465.317] Entry deleted from font path.
[ 465.317] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[ 465.317] Entry deleted from font path.
[ 465.317] (WW) The directory "/usr/share/fonts/X11/Type1" does not exist.
[ 465.317] Entry deleted from font path.
[ 465.317] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[ 465.317] Entry deleted from font path.
[ 465.317] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[ 465.317] Entry deleted from font path.
[ 465.317] (WW) `fonts.dir' not found (or not valid) in "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType".
[ 465.317] Entry deleted from font path.
[ 465.317] (Run 'mkfontdir' on "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType").
[ 465.317] (==) FontPath set to:
/usr/share/fonts/X11/misc,
built-ins
[ 465.317] (==) ModulePath set to "/usr/lib/x86_64-linux-gnu/xorg/extra-modules,/usr/lib/xorg/extra-modules,/usr/lib/xorg/modules"
[ 465.317] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 465.317] (II) Loader magic: 0x7e0220
[ 465.317] (II) Module ABI versions:
[ 465.317] X.Org ANSI C Emulation: 0.4
[ 465.317] X.Org Video Driver: 10.0
[ 465.317] X.Org XInput driver : 12.3
[ 465.317] X.Org Server Extension : 5.0
[ 465.318] (--) PCI:*(0:1:0:0) 10de:0613:3842:c879 rev 162, Mem @ 0xfa000000/16777216, 0xe0000000/268435456, 0xf8000000/33554432, I/O @ 0x0000ac00/128, BIOS @ 0x????????/131072
[ 465.318] (II) Open ACPI successful (/var/run/acpid.socket)
[ 465.318] (II) LoadModule: "extmod"
[ 465.318] (II) Loading /usr/lib/xorg/modules/extensions/libextmod.so
[ 465.318] (II) Module extmod: vendor="X.Org Foundation"
[ 465.318] compiled for 1.10.4, module version = 1.0.0
[ 465.318] Module class: X.Org Server Extension
[ 465.318] ABI class: X.Org Server Extension, version 5.0
[ 465.318] (II) Loading extension MIT-SCREEN-SAVER
[ 465.318] (II) Loading extension XFree86-VidModeExtension
[ 465.318] (II) Loading extension XFree86-DGA
[ 465.318] (II) Loading extension DPMS
[ 465.318] (II) Loading extension XVideo
[ 465.318] (II) Loading extension XVideo-MotionCompensation
[ 465.318] (II) Loading extension X-Resource
[ 465.318] (II) LoadModule: "dbe"
[ 465.319] (II) Loading /usr/lib/xorg/modules/extensions/libdbe.so
[ 465.319] (II) Module dbe: vendor="X.Org Foundation"
[ 465.319] compiled for 1.10.4, module version = 1.0.0
[ 465.319] Module class: X.Org Server Extension
[ 465.319] ABI class: X.Org Server Extension, version 5.0
[ 465.319] (II) Loading extension DOUBLE-BUFFER
[ 465.319] (II) LoadModule: "glx"
[ 465.319] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/libglx.so
[ 465.325] (II) Module glx: vendor="NVIDIA Corporation"
[ 465.325] compiled for 4.0.2, module version = 1.0.0
[ 465.325] Module class: X.Org Server Extension
[ 465.325] (II) NVIDIA GLX Module 173.14.30 Sat Apr 16 22:45:09 PDT 2011
[ 465.325] (II) Loading extension GLX
[ 465.325] (II) LoadModule: "record"
[ 465.326] (II) Loading /usr/lib/xorg/modules/extensions/librecord.so
[ 465.326] (II) Module record: vendor="X.Org Foundation"
[ 465.326] compiled for 1.10.4, module version = 1.13.0
[ 465.326] Module class: X.Org Server Extension
[ 465.326] ABI class: X.Org Server Extension, version 5.0
[ 465.326] (II) Loading extension RECORD
[ 465.326] (II) LoadModule: "dri"
[ 465.326] (II) Loading /usr/lib/xorg/modules/extensions/libdri.so
[ 465.326] (II) Module dri: vendor="X.Org Foundation"
[ 465.326] compiled for 1.10.4, module version = 1.0.0
[ 465.326] ABI class: X.Org Server Extension, version 5.0
[ 465.326] (II) Loading extension XFree86-DRI
[ 465.326] (II) LoadModule: "dri2"
[ 465.327] (II) Loading /usr/lib/xorg/modules/extensions/libdri2.so
[ 465.327] (II) Module dri2: vendor="X.Org Foundation"
[ 465.327] compiled for 1.10.4, module version = 1.2.0
[ 465.327] ABI class: X.Org Server Extension, version 5.0
[ 465.327] (II) Loading extension DRI2
[ 465.327] (==) Matched nvidia as autoconfigured driver 0
[ 465.327] (==) Matched nouveau as autoconfigured driver 1
[ 465.327] (==) Matched nv as autoconfigured driver 2
[ 465.327] (==) Matched vesa as autoconfigured driver 3
[ 465.327] (==) Matched fbdev as autoconfigured driver 4
[ 465.327] (==) Assigned the driver to the xf86ConfigLayout
[ 465.327] (II) LoadModule: "nvidia"
[ 465.327] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so
[ 465.327] (II) Module nvidia: vendor="NVIDIA Corporation"
[ 465.327] compiled for 4.0.2, module version = 1.0.0
[ 465.327] Module class: X.Org Video Driver
[ 465.327] (II) LoadModule: "nouveau"
[ 465.327] (II) Loading /usr/lib/xorg/modules/drivers/nouveau_drv.so
[ 465.328] (II) Module nouveau: vendor="X.Org Foundation"
[ 465.328] compiled for 1.10.1, module version = 0.0.16
[ 465.328] Module class: X.Org Video Driver
[ 465.328] ABI class: X.Org Video Driver, version 10.0
[ 465.328] (II) LoadModule: "nv"
[ 465.328] (WW) Warning, couldn't open module nv
[ 465.328] (II) UnloadModule: "nv"
[ 465.328] (II) Unloading nv
[ 465.328] (EE) Failed to load module "nv" (module does not exist, 0)
[ 465.328] (II) LoadModule: "vesa"
[ 465.328] (II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so
[ 465.328] (II) Module vesa: vendor="X.Org Foundation"
[ 465.328] compiled for 1.10.2, module version = 2.3.0
[ 465.328] Module class: X.Org Video Driver
[ 465.328] ABI class: X.Org Video Driver, version 10.0
[ 465.328] (II) LoadModule: "fbdev"
[ 465.328] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[ 465.329] (II) Module fbdev: vendor="X.Org Foundation"
[ 465.329] compiled for 1.10.0, module version = 0.4.2
[ 465.329] ABI class: X.Org Video Driver, version 10.0
[ 465.329] (II) NVIDIA dlloader X Driver 173.14.30 Sat Apr 16 22:18:29 PDT 2011
[ 465.329] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 465.329] (II) NOUVEAU driver Date: Thu Mar 24 02:13:12 2011 +1000
[ 465.329] (II) NOUVEAU driver for NVIDIA chipset families :
[ 465.329] RIVA TNT (NV04)
[ 465.329] RIVA TNT2 (NV05)
[ 465.329] GeForce 256 (NV10)
[ 465.329] GeForce 2 (NV11, NV15)
[ 465.329] GeForce 4MX (NV17, NV18)
[ 465.329] GeForce 3 (NV20)
[ 465.329] GeForce 4Ti (NV25, NV28)
[ 465.329] GeForce FX (NV3x)
[ 465.329] GeForce 6 (NV4x)
[ 465.329] GeForce 7 (G7x)
[ 465.329] GeForce 8 (G8x)
[ 465.329] GeForce GTX 200 (NVA0)
[ 465.329] GeForce GTX 400 (NVC0)
[ 465.329] (II) VESA: driver for VESA chipsets: vesa
[ 465.329] (II) FBDEV: driver for framebuffer: fbdev
[ 465.329] (--) using VT number 7
[ 465.330] (II) Loading sub module "fb"
[ 465.330] (II) LoadModule: "fb"
[ 465.330] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 465.330] (II) Module fb: vendor="X.Org Foundation"
[ 465.330] compiled for 1.10.4, module version = 1.0.0
[ 465.330] ABI class: X.Org ANSI C Emulation, version 0.4
[ 465.330] (II) Loading sub module "wfb"
[ 465.330] (II) LoadModule: "wfb"
[ 465.331] (II) Loading /usr/lib/xorg/modules/libwfb.so
[ 465.331] (II) Module wfb: vendor="X.Org Foundation"
[ 465.331] compiled for 1.10.4, module version = 1.0.0
[ 465.331] ABI class: X.Org ANSI C Emulation, version 0.4
[ 465.331] (II) Loading sub module "ramdac"
[ 465.331] (II) LoadModule: "ramdac"
[ 465.331] (II) Module "ramdac" already built-in
[ 465.331] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so
[ 465.331] (II) Loading /usr/lib/xorg/modules/libwfb.so
[ 465.331] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 465.331] (WW) Falling back to old probe method for vesa
[ 465.331] (WW) Falling back to old probe method for fbdev
[ 465.331] (II) Loading sub module "fbdevhw"
[ 465.331] (II) LoadModule: "fbdevhw"
[ 465.331] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 465.331] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 465.331] compiled for 1.10.4, module version = 0.0.2
[ 465.331] ABI class: X.Org Video Driver, version 10.0
[ 465.331] (II) NVIDIA(0): Creating default Display subsection in Screen section
"Default Screen Section" for depth/fbbpp 24/32
[ 465.331] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
[ 465.331] (==) NVIDIA(0): RGB weight 888
[ 465.331] (==) NVIDIA(0): Default visual is TrueColor
[ 465.331] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[ 465.331] (**) NVIDIA(0): Enabling RENDER acceleration
[ 465.331] (II) NVIDIA(0): Support for GLX with the Damage and Composite X extensions is
[ 465.331] (II) NVIDIA(0): enabled.
[ 465.843] (WW) NVIDIA(GPU-0): Failed to determine GPU name
[ 466.036] (II) NVIDIA(0): NVIDIA GPU Unknown (Unknown) at PCI:1:0:0 (GPU-0)
[ 466.036] (--) NVIDIA(0): Memory: 524288 kBytes
[ 466.036] (--) NVIDIA(0): VideoBIOS: 62.92.89.00.7c
[ 466.036] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[ 466.036] (--) NVIDIA(0): Interlaced video modes are supported on this GPU
[ 466.036] (--) NVIDIA(0): Connected display device(s) on Unknown at PCI:1:0:0:
[ 466.036] (--) NVIDIA(0): CMO CMC 22 W (DFP-1)
[ 466.036] (--) NVIDIA(0): CMO CMC 22 W (DFP-1): 330.0 MHz maximum pixel clock
[ 466.036] (--) NVIDIA(0): CMO CMC 22 W (DFP-1): Internal Dual Link TMDS
[ 466.167] (II) NVIDIA(0): Assigned Display Device: DFP-1
[ 466.167] (==) NVIDIA(0):
[ 466.167] (==) NVIDIA(0): No modes were requested; the default mode "nvidia-auto-select"
[ 466.167] (==) NVIDIA(0): will be used as the requested mode.
[ 466.167] (==) NVIDIA(0):
[ 466.167] (II) NVIDIA(0): Validated modes:
[ 466.167] (II) NVIDIA(0): "nvidia-auto-select"
[ 466.167] (II) NVIDIA(0): Virtual screen size determined to be 1680 x 1050
[ 466.190] (--) NVIDIA(0): DPI set to (90, 88); computed from "UseEdidDpi" X config
[ 466.190] (--) NVIDIA(0): option
[ 466.190] (==) NVIDIA(0): Enabling 32-bit ARGB GLX visuals.
[ 466.190] (II) UnloadModule: "nouveau"
[ 466.190] (II) Unloading nouveau
[ 466.190] (II) UnloadModule: "vesa"
[ 466.190] (II) Unloading vesa
[ 466.190] (II) UnloadModule: "fbdev"
[ 466.190] (II) Unloading fbdev
[ 466.190] (II) UnloadModule: "fbdevhw"
[ 466.190] (II) Unloading fbdevhw
[ 466.190] (--) Depth 24 pixmap format is 32 bpp
[ 466.193] (II) NVIDIA(0): Initialized GPU GART.
[ 466.195] (II) NVIDIA(0): Setting mode "nvidia-auto-select"
[ 466.241] (II) Loading extension NV-GLX
[ 466.296] (II) NVIDIA(0): NVIDIA 3D Acceleration Architecture Initialized
[ 466.303] (II) NVIDIA(0): Using the NVIDIA 2D acceleration architecture
[ 466.303] (==) NVIDIA(0): Backing store disabled
[ 466.303] (==) NVIDIA(0): Silken mouse enabled
[ 466.313] (==) NVIDIA(0): DPMS enabled
[ 466.313] (II) Loading extension NV-CONTROL
[ 466.314] (==) RandR enabled
[ 466.314] (II) Initializing built-in extension Generic Event Extension
[ 466.314] (II) Initializing built-in extension SHAPE
[ 466.314] (II) Initializing built-in extension MIT-SHM
[ 466.314] (II) Initializing built-in extension XInputExtension
[ 466.314] (II) Initializing built-in extension XTEST
[ 466.314] (II) Initializing built-in extension BIG-REQUESTS
[ 466.314] (II) Initializing built-in extension SYNC
[ 466.314] (II) Initializing built-in extension XKEYBOARD
[ 466.314] (II) Initializing built-in extension XC-MISC
[ 466.314] (II) Initializing built-in extension SECURITY
[ 466.314] (II) Initializing built-in extension XINERAMA
[ 466.314] (II) Initializing built-in extension XFIXES
[ 466.314] (II) Initializing built-in extension RENDER
[ 466.314] (II) Initializing built-in extension RANDR
[ 466.314] (II) Initializing built-in extension COMPOSITE
[ 466.314] (II) Initializing built-in extension DAMAGE
[ 466.314] (II) Initializing built-in extension GESTURE
[ 466.315] (II) Initializing extension GLX
[ 466.328] (II) XKB: reuse xkmfile /var/lib/xkb/server-B20D7FC79C7F597315E3E501AEF10E0D866E8E92.xkm
[ 466.335] (II) config/udev: Adding input device Power Button (/dev/input/event1)
[ 466.335] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[ 466.335] (II) LoadModule: "evdev"
[ 466.335] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[ 466.336] (II) Module evdev: vendor="X.Org Foundation"
[ 466.336] compiled for 1.10.2, module version = 2.6.0
[ 466.336] Module class: X.Org XInput Driver
[ 466.336] ABI class: X.Org XInput driver, version 12.3
[ 466.336] (II) Using input driver 'evdev' for 'Power Button'
[ 466.336] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[ 466.336] (**) Power Button: always reports core events
[ 466.336] (**) Power Button: Device: "/dev/input/event1"
[ 466.336] (--) Power Button: Found keys
[ 466.336] (II) Power Button: Configuring as keyboard
[ 466.336] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input1/event1"
[ 466.336] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD)
[ 466.336] (**) Option "xkb_rules" "evdev"
[ 466.336] (**) Option "xkb_model" "pc105"
[ 466.336] (**) Option "xkb_layout" "us"
[ 466.339] (II) config/udev: Adding input device Power Button (/dev/input/event0)
[ 466.339] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[ 466.339] (II) Using input driver 'evdev' for 'Power Button'
[ 466.339] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[ 466.339] (**) Power Button: always reports core events
[ 466.339] (**) Power Button: Device: "/dev/input/event0"
[ 466.339] (--) Power Button: Found keys
[ 466.339] (II) Power Button: Configuring as keyboard
[ 466.339] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input0/event0"
[ 466.339] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD)
[ 466.339] (**) Option "xkb_rules" "evdev"
[ 466.339] (**) Option "xkb_model" "pc105"
[ 466.339] (**) Option "xkb_layout" "us"
[ 466.392] (II) Power Button: Close
[ 466.392] (II) UnloadModule: "evdev"
[ 466.392] (II) Unloading evdev
[ 466.408] (II) Power Button: Close
[ 466.408] (II) UnloadModule: "evdev"
[ 466.408] (II) Unloading evdev
[ 466.754] ddxSigGiveUp: Closing log
更新
efnet 上的 escott 指出我沒有 /etc/X11/xorg.conf 檔案。我運行Xorg -configure
它生成了一個,但也給了我這個錯誤輸出:
X.Org X Server 1.10.4
Release Date: 2011-08-19
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.24-29-server x86_64 Ubuntu
Current Operating System: Linux maximos-ubuntu 3.0.0-12-server #20-Ubuntu SMP Fri Oct 7 16:36:30 UTC 2011 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.0.0-12-server root=UUID=ffdf63ee-6980-46dc-bc6d-b1e72e0abcce ro
Build Date: 19 October 2011 05:21:26AM
xorg-server 2:1.10.4-1ubuntu4.2 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.22.2
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Wed Dec 28 18:50:40 2011
List of video drivers:
trident
tdfx
siliconmotion
vmware
neomagic
nouveau
nvidia
r128
qxl
savage
radeon
vmwlegacy
ati
intel
mga
sisusb
cirrus
openchrome
sis
mach64
s3
fbdev
vesa
(EE) Failed to load module "vmwgfx" (module does not exist, 0)
(EE) vmware: Please ignore the above warnings about not being able to to load module/driver vmwgfx
(++) Using config file: "/home/paul/xorg.conf.new"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE) [drm] No DRICreatePCIBusID symbol
Number of created screens does not match number of detected devices.
Configuration failed.
ddxSigGiveUp: Closing log
Escott 也指出我缺少 xterm。我是透過apt-get安裝的。現在,當我運行 xinit 時,我的螢幕將更改分辨率,並且我有一個看起來像的命令行
root@我的主機名稱:~#
xeyes 和 xlogo 將輸出
錯誤:無法開啟顯示:
答案1
nv
是 Nvidia 卡的舊開源驅動程序,現已棄用。確保您沒有將其添加到 中xorg.conf
,或嘗試使用 來將其列入黑名單echo "blacklist nv" | sudo tee -a "/etc/modprobe.d/blacklist.conf"
。