Ошибка установки драйвера Nvidia - & ldquo; модуль ядра не смог построить. & Rdquo;

Зачем вам нужно вводить ./ перед выполнением программы?

В терминале, когда вы вводите имя приложения, скажем, gedit, терминал будет выглядеть в некоторых (предварительно определенные) каталоги, содержащие приложения (двоичные файлы приложений). Имена этих каталогов содержатся в переменной под названием PATH. Вы можете увидеть, что находится в этой переменной, выполнив echo $PATH. См. Эти каталоги, разделенные :? Это каталоги, в которые терминал будет искать поиск, если вы просто наберете gedit, nautilus или a.out. Как вы можете видеть, путь к вашей программе a.out отсутствует. Когда вы выполняете ./a.out, вы говорите терминалу «смотрите в текущем каталоге и запустите a.out и не смотрите в PATH.

Решение 1

Если вы не хотите каждый раз набирать ./, вам нужно добавить каталог a.out в $PATH. В следующих инструкциях я предполагаю, что путь к a.out это /path/to/programs/, но вы должны изменить его на свой фактический путь.

Просто добавьте следующую строку в конец файла ~/.pam_environment:
PATH DEFAULT=${PATH}:/path/to/programs
Источник: постоянные переменные среды Выйдите из системы и зайдите в систему Теперь вы сможете запускать a.out без ./ из любого каталога.

Если у вас есть другие программы в других каталогах, вы можете просто добавить их в указанную выше строку. 'd советую иметь один каталог под названием myPrograms, например, и поместить в него все ваши программы.

Решение 2

Примечание: измените userName на свое фактическое имя пользователя Ubuntu .

Что делать, если у вас есть другие программы, которые вы хотите запустить? И все они в разных папках? Ну, «более организованное» соло было бы создать папку под названием bin в вашем домашнем каталоге и добавить символические ссылки (ярлыки) в этой папке. Вот как:

Просто добавьте следующую строку в конец файла ~/.pam_environment:
PATH DEFAULT=${PATH}:/path/to/programs
Источник: постоянные переменные среды

Просто добавьте следующую строку в конец файла ~/.pam_environment:

Это создаст «символическую ссылку» (в основном, ярлык) вашей программы a.out в разделе bin. Выйдите из системы и войдите в систему. Теперь вы можете запустить a.out без ./ из любого каталога.

ln -s /path/to/programs/a.out /home/userName/bin

Примечание: измените userName на свое фактическое имя пользователя Ubuntu.

1
задан 3 April 2015 в 22:52

2 ответа

С патчем 22, вам лучше всего отбросить карту и перейти к младшей версии Ubuntu, например, Lubuntu, поскольку у вас практически не будет преимуществ установки такого старого драйвера с такой старой картой. [ ! d0]

Извините, что являюсь предвестником плохих новостей ...: - (

1
ответ дан 23 May 2018 в 21:46
  • 1
    Ну, я понимаю, что самый последний драйвер, поддерживающий мой GPU, - 304.x. – Parker King 7 April 2015 в 06:29
  • 2
    Сожалею! Я отредактировал свой ответ. – Fabby 7 April 2015 в 14:08
  • 3
    Является ли Ubuntu не менее интенсивным, чем Windows 7? Потому что я отлично использую Windows 7. – Parker King 8 April 2015 в 17:04
  • 4
    Lubuntu и Xubuntu, Ubuntu нет! – Fabby 8 April 2015 в 22:20

Сегодня я столкнулся с подобной ошибкой, пытаясь обновить драйверы Nvidia. Оказалось, что проблема была вызвана другим компилятором, используемым для сборки модуля ядра.

Недавно я установил gcc для связи с gcc-6. Как выясняется - это не правильная версия для сборки модулей ядра, по крайней мере, на Ubuntu 14.04 LTS. Я просто переконфигурировал gcc альтернативы с sudo update-alternatives --config gcc, чтобы указать gcc-5, а затем переустановил драйвер Nvidia, используя sudo apt-get purge nvidia*, а затем sudo ubuntu-drivers autoinstall.

Хотя этот ответ может быть немного не по теме, Я надеюсь, что это будет полезно для кого-то, ища те же ключевые слова, что и я.

0
ответ дан 23 May 2018 в 21:46

Другие вопросы по тегам:

Похожие вопросы: