Проблемы с установкой драйверов Nvidia в Debian 9

Вы выполняете команду sudo su - USER2; кто я; pwd на удаленном хосте. Давайте разберем это:

  • Команды, разделенные точкой с запятой, выполняются последовательно. Таким образом, сначала выполняется команда sudo su - USER2 ; затем, по завершении, выполняется whoami и, наконец, выполняется pwd .
  • Команда sudo su - USER2 запускает оболочку входа в систему от имени пользователя USER2. Эта оболочка считывает команды со стандартного ввода до тех пор, пока не будет сказано о выходе (например, с помощью встроенной команды exit ) или пока она не обнаружит конец файла на стандартном вводе. Поскольку к терминалу подключен стандартный ввод, он ждет, когда вы введете команды.

Если вы хотите выполнять команды как USER2, вам необходимо передать их в качестве аргументов sudo . Запуск su здесь бесполезен, sudo уже знает, как это сделать. Параметр -t для SSH не нужен, если только вы не хотите взаимодействовать с удаленными командами (включая случай, когда вам нужно ввести пароль для sudo).

ssh -t "$remotehost" 'sudo -i -u USER2 sh -c "whoami; pwd"'

Если ваша конфигурация sudo позволяет запускать программы только от имени пользователя root, а не от имени произвольного пользователя (что ничего не меняет с точки зрения безопасности), тогда вам нужно будет придерживаться sudo su .В этом случае передайте параметр -c команде su , чтобы запустить указанную команду оболочки.

ssh -t "$remotehost" 'sudo su -c "whoami; pwd" USER2'

Если вам нужно прочитать профиль пользователя .profile , сделайте это явно.

ssh -t "$remotehost" 'sudo su -c ". ~/.profile; whoami; pwd" USER2'

Кроме того, вы можете передать команды как стандартный ввод в интерактивную оболочку. Сантехника немного тонкая, поскольку стандартный ввод ssh должен оставаться терминалом. Преимущество этого подхода с документом здесь заключается в том, что использование кавычек в команде оболочки остается относительно простым: escape ' as ' \ '' для удаленной оболочки, для удаленной оболочки экранирование не требуется. удаленная оболочка.

ssh -t "$remotehost" 'sudo su - USER2 <<\EOF
whoami
pwd
EOF'
3
17.12.2018, 00:03
1 ответ

У меня была точно такая же проблема при первой попытке установить драйвер Nvidia.

Если вы используете ноутбук, у вас есть гибридная )графика Optimus (. Вам нужно было установить «bumblebee -nvidia», чтобы установить драйвер Nvidia. Это было указано на странице, которую вы использовали для установки драйвера.

https://wiki.debian.org/NvidiaGraphicsDrivers#Identification

Note: if this lspci command returns more than one line of output, you have an Optimus (hybrid) graphics chipset, and the instructions on this page do not apply to you. Check the Bumblebee page instead.

0
27.01.2020, 21:35

Теги

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