Я столкнулся с такой же проблемой и это мое устройство (lspci):
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 5500 (rev 09)
04:00.0 3D controller: NVIDIA Corporation GM107M [GeForce 940M] (rev ff)
Теперь все в порядке, у меня все в порядке с Intel и NVidia. и это то, что я установил, 32 -бита были установлены автоматически, я не знаю, почему
$ dpkg -l| grep nvidia
ii bumblebee-nvidia 3.2.1-14 amd64 NVIDIA Optimus support using the proprietary NVIDIA driver
ii glx-alternative-nvidia 0.7.4 amd64 allows the selection of NVIDIA as GLX provider
ii libegl-nvidia0:amd64 375.66-2~deb9u1 amd64 NVIDIA binary EGL library
ii libegl-nvidia0:i386 375.66-2~deb9u1 i386 NVIDIA binary EGL library
ii libegl1-glvnd-nvidia:amd64 375.66-2~deb9u1 amd64 Vendor neutral GL dispatch library -- libEGL
ii libegl1-glvnd-nvidia:i386 375.66-2~deb9u1 i386 Vendor neutral GL dispatch library -- libEGL
ii libgl1-glvnd-nvidia-glx:amd64 375.66-2~deb9u1 amd64 Vendor neutral GL dispatch library -- libGL
ii libgl1-glvnd-nvidia-glx:i386 375.66-2~deb9u1 i386 Vendor neutral GL dispatch library -- libGL
ii libgl1-nvidia-glvnd-glx:amd64 375.66-2~deb9u1 amd64 NVIDIA binary OpenGL/GLX library (GLVND variant)
ii libgl1-nvidia-glvnd-glx:i386 375.66-2~deb9u1 i386 NVIDIA binary OpenGL/GLX library (GLVND variant)
ii libgldispatch0-nvidia:amd64 375.66-2~deb9u1 amd64 Vendor neutral GL dispatch library -- libGLdispatch
ii libgldispatch0-nvidia:i386 375.66-2~deb9u1 i386 Vendor neutral GL dispatch library -- libGLdispatch
ii libgles-nvidia1:amd64 375.66-2~deb9u1 amd64 NVIDIA binary OpenGL|ES 1.x library
ii libgles-nvidia1:i386 375.66-2~deb9u1 i386 NVIDIA binary OpenGL|ES 1.x library
ii libgles-nvidia2:amd64 375.66-2~deb9u1 amd64 NVIDIA binary OpenGL|ES 2.x library
ii libgles-nvidia2:i386 375.66-2~deb9u1 i386 NVIDIA binary OpenGL|ES 2.x library
ii libgles1-glvnd-nvidia:amd64 375.66-2~deb9u1 amd64 NVIDIA binary OpenGL|ES 1.x GLVND stub library
ii libgles1-glvnd-nvidia:i386 375.66-2~deb9u1 i386 NVIDIA binary OpenGL|ES 1.x GLVND stub library
ii libgles2-glvnd-nvidia:amd64 375.66-2~deb9u1 amd64 NVIDIA binary OpenGL|ES 2.x GLVND stub library
ii libgles2-glvnd-nvidia:i386 375.66-2~deb9u1 i386 NVIDIA binary OpenGL|ES 2.x GLVND stub library
ii libglx-nvidia0:amd64 375.66-2~deb9u1 amd64 NVIDIA binary GLX library
ii libglx-nvidia0:i386 375.66-2~deb9u1 i386 NVIDIA binary GLX library
ii libglx0-glvnd-nvidia:amd64 375.66-2~deb9u1 amd64 Vendor neutral GL dispatch library -- libGLX
ii libglx0-glvnd-nvidia:i386 375.66-2~deb9u1 i386 Vendor neutral GL dispatch library -- libGLX
ii libnvidia-cfg1:amd64 375.66-2~deb9u1 amd64 NVIDIA binary OpenGL/GLX configuration library
ii libnvidia-cfg1:i386 375.66-2~deb9u1 i386 NVIDIA binary OpenGL/GLX configuration library
ii libnvidia-eglcore:amd64 375.66-2~deb9u1 amd64 NVIDIA binary EGL core libraries
ii libnvidia-eglcore:i386 375.66-2~deb9u1 i386 NVIDIA binary EGL core libraries
ii libnvidia-glcore:amd64 375.66-2~deb9u1 amd64 NVIDIA binary OpenGL/GLX core libraries
ii libnvidia-glcore:i386 375.66-2~deb9u1 i386 NVIDIA binary OpenGL/GLX core libraries
ii libnvidia-ml1:amd64 375.66-2~deb9u1 amd64 NVIDIA Management Library (NVML) runtime library
ii libopengl0-glvnd-nvidia:amd64 375.66-2~deb9u1 amd64 Vendor neutral GL dispatch library -- libOpenGL
ii libopengl0-glvnd-nvidia:i386 375.66-2~deb9u1 i386 Vendor neutral GL dispatch library -- libOpenGL
ii nvidia-alternative 375.66-2~deb9u1 amd64 allows the selection of NVIDIA as GLX provider
ii nvidia-detect 375.66-2~deb9u1 amd64 NVIDIA GPU detection utility
ii nvidia-driver 375.66-2~deb9u1 amd64 NVIDIA metapackage
ii nvidia-driver-bin 375.66-2~deb9u1 amd64 NVIDIA driver support binaries
ii nvidia-driver-libs:amd64 375.66-2~deb9u1 amd64 NVIDIA metapackage (OpenGL/GLX/EGL/GLES libraries)
ii nvidia-driver-libs:i386 375.66-2~deb9u1 i386 NVIDIA metapackage (OpenGL/GLX/EGL/GLES libraries)
ii nvidia-driver-libs-i386:i386 375.66-2~deb9u1 i386 NVIDIA metapackage (OpenGL/GLX/EGL/GLES 32-bit libraries)
ii nvidia-egl-common 375.66-2~deb9u1 amd64 NVIDIA binary EGL driver - common files
ii nvidia-egl-icd:amd64 375.66-2~deb9u1 amd64 NVIDIA EGL installable client driver (ICD)
ii nvidia-egl-icd:i386 375.66-2~deb9u1 i386 NVIDIA EGL installable client driver (ICD)
ii nvidia-installer-cleanup 20151021+4 amd64 cleanup after driver installation with the nvidia-installer
ii nvidia-kernel-common 20151021+4 amd64 NVIDIA binary kernel module support files
ii nvidia-kernel-dkms 375.66-2~deb9u1 amd64 NVIDIA binary kernel module DKMS source
ii nvidia-kernel-support 375.66-2~deb9u1 amd64 NVIDIA binary kernel module support files
ii nvidia-legacy-check 375.66-2~deb9u1 amd64 check for NVIDIA GPUs requiring a legacy driver
ii nvidia-modprobe 375.26-1 amd64 utility to load NVIDIA kernel modules and create device nodes
ii nvidia-persistenced 375.26-2 amd64 daemon to maintain persistent software state in the NVIDIA driver
ii nvidia-settings 375.66-1 amd64 tool for configuring the NVIDIA graphics driver
ii nvidia-support 20151021+4 amd64 NVIDIA binary graphics driver support files
ii nvidia-vdpau-driver:amd64 375.66-2~deb9u1 amd64 Video Decode and Presentation API for Unix - NVIDIA driver
ii nvidia-vulkan-common 375.66-2~deb9u1 amd64 NVIDIA Vulkan driver - common files
ii nvidia-vulkan-icd:amd64 375.66-2~deb9u1 amd64 NVIDIA Vulkan installable client driver (ICD)
ii nvidia-vulkan-icd:i386 375.66-2~deb9u1 i386 NVIDIA Vulkan installable client driver (ICD)
ii xserver-xorg-video-nvidia 375.66-2~deb9u1 amd64 NVIDIA binary Xorg driver
Проблема была обнаружена при запуске
$ type -f cmake
cmake is hashed (/usr/bin/cmake)
И очистка хэша bash с помощью
hash -d cmake
После этого cmake
интерпретировалось так, как ожидалось.
Ранее во время того же сеанса оболочки вы использовали cmake
, и этот исполняемый файл был найден в /usr/bin
.
Затем вы установили еще один исполняемый файл cmake
в /usr/local/bin
.
Оболочка bash
кэширует первое место, которое она находит для любой внешней команды, которую вы используете, что означает, что ей не нужно выполнять дорогостоящий поиск исполняемого файла в следующий раз, когда вы используете ту же команду. Недостатком этого является то, что он не будет искать снова , когда вы позже устанавливаете другой исполняемый файл с тем же именем, даже если это делается в каталоге, который встречается в $PATH
раньше, чем исходный. место нахождения.
Решение этой проблемы заключается в очистке кэшированных местоположений исполняемых файлов, которые хранятся bash
. Это делается с помощьюhash -r
(rehash
в оболочке zsh
). Чтобы забыть расположение исполняемого файла cmake
, используйтеhash -d cmake
(unhash cmake
в оболочке zsh
).
Более ранняя версия этого вопроса дополнительно задавалась вопросом, почему две команды type cmake
и which cmake
дали разные результаты, где which cmake
, по-видимому, давала ожидаемый результат (/usr/local/bin/cmake
), а type cmake
, по-видимому, давала неправильный результат (/usr/bin/cmake
).
Ответ на этот вопрос заключается в том, что type
— это встроенная -команда в bash
, которая будет использовать те же кэшированные расположения команд, что и оболочка, и что which
— это , а не . ] встроенная команда -и, следовательно, не сможет использовать эти кэшированные местоположения исполняемых файлов.
В этом случае which
дал ожидаемый результат, потому что он выполнил поиск cmake
в вашем $PATH
, но на самом деле это был неправильный результат, так как запуск cmake
на командная строка на самом деле , а не подберет его из/usr/local/bin
(из-за кэширования,о котором which
не подозревали бы ).
Краткое изложение истории which
и подводных камней при его использовании можно найти здесь.:Почему бы не использовать «который»? Что тогда использовать?