Разве $HOME, как предполагается, не является местоположением корневого каталога пользователя?

Походит на неисправное оборудование мне. Если это - только одна машина на LAN, это могло бы иметь плохую плату Ethernet; если бы это - все машины на LAN, я проверил бы концентратор или маршрутизатор.

6
13.06.2011, 23:01
2 ответа

Inkscape, будучи приложением GTK, использует Бойкую функцию g_get_home_dir для нахождения корневого каталога пользователя. Как зарегистрировано в ту ссылку, g_get_home_dir не консультируется $HOME, а скорее /etc/passwd. Необходимо было бы исправить Inkscape для проверки $HOME сначала (как показано в той ссылке).

13
27.01.2020, 20:21
  • 1
    Это отвечает на мой вопрос, Спасибо! я предполагаю, что должен выполнить команду как пользователь, у которого есть их набор homedir к /tmp или что-то. –  Josh 13.06.2011, 23:57
  • 2
    я уверен g_get_home_dir использование nsswitch вместо простой проверки /etc/passwd. (То же самое на персональных компьютерах, все же.) –  user1686 14.06.2011, 00:53

Да, корневой каталог текущего пользователя должен быть что переменная среды HOME указывает. Существует, конечно, глобальный параметр настройки системы: запись в /etc/passwd, или в более общем плане домашнее поле в пользовательской базе данных. Приложения, как предполагается, используют ту установку только для поиска пользователя кроме текущего пользователя, или если существуют приложения защиты (например, setuid программа). Иначе $HOME должен иметь приоритет. Если это не делает, это - ошибка в приложении.

ответ cjm показывает, что Inkscape и другие приложения Gnome являются багги в этом отношении.

4
27.01.2020, 20:21
  • 1
    Можете Вы включать ссылку для получения дополнительной информации, относительно Вашего заявления, что это нужно считать ошибкой для приложения для использования nsswitch//etc/passwd определить местоположение корневого каталога его владельца (кроме того, исключений Вы перечислили)? Мне кажется, что Вы правы, но трудно думать обо всех возможных ситуациях, таким образом, источник с большей информацией или "официальные" рекомендации от чего-то как Open Group или Проект GNU, мог бы улучшить Ваш ответ. –  Eliah Kagan 02.09.2012, 23:31
  • 2
    @EliahKagan Видит, например, POSIX: “Корневой каталог: каталог указан переменной Домашней среды”. HOME переменная, как гарантируют, будет установлена во время входа в систему (но пользователь может переопределить ее). –  Gilles 'SO- stop being evil' 03.09.2012, 00:22

Теги

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