1

Я использую NetBeans 8.0.1 в Windows и компилирую / запускаю / отлаживаю на удаленном хосте на ПК с Debian в локальной сети. Я настроил хост NetBeans от имени пользователя root. Я также настроил его для отладки с помощью GDB. Мой код на C включает библиотеки alsa и пытается вызвать snd_pcm_open и получить дескриптор.

Проблема в том, что когда я отлаживаю исполняемый файл из NetBeans, я получаю это сообщение об ошибке, которое, по сути, означает проблему с разрешениями, которые я считаю:

ALSA lib pcm_dsnoop.c:618:(snd_pcm_dsnoop_open) не удалось открыть ведомое устройство.

Результаты теста:

  1. Терминал локальной машины как root работает правильно.
  2. Терминал локального компьютера как пользователь без полномочий root работает правильно.
  3. Удаленный SSH как пользователь без полномочий root работает правильно.
  4. Удаленный SSH как root выдает сообщение об ошибке.

Я попытался добавить root в аудио группу, что не помогает.

Итак, основные вопросы:

  1. Следует ли это рассматривать как проблему настройки среды или оболочки? Если так, что я должен искать?
  2. Есть ли лучшая практика для настройки удаленного хоста? Должен ли это быть пользователь без полномочий root, настроенный каким-либо образом, чтобы разрешить компиляцию, gdb и т.д.

1 ответ1

0
  1. Удаленный SSH как root выдает сообщение об ошибке.

Первое предположение заключается в том, что удаленный хост не разрешает вход в систему root через ssh. Посмотрите файл /etc/ssh/sshd_config для директивы PermitRootLogin затем на странице man sshd_config возможные варианты. В качестве альтернативы посмотрите на /var/log/auth.log на удаленном хосте, предполагая, что у вас есть разрешения для этого. Вы должны увидеть ключ к пониманию причины, предполагая, что это просто невозможность войти в систему как root.

Если вы можете войти в систему как root, то, надеюсь, у кого-то еще есть ответ.

Я попытался добавить root в аудио группу, что не помогает.

Если вы не можете войти, то членство в группе не имеет значения.

Есть ли лучшая практика для настройки удаленного хоста? Должен ли это быть пользователь без полномочий root, настроенный каким-либо образом, чтобы разрешить компиляцию, gdb и т.д.?

Во-первых, разрешить удаленный вход в систему root (через ssh или любую другую службу) - плохая практика.
Во-вторых, всегда (IMO) лучше, если вы можете запустить как можно больше в пространстве пользователя.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .