В терминале, когда вы вводите имя приложения, скажем, gedit, терминал будет выглядеть в некоторых (предварительно определенные) каталоги, содержащие приложения (двоичные файлы приложений). Имена этих каталогов содержатся в переменной под названием PATH. Вы можете увидеть, что находится в этой переменной, выполнив echo $PATH. См. Эти каталоги, разделенные :? Это каталоги, в которые терминал будет искать поиск, если вы просто наберете gedit, nautilus или a.out. Как вы можете видеть, путь к вашей программе a.out отсутствует. Когда вы выполняете ./a.out, вы говорите терминалу «смотрите в текущем каталоге и запустите a.out и не смотрите в PATH.
Если вы не хотите каждый раз набирать ./, вам нужно добавить каталог a.out в $PATH. В следующих инструкциях я предполагаю, что путь к a.out это /path/to/programs/, но вы должны изменить его на свой фактический путь.
Просто добавьте следующую строку в конец файла ~/.pam_environment:PATH DEFAULT=${PATH}:/path/to/programs
Источник: постоянные переменные среды Выйдите из системы и зайдите в систему Теперь вы сможете запускать a.out без ./ из любого каталога. Если у вас есть другие программы в других каталогах, вы можете просто добавить их в указанную выше строку. 'd советую иметь один каталог под названием myPrograms, например, и поместить в него все ваши программы.
Что делать, если у вас есть другие программы, которые вы хотите запустить? И все они в разных папках? Ну, «более организованное» соло было бы создать папку под названием 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.
С патчем 22, вам лучше всего отбросить карту и перейти к младшей версии Ubuntu, например, Lubuntu, поскольку у вас практически не будет преимуществ установки такого старого драйвера с такой старой картой. [ ! d0]
Извините, что являюсь предвестником плохих новостей ...: - (
Сегодня я столкнулся с подобной ошибкой, пытаясь обновить драйверы 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.
Хотя этот ответ может быть немного не по теме, Я надеюсь, что это будет полезно для кого-то, ища те же ключевые слова, что и я.